Module: Aws::WAFRegional::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-wafregional/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

Action =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Action')
ActivatedRule =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ActivatedRule')
ActivatedRules =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ActivatedRules')
AssociateWebACLRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateWebACLRequest')
AssociateWebACLResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateWebACLResponse')
ByteMatchSet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ByteMatchSet')
ByteMatchSetSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ByteMatchSetSummaries')
ByteMatchSetSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ByteMatchSetSummary')
ByteMatchSetUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ByteMatchSetUpdate')
ByteMatchSetUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ByteMatchSetUpdates')
ByteMatchTargetString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'ByteMatchTargetString')
ByteMatchTuple =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ByteMatchTuple')
ByteMatchTuples =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ByteMatchTuples')
ChangeAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ChangeAction')
ChangeToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ChangeToken')
ChangeTokenStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ChangeTokenStatus')
ComparisonOperator =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ComparisonOperator')
Country =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Country')
CreateByteMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateByteMatchSetRequest')
CreateByteMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateByteMatchSetResponse')
CreateGeoMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGeoMatchSetRequest')
CreateGeoMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGeoMatchSetResponse')
CreateIPSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateIPSetRequest')
CreateIPSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateIPSetResponse')
CreateRateBasedRuleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRateBasedRuleRequest')
CreateRateBasedRuleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRateBasedRuleResponse')
CreateRegexMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRegexMatchSetRequest')
CreateRegexMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRegexMatchSetResponse')
CreateRegexPatternSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRegexPatternSetRequest')
CreateRegexPatternSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRegexPatternSetResponse')
CreateRuleGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRuleGroupRequest')
CreateRuleGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRuleGroupResponse')
CreateRuleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRuleRequest')
CreateRuleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateRuleResponse')
CreateSizeConstraintSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSizeConstraintSetRequest')
CreateSizeConstraintSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSizeConstraintSetResponse')
CreateSqlInjectionMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSqlInjectionMatchSetRequest')
CreateSqlInjectionMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSqlInjectionMatchSetResponse')
CreateWebACLMigrationStackRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateWebACLMigrationStackRequest')
CreateWebACLMigrationStackResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateWebACLMigrationStackResponse')
CreateWebACLRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateWebACLRequest')
CreateWebACLResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateWebACLResponse')
CreateXssMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateXssMatchSetRequest')
CreateXssMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateXssMatchSetResponse')
DeleteByteMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteByteMatchSetRequest')
DeleteByteMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteByteMatchSetResponse')
DeleteGeoMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteGeoMatchSetRequest')
DeleteGeoMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteGeoMatchSetResponse')
DeleteIPSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteIPSetRequest')
DeleteIPSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteIPSetResponse')
DeleteLoggingConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteLoggingConfigurationRequest')
DeleteLoggingConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteLoggingConfigurationResponse')
DeletePermissionPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeletePermissionPolicyRequest')
DeletePermissionPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeletePermissionPolicyResponse')
DeleteRateBasedRuleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRateBasedRuleRequest')
DeleteRateBasedRuleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRateBasedRuleResponse')
DeleteRegexMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRegexMatchSetRequest')
DeleteRegexMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRegexMatchSetResponse')
DeleteRegexPatternSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRegexPatternSetRequest')
DeleteRegexPatternSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRegexPatternSetResponse')
DeleteRuleGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRuleGroupRequest')
DeleteRuleGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRuleGroupResponse')
DeleteRuleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRuleRequest')
DeleteRuleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteRuleResponse')
DeleteSizeConstraintSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSizeConstraintSetRequest')
DeleteSizeConstraintSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSizeConstraintSetResponse')
DeleteSqlInjectionMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSqlInjectionMatchSetRequest')
DeleteSqlInjectionMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSqlInjectionMatchSetResponse')
DeleteWebACLRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteWebACLRequest')
DeleteWebACLResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteWebACLResponse')
DeleteXssMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteXssMatchSetRequest')
DeleteXssMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteXssMatchSetResponse')
DisassociateWebACLRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateWebACLRequest')
DisassociateWebACLResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateWebACLResponse')
ErrorReason =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ErrorReason')
ExcludedRule =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExcludedRule')
ExcludedRules =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ExcludedRules')
FieldToMatch =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FieldToMatch')
GeoMatchConstraint =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GeoMatchConstraint')
GeoMatchConstraintType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GeoMatchConstraintType')
GeoMatchConstraintValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GeoMatchConstraintValue')
GeoMatchConstraints =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GeoMatchConstraints')
GeoMatchSet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GeoMatchSet')
GeoMatchSetSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GeoMatchSetSummaries')
GeoMatchSetSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GeoMatchSetSummary')
GeoMatchSetUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GeoMatchSetUpdate')
GeoMatchSetUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GeoMatchSetUpdates')
GetByteMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetByteMatchSetRequest')
GetByteMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetByteMatchSetResponse')
GetChangeTokenRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetChangeTokenRequest')
GetChangeTokenResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetChangeTokenResponse')
GetChangeTokenStatusRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetChangeTokenStatusRequest')
GetChangeTokenStatusResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetChangeTokenStatusResponse')
GetGeoMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGeoMatchSetRequest')
GetGeoMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGeoMatchSetResponse')
GetIPSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetIPSetRequest')
GetIPSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetIPSetResponse')
GetLoggingConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetLoggingConfigurationRequest')
GetLoggingConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetLoggingConfigurationResponse')
GetPermissionPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPermissionPolicyRequest')
GetPermissionPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPermissionPolicyResponse')
GetRateBasedRuleManagedKeysRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRateBasedRuleManagedKeysRequest')
GetRateBasedRuleManagedKeysResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRateBasedRuleManagedKeysResponse')
GetRateBasedRuleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRateBasedRuleRequest')
GetRateBasedRuleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRateBasedRuleResponse')
GetRegexMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRegexMatchSetRequest')
GetRegexMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRegexMatchSetResponse')
GetRegexPatternSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRegexPatternSetRequest')
GetRegexPatternSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRegexPatternSetResponse')
GetRuleGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRuleGroupRequest')
GetRuleGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRuleGroupResponse')
GetRuleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRuleRequest')
GetRuleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRuleResponse')
GetSampledRequestsMaxItems =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'GetSampledRequestsMaxItems')
GetSampledRequestsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSampledRequestsRequest')
GetSampledRequestsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSampledRequestsResponse')
GetSizeConstraintSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSizeConstraintSetRequest')
GetSizeConstraintSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSizeConstraintSetResponse')
GetSqlInjectionMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSqlInjectionMatchSetRequest')
GetSqlInjectionMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSqlInjectionMatchSetResponse')
GetWebACLForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetWebACLForResourceRequest')
GetWebACLForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetWebACLForResourceResponse')
GetWebACLRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetWebACLRequest')
GetWebACLResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetWebACLResponse')
GetXssMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetXssMatchSetRequest')
GetXssMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetXssMatchSetResponse')
HTTPHeader =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HTTPHeader')
HTTPHeaders =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'HTTPHeaders')
HTTPMethod =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HTTPMethod')
HTTPRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'HTTPRequest')
HTTPVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HTTPVersion')
HeaderName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HeaderName')
HeaderValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HeaderValue')
IPSet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IPSet')
IPSetDescriptor =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IPSetDescriptor')
IPSetDescriptorType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IPSetDescriptorType')
IPSetDescriptorValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IPSetDescriptorValue')
IPSetDescriptors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IPSetDescriptors')
IPSetSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IPSetSummaries')
IPSetSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IPSetSummary')
IPSetUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IPSetUpdate')
IPSetUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IPSetUpdates')
IPString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IPString')
IgnoreUnsupportedType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'IgnoreUnsupportedType')
ListActivatedRulesInRuleGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListActivatedRulesInRuleGroupRequest')
ListActivatedRulesInRuleGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListActivatedRulesInRuleGroupResponse')
ListByteMatchSetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListByteMatchSetsRequest')
ListByteMatchSetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListByteMatchSetsResponse')
ListGeoMatchSetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGeoMatchSetsRequest')
ListGeoMatchSetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGeoMatchSetsResponse')
ListIPSetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListIPSetsRequest')
ListIPSetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListIPSetsResponse')
ListLoggingConfigurationsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListLoggingConfigurationsRequest')
ListLoggingConfigurationsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListLoggingConfigurationsResponse')
ListRateBasedRulesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRateBasedRulesRequest')
ListRateBasedRulesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRateBasedRulesResponse')
ListRegexMatchSetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRegexMatchSetsRequest')
ListRegexMatchSetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRegexMatchSetsResponse')
ListRegexPatternSetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRegexPatternSetsRequest')
ListRegexPatternSetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRegexPatternSetsResponse')
ListResourcesForWebACLRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourcesForWebACLRequest')
ListResourcesForWebACLResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourcesForWebACLResponse')
ListRuleGroupsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRuleGroupsRequest')
ListRuleGroupsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRuleGroupsResponse')
ListRulesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRulesRequest')
ListRulesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRulesResponse')
ListSizeConstraintSetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSizeConstraintSetsRequest')
ListSizeConstraintSetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSizeConstraintSetsResponse')
ListSqlInjectionMatchSetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSqlInjectionMatchSetsRequest')
ListSqlInjectionMatchSetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSqlInjectionMatchSetsResponse')
ListSubscribedRuleGroupsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscribedRuleGroupsRequest')
ListSubscribedRuleGroupsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscribedRuleGroupsResponse')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
ListWebACLsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListWebACLsRequest')
ListWebACLsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListWebACLsResponse')
ListXssMatchSetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListXssMatchSetsRequest')
ListXssMatchSetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListXssMatchSetsResponse')
LogDestinationConfigs =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LogDestinationConfigs')
LoggingConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LoggingConfiguration')
LoggingConfigurations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LoggingConfigurations')
ManagedKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ManagedKey')
ManagedKeys =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ManagedKeys')
MatchFieldData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MatchFieldData')
MatchFieldType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MatchFieldType')
MetricName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MetricName')
MigrationErrorType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MigrationErrorType')
Negated =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Negated')
NextMarker =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NextMarker')
PaginationLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PaginationLimit')
ParameterExceptionField =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ParameterExceptionField')
ParameterExceptionParameter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ParameterExceptionParameter')
ParameterExceptionReason =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ParameterExceptionReason')
PolicyString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PolicyString')
PopulationSize =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PopulationSize')
PositionalConstraint =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PositionalConstraint')
Predicate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Predicate')
PredicateType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PredicateType')
Predicates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Predicates')
PutLoggingConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutLoggingConfigurationRequest')
PutLoggingConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutLoggingConfigurationResponse')
PutPermissionPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutPermissionPolicyRequest')
PutPermissionPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutPermissionPolicyResponse')
RateBasedRule =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RateBasedRule')
RateKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RateKey')
RateLimit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'RateLimit')
RedactedFields =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RedactedFields')
RegexMatchSet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RegexMatchSet')
RegexMatchSetSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RegexMatchSetSummaries')
RegexMatchSetSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RegexMatchSetSummary')
RegexMatchSetUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RegexMatchSetUpdate')
RegexMatchSetUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RegexMatchSetUpdates')
RegexMatchTuple =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RegexMatchTuple')
RegexMatchTuples =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RegexMatchTuples')
RegexPatternSet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RegexPatternSet')
RegexPatternSetSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RegexPatternSetSummaries')
RegexPatternSetSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RegexPatternSetSummary')
RegexPatternSetUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RegexPatternSetUpdate')
RegexPatternSetUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RegexPatternSetUpdates')
RegexPatternString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RegexPatternString')
RegexPatternStrings =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RegexPatternStrings')
ResourceArn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceArn')
ResourceArns =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ResourceArns')
ResourceId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceId')
ResourceName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceName')
ResourceType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceType')
Rule =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Rule')
RuleGroup =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RuleGroup')
RuleGroupSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RuleGroupSummaries')
RuleGroupSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RuleGroupSummary')
RuleGroupUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RuleGroupUpdate')
RuleGroupUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RuleGroupUpdates')
RulePriority =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'RulePriority')
RuleSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RuleSummaries')
RuleSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RuleSummary')
RuleUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RuleUpdate')
RuleUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RuleUpdates')
S3BucketName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'S3BucketName')
S3ObjectUrl =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'S3ObjectUrl')
SampleWeight =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'SampleWeight')
SampledHTTPRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SampledHTTPRequest')
SampledHTTPRequests =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SampledHTTPRequests')
Size =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Size')
SizeConstraint =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SizeConstraint')
SizeConstraintSet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SizeConstraintSet')
SizeConstraintSetSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SizeConstraintSetSummaries')
SizeConstraintSetSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SizeConstraintSetSummary')
SizeConstraintSetUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SizeConstraintSetUpdate')
SizeConstraintSetUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SizeConstraintSetUpdates')
SizeConstraints =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SizeConstraints')
SqlInjectionMatchSet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SqlInjectionMatchSet')
SqlInjectionMatchSetSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SqlInjectionMatchSetSummaries')
SqlInjectionMatchSetSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SqlInjectionMatchSetSummary')
SqlInjectionMatchSetUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SqlInjectionMatchSetUpdate')
SqlInjectionMatchSetUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SqlInjectionMatchSetUpdates')
SqlInjectionMatchTuple =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SqlInjectionMatchTuple')
SqlInjectionMatchTuples =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SqlInjectionMatchTuples')
SubscribedRuleGroupSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SubscribedRuleGroupSummaries')
SubscribedRuleGroupSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubscribedRuleGroupSummary')
Tag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Tag')
TagInfoForResource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagInfoForResource')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeyList')
TagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagList')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceResponse')
TagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValue')
TextTransformation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TextTransformation')
TimeWindow =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TimeWindow')
Timestamp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'Timestamp')
URIString =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'URIString')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UntagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceResponse')
UpdateByteMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateByteMatchSetRequest')
UpdateByteMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateByteMatchSetResponse')
UpdateGeoMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGeoMatchSetRequest')
UpdateGeoMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGeoMatchSetResponse')
UpdateIPSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateIPSetRequest')
UpdateIPSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateIPSetResponse')
UpdateRateBasedRuleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRateBasedRuleRequest')
UpdateRateBasedRuleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRateBasedRuleResponse')
UpdateRegexMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRegexMatchSetRequest')
UpdateRegexMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRegexMatchSetResponse')
UpdateRegexPatternSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRegexPatternSetRequest')
UpdateRegexPatternSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRegexPatternSetResponse')
UpdateRuleGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRuleGroupRequest')
UpdateRuleGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRuleGroupResponse')
UpdateRuleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRuleRequest')
UpdateRuleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateRuleResponse')
UpdateSizeConstraintSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSizeConstraintSetRequest')
UpdateSizeConstraintSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSizeConstraintSetResponse')
UpdateSqlInjectionMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSqlInjectionMatchSetRequest')
UpdateSqlInjectionMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSqlInjectionMatchSetResponse')
UpdateWebACLRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateWebACLRequest')
UpdateWebACLResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateWebACLResponse')
UpdateXssMatchSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateXssMatchSetRequest')
UpdateXssMatchSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateXssMatchSetResponse')
WAFBadRequestException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFBadRequestException')
WAFDisallowedNameException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFDisallowedNameException')
WAFEntityMigrationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFEntityMigrationException')
WAFInternalErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFInternalErrorException')
WAFInvalidAccountException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFInvalidAccountException')
WAFInvalidOperationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFInvalidOperationException')
WAFInvalidParameterException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFInvalidParameterException')
WAFInvalidPermissionPolicyException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFInvalidPermissionPolicyException')
WAFInvalidRegexPatternException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFInvalidRegexPatternException')
WAFLimitsExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFLimitsExceededException')
WAFNonEmptyEntityException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFNonEmptyEntityException')
WAFNonexistentContainerException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFNonexistentContainerException')
WAFNonexistentItemException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFNonexistentItemException')
WAFReferencedItemException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFReferencedItemException')
WAFServiceLinkedRoleErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFServiceLinkedRoleErrorException')
WAFStaleDataException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFStaleDataException')
WAFSubscriptionNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFSubscriptionNotFoundException')
WAFTagOperationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFTagOperationException')
WAFTagOperationInternalErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFTagOperationInternalErrorException')
WAFUnavailableEntityException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WAFUnavailableEntityException')
WafAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WafAction')
WafActionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'WafActionType')
WafOverrideAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WafOverrideAction')
WafOverrideActionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'WafOverrideActionType')
WafRuleType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'WafRuleType')
WebACL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WebACL')
WebACLSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'WebACLSummaries')
WebACLSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WebACLSummary')
WebACLUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'WebACLUpdate')
WebACLUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'WebACLUpdates')
XssMatchSet =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XssMatchSet')
XssMatchSetSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'XssMatchSetSummaries')
XssMatchSetSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XssMatchSetSummary')
XssMatchSetUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XssMatchSetUpdate')
XssMatchSetUpdates =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'XssMatchSetUpdates')
XssMatchTuple =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XssMatchTuple')
XssMatchTuples =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'XssMatchTuples')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2016-11-28"

  api. = {
    "apiVersion" => "2016-11-28",
    "endpointPrefix" => "waf-regional",
    "jsonVersion" => "1.1",
    "protocol" => "json",
    "serviceAbbreviation" => "WAF Regional",
    "serviceFullName" => "AWS WAF Regional",
    "serviceId" => "WAF Regional",
    "signatureVersion" => "v4",
    "targetPrefix" => "AWSWAF_Regional_20161128",
    "uid" => "waf-regional-2016-11-28",
  }

  api.add_operation(:associate_web_acl, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateWebACL"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: AssociateWebACLRequest)
    o.output = Shapes::ShapeRef.new(shape: AssociateWebACLResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFUnavailableEntityException)
  end)

  api.add_operation(:create_byte_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateByteMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateByteMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateByteMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:create_geo_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateGeoMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateGeoMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateGeoMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:create_ip_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateIPSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateIPSetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateIPSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:create_rate_based_rule, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateRateBasedRule"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateRateBasedRuleRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateRateBasedRuleResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFBadRequestException)
  end)

  api.add_operation(:create_regex_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateRegexMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateRegexMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateRegexMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:create_regex_pattern_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateRegexPatternSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateRegexPatternSetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateRegexPatternSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:create_rule, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateRule"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateRuleRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateRuleResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFBadRequestException)
  end)

  api.add_operation(:create_rule_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateRuleGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateRuleGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateRuleGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFBadRequestException)
  end)

  api.add_operation(:create_size_constraint_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateSizeConstraintSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateSizeConstraintSetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateSizeConstraintSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:create_sql_injection_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateSqlInjectionMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateSqlInjectionMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateSqlInjectionMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:create_web_acl, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateWebACL"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateWebACLRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateWebACLResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFBadRequestException)
  end)

  api.add_operation(:create_web_acl_migration_stack, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateWebACLMigrationStack"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateWebACLMigrationStackRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateWebACLMigrationStackResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFEntityMigrationException)
  end)

  api.add_operation(:create_xss_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateXssMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateXssMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateXssMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:delete_byte_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteByteMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteByteMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteByteMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
  end)

  api.add_operation(:delete_geo_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteGeoMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteGeoMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteGeoMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
  end)

  api.add_operation(:delete_ip_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteIPSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteIPSetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteIPSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
  end)

  api.add_operation(:delete_logging_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteLoggingConfiguration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteLoggingConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteLoggingConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
  end)

  api.add_operation(:delete_permission_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeletePermissionPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeletePermissionPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: DeletePermissionPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:delete_rate_based_rule, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteRateBasedRule"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteRateBasedRuleRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteRateBasedRuleResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
  end)

  api.add_operation(:delete_regex_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteRegexMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteRegexMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteRegexMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
  end)

  api.add_operation(:delete_regex_pattern_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteRegexPatternSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteRegexPatternSetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteRegexPatternSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
  end)

  api.add_operation(:delete_rule, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteRule"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteRuleRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteRuleResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
  end)

  api.add_operation(:delete_rule_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteRuleGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteRuleGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteRuleGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
  end)

  api.add_operation(:delete_size_constraint_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteSizeConstraintSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteSizeConstraintSetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteSizeConstraintSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
  end)

  api.add_operation(:delete_sql_injection_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteSqlInjectionMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteSqlInjectionMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteSqlInjectionMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
  end)

  api.add_operation(:delete_web_acl, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteWebACL"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteWebACLRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteWebACLResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
  end)

  api.add_operation(:delete_xss_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteXssMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteXssMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteXssMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
  end)

  api.add_operation(:disassociate_web_acl, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateWebACL"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisassociateWebACLRequest)
    o.output = Shapes::ShapeRef.new(shape: DisassociateWebACLResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_byte_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetByteMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetByteMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetByteMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_change_token, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetChangeToken"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetChangeTokenRequest)
    o.output = Shapes::ShapeRef.new(shape: GetChangeTokenResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
  end)

  api.add_operation(:get_change_token_status, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetChangeTokenStatus"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetChangeTokenStatusRequest)
    o.output = Shapes::ShapeRef.new(shape: GetChangeTokenStatusResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
  end)

  api.add_operation(:get_geo_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetGeoMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetGeoMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetGeoMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_ip_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetIPSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetIPSetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetIPSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_logging_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetLoggingConfiguration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetLoggingConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetLoggingConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_permission_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetPermissionPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetPermissionPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: GetPermissionPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_rate_based_rule, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetRateBasedRule"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetRateBasedRuleRequest)
    o.output = Shapes::ShapeRef.new(shape: GetRateBasedRuleResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_rate_based_rule_managed_keys, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetRateBasedRuleManagedKeys"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetRateBasedRuleManagedKeysRequest)
    o.output = Shapes::ShapeRef.new(shape: GetRateBasedRuleManagedKeysResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
  end)

  api.add_operation(:get_regex_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetRegexMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetRegexMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetRegexMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_regex_pattern_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetRegexPatternSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetRegexPatternSetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetRegexPatternSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_rule, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetRule"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetRuleRequest)
    o.output = Shapes::ShapeRef.new(shape: GetRuleResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_rule_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetRuleGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetRuleGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: GetRuleGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_sampled_requests, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSampledRequests"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSampledRequestsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSampledRequestsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
  end)

  api.add_operation(:get_size_constraint_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSizeConstraintSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSizeConstraintSetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSizeConstraintSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_sql_injection_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSqlInjectionMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSqlInjectionMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSqlInjectionMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_web_acl, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetWebACL"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetWebACLRequest)
    o.output = Shapes::ShapeRef.new(shape: GetWebACLResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:get_web_acl_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetWebACLForResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetWebACLForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: GetWebACLForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFUnavailableEntityException)
  end)

  api.add_operation(:get_xss_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetXssMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetXssMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetXssMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
  end)

  api.add_operation(:list_activated_rules_in_rule_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListActivatedRulesInRuleGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListActivatedRulesInRuleGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: ListActivatedRulesInRuleGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
  end)

  api.add_operation(:list_byte_match_sets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListByteMatchSets"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListByteMatchSetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListByteMatchSetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_geo_match_sets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListGeoMatchSets"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListGeoMatchSetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListGeoMatchSetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_ip_sets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListIPSets"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListIPSetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListIPSetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_logging_configurations, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListLoggingConfigurations"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListLoggingConfigurationsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListLoggingConfigurationsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
  end)

  api.add_operation(:list_rate_based_rules, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRateBasedRules"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListRateBasedRulesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListRateBasedRulesResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_regex_match_sets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRegexMatchSets"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListRegexMatchSetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListRegexMatchSetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_regex_pattern_sets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRegexPatternSets"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListRegexPatternSetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListRegexPatternSetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_resources_for_web_acl, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListResourcesForWebACL"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListResourcesForWebACLRequest)
    o.output = Shapes::ShapeRef.new(shape: ListResourcesForWebACLResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
  end)

  api.add_operation(:list_rule_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRuleGroups"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListRuleGroupsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListRuleGroupsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
  end)

  api.add_operation(:list_rules, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRules"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListRulesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListRulesResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_size_constraint_sets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSizeConstraintSets"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListSizeConstraintSetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListSizeConstraintSetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_sql_injection_match_sets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSqlInjectionMatchSets"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListSqlInjectionMatchSetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListSqlInjectionMatchSetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_subscribed_rule_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSubscribedRuleGroups"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListSubscribedRuleGroupsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListSubscribedRuleGroupsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFBadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
  end)

  api.add_operation(:list_web_acls, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListWebACLs"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListWebACLsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListWebACLsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:list_xss_match_sets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListXssMatchSets"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListXssMatchSetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListXssMatchSetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:put_logging_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutLoggingConfiguration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: PutLoggingConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: PutLoggingConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFServiceLinkedRoleErrorException)
  end)

  api.add_operation(:put_permission_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutPermissionPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: PutPermissionPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: PutPermissionPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidPermissionPolicyException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFBadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFBadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFTagOperationInternalErrorException)
  end)

  api.add_operation(:update_byte_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateByteMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateByteMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateByteMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:update_geo_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateGeoMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateGeoMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateGeoMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:update_ip_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateIPSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateIPSetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateIPSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:update_rate_based_rule, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateRateBasedRule"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateRateBasedRuleRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateRateBasedRuleResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:update_regex_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateRegexMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateRegexMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateRegexMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
  end)

  api.add_operation(:update_regex_pattern_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateRegexPatternSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateRegexPatternSetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateRegexPatternSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidRegexPatternException)
  end)

  api.add_operation(:update_rule, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateRule"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateRuleRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateRuleResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:update_rule_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateRuleGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateRuleGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateRuleGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
  end)

  api.add_operation(:update_size_constraint_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateSizeConstraintSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateSizeConstraintSetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateSizeConstraintSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:update_sql_injection_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateSqlInjectionMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateSqlInjectionMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateSqlInjectionMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)

  api.add_operation(:update_web_acl, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateWebACL"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateWebACLRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateWebACLResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: WAFSubscriptionNotFoundException)
  end)

  api.add_operation(:update_xss_match_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateXssMatchSet"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateXssMatchSetRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateXssMatchSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
    o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
    o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
    o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
  end)
end