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.
3069 3070 3071 3072 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3069 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.
3107 3108 3109 3110 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3107 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.
3150 3151 3152 3153 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3150 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.
3203 3204 3205 3206 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3203 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.
3258 3259 3260 3261 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3258 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.
3285 3286 3287 3288 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3285 def (params = {}, = {}) req = build_request(:delete_permission_policy, params) req.send_request() end |
#delete_regex_pattern_set(params = {}) ⇒ Struct
Deletes the specified RegexPatternSet.
3338 3339 3340 3341 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3338 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.
3391 3392 3393 3394 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3391 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.
3473 3474 3475 3476 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3473 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.
3521 3522 3523 3524 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3521 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.
3573 3574 3575 3576 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3573 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.
3660 3661 3662 3663 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3660 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.
3731 3732 3733 3734 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3731 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.
3775 3776 3777 3778 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3775 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.
3831 3832 3833 3834 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3831 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.
3887 3888 3889 3890 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3887 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.
3985 3986 3987 3988 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 3985 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.
4061 4062 4063 4064 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4061 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.
4110 4111 4112 4113 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4110 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.
4141 4142 4143 4144 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4141 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.
4227 4228 4229 4230 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4227 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.
4282 4283 4284 4285 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4282 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.
4389 4390 4391 4392 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4389 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.
4454 4455 4456 4457 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4454 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.
4541 4542 4543 4544 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4541 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.
4995 4996 4997 4998 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 4995 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.
5104 5105 5106 5107 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5104 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.
5229 5230 5231 5232 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5229 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.
5280 5281 5282 5283 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5280 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.
5357 5358 5359 5360 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5357 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.
5430 5431 5432 5433 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5430 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.
5499 5500 5501 5502 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5499 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.
5560 5561 5562 5563 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5560 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.
5620 5621 5622 5623 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5620 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.
5737 5738 5739 5740 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5737 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.
5808 5809 5810 5811 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5808 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.
5866 5867 5868 5869 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5866 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.
5926 5927 5928 5929 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5926 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.
5992 5993 5994 5995 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 5992 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.
6052 6053 6054 6055 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6052 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.
6146 6147 6148 6149 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6146 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.
6203 6204 6205 6206 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6203 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.
6263 6264 6265 6266 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6263 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.
6470 6471 6472 6473 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6470 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.
6572 6573 6574 6575 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6572 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.
6639 6640 6641 6642 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6639 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.
6679 6680 6681 6682 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6679 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.
6711 6712 6713 6714 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6711 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.
6856 6857 6858 6859 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6856 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.
6949 6950 6951 6952 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 6949 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.
7058 7059 7060 7061 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 7058 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.
8159 8160 8161 8162 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 8159 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.
8391 8392 8393 8394 |
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/client.rb', line 8391 def update_web_acl(params = {}, = {}) req = build_request(:update_web_acl, params) req.send_request() end |