Class: Aws::Shield::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::Shield::Client
- Includes:
- ClientStubs
- Defined in:
- lib/aws-sdk-shield/client.rb,
sig/client.rbs
Overview
An API client for Shield. To construct a client, you need to configure a :region and :credentials.
client = Aws::Shield::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.
Defined Under Namespace
Modules: _AssociateDRTLogBucketResponseSuccess, _AssociateDRTRoleResponseSuccess, _AssociateHealthCheckResponseSuccess, _AssociateProactiveEngagementDetailsResponseSuccess, _CreateProtectionGroupResponseSuccess, _CreateProtectionResponseSuccess, _CreateSubscriptionResponseSuccess, _DeleteProtectionGroupResponseSuccess, _DeleteProtectionResponseSuccess, _DeleteSubscriptionResponseSuccess, _DescribeAttackResponseSuccess, _DescribeAttackStatisticsResponseSuccess, _DescribeDRTAccessResponseSuccess, _DescribeEmergencyContactSettingsResponseSuccess, _DescribeProtectionGroupResponseSuccess, _DescribeProtectionResponseSuccess, _DescribeSubscriptionResponseSuccess, _DisableApplicationLayerAutomaticResponseResponseSuccess, _DisableProactiveEngagementResponseSuccess, _DisassociateDRTLogBucketResponseSuccess, _DisassociateDRTRoleResponseSuccess, _DisassociateHealthCheckResponseSuccess, _EnableApplicationLayerAutomaticResponseResponseSuccess, _EnableProactiveEngagementResponseSuccess, _GetSubscriptionStateResponseSuccess, _ListAttacksResponseSuccess, _ListProtectionGroupsResponseSuccess, _ListProtectionsResponseSuccess, _ListResourcesInProtectionGroupResponseSuccess, _ListTagsForResourceResponseSuccess, _TagResourceResponseSuccess, _UntagResourceResponseSuccess, _UpdateApplicationLayerAutomaticResponseResponseSuccess, _UpdateEmergencyContactSettingsResponseSuccess, _UpdateProtectionGroupResponseSuccess, _UpdateSubscriptionResponseSuccess
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
API Operations collapse
-
#associate_drt_log_bucket(params = {}) ⇒ Struct
Authorizes the Shield Response Team (SRT) to access the specified Amazon S3 bucket containing log data such as Application Load Balancer access logs, CloudFront logs, or logs from third party sources.
-
#associate_drt_role(params = {}) ⇒ Struct
Authorizes the Shield Response Team (SRT) using the specified role, to access your Amazon Web Services account to assist with DDoS attack mitigation during potential attacks.
-
#associate_health_check(params = {}) ⇒ Struct
Adds health-based detection to the Shield Advanced protection for a resource.
-
#associate_proactive_engagement_details(params = {}) ⇒ Struct
Initializes proactive engagement and sets the list of contacts for the Shield Response Team (SRT) to use.
-
#create_protection(params = {}) ⇒ Types::CreateProtectionResponse
Enables Shield Advanced for a specific Amazon Web Services resource.
-
#create_protection_group(params = {}) ⇒ Struct
Creates a grouping of protected resources so they can be handled as a collective.
-
#create_subscription(params = {}) ⇒ Struct
Activates Shield Advanced for an account.
-
#delete_protection(params = {}) ⇒ Struct
Deletes an Shield Advanced Protection.
-
#delete_protection_group(params = {}) ⇒ Struct
Removes the specified protection group.
-
#delete_subscription(params = {}) ⇒ Struct
Removes Shield Advanced from an account.
-
#describe_attack(params = {}) ⇒ Types::DescribeAttackResponse
Describes the details of a DDoS attack.
-
#describe_attack_statistics(params = {}) ⇒ Types::DescribeAttackStatisticsResponse
Provides information about the number and type of attacks Shield has detected in the last year for all resources that belong to your account, regardless of whether you've defined Shield protections for them.
-
#describe_drt_access(params = {}) ⇒ Types::DescribeDRTAccessResponse
Returns the current role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your Amazon Web Services account while assisting with attack mitigation.
-
#describe_emergency_contact_settings(params = {}) ⇒ Types::DescribeEmergencyContactSettingsResponse
A list of email addresses and phone numbers that the Shield Response Team (SRT) can use to contact you if you have proactive engagement enabled, for escalations to the SRT and to initiate proactive customer support.
-
#describe_protection(params = {}) ⇒ Types::DescribeProtectionResponse
Lists the details of a Protection object.
-
#describe_protection_group(params = {}) ⇒ Types::DescribeProtectionGroupResponse
Returns the specification for the specified protection group.
-
#describe_subscription(params = {}) ⇒ Types::DescribeSubscriptionResponse
Provides details about the Shield Advanced subscription for an account.
-
#disable_application_layer_automatic_response(params = {}) ⇒ Struct
Disable the Shield Advanced automatic application layer DDoS mitigation feature for the protected resource.
-
#disable_proactive_engagement(params = {}) ⇒ Struct
Removes authorization from the Shield Response Team (SRT) to notify contacts about escalations to the SRT and to initiate proactive customer support.
-
#disassociate_drt_log_bucket(params = {}) ⇒ Struct
Removes the Shield Response Team's (SRT) access to the specified Amazon S3 bucket containing the logs that you shared previously.
-
#disassociate_drt_role(params = {}) ⇒ Struct
Removes the Shield Response Team's (SRT) access to your Amazon Web Services account.
-
#disassociate_health_check(params = {}) ⇒ Struct
Removes health-based detection from the Shield Advanced protection for a resource.
-
#enable_application_layer_automatic_response(params = {}) ⇒ Struct
Enable the Shield Advanced automatic application layer DDoS mitigation for the protected resource.
-
#enable_proactive_engagement(params = {}) ⇒ Struct
Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support.
-
#get_subscription_state(params = {}) ⇒ Types::GetSubscriptionStateResponse
Returns the
SubscriptionState, eitherActiveorInactive. -
#list_attacks(params = {}) ⇒ Types::ListAttacksResponse
Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period.
-
#list_protection_groups(params = {}) ⇒ Types::ListProtectionGroupsResponse
Retrieves ProtectionGroup objects for the account.
-
#list_protections(params = {}) ⇒ Types::ListProtectionsResponse
Retrieves Protection objects for the account.
-
#list_resources_in_protection_group(params = {}) ⇒ Types::ListResourcesInProtectionGroupResponse
Retrieves the resources that are included in the protection group.
-
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Gets information about Amazon Web Services tags for a specified Amazon Resource Name (ARN) in Shield.
-
#tag_resource(params = {}) ⇒ Struct
Adds or updates tags for a resource in Shield.
-
#untag_resource(params = {}) ⇒ Struct
Removes tags from a resource in Shield.
-
#update_application_layer_automatic_response(params = {}) ⇒ Struct
Updates an existing Shield Advanced automatic application layer DDoS mitigation configuration for the specified resource.
-
#update_emergency_contact_settings(params = {}) ⇒ Struct
Updates the details of the list of email addresses and phone numbers that the Shield Response Team (SRT) can use to contact you if you have proactive engagement enabled, for escalations to the SRT and to initiate proactive customer support.
-
#update_protection_group(params = {}) ⇒ Struct
Updates an existing protection group.
-
#update_subscription(params = {}) ⇒ Struct
Updates the details of an existing subscription.
Class Method Summary collapse
- .errors_module ⇒ Object private
- .new ⇒ Object
Instance Method Summary collapse
- #build_request(operation_name, params = {}) ⇒ Object private
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
- #waiter_names ⇒ Object deprecated private Deprecated.
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
478 479 480 |
# File 'lib/aws-sdk-shield/client.rb', line 478 def initialize(*args) super end |
Class Attribute Details
.identifier ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2032 2033 2034 |
# File 'lib/aws-sdk-shield/client.rb', line 2032 def identifier @identifier end |
Class Method Details
.errors_module ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2035 2036 2037 |
# File 'lib/aws-sdk-shield/client.rb', line 2035 def errors_module Errors end |
.new ⇒ Object
14 |
# File 'sig/client.rbs', line 14
def self.new: (
|
Instance Method Details
#associate_drt_log_bucket(params = {}) ⇒ Struct
Authorizes the Shield Response Team (SRT) to access the specified Amazon S3 bucket containing log data such as Application Load Balancer access logs, CloudFront logs, or logs from third party sources. You can associate up to 10 Amazon S3 buckets with your subscription.
To use the services of the SRT and make an AssociateDRTLogBucket
request, you must be subscribed to the Business Support plan or
the Enterprise Support plan.
86 |
# File 'sig/client.rbs', line 86
def associate_drt_log_bucket: (
|
#associate_drt_role(params = {}) ⇒ Struct
Authorizes the Shield Response Team (SRT) using the specified role, to access your Amazon Web Services account to assist with DDoS attack mitigation during potential attacks. This enables the SRT to inspect your WAF configuration and create or update WAF rules and web ACLs.
You can associate only one RoleArn with your subscription. If you
submit an AssociateDRTRole request for an account that already has
an associated role, the new RoleArn will replace the existing
RoleArn.
Prior to making the AssociateDRTRole request, you must attach the
AWSShieldDRTAccessPolicy managed policy to the role that you'll
specify in the request. You can access this policy in the IAM console
at AWSShieldDRTAccessPolicy. For more information see Adding and
removing IAM identity permissions. The role must also trust the
service principal drt.shield.amazonaws.com. For more information,
see IAM JSON policy elements: Principal.
The SRT will have access only to your WAF and Shield resources. By submitting this request, you authorize the SRT to inspect your WAF and Shield configuration and create and update WAF rules and web ACLs on your behalf. The SRT takes these actions only if explicitly authorized by you.
You must have the iam:PassRole permission to make an
AssociateDRTRole request. For more information, see Granting a user
permissions to pass a role to an Amazon Web Services service.
To use the services of the SRT and make an AssociateDRTRole request,
you must be subscribed to the Business Support plan or the
Enterprise Support plan.
95 |
# File 'sig/client.rbs', line 95
def associate_drt_role: (
|
#associate_health_check(params = {}) ⇒ Struct
Adds health-based detection to the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and response.
You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.
104 |
# File 'sig/client.rbs', line 104
def associate_health_check: (
|
#associate_proactive_engagement_details(params = {}) ⇒ Struct
Initializes proactive engagement and sets the list of contacts for the Shield Response Team (SRT) to use. You must provide at least one phone number in the emergency contact list.
After you have initialized proactive engagement using this call, to
disable or enable proactive engagement, use the calls
DisableProactiveEngagement and EnableProactiveEngagement.
The contacts that you provide in the request replace any contacts that
were already defined. If you already have contacts defined and want to
use them, retrieve the list using DescribeEmergencyContactSettings
and then provide it to this call.
114 |
# File 'sig/client.rbs', line 114
def associate_proactive_engagement_details: (
|
#build_request(operation_name, params = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 |
# File 'lib/aws-sdk-shield/client.rb', line 2005 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) tracer = config.telemetry_provider.tracer_provider.tracer( Aws::Telemetry.module_to_tracer_name('Aws::Shield') ) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config, tracer: tracer ) context[:gem_name] = 'aws-sdk-shield' context[:gem_version] = '1.99.0' Seahorse::Client::Request.new(handlers, context) end |
#create_protection(params = {}) ⇒ Types::CreateProtectionResponse
Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses.
You can add protection to only a single resource with each
CreateProtection request. You can add protection to multiple
resources at once through the Shield Advanced console at
https://console.aws.amazon.com/wafv2/shieldv2#/. For more
information see Getting Started with Shield Advanced and Adding
Shield Advanced protection to Amazon Web Services resources.
130 |
# File 'sig/client.rbs', line 130
def create_protection: (
|
#create_protection_group(params = {}) ⇒ Struct
Creates a grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives.
146 |
# File 'sig/client.rbs', line 146
def create_protection_group: (
|
#create_subscription(params = {}) ⇒ Struct
Activates Shield Advanced for an account.
When you initially create a subscription, your subscription is set to
be automatically renewed at the end of the existing subscription
period. You can change this by submitting an UpdateSubscription
request.
165 |
# File 'sig/client.rbs', line 165
def create_subscription: (
|
#delete_protection(params = {}) ⇒ Struct
Deletes an Shield Advanced Protection.
173 |
# File 'sig/client.rbs', line 173
def delete_protection: (
|
#delete_protection_group(params = {}) ⇒ Struct
Removes the specified protection group.
182 |
# File 'sig/client.rbs', line 182
def delete_protection_group: (
|
#delete_subscription(params = {}) ⇒ Struct
Removes Shield Advanced from an account. Shield Advanced requires a 1-year subscription commitment. You cannot delete a subscription prior to the completion of that commitment.
191 |
# File 'sig/client.rbs', line 191
def delete_subscription: (
|
#describe_attack(params = {}) ⇒ Types::DescribeAttackResponse
Describes the details of a DDoS attack.
200 |
# File 'sig/client.rbs', line 200
def describe_attack: (
|
#describe_attack_statistics(params = {}) ⇒ Types::DescribeAttackStatisticsResponse
Provides information about the number and type of attacks Shield has detected in the last year for all resources that belong to your account, regardless of whether you've defined Shield protections for them. This operation is available to Shield customers as well as to Shield Advanced customers.
The operation returns data for the time range of midnight UTC, one
year ago, to midnight UTC, today. For example, if the current time is
2020-10-26 15:39:32 PDT, equal to 2020-10-26 22:39:32 UTC, then
the time range for the attack data returned is from 2019-10-26 00:00:00 UTC to 2020-10-26 00:00:00 UTC.
The time range indicates the period covered by the attack statistics data items.
211 |
# File 'sig/client.rbs', line 211
def describe_attack_statistics: (
|
#describe_drt_access(params = {}) ⇒ Types::DescribeDRTAccessResponse
Returns the current role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your Amazon Web Services account while assisting with attack mitigation.
221 |
# File 'sig/client.rbs', line 221
def describe_drt_access: (
|
#describe_emergency_contact_settings(params = {}) ⇒ Types::DescribeEmergencyContactSettingsResponse
A list of email addresses and phone numbers that the Shield Response Team (SRT) can use to contact you if you have proactive engagement enabled, for escalations to the SRT and to initiate proactive customer support.
230 |
# File 'sig/client.rbs', line 230
def describe_emergency_contact_settings: (
|
#describe_protection(params = {}) ⇒ Types::DescribeProtectionResponse
Lists the details of a Protection object.
239 |
# File 'sig/client.rbs', line 239
def describe_protection: (
|
#describe_protection_group(params = {}) ⇒ Types::DescribeProtectionGroupResponse
Returns the specification for the specified protection group.
250 |
# File 'sig/client.rbs', line 250
def describe_protection_group: (
|
#describe_subscription(params = {}) ⇒ Types::DescribeSubscriptionResponse
Provides details about the Shield Advanced subscription for an account.
260 |
# File 'sig/client.rbs', line 260
def describe_subscription: (
|
#disable_application_layer_automatic_response(params = {}) ⇒ Struct
Disable the Shield Advanced automatic application layer DDoS mitigation feature for the protected resource. This stops Shield Advanced from creating, verifying, and applying WAF rules for attacks that it detects for the resource.
268 |
# File 'sig/client.rbs', line 268
def disable_application_layer_automatic_response: (
|
#disable_proactive_engagement(params = {}) ⇒ Struct
Removes authorization from the Shield Response Team (SRT) to notify contacts about escalations to the SRT and to initiate proactive customer support.
277 |
# File 'sig/client.rbs', line 277
def disable_proactive_engagement: (
|
#disassociate_drt_log_bucket(params = {}) ⇒ Struct
Removes the Shield Response Team's (SRT) access to the specified Amazon S3 bucket containing the logs that you shared previously.
285 |
# File 'sig/client.rbs', line 285
def disassociate_drt_log_bucket: (
|
#disassociate_drt_role(params = {}) ⇒ Struct
Removes the Shield Response Team's (SRT) access to your Amazon Web Services account.
294 |
# File 'sig/client.rbs', line 294
def disassociate_drt_role: (
|
#disassociate_health_check(params = {}) ⇒ Struct
Removes health-based detection from the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your Amazon Web Services resource to improve responsiveness and accuracy in attack detection and response.
You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the WAF Developer Guide.
302 |
# File 'sig/client.rbs', line 302
def disassociate_health_check: (
|
#enable_application_layer_automatic_response(params = {}) ⇒ Struct
Enable the Shield Advanced automatic application layer DDoS mitigation for the protected resource.
This causes Shield Advanced to create, verify, and apply WAF rules for DDoS attacks that it detects for the resource. Shield Advanced applies the rules in a Shield rule group inside the web ACL that you've associated with the resource. For information about how automatic mitigation works and the requirements for using it, see Shield Advanced automatic application layer DDoS mitigation.
To use this feature, you must associate a web ACL with the protected resource. The web ACL must be created using the latest version of WAF (v2). You can associate the web ACL through the Shield Advanced console at https://console.aws.amazon.com/wafv2/shieldv2#/. For more information, see Getting Started with Shield Advanced. You can also associate the web ACL to the resource through the WAF console or the WAF API, but you must manage Shield Advanced automatic mitigation through Shield Advanced. For information about WAF, see WAF Developer Guide.
312 |
# File 'sig/client.rbs', line 312
def enable_application_layer_automatic_response: (
|
#enable_proactive_engagement(params = {}) ⇒ Struct
Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support.
327 |
# File 'sig/client.rbs', line 327
def enable_proactive_engagement: (
|
#get_subscription_state(params = {}) ⇒ Types::GetSubscriptionStateResponse
Returns the SubscriptionState, either Active or Inactive.
336 |
# File 'sig/client.rbs', line 336
def get_subscription_state: (
|
#list_attacks(params = {}) ⇒ Types::ListAttacksResponse
Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
346 |
# File 'sig/client.rbs', line 346
def list_attacks: (
|
#list_protection_groups(params = {}) ⇒ Types::ListProtectionGroupsResponse
Retrieves ProtectionGroup objects for the account. You can retrieve all protection groups or you can provide filtering criteria and retrieve just the subset of protection groups that match the criteria.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
367 |
# File 'sig/client.rbs', line 367
def list_protection_groups: (
|
#list_protections(params = {}) ⇒ Types::ListProtectionsResponse
Retrieves Protection objects for the account. You can retrieve all protections or you can provide filtering criteria and retrieve just the subset of protections that match the criteria.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
385 |
# File 'sig/client.rbs', line 385
def list_protections: (
|
#list_resources_in_protection_group(params = {}) ⇒ Types::ListResourcesInProtectionGroupResponse
Retrieves the resources that are included in the protection group.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
402 |
# File 'sig/client.rbs', line 402
def list_resources_in_protection_group: (
|
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Gets information about Amazon Web Services tags for a specified Amazon Resource Name (ARN) in Shield.
414 |
# File 'sig/client.rbs', line 414
def list_tags_for_resource: (
|
#tag_resource(params = {}) ⇒ Struct
Adds or updates tags for a resource in Shield.
423 |
# File 'sig/client.rbs', line 423
def tag_resource: (
|
#untag_resource(params = {}) ⇒ Struct
Removes tags from a resource in Shield.
438 |
# File 'sig/client.rbs', line 438
def untag_resource: (
|
#update_application_layer_automatic_response(params = {}) ⇒ Struct
Updates an existing Shield Advanced automatic application layer DDoS mitigation configuration for the specified resource.
448 |
# File 'sig/client.rbs', line 448
def update_application_layer_automatic_response: (
|
#update_emergency_contact_settings(params = {}) ⇒ Struct
Updates the details of the list of email addresses and phone numbers that the Shield Response Team (SRT) can use to contact you if you have proactive engagement enabled, for escalations to the SRT and to initiate proactive customer support.
463 |
# File 'sig/client.rbs', line 463
def update_emergency_contact_settings: (
|
#update_protection_group(params = {}) ⇒ Struct
Updates an existing protection group. A protection group is a grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives.
478 |
# File 'sig/client.rbs', line 478
def update_protection_group: (
|
#update_subscription(params = {}) ⇒ Struct
Updates the details of an existing subscription. Only enter values for parameters you want to change. Empty parameters are not updated.
491 |
# File 'sig/client.rbs', line 491
def update_subscription: (
|
#waiter_names ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2025 2026 2027 |
# File 'lib/aws-sdk-shield/client.rb', line 2025 def waiter_names [] end |