AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Implementation for accessing Shield AWS Shield Advanced

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

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonServiceClient
    Amazon.Shield.AmazonShieldClient

Namespace: Amazon.Shield
Assembly: AWSSDK.Shield.dll
Version: 3.x.y.z

Syntax

C#
public class AmazonShieldClient : AmazonServiceClient
         IAmazonService, IAmazonShield, IDisposable

The AmazonShieldClient type exposes the following members

Constructors

NameDescription
Public Method AmazonShieldClient()

Constructs AmazonShieldClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. Example App.config with credentials set.



    
        
    

             

Public Method AmazonShieldClient(RegionEndpoint)

Constructs AmazonShieldClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. Example App.config with credentials set.



    
        
    

             

Public Method AmazonShieldClient(AmazonShieldConfig)

Constructs AmazonShieldClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. Example App.config with credentials set.



    
        
    

             

Public Method AmazonShieldClient(AWSCredentials)

Constructs AmazonShieldClient with AWS Credentials

Public Method AmazonShieldClient(AWSCredentials, RegionEndpoint)

Constructs AmazonShieldClient with AWS Credentials

Public Method AmazonShieldClient(AWSCredentials, AmazonShieldConfig)

Constructs AmazonShieldClient with AWS Credentials and an AmazonShieldClient Configuration object.

Public Method AmazonShieldClient(string, string)

Constructs AmazonShieldClient with AWS Access Key ID and AWS Secret Key

Public Method AmazonShieldClient(string, string, RegionEndpoint)

Constructs AmazonShieldClient with AWS Access Key ID and AWS Secret Key

Public Method AmazonShieldClient(string, string, AmazonShieldConfig)

Constructs AmazonShieldClient with AWS Access Key ID, AWS Secret Key and an AmazonShieldClient Configuration object.

Public Method AmazonShieldClient(string, string, string)

Constructs AmazonShieldClient with AWS Access Key ID and AWS Secret Key

Public Method AmazonShieldClient(string, string, string, RegionEndpoint)

Constructs AmazonShieldClient with AWS Access Key ID and AWS Secret Key

Public Method AmazonShieldClient(string, string, string, AmazonShieldConfig)

Constructs AmazonShieldClient with AWS Access Key ID, AWS Secret Key and an AmazonShieldClient Configuration object.

Properties

NameTypeDescription
Public Property Config Amazon.Runtime.IClientConfig Inherited from Amazon.Runtime.AmazonServiceClient.

Methods

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

NameDescription
Public Method AssociateDRTLogBucket(AssociateDRTLogBucketRequest)

Authorizes the DDoS Response team (DRT) to access the specified Amazon S3 bucket containing your flow logs. You can associate up to 10 Amazon S3 buckets with your subscription.

To use the services of the DRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

Public Method AssociateDRTLogBucketAsync(AssociateDRTLogBucketRequest, CancellationToken)

Initiates the asynchronous execution of the AssociateDRTLogBucket operation.

Public Method AssociateDRTRole(AssociateDRTRoleRequest)

Authorizes the DDoS Response team (DRT), using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. This enables the DRT to inspect your AWS WAF configuration and create or update AWS 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 you will specify in the request. For more information see Attaching and Detaching IAM Policies. The role must also trust the service principal

drt.shield.amazonaws.com
. For more information, see IAM JSON Policy Elements: Principal.

The DRT will have access only to your AWS WAF and Shield resources. By submitting this request, you authorize the DRT to inspect your AWS WAF and Shield configuration and create and update AWS WAF rules and web ACLs on your behalf. The DRT 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 AWS Service.

To use the services of the DRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

Public Method AssociateDRTRoleAsync(AssociateDRTRoleRequest, CancellationToken)

Initiates the asynchronous execution of the AssociateDRTRole operation.

Public Method CreateProtection(CreateProtectionRequest)

Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Elastic IP Address, or an Amazon Route 53 hosted zone.

You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the AWS WAF console. For more information see Getting Started with AWS Shield Advanced and Add AWS Shield Advanced Protection to more AWS Resources.

Public Method CreateProtectionAsync(CreateProtectionRequest, CancellationToken)

Initiates the asynchronous execution of the CreateProtection operation.

Public Method CreateSubscription(CreateSubscriptionRequest)

Activates AWS Shield Advanced for an account.

As part of this request you can specify EmergencySettings that automaticaly grant the DDoS response team (DRT) needed permissions to assist you during a suspected DDoS attack. For more information see Authorize the DDoS Response Team to Create Rules and Web ACLs on Your Behalf.

When you initally 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.

Public Method CreateSubscriptionAsync(CreateSubscriptionRequest, CancellationToken)

Initiates the asynchronous execution of the CreateSubscription operation.

Public Method DeleteProtection(DeleteProtectionRequest)

Deletes an AWS Shield Advanced Protection.

Public Method DeleteProtectionAsync(DeleteProtectionRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteProtection operation.

Public Method DeleteSubscription(DeleteSubscriptionRequest)

Removes AWS Shield Advanced from an account. AWS Shield Advanced requires a 1-year subscription commitment. You cannot delete a subscription prior to the completion of that commitment.

Public Method DeleteSubscriptionAsync(DeleteSubscriptionRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteSubscription operation.

Public Method DescribeAttack(DescribeAttackRequest)

Describes the details of a DDoS attack.

Public Method DescribeAttackAsync(DescribeAttackRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeAttack operation.

Public Method DescribeDRTAccess(DescribeDRTAccessRequest)

Returns the current role and list of Amazon S3 log buckets used by the DDoS Response team (DRT) to access your AWS account while assisting with attack mitigation.

Public Method DescribeDRTAccessAsync(DescribeDRTAccessRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeDRTAccess operation.

Public Method DescribeEmergencyContactSettings(DescribeEmergencyContactSettingsRequest)

Lists the email addresses that the DRT can use to contact you during a suspected attack.

Public Method DescribeEmergencyContactSettingsAsync(DescribeEmergencyContactSettingsRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeEmergencyContactSettings operation.

Public Method DescribeProtection(DescribeProtectionRequest)

Lists the details of a Protection object.

Public Method DescribeProtectionAsync(DescribeProtectionRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeProtection operation.

Public Method DescribeSubscription(DescribeSubscriptionRequest)

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

Public Method DescribeSubscriptionAsync(DescribeSubscriptionRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeSubscription operation.

Public Method DisassociateDRTLogBucket(DisassociateDRTLogBucketRequest)

Removes the DDoS Response team's (DRT) access to the specified Amazon S3 bucket containing your flow logs.

To make a DisassociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the DRT access to your account, you can submit a DisassociateDRTLogBucket request to remove this access.

Public Method DisassociateDRTLogBucketAsync(DisassociateDRTLogBucketRequest, CancellationToken)

Initiates the asynchronous execution of the DisassociateDRTLogBucket operation.

Public Method DisassociateDRTRole(DisassociateDRTRoleRequest)

Removes the DDoS Response team's (DRT) access to your AWS account.

To make a DisassociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the DRT access to your account, you can submit a DisassociateDRTRole request to remove this access.

Public Method DisassociateDRTRoleAsync(DisassociateDRTRoleRequest, CancellationToken)

Initiates the asynchronous execution of the DisassociateDRTRole operation.

Public Method Dispose() Inherited from Amazon.Runtime.AmazonServiceClient.
Public Method GetSubscriptionState(GetSubscriptionStateRequest)

Returns the SubscriptionState, either Active or Inactive.

Public Method GetSubscriptionStateAsync(GetSubscriptionStateRequest, CancellationToken)

Initiates the asynchronous execution of the GetSubscriptionState operation.

Public Method ListAttacks(ListAttacksRequest)

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

Public Method ListAttacksAsync(ListAttacksRequest, CancellationToken)

Initiates the asynchronous execution of the ListAttacks operation.

Public Method ListProtections(ListProtectionsRequest)

Lists all Protection objects for the account.

Public Method ListProtectionsAsync(ListProtectionsRequest, CancellationToken)

Initiates the asynchronous execution of the ListProtections operation.

Public Method UpdateEmergencyContactSettings(UpdateEmergencyContactSettingsRequest)

Updates the details of the list of email addresses that the DRT can use to contact you during a suspected attack.

Public Method UpdateEmergencyContactSettingsAsync(UpdateEmergencyContactSettingsRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateEmergencyContactSettings operation.

Public Method UpdateSubscription(UpdateSubscriptionRequest)

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

Public Method UpdateSubscriptionAsync(UpdateSubscriptionRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateSubscription operation.

Events

NameDescription
Event AfterResponseEvent Inherited from Amazon.Runtime.AmazonServiceClient.
Event BeforeRequestEvent Inherited from Amazon.Runtime.AmazonServiceClient.
Event ExceptionEvent Inherited from Amazon.Runtime.AmazonServiceClient.

Version Information

.NET Standard:
Supported in: 1.3

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms