/* * 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. *
*
*
* 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.
*
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.
*
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.
*
* 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.
*
* 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.
*
* 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 * theAutoRenew
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 specifiedAttackId
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 theiam: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
.
*
* 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 theNextToken
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 theNextToken
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 theNextToken
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. *
*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); }