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.
478 479 480 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 478 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.
580 581 582 583 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 580 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.
1568 1569 1570 1571 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 1568 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.
1628 1629 1630 1631 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 1628 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.
1738 1739 1740 1741 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 1738 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.
1807 1808 1809 1810 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 1807 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.
2887 2888 2889 2890 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 2887 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.
3057 3058 3059 3060 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3057 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.
3095 3096 3097 3098 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3095 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.
3138 3139 3140 3141 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3138 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.
3191 3192 3193 3194 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3191 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.
3246 3247 3248 3249 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3246 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.
3273 3274 3275 3276 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3273 def (params = {}, = {}) req = build_request(:delete_permission_policy, params) req.send_request() end |
#delete_regex_pattern_set(params = {}) ⇒ Struct
Deletes the specified RegexPatternSet.
3326 3327 3328 3329 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3326 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.
3379 3380 3381 3382 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3379 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.
3461 3462 3463 3464 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3461 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.
3509 3510 3511 3512 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3509 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.
3561 3562 3563 3564 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3561 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.
3648 3649 3650 3651 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3648 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.
3719 3720 3721 3722 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3719 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.
3763 3764 3765 3766 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3763 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.
3819 3820 3821 3822 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3819 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.
3875 3876 3877 3878 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3875 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.
3973 3974 3975 3976 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3973 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.
4049 4050 4051 4052 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4049 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.
4098 4099 4100 4101 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4098 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.
4129 4130 4131 4132 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4129 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.
4215 4216 4217 4218 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4215 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.
4270 4271 4272 4273 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4270 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.
4377 4378 4379 4380 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4377 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.
4442 4443 4444 4445 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4442 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.
4529 4530 4531 4532 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4529 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.
4983 4984 4985 4986 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4983 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.
5092 5093 5094 5095 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5092 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.
5217 5218 5219 5220 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5217 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.
5268 5269 5270 5271 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5268 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.
5345 5346 5347 5348 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5345 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.
5418 5419 5420 5421 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5418 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.
5487 5488 5489 5490 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5487 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.
5548 5549 5550 5551 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5548 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.
5608 5609 5610 5611 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5608 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.
5725 5726 5727 5728 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5725 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.
5796 5797 5798 5799 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5796 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.
5854 5855 5856 5857 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5854 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.
5914 5915 5916 5917 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5914 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.
5980 5981 5982 5983 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5980 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.
6040 6041 6042 6043 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6040 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.
6134 6135 6136 6137 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6134 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.
6191 6192 6193 6194 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6191 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.
6251 6252 6253 6254 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6251 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.
6458 6459 6460 6461 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6458 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.
6560 6561 6562 6563 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6560 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.
6627 6628 6629 6630 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6627 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.
6667 6668 6669 6670 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6667 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.
6699 6700 6701 6702 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6699 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.
6844 6845 6846 6847 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6844 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.
6937 6938 6939 6940 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6937 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.
7046 7047 7048 7049 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 7046 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.
8147 8148 8149 8150 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 8147 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.
8374 8375 8376 8377 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 8374 def update_web_acl(params = {}, = {}) req = build_request(:update_web_acl, params) req.send_request() end |