/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.shield; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.shield.model.*; /** * Interface for accessing AWS Shield. *

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.shield.AbstractAWSShield} instead. *

*

* Shield Advanced *

* This is the Shield Advanced API Reference. This guide is for developers who need detailed information about * the Shield Advanced API actions, data types, and errors. For detailed information about WAF and Shield Advanced * features and an overview of how to use the WAF and Shield Advanced APIs, see the WAF and Shield Developer Guide. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSShield { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "shield"; /** * Overrides the default endpoint for this client ("shield.us-east-1.amazonaws.com"). Callers can use this method to * control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: "shield.us-east-1.amazonaws.com") or a full URL, including the * protocol (ex: "shield.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from * this client's {@link ClientConfiguration} will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available * endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection- * choose-endpoint *

* This method is not threadsafe. An endpoint should be configured when the client is created and before any * service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param endpoint * The endpoint (ex: "shield.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: * "shield.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with. * @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for * example: * {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));} */ @Deprecated void setEndpoint(String endpoint); /** * An alternative to {@link AWSShield#setEndpoint(String)}, sets the regional endpoint for this client's service * calls. Callers can use this method to control which AWS region they want to work with. *

* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the * {@link ClientConfiguration} supplied at construction. *

* This method is not threadsafe. A region should be configured when the client is created and before any service * requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit * or retrying. * * @param region * The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)} * for accessing a given region. Must not be null and must be a region where the service is available. * * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) * @see Region#isServiceSupported(String) * @deprecated use {@link AwsClientBuilder#setRegion(String)} */ @Deprecated void setRegion(Region region); /** *

* 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. *

* * @param associateDRTLogBucketRequest * @return Result of the AssociateDRTLogBucket operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @throws NoAssociatedRoleException * The ARN of the role that you specified does not exist. * @throws LimitsExceededException * Exception that indicates that the operation would exceed a limit. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws AccessDeniedForDependencyException * In order to grant the necessary access to the Shield Response Team (SRT) the user submitting the request * must have the iam:PassRole permission. This error indicates the user did not have the * appropriate permissions. For more information, see Granting a User * Permissions to Pass a Role to an Amazon Web Services Service. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.AssociateDRTLogBucket * @see AWS * API Documentation */ AssociateDRTLogBucketResult associateDRTLogBucket(AssociateDRTLogBucketRequest associateDRTLogBucketRequest); /** *

* 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. *

* * @param associateDRTRoleRequest * @return Result of the AssociateDRTRole operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws AccessDeniedForDependencyException * In order to grant the necessary access to the Shield Response Team (SRT) the user submitting the request * must have the iam:PassRole permission. This error indicates the user did not have the * appropriate permissions. For more information, see Granting a User * Permissions to Pass a Role to an Amazon Web Services Service. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.AssociateDRTRole * @see AWS API * Documentation */ AssociateDRTRoleResult associateDRTRole(AssociateDRTRoleRequest associateDRTRoleRequest); /** *

* 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. *

* * @param associateHealthCheckRequest * @return Result of the AssociateHealthCheck operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws LimitsExceededException * Exception that indicates that the operation would exceed a limit. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws InvalidResourceException * Exception that indicates that the resource is invalid. You might not have access to the resource, or the * resource might not exist. * @sample AWSShield.AssociateHealthCheck * @see AWS * API Documentation */ AssociateHealthCheckResult associateHealthCheck(AssociateHealthCheckRequest associateHealthCheckRequest); /** *

* 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. *

* *

* This call defines the list of email addresses and phone numbers that the SRT can use to contact you for * escalations to the SRT and to initiate proactive customer support. *

*

* 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. *

*
* * @param associateProactiveEngagementDetailsRequest * @return Result of the AssociateProactiveEngagementDetails operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @sample AWSShield.AssociateProactiveEngagementDetails * @see AWS API Documentation */ AssociateProactiveEngagementDetailsResult associateProactiveEngagementDetails( AssociateProactiveEngagementDetailsRequest associateProactiveEngagementDetailsRequest); /** *

* 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. *

* * @param createProtectionRequest * @return Result of the CreateProtection operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidResourceException * Exception that indicates that the resource is invalid. You might not have access to the resource, or the * resource might not exist. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @throws LimitsExceededException * Exception that indicates that the operation would exceed a limit. * @throws ResourceAlreadyExistsException * Exception indicating the specified resource already exists. If available, this exception includes details * in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @sample AWSShield.CreateProtection * @see AWS API * Documentation */ CreateProtectionResult createProtection(CreateProtectionRequest createProtectionRequest); /** *

* 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. *

* * @param createProtectionGroupRequest * @return Result of the CreateProtectionGroup operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceAlreadyExistsException * Exception indicating the specified resource already exists. If available, this exception includes details * in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws LimitsExceededException * Exception that indicates that the operation would exceed a limit. * @sample AWSShield.CreateProtectionGroup * @see AWS * API Documentation */ CreateProtectionGroupResult createProtectionGroup(CreateProtectionGroupRequest createProtectionGroupRequest); /** *

* Activates Shield Advanced for an account. *

* *

* For accounts that are members of an Organizations organization, Shield Advanced subscriptions are billed against * the organization's payer account, regardless of whether the payer account itself is subscribed. *

*
*

* 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. *

* * @param createSubscriptionRequest * @return Result of the CreateSubscription operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceAlreadyExistsException * Exception indicating the specified resource already exists. If available, this exception includes details * in additional properties. * @sample AWSShield.CreateSubscription * @see AWS API * Documentation */ CreateSubscriptionResult createSubscription(CreateSubscriptionRequest createSubscriptionRequest); /** *

* Deletes an Shield Advanced Protection. *

* * @param deleteProtectionRequest * @return Result of the DeleteProtection operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @sample AWSShield.DeleteProtection * @see AWS API * Documentation */ DeleteProtectionResult deleteProtection(DeleteProtectionRequest deleteProtectionRequest); /** *

* Removes the specified protection group. *

* * @param deleteProtectionGroupRequest * @return Result of the DeleteProtectionGroup operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.DeleteProtectionGroup * @see AWS * API Documentation */ DeleteProtectionGroupResult deleteProtectionGroup(DeleteProtectionGroupRequest deleteProtectionGroupRequest); /** *

* 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. *

* * @param deleteSubscriptionRequest * @return Result of the DeleteSubscription operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws LockedSubscriptionException * You are trying to update a subscription that has not yet completed the 1-year commitment. You can change * the AutoRenew parameter during the last 30 days of your subscription. This exception * indicates that you are attempting to change AutoRenew prior to that period. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.DeleteSubscription * @see AWS API * Documentation */ @Deprecated DeleteSubscriptionResult deleteSubscription(DeleteSubscriptionRequest deleteSubscriptionRequest); /** *

* Describes the details of a DDoS attack. *

* * @param describeAttackRequest * @return Result of the DescribeAttack operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws AccessDeniedException * Exception that indicates the specified AttackId does not exist, or the requester does not * have the appropriate permissions to access the AttackId. * @sample AWSShield.DescribeAttack * @see AWS API * Documentation */ DescribeAttackResult describeAttack(DescribeAttackRequest describeAttackRequest); /** *

* 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. *

* * @param describeAttackStatisticsRequest * @return Result of the DescribeAttackStatistics operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @sample AWSShield.DescribeAttackStatistics * @see AWS API Documentation */ DescribeAttackStatisticsResult describeAttackStatistics(DescribeAttackStatisticsRequest describeAttackStatisticsRequest); /** *

* 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. *

* * @param describeDRTAccessRequest * @return Result of the DescribeDRTAccess operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.DescribeDRTAccess * @see AWS API * Documentation */ DescribeDRTAccessResult describeDRTAccess(DescribeDRTAccessRequest describeDRTAccessRequest); /** *

* 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. *

* * @param describeEmergencyContactSettingsRequest * @return Result of the DescribeEmergencyContactSettings operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.DescribeEmergencyContactSettings * @see AWS API Documentation */ DescribeEmergencyContactSettingsResult describeEmergencyContactSettings(DescribeEmergencyContactSettingsRequest describeEmergencyContactSettingsRequest); /** *

* Lists the details of a Protection object. *

* * @param describeProtectionRequest * @return Result of the DescribeProtection operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.DescribeProtection * @see AWS API * Documentation */ DescribeProtectionResult describeProtection(DescribeProtectionRequest describeProtectionRequest); /** *

* Returns the specification for the specified protection group. *

* * @param describeProtectionGroupRequest * @return Result of the DescribeProtectionGroup operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.DescribeProtectionGroup * @see AWS * API Documentation */ DescribeProtectionGroupResult describeProtectionGroup(DescribeProtectionGroupRequest describeProtectionGroupRequest); /** *

* Provides details about the Shield Advanced subscription for an account. *

* * @param describeSubscriptionRequest * @return Result of the DescribeSubscription operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.DescribeSubscription * @see AWS * API Documentation */ DescribeSubscriptionResult describeSubscription(DescribeSubscriptionRequest describeSubscriptionRequest); /** *

* 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. *

* * @param disableApplicationLayerAutomaticResponseRequest * @return Result of the DisableApplicationLayerAutomaticResponse operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @sample AWSShield.DisableApplicationLayerAutomaticResponse * @see AWS API Documentation */ DisableApplicationLayerAutomaticResponseResult disableApplicationLayerAutomaticResponse( DisableApplicationLayerAutomaticResponseRequest disableApplicationLayerAutomaticResponseRequest); /** *

* Removes authorization from the Shield Response Team (SRT) to notify contacts about escalations to the SRT and to * initiate proactive customer support. *

* * @param disableProactiveEngagementRequest * @return Result of the DisableProactiveEngagement operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @sample AWSShield.DisableProactiveEngagement * @see AWS API Documentation */ DisableProactiveEngagementResult disableProactiveEngagement(DisableProactiveEngagementRequest disableProactiveEngagementRequest); /** *

* Removes the Shield Response Team's (SRT) access to the specified Amazon S3 bucket containing the logs that you * shared previously. *

* * @param disassociateDRTLogBucketRequest * @return Result of the DisassociateDRTLogBucket operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @throws NoAssociatedRoleException * The ARN of the role that you specified does not exist. * @throws AccessDeniedForDependencyException * In order to grant the necessary access to the Shield Response Team (SRT) the user submitting the request * must have the iam:PassRole permission. This error indicates the user did not have the * appropriate permissions. For more information, see Granting a User * Permissions to Pass a Role to an Amazon Web Services Service. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.DisassociateDRTLogBucket * @see AWS API Documentation */ DisassociateDRTLogBucketResult disassociateDRTLogBucket(DisassociateDRTLogBucketRequest disassociateDRTLogBucketRequest); /** *

* Removes the Shield Response Team's (SRT) access to your Amazon Web Services account. *

* * @param disassociateDRTRoleRequest * @return Result of the DisassociateDRTRole operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.DisassociateDRTRole * @see AWS API * Documentation */ DisassociateDRTRoleResult disassociateDRTRole(DisassociateDRTRoleRequest disassociateDRTRoleRequest); /** *

* 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. *

* * @param disassociateHealthCheckRequest * @return Result of the DisassociateHealthCheck operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws InvalidResourceException * Exception that indicates that the resource is invalid. You might not have access to the resource, or the * resource might not exist. * @sample AWSShield.DisassociateHealthCheck * @see AWS * API Documentation */ DisassociateHealthCheckResult disassociateHealthCheck(DisassociateHealthCheckRequest disassociateHealthCheckRequest); /** *

* Enable the Shield Advanced automatic application layer DDoS mitigation for the protected resource. *

* *

* This feature is available for Amazon CloudFront distributions and Application Load Balancers only. *

*
*

* 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. *

* *

* Don't use this action to make changes to automatic mitigation settings when it's already enabled for a resource. * Instead, use UpdateApplicationLayerAutomaticResponse. *

*
*

* 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. *

* * @param enableApplicationLayerAutomaticResponseRequest * @return Result of the EnableApplicationLayerAutomaticResponse operation returned by the service. * @throws LimitsExceededException * Exception that indicates that the operation would exceed a limit. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @sample AWSShield.EnableApplicationLayerAutomaticResponse * @see AWS API Documentation */ EnableApplicationLayerAutomaticResponseResult enableApplicationLayerAutomaticResponse( EnableApplicationLayerAutomaticResponseRequest enableApplicationLayerAutomaticResponseRequest); /** *

* 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. *

* * @param enableProactiveEngagementRequest * @return Result of the EnableProactiveEngagement operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @sample AWSShield.EnableProactiveEngagement * @see AWS API Documentation */ EnableProactiveEngagementResult enableProactiveEngagement(EnableProactiveEngagementRequest enableProactiveEngagementRequest); /** *

* Returns the SubscriptionState, either Active or Inactive. *

* * @param getSubscriptionStateRequest * @return Result of the GetSubscriptionState operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @sample AWSShield.GetSubscriptionState * @see AWS * API Documentation */ GetSubscriptionStateResult getSubscriptionState(GetSubscriptionStateRequest getSubscriptionStateRequest); /** *

* Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period. *

* * @param listAttacksRequest * @return Result of the ListAttacks operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @sample AWSShield.ListAttacks * @see AWS API * Documentation */ ListAttacksResult listAttacks(ListAttacksRequest listAttacksRequest); /** *

* 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. *

* * @param listProtectionGroupsRequest * @return Result of the ListProtectionGroups operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws InvalidPaginationTokenException * Exception that indicates that the NextToken specified in the request is invalid. Submit the * request using the NextToken value that was returned in the prior response. * @sample AWSShield.ListProtectionGroups * @see AWS * API Documentation */ ListProtectionGroupsResult listProtectionGroups(ListProtectionGroupsRequest listProtectionGroupsRequest); /** *

* 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. *

* * @param listProtectionsRequest * @return Result of the ListProtections operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws InvalidPaginationTokenException * Exception that indicates that the NextToken specified in the request is invalid. Submit the * request using the NextToken value that was returned in the prior response. * @sample AWSShield.ListProtections * @see AWS API * Documentation */ ListProtectionsResult listProtections(ListProtectionsRequest listProtectionsRequest); /** *

* Retrieves the resources that are included in the protection group. *

* * @param listResourcesInProtectionGroupRequest * @return Result of the ListResourcesInProtectionGroup operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws InvalidPaginationTokenException * Exception that indicates that the NextToken specified in the request is invalid. Submit the * request using the NextToken value that was returned in the prior response. * @sample AWSShield.ListResourcesInProtectionGroup * @see AWS API Documentation */ ListResourcesInProtectionGroupResult listResourcesInProtectionGroup(ListResourcesInProtectionGroupRequest listResourcesInProtectionGroupRequest); /** *

* Gets information about Amazon Web Services tags for a specified Amazon Resource Name (ARN) in Shield. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidResourceException * Exception that indicates that the resource is invalid. You might not have access to the resource, or the * resource might not exist. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.ListTagsForResource * @see AWS API * Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* Adds or updates tags for a resource in Shield. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidResourceException * Exception that indicates that the resource is invalid. You might not have access to the resource, or the * resource might not exist. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* Removes tags from a resource in Shield. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidResourceException * Exception that indicates that the resource is invalid. You might not have access to the resource, or the * resource might not exist. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

* Updates an existing Shield Advanced automatic application layer DDoS mitigation configuration for the specified * resource. *

* * @param updateApplicationLayerAutomaticResponseRequest * @return Result of the UpdateApplicationLayerAutomaticResponse operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws InvalidOperationException * Exception that indicates that the operation would not cause any change to occur. * @sample AWSShield.UpdateApplicationLayerAutomaticResponse * @see AWS API Documentation */ UpdateApplicationLayerAutomaticResponseResult updateApplicationLayerAutomaticResponse( UpdateApplicationLayerAutomaticResponseRequest updateApplicationLayerAutomaticResponseRequest); /** *

* 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. *

* * @param updateEmergencyContactSettingsRequest * @return Result of the UpdateEmergencyContactSettings operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @sample AWSShield.UpdateEmergencyContactSettings * @see AWS API Documentation */ UpdateEmergencyContactSettingsResult updateEmergencyContactSettings(UpdateEmergencyContactSettingsRequest updateEmergencyContactSettingsRequest); /** *

* 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. *

* * @param updateProtectionGroupRequest * @return Result of the UpdateProtectionGroup operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @sample AWSShield.UpdateProtectionGroup * @see AWS * API Documentation */ UpdateProtectionGroupResult updateProtectionGroup(UpdateProtectionGroupRequest updateProtectionGroupRequest); /** *

* Updates the details of an existing subscription. Only enter values for parameters you want to change. Empty * parameters are not updated. *

* *

* For accounts that are members of an Organizations organization, Shield Advanced subscriptions are billed against * the organization's payer account, regardless of whether the payer account itself is subscribed. *

*
* * @param updateSubscriptionRequest * @return Result of the UpdateSubscription operation returned by the service. * @throws InternalErrorException * Exception that indicates that a problem occurred with the service infrastructure. You can retry the * request. * @throws LockedSubscriptionException * You are trying to update a subscription that has not yet completed the 1-year commitment. You can change * the AutoRenew parameter during the last 30 days of your subscription. This exception * indicates that you are attempting to change AutoRenew prior to that period. * @throws ResourceNotFoundException * Exception indicating the specified resource does not exist. If available, this exception includes details * in additional properties. * @throws InvalidParameterException * Exception that indicates that the parameters passed to the API are invalid. If available, this exception * includes details in additional properties. * @throws OptimisticLockException * Exception that indicates that the resource state has been modified by another client. Retrieve the * resource and then retry your request. * @sample AWSShield.UpdateSubscription * @see AWS API * Documentation */ UpdateSubscriptionResult updateSubscription(UpdateSubscriptionRequest updateSubscriptionRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }