Class: Aws::WAFV2::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::WAFV2::Client
- Includes:
- ClientStubs
- Defined in:
- gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb
Overview
An API client for WAFV2. To construct a client, you need to configure a :region and :credentials.
client = Aws::WAFV2::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the developer guide.
See #initialize for a full list of supported configuration options.
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
API Operations collapse
-
#associate_web_acl(params = {}) ⇒ Struct
Associates a web ACL with a resource, to protect the resource.
-
#check_capacity(params = {}) ⇒ Types::CheckCapacityResponse
Returns the web ACL capacity unit (WCU) requirements for a specified scope and set of rules.
-
#create_api_key(params = {}) ⇒ Types::CreateAPIKeyResponse
Creates an API key that contains a set of token domains.
-
#create_ip_set(params = {}) ⇒ Types::CreateIPSetResponse
Creates an IPSet, which you use to identify web requests that originate from specific IP addresses or ranges of IP addresses.
-
#create_regex_pattern_set(params = {}) ⇒ Types::CreateRegexPatternSetResponse
Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have WAF inspect a web request component for the specified patterns.
-
#create_rule_group(params = {}) ⇒ Types::CreateRuleGroupResponse
Creates a RuleGroup per the specifications provided.
-
#create_web_acl(params = {}) ⇒ Types::CreateWebACLResponse
Creates a WebACL per the specifications provided.
-
#delete_api_key(params = {}) ⇒ Struct
Deletes the specified API key.
-
#delete_firewall_manager_rule_groups(params = {}) ⇒ Types::DeleteFirewallManagerRuleGroupsResponse
Deletes all rule groups that are managed by Firewall Manager from the specified WebACL.
-
#delete_ip_set(params = {}) ⇒ Struct
Deletes the specified IPSet.
-
#delete_logging_configuration(params = {}) ⇒ Struct
Deletes the LoggingConfiguration from the specified web ACL.
-
#delete_permission_policy(params = {}) ⇒ Struct
Permanently deletes an IAM policy from the specified rule group.
-
#delete_regex_pattern_set(params = {}) ⇒ Struct
Deletes the specified RegexPatternSet.
-
#delete_rule_group(params = {}) ⇒ Struct
Deletes the specified RuleGroup.
-
#delete_web_acl(params = {}) ⇒ Struct
Deletes the specified WebACL.
-
#describe_all_managed_products(params = {}) ⇒ Types::DescribeAllManagedProductsResponse
Provides high-level information for the Amazon Web Services Managed Rules rule groups and Amazon Web Services Marketplace managed rule groups.
-
#describe_managed_products_by_vendor(params = {}) ⇒ Types::DescribeManagedProductsByVendorResponse
Provides high-level information for the managed rule groups owned by a specific vendor.
-
#describe_managed_rule_group(params = {}) ⇒ Types::DescribeManagedRuleGroupResponse
Provides high-level information for a managed rule group, including descriptions of the rules.
-
#disassociate_web_acl(params = {}) ⇒ Struct
Disassociates the specified resource from its web ACL association, if it has one.
-
#generate_mobile_sdk_release_url(params = {}) ⇒ Types::GenerateMobileSdkReleaseUrlResponse
Generates a presigned download URL for the specified release of the mobile SDK.
-
#get_decrypted_api_key(params = {}) ⇒ Types::GetDecryptedAPIKeyResponse
Returns your API key in decrypted form.
-
#get_ip_set(params = {}) ⇒ Types::GetIPSetResponse
Retrieves the specified IPSet.
-
#get_logging_configuration(params = {}) ⇒ Types::GetLoggingConfigurationResponse
Returns the LoggingConfiguration for the specified web ACL.
-
#get_managed_rule_set(params = {}) ⇒ Types::GetManagedRuleSetResponse
Retrieves the specified managed rule set.
-
#get_mobile_sdk_release(params = {}) ⇒ Types::GetMobileSdkReleaseResponse
Retrieves information for the specified mobile SDK release, including release notes and tags.
-
#get_permission_policy(params = {}) ⇒ Types::GetPermissionPolicyResponse
Returns the IAM policy that is attached to the specified rule group.
-
#get_rate_based_statement_managed_keys(params = {}) ⇒ Types::GetRateBasedStatementManagedKeysResponse
Retrieves the IP addresses that are currently blocked by a rate-based rule instance.
-
#get_regex_pattern_set(params = {}) ⇒ Types::GetRegexPatternSetResponse
Retrieves the specified RegexPatternSet.
-
#get_revenue_statistics(params = {}) ⇒ Types::GetRevenueStatisticsResponse
Retrieves ranked monetization statistics.
-
#get_revenue_statistics_summary(params = {}) ⇒ Types::GetRevenueStatisticsSummaryResponse
Retrieves a summary of monetization revenue for the specified time window.
-
#get_revenue_statistics_time_series(params = {}) ⇒ Types::GetRevenueStatisticsTimeSeriesResponse
Retrieves time series data for monetization revenue.
-
#get_rule_group(params = {}) ⇒ Types::GetRuleGroupResponse
Retrieves the specified RuleGroup.
-
#get_sampled_requests(params = {}) ⇒ Types::GetSampledRequestsResponse
Gets detailed information about a specified number of requests--a sample--that WAF randomly selects from among the first 5,000 requests that your Amazon Web Services resource received during a time range that you choose.
-
#get_top_path_statistics_by_traffic(params = {}) ⇒ Types::GetTopPathStatisticsByTrafficResponse
Retrieves aggregated statistics about the top URI paths accessed by bot traffic for a specified web ACL and time window.
-
#get_web_acl(params = {}) ⇒ Types::GetWebACLResponse
Retrieves the specified WebACL.
-
#get_web_acl_for_resource(params = {}) ⇒ Types::GetWebACLForResourceResponse
Retrieves the WebACL for the specified resource.
-
#list_api_keys(params = {}) ⇒ Types::ListAPIKeysResponse
Retrieves a list of the API keys that you've defined for the specified scope.
-
#list_available_managed_rule_group_versions(params = {}) ⇒ Types::ListAvailableManagedRuleGroupVersionsResponse
Returns a list of the available versions for the specified managed rule group.
-
#list_available_managed_rule_groups(params = {}) ⇒ Types::ListAvailableManagedRuleGroupsResponse
Retrieves an array of managed rule groups that are available for you to use.
-
#list_ip_sets(params = {}) ⇒ Types::ListIPSetsResponse
Retrieves an array of IPSetSummary objects for the IP sets that you manage.
-
#list_logging_configurations(params = {}) ⇒ Types::ListLoggingConfigurationsResponse
Retrieves an array of your LoggingConfiguration objects.
-
#list_managed_rule_sets(params = {}) ⇒ Types::ListManagedRuleSetsResponse
Retrieves the managed rule sets that you own.
-
#list_mobile_sdk_releases(params = {}) ⇒ Types::ListMobileSdkReleasesResponse
Retrieves a list of the available releases for the mobile SDK and the specified device platform.
-
#list_regex_pattern_sets(params = {}) ⇒ Types::ListRegexPatternSetsResponse
Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage.
-
#list_resources_for_web_acl(params = {}) ⇒ Types::ListResourcesForWebACLResponse
Retrieves an array of the Amazon Resource Names (ARNs) for the resources that are associated with the specified web ACL.
-
#list_rule_groups(params = {}) ⇒ Types::ListRuleGroupsResponse
Retrieves an array of RuleGroupSummary objects for the rule groups that you manage.
-
#list_settlement_records(params = {}) ⇒ Types::ListSettlementRecordsResponse
Retrieves individual settlement transaction records for monetization.
-
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Retrieves the TagInfoForResource for the specified resource.
-
#list_web_acls(params = {}) ⇒ Types::ListWebACLsResponse
Retrieves an array of WebACLSummary objects for the web ACLs that you manage.
-
#put_logging_configuration(params = {}) ⇒ Types::PutLoggingConfigurationResponse
Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided.
-
#put_managed_rule_set_versions(params = {}) ⇒ Types::PutManagedRuleSetVersionsResponse
Defines the versions of your managed rule set that you are offering to the customers.
-
#put_permission_policy(params = {}) ⇒ Struct
Use this to share a rule group with other accounts.
-
#tag_resource(params = {}) ⇒ Struct
Associates tags with the specified Amazon Web Services resource.
-
#untag_resource(params = {}) ⇒ Struct
Disassociates tags from an Amazon Web Services resource.
-
#update_ip_set(params = {}) ⇒ Types::UpdateIPSetResponse
Updates the specified IPSet.
-
#update_managed_rule_set_version_expiry_date(params = {}) ⇒ Types::UpdateManagedRuleSetVersionExpiryDateResponse
Updates the expiration information for your managed rule set.
-
#update_regex_pattern_set(params = {}) ⇒ Types::UpdateRegexPatternSetResponse
Updates the specified RegexPatternSet.
-
#update_rule_group(params = {}) ⇒ Types::UpdateRuleGroupResponse
Updates the specified RuleGroup.
-
#update_web_acl(params = {}) ⇒ Types::UpdateWebACLResponse
Updates the specified WebACL.
Instance Method Summary collapse
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
Methods included from ClientStubs
#api_requests, #stub_data, #stub_responses
Methods inherited from Seahorse::Client::Base
add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
485 486 487 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 485 def initialize(*args) super end |
Instance Method Details
#associate_web_acl(params = {}) ⇒ Struct
Associates a web ACL with a resource, to protect the resource.
Use this for all resource types except for Amazon CloudFront
distributions. For Amazon CloudFront, call UpdateDistribution for
the distribution and provide the Amazon Resource Name (ARN) of the web
ACL in the web ACL ID. For information, see UpdateDistribution in
the Amazon CloudFront Developer Guide.
Required permissions for customer-managed IAM policies
This call requires permissions that are specific to the protected resource type. For details, see Permissions for AssociateWebACL in the WAF Developer Guide.
Temporary inconsistencies during updates
When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.
The following are examples of the temporary inconsistencies that you might notice during change propagation:
After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.
After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
After you change a rule action setting, you might see the old action in some places and the new action in others.
After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.
587 588 589 590 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 587 def associate_web_acl(params = {}, = {}) req = build_request(:associate_web_acl, params) req.send_request() end |
#check_capacity(params = {}) ⇒ Types::CheckCapacityResponse
Returns the web ACL capacity unit (WCU) requirements for a specified scope and set of rules. You can use this to check the capacity requirements for the rules you want to use in a RuleGroup or WebACL.
WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. For more information, see WAF web ACL capacity units (WCU) in the WAF Developer Guide.
1575 1576 1577 1578 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 1575 def check_capacity(params = {}, = {}) req = build_request(:check_capacity, params) req.send_request() end |
#create_api_key(params = {}) ⇒ Types::CreateAPIKeyResponse
Creates an API key that contains a set of token domains.
API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see WAF client application integration in the WAF Developer Guide.
You can use a single key for up to 5 domains. After you generate a key, you can copy it for use in your JavaScript integration.
1635 1636 1637 1638 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 1635 def create_api_key(params = {}, = {}) req = build_request(:create_api_key, params) req.send_request() end |
#create_ip_set(params = {}) ⇒ Types::CreateIPSetResponse
Creates an IPSet, which you use to identify web requests that originate from specific IP addresses or ranges of IP addresses. For example, if you're receiving a lot of requests from a ranges of IP addresses, you can configure WAF to block them using an IPSet that lists those IP addresses.
1745 1746 1747 1748 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 1745 def create_ip_set(params = {}, = {}) req = build_request(:create_ip_set, params) req.send_request() end |
#create_regex_pattern_set(params = {}) ⇒ Types::CreateRegexPatternSetResponse
Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have WAF inspect a web request component for the specified patterns.
1814 1815 1816 1817 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 1814 def create_regex_pattern_set(params = {}, = {}) req = build_request(:create_regex_pattern_set, params) req.send_request() end |
#create_rule_group(params = {}) ⇒ Types::CreateRuleGroupResponse
Creates a RuleGroup per the specifications provided.
A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.
2894 2895 2896 2897 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 2894 def create_rule_group(params = {}, = {}) req = build_request(:create_rule_group, params) req.send_request() end |
#create_web_acl(params = {}) ⇒ Types::CreateWebACLResponse
Creates a WebACL per the specifications provided.
A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resource types include Amazon CloudFront distribution, Amazon API Gateway REST API, Application Load Balancer, AppSync GraphQL API, Amazon Cognito user pool, App Runner service, Amplify application, Amazon Web Services Verified Access instance, and Amazon Bedrock AgentCore Gateway.
3064 3065 3066 3067 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3064 def create_web_acl(params = {}, = {}) req = build_request(:create_web_acl, params) req.send_request() end |
#delete_api_key(params = {}) ⇒ Struct
Deletes the specified API key.
After you delete a key, it can take up to 24 hours for WAF to disallow use of the key in all regions.
3102 3103 3104 3105 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3102 def delete_api_key(params = {}, = {}) req = build_request(:delete_api_key, params) req.send_request() end |
#delete_firewall_manager_rule_groups(params = {}) ⇒ Types::DeleteFirewallManagerRuleGroupsResponse
Deletes all rule groups that are managed by Firewall Manager from the specified WebACL.
You can only use this if ManagedByFirewallManager and
RetrofittedByFirewallManager are both false in the web ACL.
3145 3146 3147 3148 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3145 def delete_firewall_manager_rule_groups(params = {}, = {}) req = build_request(:delete_firewall_manager_rule_groups, params) req.send_request() end |
#delete_ip_set(params = {}) ⇒ Struct
Deletes the specified IPSet.
3198 3199 3200 3201 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3198 def delete_ip_set(params = {}, = {}) req = build_request(:delete_ip_set, params) req.send_request() end |
#delete_logging_configuration(params = {}) ⇒ Struct
Deletes the LoggingConfiguration from the specified web ACL.
3253 3254 3255 3256 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3253 def delete_logging_configuration(params = {}, = {}) req = build_request(:delete_logging_configuration, params) req.send_request() end |
#delete_permission_policy(params = {}) ⇒ Struct
Permanently deletes an IAM policy from the specified rule group.
You must be the owner of the rule group to perform this operation.
3280 3281 3282 3283 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3280 def (params = {}, = {}) req = build_request(:delete_permission_policy, params) req.send_request() end |
#delete_regex_pattern_set(params = {}) ⇒ Struct
Deletes the specified RegexPatternSet.
3333 3334 3335 3336 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3333 def delete_regex_pattern_set(params = {}, = {}) req = build_request(:delete_regex_pattern_set, params) req.send_request() end |
#delete_rule_group(params = {}) ⇒ Struct
Deletes the specified RuleGroup.
3386 3387 3388 3389 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3386 def delete_rule_group(params = {}, = {}) req = build_request(:delete_rule_group, params) req.send_request() end |
#delete_web_acl(params = {}) ⇒ Struct
Deletes the specified WebACL.
You can only use this if ManagedByFirewallManager is false in the
web ACL.
To retrieve a list of the resources that are associated with a web ACL, use the following calls:
For Amazon CloudFront distributions, use the CloudFront call
ListDistributionsByWebACLId. For information, see ListDistributionsByWebACLId in the Amazon CloudFront API Reference.For all other resources, call ListResourcesForWebACL.
To disassociate a resource from a web ACL, use the following calls:
For Amazon CloudFront distributions, provide an empty web ACL ID in the CloudFront call
UpdateDistribution. For information, see UpdateDistribution in the Amazon CloudFront API Reference.For all other resources, call DisassociateWebACL.
3468 3469 3470 3471 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3468 def delete_web_acl(params = {}, = {}) req = build_request(:delete_web_acl, params) req.send_request() end |
#describe_all_managed_products(params = {}) ⇒ Types::DescribeAllManagedProductsResponse
Provides high-level information for the Amazon Web Services Managed Rules rule groups and Amazon Web Services Marketplace managed rule groups.
3516 3517 3518 3519 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3516 def describe_all_managed_products(params = {}, = {}) req = build_request(:describe_all_managed_products, params) req.send_request() end |
#describe_managed_products_by_vendor(params = {}) ⇒ Types::DescribeManagedProductsByVendorResponse
Provides high-level information for the managed rule groups owned by a specific vendor.
3568 3569 3570 3571 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3568 def describe_managed_products_by_vendor(params = {}, = {}) req = build_request(:describe_managed_products_by_vendor, params) req.send_request() end |
#describe_managed_rule_group(params = {}) ⇒ Types::DescribeManagedRuleGroupResponse
Provides high-level information for a managed rule group, including descriptions of the rules.
3655 3656 3657 3658 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3655 def describe_managed_rule_group(params = {}, = {}) req = build_request(:describe_managed_rule_group, params) req.send_request() end |
#disassociate_web_acl(params = {}) ⇒ Struct
Disassociates the specified resource from its web ACL association, if it has one.
Use this for all resource types except for Amazon CloudFront
distributions. For Amazon CloudFront, call UpdateDistribution for
the distribution and provide an empty web ACL ID. For information, see
UpdateDistribution in the Amazon CloudFront API Reference.
Required permissions for customer-managed IAM policies
This call requires permissions that are specific to the protected resource type. For details, see Permissions for DisassociateWebACL in the WAF Developer Guide.
3726 3727 3728 3729 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3726 def disassociate_web_acl(params = {}, = {}) req = build_request(:disassociate_web_acl, params) req.send_request() end |
#generate_mobile_sdk_release_url(params = {}) ⇒ Types::GenerateMobileSdkReleaseUrlResponse
Generates a presigned download URL for the specified release of the mobile SDK.
The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client application integration in the WAF Developer Guide.
3770 3771 3772 3773 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3770 def generate_mobile_sdk_release_url(params = {}, = {}) req = build_request(:generate_mobile_sdk_release_url, params) req.send_request() end |
#get_decrypted_api_key(params = {}) ⇒ Types::GetDecryptedAPIKeyResponse
Returns your API key in decrypted form. Use this to check the token domains that you have defined for the key.
API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see WAF client application integration in the WAF Developer Guide.
3826 3827 3828 3829 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3826 def get_decrypted_api_key(params = {}, = {}) req = build_request(:get_decrypted_api_key, params) req.send_request() end |
#get_ip_set(params = {}) ⇒ Types::GetIPSetResponse
Retrieves the specified IPSet.
3882 3883 3884 3885 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3882 def get_ip_set(params = {}, = {}) req = build_request(:get_ip_set, params) req.send_request() end |
#get_logging_configuration(params = {}) ⇒ Types::GetLoggingConfigurationResponse
Returns the LoggingConfiguration for the specified web ACL.
3980 3981 3982 3983 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3980 def get_logging_configuration(params = {}, = {}) req = build_request(:get_logging_configuration, params) req.send_request() end |
#get_managed_rule_set(params = {}) ⇒ Types::GetManagedRuleSetResponse
Retrieves the specified managed rule set.
Vendors, you can use the managed rule set APIs to provide controlled
rollout of your versioned managed rule group offerings for your
customers. The APIs are ListManagedRuleSets, GetManagedRuleSet,
PutManagedRuleSetVersions, and
UpdateManagedRuleSetVersionExpiryDate.
4056 4057 4058 4059 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4056 def get_managed_rule_set(params = {}, = {}) req = build_request(:get_managed_rule_set, params) req.send_request() end |
#get_mobile_sdk_release(params = {}) ⇒ Types::GetMobileSdkReleaseResponse
Retrieves information for the specified mobile SDK release, including release notes and tags.
The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client application integration in the WAF Developer Guide.
4105 4106 4107 4108 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4105 def get_mobile_sdk_release(params = {}, = {}) req = build_request(:get_mobile_sdk_release, params) req.send_request() end |
#get_permission_policy(params = {}) ⇒ Types::GetPermissionPolicyResponse
Returns the IAM policy that is attached to the specified rule group.
You must be the owner of the rule group to perform this operation.
4136 4137 4138 4139 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4136 def (params = {}, = {}) req = build_request(:get_permission_policy, params) req.send_request() end |
#get_rate_based_statement_managed_keys(params = {}) ⇒ Types::GetRateBasedStatementManagedKeysResponse
Retrieves the IP addresses that are currently blocked by a rate-based rule instance. This is only available for rate-based rules that aggregate solely on the IP address or on the forwarded IP address.
The maximum number of addresses that can be blocked for a single rate-based rule instance is 10,000. If more than 10,000 addresses exceed the rate limit, those with the highest rates are blocked.
For a rate-based rule that you've defined inside a rule group, provide the name of the rule group reference statement in your request, in addition to the rate-based rule name and the web ACL name.
WAF monitors web requests and manages keys independently for each unique combination of web ACL, optional rule group, and rate-based rule. For example, if you define a rate-based rule inside a rule group, and then use the rule group in a web ACL, WAF monitors web requests and manages keys for that web ACL, rule group reference statement, and rate-based rule instance. If you use the same rule group in a second web ACL, WAF monitors web requests and manages keys for this second usage completely independent of your first.
4222 4223 4224 4225 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4222 def get_rate_based_statement_managed_keys(params = {}, = {}) req = build_request(:get_rate_based_statement_managed_keys, params) req.send_request() end |
#get_regex_pattern_set(params = {}) ⇒ Types::GetRegexPatternSetResponse
Retrieves the specified RegexPatternSet.
4277 4278 4279 4280 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4277 def get_regex_pattern_set(params = {}, = {}) req = build_request(:get_regex_pattern_set, params) req.send_request() end |
#get_revenue_statistics(params = {}) ⇒ Types::GetRevenueStatisticsResponse
Retrieves ranked monetization statistics. Use the StatisticType
parameter to specify the ranking: TOP_SOURCES_BY_REVENUE for top
sources by revenue, or TOP_PATHS_BY_REVENUE for top content paths by
revenue. This operation is only available for CLOUDFRONT scope. The
maximum supported time window is 90 days. When no CurrencyMode
filter is provided, results default to REAL. To retrieve test data,
include a CurrencyMode filter with the value TEST.
4384 4385 4386 4387 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4384 def get_revenue_statistics(params = {}, = {}) req = build_request(:get_revenue_statistics, params) req.send_request() end |
#get_revenue_statistics_summary(params = {}) ⇒ Types::GetRevenueStatisticsSummaryResponse
Retrieves a summary of monetization revenue for the specified time
window. Returns total revenue, revenue by verification tier, total
settlements, and total HTTP 402 responses served. This operation is
only available for CLOUDFRONT scope. The maximum supported time
window is 90 days. When no CurrencyMode filter is provided, results
default to REAL. To retrieve test data, include a CurrencyMode
filter with the value TEST.
4449 4450 4451 4452 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4449 def get_revenue_statistics_summary(params = {}, = {}) req = build_request(:get_revenue_statistics_summary, params) req.send_request() end |
#get_revenue_statistics_time_series(params = {}) ⇒ Types::GetRevenueStatisticsTimeSeriesResponse
Retrieves time series data for monetization revenue. Returns data
points aggregated at the specified interval for the given time window.
This operation is only available for CLOUDFRONT scope. The maximum
supported time window is 90 days. When no CurrencyMode filter is
provided, results default to REAL. To retrieve test data, include a
CurrencyMode filter with the value TEST.
4536 4537 4538 4539 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4536 def get_revenue_statistics_time_series(params = {}, = {}) req = build_request(:get_revenue_statistics_time_series, params) req.send_request() end |
#get_rule_group(params = {}) ⇒ Types::GetRuleGroupResponse
Retrieves the specified RuleGroup.
4990 4991 4992 4993 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4990 def get_rule_group(params = {}, = {}) req = build_request(:get_rule_group, params) req.send_request() end |
#get_sampled_requests(params = {}) ⇒ Types::GetSampledRequestsResponse
Gets detailed information about a specified number of requests--a sample--that WAF randomly selects from among the first 5,000 requests that your Amazon Web Services resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.
GetSampledRequests returns a time range, which is usually the time
range that you specified. However, if your resource (such as a
CloudFront distribution) received 5,000 requests before the specified
time range elapsed, GetSampledRequests returns an updated time
range. This new time range indicates the actual period during which
WAF selected the requests in the sample.
5099 5100 5101 5102 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5099 def get_sampled_requests(params = {}, = {}) req = build_request(:get_sampled_requests, params) req.send_request() end |
#get_top_path_statistics_by_traffic(params = {}) ⇒ Types::GetTopPathStatisticsByTrafficResponse
Retrieves aggregated statistics about the top URI paths accessed by bot traffic for a specified web ACL and time window. You can use this operation to analyze which paths on your web application receive the most bot traffic and identify the specific bots accessing those paths. The operation supports filtering by bot category, organization, or name, and allows you to drill down into specific path prefixes to view detailed URI-level statistics.
5224 5225 5226 5227 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5224 def get_top_path_statistics_by_traffic(params = {}, = {}) req = build_request(:get_top_path_statistics_by_traffic, params) req.send_request() end |
#get_web_acl(params = {}) ⇒ Types::GetWebACLResponse
Retrieves the specified WebACL.
5275 5276 5277 5278 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5275 def get_web_acl(params = {}, = {}) req = build_request(:get_web_acl, params) req.send_request() end |
#get_web_acl_for_resource(params = {}) ⇒ Types::GetWebACLForResourceResponse
Retrieves the WebACL for the specified resource.
This call uses GetWebACL, to verify that your account has permission
to access the retrieved web ACL. If you get an error that indicates
that your account isn't authorized to perform wafv2:GetWebACL on
the resource, that error won't be included in your CloudTrail event
history.
For Amazon CloudFront, don't use this call. Instead, call the
CloudFront action GetDistributionConfig. For information, see
GetDistributionConfig in the Amazon CloudFront API Reference.
Required permissions for customer-managed IAM policies
This call requires permissions that are specific to the protected resource type. For details, see Permissions for GetWebACLForResource in the WAF Developer Guide.
5352 5353 5354 5355 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5352 def get_web_acl_for_resource(params = {}, = {}) req = build_request(:get_web_acl_for_resource, params) req.send_request() end |
#list_api_keys(params = {}) ⇒ Types::ListAPIKeysResponse
Retrieves a list of the API keys that you've defined for the specified scope.
API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see WAF client application integration in the WAF Developer Guide.
5425 5426 5427 5428 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5425 def list_api_keys(params = {}, = {}) req = build_request(:list_api_keys, params) req.send_request() end |
#list_available_managed_rule_group_versions(params = {}) ⇒ Types::ListAvailableManagedRuleGroupVersionsResponse
Returns a list of the available versions for the specified managed rule group.
5494 5495 5496 5497 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5494 def list_available_managed_rule_group_versions(params = {}, = {}) req = build_request(:list_available_managed_rule_group_versions, params) req.send_request() end |
#list_available_managed_rule_groups(params = {}) ⇒ Types::ListAvailableManagedRuleGroupsResponse
Retrieves an array of managed rule groups that are available for you to use. This list includes all Amazon Web Services Managed Rules rule groups and all of the Amazon Web Services Marketplace managed rule groups that you're subscribed to.
5555 5556 5557 5558 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5555 def list_available_managed_rule_groups(params = {}, = {}) req = build_request(:list_available_managed_rule_groups, params) req.send_request() end |
#list_ip_sets(params = {}) ⇒ Types::ListIPSetsResponse
Retrieves an array of IPSetSummary objects for the IP sets that you manage.
5615 5616 5617 5618 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5615 def list_ip_sets(params = {}, = {}) req = build_request(:list_ip_sets, params) req.send_request() end |
#list_logging_configurations(params = {}) ⇒ Types::ListLoggingConfigurationsResponse
Retrieves an array of your LoggingConfiguration objects.
5732 5733 5734 5735 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5732 def list_logging_configurations(params = {}, = {}) req = build_request(:list_logging_configurations, params) req.send_request() end |
#list_managed_rule_sets(params = {}) ⇒ Types::ListManagedRuleSetsResponse
Retrieves the managed rule sets that you own.
Vendors, you can use the managed rule set APIs to provide controlled
rollout of your versioned managed rule group offerings for your
customers. The APIs are ListManagedRuleSets, GetManagedRuleSet,
PutManagedRuleSetVersions, and
UpdateManagedRuleSetVersionExpiryDate.
5803 5804 5805 5806 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5803 def list_managed_rule_sets(params = {}, = {}) req = build_request(:list_managed_rule_sets, params) req.send_request() end |
#list_mobile_sdk_releases(params = {}) ⇒ Types::ListMobileSdkReleasesResponse
Retrieves a list of the available releases for the mobile SDK and the specified device platform.
The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client application integration in the WAF Developer Guide.
5861 5862 5863 5864 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5861 def list_mobile_sdk_releases(params = {}, = {}) req = build_request(:list_mobile_sdk_releases, params) req.send_request() end |
#list_regex_pattern_sets(params = {}) ⇒ Types::ListRegexPatternSetsResponse
Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage.
5921 5922 5923 5924 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5921 def list_regex_pattern_sets(params = {}, = {}) req = build_request(:list_regex_pattern_sets, params) req.send_request() end |
#list_resources_for_web_acl(params = {}) ⇒ Types::ListResourcesForWebACLResponse
Retrieves an array of the Amazon Resource Names (ARNs) for the resources that are associated with the specified web ACL.
For Amazon CloudFront, don't use this call. Instead, use the
CloudFront call ListDistributionsByWebACLId. For information, see
ListDistributionsByWebACLId in the Amazon CloudFront API
Reference.
Required permissions for customer-managed IAM policies
This call requires permissions that are specific to the protected resource type. For details, see Permissions for ListResourcesForWebACL in the WAF Developer Guide.
5987 5988 5989 5990 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5987 def list_resources_for_web_acl(params = {}, = {}) req = build_request(:list_resources_for_web_acl, params) req.send_request() end |
#list_rule_groups(params = {}) ⇒ Types::ListRuleGroupsResponse
Retrieves an array of RuleGroupSummary objects for the rule groups that you manage.
6047 6048 6049 6050 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6047 def list_rule_groups(params = {}, = {}) req = build_request(:list_rule_groups, params) req.send_request() end |
#list_settlement_records(params = {}) ⇒ Types::ListSettlementRecordsResponse
Retrieves individual settlement transaction records for monetization.
Each record represents a single payment transaction between a client
and your protected resource. This operation is only available for
CLOUDFRONT scope. The maximum supported time window is 90 days. When
no CurrencyMode filter is provided, results default to REAL. To
retrieve test data, include a CurrencyMode filter with the value
TEST.
6141 6142 6143 6144 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6141 def list_settlement_records(params = {}, = {}) req = build_request(:list_settlement_records, params) req.send_request() end |
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Retrieves the TagInfoForResource for the specified resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.
You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.
6198 6199 6200 6201 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6198 def (params = {}, = {}) req = build_request(:list_tags_for_resource, params) req.send_request() end |
#list_web_acls(params = {}) ⇒ Types::ListWebACLsResponse
Retrieves an array of WebACLSummary objects for the web ACLs that you manage.
6258 6259 6260 6261 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6258 def list_web_acls(params = {}, = {}) req = build_request(:list_web_acls, params) req.send_request() end |
#put_logging_configuration(params = {}) ⇒ Types::PutLoggingConfigurationResponse
Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided.
If you configure data protection for the web ACL, the protection applies to the data that WAF sends to the logs.
To modify an existing logging configuration, do the following:
Retrieve it by calling GetLoggingConfiguration
Update its settings as needed
Provide the complete logging configuration specification to this call
You can access information about the traffic that WAF inspects using the following steps:
Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose.
The name that you give the destination must start with
aws-waf-logs-. Depending on the type of destination, you might need to configure additional settings or permissions.For configuration requirements and pricing information for each destination type, see Logging web ACL traffic in the WAF Developer Guide.
Associate your logging destination to your web ACL using a
PutLoggingConfigurationrequest.
When you successfully enable logging using a PutLoggingConfiguration
request, WAF creates an additional role or policy that is required to
write logs to the logging destination. For an Amazon CloudWatch Logs
log group, WAF creates a resource policy on the log group. For an
Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis
Data Firehose, WAF creates a service-linked role.
For additional information about web ACL logging, see Logging web ACL traffic information in the WAF Developer Guide.
6465 6466 6467 6468 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6465 def put_logging_configuration(params = {}, = {}) req = build_request(:put_logging_configuration, params) req.send_request() end |
#put_managed_rule_set_versions(params = {}) ⇒ Types::PutManagedRuleSetVersionsResponse
Defines the versions of your managed rule set that you are offering to the customers. Customers see your offerings as managed rule groups with versioning.
Vendors, you can use the managed rule set APIs to provide controlled
rollout of your versioned managed rule group offerings for your
customers. The APIs are ListManagedRuleSets, GetManagedRuleSet,
PutManagedRuleSetVersions, and
UpdateManagedRuleSetVersionExpiryDate.
Customers retrieve their managed rule group list by calling ListAvailableManagedRuleGroups. The name that you provide here for your managed rule set is the name the customer sees for the corresponding managed rule group. Customers can retrieve the available versions for a managed rule group by calling ListAvailableManagedRuleGroupVersions. You provide a rule group specification for each version. For each managed rule set, you must specify a version that you recommend using.
To initiate the expiration of a managed rule group version, use UpdateManagedRuleSetVersionExpiryDate.
6567 6568 6569 6570 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6567 def put_managed_rule_set_versions(params = {}, = {}) req = build_request(:put_managed_rule_set_versions, params) req.send_request() end |
#put_permission_policy(params = {}) ⇒ Struct
Use this to share a rule group with other accounts.
This action attaches an IAM policy to the specified resource. You must be the owner of the rule group to perform this operation.
This action is subject to the following restrictions:
You can attach only one policy with each
PutPermissionPolicyrequest.The ARN in the request must be a valid WAF RuleGroup ARN and the rule group must exist in the same Region.
The user making the request must be the owner of the rule group.
If a rule group has been shared with your account, you can access it
through the call GetRuleGroup, and you can reference it in
CreateWebACL and UpdateWebACL. Rule groups that are shared with
you don't appear in your WAF console rule groups listing.
6634 6635 6636 6637 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6634 def (params = {}, = {}) req = build_request(:put_permission_policy, params) req.send_request() end |
#tag_resource(params = {}) ⇒ Struct
Associates tags with the specified Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.
You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.
6674 6675 6676 6677 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6674 def tag_resource(params = {}, = {}) req = build_request(:tag_resource, params) req.send_request() end |
#untag_resource(params = {}) ⇒ Struct
Disassociates tags from an Amazon Web Services resource. Tags are key:value pairs that you can associate with Amazon Web Services resources. For example, the tag key might be "customer" and the tag value might be "companyA." You can specify one or more tags to add to each container. You can add up to 50 tags to each Amazon Web Services resource.
6706 6707 6708 6709 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6706 def untag_resource(params = {}, = {}) req = build_request(:untag_resource, params) req.send_request() end |
#update_ip_set(params = {}) ⇒ Types::UpdateIPSetResponse
Updates the specified IPSet.
To modify an IP set, do the following:
Retrieve it by calling GetIPSet
Update its settings as needed
Provide the complete IP set specification to this call
Temporary inconsistencies during updates
When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.
The following are examples of the temporary inconsistencies that you might notice during change propagation:
After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.
After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
After you change a rule action setting, you might see the old action in some places and the new action in others.
After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.
6851 6852 6853 6854 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6851 def update_ip_set(params = {}, = {}) req = build_request(:update_ip_set, params) req.send_request() end |
#update_managed_rule_set_version_expiry_date(params = {}) ⇒ Types::UpdateManagedRuleSetVersionExpiryDateResponse
Updates the expiration information for your managed rule set. Use this to initiate the expiration of a managed rule group version. After you initiate expiration for a version, WAF excludes it from the response to ListAvailableManagedRuleGroupVersions for the managed rule group.
Vendors, you can use the managed rule set APIs to provide controlled
rollout of your versioned managed rule group offerings for your
customers. The APIs are ListManagedRuleSets, GetManagedRuleSet,
PutManagedRuleSetVersions, and
UpdateManagedRuleSetVersionExpiryDate.
6944 6945 6946 6947 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6944 def update_managed_rule_set_version_expiry_date(params = {}, = {}) req = build_request(:update_managed_rule_set_version_expiry_date, params) req.send_request() end |
#update_regex_pattern_set(params = {}) ⇒ Types::UpdateRegexPatternSetResponse
Updates the specified RegexPatternSet.
To modify a regex pattern set, do the following:
Retrieve it by calling GetRegexPatternSet
Update its settings as needed
Provide the complete regex pattern set specification to this call
Temporary inconsistencies during updates
When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.
The following are examples of the temporary inconsistencies that you might notice during change propagation:
After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.
After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
After you change a rule action setting, you might see the old action in some places and the new action in others.
After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.
7053 7054 7055 7056 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 7053 def update_regex_pattern_set(params = {}, = {}) req = build_request(:update_regex_pattern_set, params) req.send_request() end |
#update_rule_group(params = {}) ⇒ Types::UpdateRuleGroupResponse
Updates the specified RuleGroup.
To modify a rule group, do the following:
Retrieve it by calling GetRuleGroup
Update its settings as needed
Provide the complete rule group specification to this call
A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.
Temporary inconsistencies during updates
When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.
The following are examples of the temporary inconsistencies that you might notice during change propagation:
After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.
After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
After you change a rule action setting, you might see the old action in some places and the new action in others.
After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.
8154 8155 8156 8157 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 8154 def update_rule_group(params = {}, = {}) req = build_request(:update_rule_group, params) req.send_request() end |
#update_web_acl(params = {}) ⇒ Types::UpdateWebACLResponse
Updates the specified WebACL. While updating a web ACL, WAF provides continuous coverage to the resources that you have associated with the web ACL.
To modify a web ACL, do the following:
Retrieve it by calling GetWebACL
Update its settings as needed
Provide the complete web ACL specification to this call
A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resource types include Amazon CloudFront distribution, Amazon API Gateway REST API, Application Load Balancer, AppSync GraphQL API, Amazon Cognito user pool, App Runner service, Amplify application, Amazon Web Services Verified Access instance, and Amazon Bedrock AgentCore Gateway.
Temporary inconsistencies during updates
When you create or change a web ACL or other WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes.
The following are examples of the temporary inconsistencies that you might notice during change propagation:
After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable.
After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
After you change a rule action setting, you might see the old action in some places and the new action in others.
After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.
8381 8382 8383 8384 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 8381 def update_web_acl(params = {}, = {}) req = build_request(:update_web_acl, params) req.send_request() end |