@aws-sdk/client-shield 3.41.0 → 3.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist-cjs/Shield.js +45 -0
  3. package/dist-cjs/commands/DisableApplicationLayerAutomaticResponseCommand.js +36 -0
  4. package/dist-cjs/commands/EnableApplicationLayerAutomaticResponseCommand.js +36 -0
  5. package/dist-cjs/commands/UpdateApplicationLayerAutomaticResponseCommand.js +36 -0
  6. package/dist-cjs/commands/index.js +3 -0
  7. package/dist-cjs/endpoints.js +1 -0
  8. package/dist-cjs/models/models_0.js +74 -9
  9. package/dist-cjs/protocols/Aws_json1_1.js +363 -2
  10. package/dist-es/Shield.js +45 -0
  11. package/dist-es/commands/DisableApplicationLayerAutomaticResponseCommand.js +39 -0
  12. package/dist-es/commands/EnableApplicationLayerAutomaticResponseCommand.js +39 -0
  13. package/dist-es/commands/UpdateApplicationLayerAutomaticResponseCommand.js +39 -0
  14. package/dist-es/commands/index.js +3 -0
  15. package/dist-es/endpoints.js +1 -0
  16. package/dist-es/models/models_0.js +49 -4
  17. package/dist-es/protocols/Aws_json1_1.js +430 -50
  18. package/dist-types/Shield.d.ts +50 -12
  19. package/dist-types/ShieldClient.d.ts +5 -2
  20. package/dist-types/commands/AssociateDRTLogBucketCommand.d.ts +1 -1
  21. package/dist-types/commands/AssociateDRTRoleCommand.d.ts +4 -3
  22. package/dist-types/commands/AssociateHealthCheckCommand.d.ts +2 -2
  23. package/dist-types/commands/CreateProtectionCommand.d.ts +6 -2
  24. package/dist-types/commands/DisableApplicationLayerAutomaticResponseCommand.d.ts +36 -0
  25. package/dist-types/commands/DisassociateDRTLogBucketCommand.d.ts +0 -1
  26. package/dist-types/commands/DisassociateDRTRoleCommand.d.ts +0 -1
  27. package/dist-types/commands/DisassociateHealthCheckCommand.d.ts +2 -2
  28. package/dist-types/commands/EnableApplicationLayerAutomaticResponseCommand.d.ts +48 -0
  29. package/dist-types/commands/UpdateApplicationLayerAutomaticResponseCommand.d.ts +35 -0
  30. package/dist-types/commands/index.d.ts +3 -0
  31. package/dist-types/models/models_0.d.ts +260 -60
  32. package/dist-types/protocols/Aws_json1_1.d.ts +9 -0
  33. package/dist-types/ts3.4/Shield.d.ts +15 -0
  34. package/dist-types/ts3.4/ShieldClient.d.ts +5 -2
  35. package/dist-types/ts3.4/commands/DisableApplicationLayerAutomaticResponseCommand.d.ts +17 -0
  36. package/dist-types/ts3.4/commands/EnableApplicationLayerAutomaticResponseCommand.d.ts +17 -0
  37. package/dist-types/ts3.4/commands/UpdateApplicationLayerAutomaticResponseCommand.d.ts +17 -0
  38. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  39. package/dist-types/ts3.4/models/models_0.d.ts +98 -10
  40. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +9 -0
  41. package/package.json +5 -5
@@ -16,10 +16,12 @@ import { DescribeEmergencyContactSettingsCommandInput, DescribeEmergencyContactS
16
16
  import { DescribeProtectionCommandInput, DescribeProtectionCommandOutput } from "./commands/DescribeProtectionCommand";
17
17
  import { DescribeProtectionGroupCommandInput, DescribeProtectionGroupCommandOutput } from "./commands/DescribeProtectionGroupCommand";
18
18
  import { DescribeSubscriptionCommandInput, DescribeSubscriptionCommandOutput } from "./commands/DescribeSubscriptionCommand";
19
+ import { DisableApplicationLayerAutomaticResponseCommandInput, DisableApplicationLayerAutomaticResponseCommandOutput } from "./commands/DisableApplicationLayerAutomaticResponseCommand";
19
20
  import { DisableProactiveEngagementCommandInput, DisableProactiveEngagementCommandOutput } from "./commands/DisableProactiveEngagementCommand";
20
21
  import { DisassociateDRTLogBucketCommandInput, DisassociateDRTLogBucketCommandOutput } from "./commands/DisassociateDRTLogBucketCommand";
21
22
  import { DisassociateDRTRoleCommandInput, DisassociateDRTRoleCommandOutput } from "./commands/DisassociateDRTRoleCommand";
22
23
  import { DisassociateHealthCheckCommandInput, DisassociateHealthCheckCommandOutput } from "./commands/DisassociateHealthCheckCommand";
24
+ import { EnableApplicationLayerAutomaticResponseCommandInput, EnableApplicationLayerAutomaticResponseCommandOutput } from "./commands/EnableApplicationLayerAutomaticResponseCommand";
23
25
  import { EnableProactiveEngagementCommandInput, EnableProactiveEngagementCommandOutput } from "./commands/EnableProactiveEngagementCommand";
24
26
  import { GetSubscriptionStateCommandInput, GetSubscriptionStateCommandOutput } from "./commands/GetSubscriptionStateCommand";
25
27
  import { ListAttacksCommandInput, ListAttacksCommandOutput } from "./commands/ListAttacksCommand";
@@ -29,6 +31,7 @@ import { ListResourcesInProtectionGroupCommandInput, ListResourcesInProtectionGr
29
31
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
30
32
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
31
33
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
34
+ import { UpdateApplicationLayerAutomaticResponseCommandInput, UpdateApplicationLayerAutomaticResponseCommandOutput } from "./commands/UpdateApplicationLayerAutomaticResponseCommand";
32
35
  import { UpdateEmergencyContactSettingsCommandInput, UpdateEmergencyContactSettingsCommandOutput } from "./commands/UpdateEmergencyContactSettingsCommand";
33
36
  import { UpdateProtectionGroupCommandInput, UpdateProtectionGroupCommandOutput } from "./commands/UpdateProtectionGroupCommand";
34
37
  import { UpdateSubscriptionCommandInput, UpdateSubscriptionCommandOutput } from "./commands/UpdateSubscriptionCommand";
@@ -42,7 +45,7 @@ import { ShieldClient } from "./ShieldClient";
42
45
  export declare class Shield extends ShieldClient {
43
46
  /**
44
47
  * <p>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.</p>
45
- * <p>To use the services of the SRT and make an <code>AssociateDRTLogBucket</code> request, you must be subscribed to the <a href="https://aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>.</p>
48
+ * <p>To use the services of the SRT and make an <code>AssociateDRTLogBucket</code> request, you must be subscribed to the <a href="https://docs.aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://docs.aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>.</p>
46
49
  */
47
50
  associateDRTLogBucket(args: AssociateDRTLogBucketCommandInput, options?: __HttpHandlerOptions): Promise<AssociateDRTLogBucketCommandOutput>;
48
51
  associateDRTLogBucket(args: AssociateDRTLogBucketCommandInput, cb: (err: any, data?: AssociateDRTLogBucketCommandOutput) => void): void;
@@ -50,18 +53,19 @@ export declare class Shield extends ShieldClient {
50
53
  /**
51
54
  * <p>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.</p>
52
55
  * <p>You can associate only one <code>RoleArn</code> with your subscription. If you submit an <code>AssociateDRTRole</code> request for an account that already has an associated role, the new <code>RoleArn</code> will replace the existing <code>RoleArn</code>. </p>
53
- * <p>Prior to making the <code>AssociateDRTRole</code> request, you must attach the <a href="https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy">AWSShieldDRTAccessPolicy</a> managed policy to the role you will specify in the request. For more information see <a href=" https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html">Attaching and Detaching IAM Policies</a>. The role must also trust the service principal <code> drt.shield.amazonaws.com</code>. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html">IAM JSON Policy Elements: Principal</a>.</p>
56
+ * <p>Prior to making the <code>AssociateDRTRole</code> request, you must attach the <code>AWSShieldDRTAccessPolicy</code> managed policy to the role that you'll specify in the request. You can access this policy in the IAM console at <a href="https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy">AWSShieldDRTAccessPolicy</a>. For more information see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html">Adding and removing IAM identity permissions</a>. The role must also trust the service principal
57
+ * <code>drt.shield.amazonaws.com</code>. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html">IAM JSON policy elements: Principal</a>.</p>
54
58
  *
55
59
  * <p>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.</p>
56
- * <p>You must have the <code>iam:PassRole</code> permission to make an <code>AssociateDRTRole</code> request. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">Granting a User Permissions to Pass a Role to an Amazon Web Services Service</a>. </p>
57
- * <p>To use the services of the SRT and make an <code>AssociateDRTRole</code> request, you must be subscribed to the <a href="https://aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>.</p>
60
+ * <p>You must have the <code>iam:PassRole</code> permission to make an <code>AssociateDRTRole</code> request. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">Granting a user permissions to pass a role to an Amazon Web Services service</a>. </p>
61
+ * <p>To use the services of the SRT and make an <code>AssociateDRTRole</code> request, you must be subscribed to the <a href="https://docs.aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://docs.aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>.</p>
58
62
  */
59
63
  associateDRTRole(args: AssociateDRTRoleCommandInput, options?: __HttpHandlerOptions): Promise<AssociateDRTRoleCommandOutput>;
60
64
  associateDRTRole(args: AssociateDRTRoleCommandInput, cb: (err: any, data?: AssociateDRTRoleCommandOutput) => void): void;
61
65
  associateDRTRole(args: AssociateDRTRoleCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: AssociateDRTRoleCommandOutput) => void): void;
62
66
  /**
63
- * <p>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 mitigation. </p>
64
- * <p>You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option">Shield Advanced Health-Based Detection</a> in the <i>WAF Developer Guide</i>. </p>
67
+ * <p>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. </p>
68
+ * <p>You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option">Shield Advanced Health-Based Detection</a> in the <i>WAF Developer Guide</i>. </p>
65
69
  */
66
70
  associateHealthCheck(args: AssociateHealthCheckCommandInput, options?: __HttpHandlerOptions): Promise<AssociateHealthCheckCommandOutput>;
67
71
  associateHealthCheck(args: AssociateHealthCheckCommandInput, cb: (err: any, data?: AssociateHealthCheckCommandOutput) => void): void;
@@ -78,8 +82,12 @@ export declare class Shield extends ShieldClient {
78
82
  associateProactiveEngagementDetails(args: AssociateProactiveEngagementDetailsCommandInput, cb: (err: any, data?: AssociateProactiveEngagementDetailsCommandOutput) => void): void;
79
83
  associateProactiveEngagementDetails(args: AssociateProactiveEngagementDetailsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: AssociateProactiveEngagementDetailsCommandOutput) => void): void;
80
84
  /**
81
- * <p>Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.</p>
82
- * <p>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 <a href="https://console.aws.amazon.com/waf/">WAF console</a>. For more information see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-ddos.html">Getting Started with Shield Advanced</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/configure-new-protection.html">Add Shield Advanced Protection to more Amazon Web Services Resources</a>.</p>
85
+ * <p>Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.</p>
86
+ * <p>You can add protection to only a single resource with each <code>CreateProtection</code> request. You can add protection to multiple resources
87
+ * at once through the Shield Advanced console at <a href="https://console.aws.amazon.com/wafv2/shieldv2#/">https://console.aws.amazon.com/wafv2/shieldv2#/</a>.
88
+ * For more information see
89
+ * <a href="https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-ddos.html">Getting Started with Shield Advanced</a>
90
+ * and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/configure-new-protection.html">Adding Shield Advanced protection to Amazon Web Services resources</a>.</p>
83
91
  */
84
92
  createProtection(args: CreateProtectionCommandInput, options?: __HttpHandlerOptions): Promise<CreateProtectionCommandOutput>;
85
93
  createProtection(args: CreateProtectionCommandInput, cb: (err: any, data?: CreateProtectionCommandOutput) => void): void;
@@ -162,6 +170,13 @@ export declare class Shield extends ShieldClient {
162
170
  describeSubscription(args: DescribeSubscriptionCommandInput, options?: __HttpHandlerOptions): Promise<DescribeSubscriptionCommandOutput>;
163
171
  describeSubscription(args: DescribeSubscriptionCommandInput, cb: (err: any, data?: DescribeSubscriptionCommandOutput) => void): void;
164
172
  describeSubscription(args: DescribeSubscriptionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeSubscriptionCommandOutput) => void): void;
173
+ /**
174
+ * <p>Disable the Shield Advanced automatic application layer DDoS mitigation feature for the resource. This
175
+ * stops Shield Advanced from creating, verifying, and applying WAF rules for attacks that it detects for the resource. </p>
176
+ */
177
+ disableApplicationLayerAutomaticResponse(args: DisableApplicationLayerAutomaticResponseCommandInput, options?: __HttpHandlerOptions): Promise<DisableApplicationLayerAutomaticResponseCommandOutput>;
178
+ disableApplicationLayerAutomaticResponse(args: DisableApplicationLayerAutomaticResponseCommandInput, cb: (err: any, data?: DisableApplicationLayerAutomaticResponseCommandOutput) => void): void;
179
+ disableApplicationLayerAutomaticResponse(args: DisableApplicationLayerAutomaticResponseCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DisableApplicationLayerAutomaticResponseCommandOutput) => void): void;
165
180
  /**
166
181
  * <p>Removes authorization from the Shield Response Team (SRT) to notify contacts about escalations to the SRT and to initiate proactive customer support.</p>
167
182
  */
@@ -170,25 +185,42 @@ export declare class Shield extends ShieldClient {
170
185
  disableProactiveEngagement(args: DisableProactiveEngagementCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DisableProactiveEngagementCommandOutput) => void): void;
171
186
  /**
172
187
  * <p>Removes the Shield Response Team's (SRT) access to the specified Amazon S3 bucket containing the logs that you shared previously.</p>
173
- * <p>To make a <code>DisassociateDRTLogBucket</code> request, you must be subscribed to the <a href="https://aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a <code>DisassociateDRTLogBucket</code> request to remove this access.</p>
174
188
  */
175
189
  disassociateDRTLogBucket(args: DisassociateDRTLogBucketCommandInput, options?: __HttpHandlerOptions): Promise<DisassociateDRTLogBucketCommandOutput>;
176
190
  disassociateDRTLogBucket(args: DisassociateDRTLogBucketCommandInput, cb: (err: any, data?: DisassociateDRTLogBucketCommandOutput) => void): void;
177
191
  disassociateDRTLogBucket(args: DisassociateDRTLogBucketCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DisassociateDRTLogBucketCommandOutput) => void): void;
178
192
  /**
179
193
  * <p>Removes the Shield Response Team's (SRT) access to your Amazon Web Services account.</p>
180
- * <p>To make a <code>DisassociateDRTRole</code> request, you must be subscribed to the <a href="https://aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a <code>DisassociateDRTRole</code> request to remove this access.</p>
181
194
  */
182
195
  disassociateDRTRole(args: DisassociateDRTRoleCommandInput, options?: __HttpHandlerOptions): Promise<DisassociateDRTRoleCommandOutput>;
183
196
  disassociateDRTRole(args: DisassociateDRTRoleCommandInput, cb: (err: any, data?: DisassociateDRTRoleCommandOutput) => void): void;
184
197
  disassociateDRTRole(args: DisassociateDRTRoleCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DisassociateDRTRoleCommandOutput) => void): void;
185
198
  /**
186
- * <p>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 mitigation. </p>
187
- * <p>You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option">Shield Advanced Health-Based Detection</a> in the <i>WAF Developer Guide</i>. </p>
199
+ * <p>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. </p>
200
+ * <p>You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option">Shield Advanced Health-Based Detection</a> in the <i>WAF Developer Guide</i>. </p>
188
201
  */
189
202
  disassociateHealthCheck(args: DisassociateHealthCheckCommandInput, options?: __HttpHandlerOptions): Promise<DisassociateHealthCheckCommandOutput>;
190
203
  disassociateHealthCheck(args: DisassociateHealthCheckCommandInput, cb: (err: any, data?: DisassociateHealthCheckCommandOutput) => void): void;
191
204
  disassociateHealthCheck(args: DisassociateHealthCheckCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DisassociateHealthCheckCommandOutput) => void): void;
205
+ /**
206
+ * <p>Enable the Shield Advanced automatic application layer DDoS mitigation for the resource. </p>
207
+ * <note>
208
+ * <p>This feature is available for Amazon CloudFront distributions only.</p>
209
+ * </note>
210
+ * <p>This causes Shield Advanced to create, verify, and apply WAF rules for DDoS attacks that it detects for the
211
+ * resource. Shield Advanced applies the rules in a Shield rule group inside the web ACL that you've associated
212
+ * with the resource. For information about how automatic mitigation works and the requirements for using it, see
213
+ * <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced-automatic-app-layer-response.html">Shield Advanced automatic application layer DDoS mitigation</a>.</p>
214
+ * <p>Don't use this action to make changes to automatic mitigation settings when it's already enabled for a resource. Instead, use <a>UpdateApplicationLayerAutomaticResponse</a>.</p>
215
+ * <p>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
216
+ * at <a href="https://console.aws.amazon.com/wafv2/shieldv2#/">https://console.aws.amazon.com/wafv2/shieldv2#/</a>. For more information,
217
+ * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-ddos.html">Getting Started with Shield Advanced</a>.</p>
218
+ * <p>You can also do this through the WAF console or the WAF API, but you must manage Shield Advanced automatic mitigation through Shield Advanced. For information about WAF, see
219
+ * <a href="https://docs.aws.amazon.com/waf/latest/developerguide/">WAF Developer Guide</a>.</p>
220
+ */
221
+ enableApplicationLayerAutomaticResponse(args: EnableApplicationLayerAutomaticResponseCommandInput, options?: __HttpHandlerOptions): Promise<EnableApplicationLayerAutomaticResponseCommandOutput>;
222
+ enableApplicationLayerAutomaticResponse(args: EnableApplicationLayerAutomaticResponseCommandInput, cb: (err: any, data?: EnableApplicationLayerAutomaticResponseCommandOutput) => void): void;
223
+ enableApplicationLayerAutomaticResponse(args: EnableApplicationLayerAutomaticResponseCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: EnableApplicationLayerAutomaticResponseCommandOutput) => void): void;
192
224
  /**
193
225
  * <p>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.</p>
194
226
  */
@@ -244,6 +276,12 @@ export declare class Shield extends ShieldClient {
244
276
  untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Promise<UntagResourceCommandOutput>;
245
277
  untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
246
278
  untagResource(args: UntagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
279
+ /**
280
+ * <p>Updates an existing Shield Advanced automatic application layer DDoS mitigation configuration for the specified resource.</p>
281
+ */
282
+ updateApplicationLayerAutomaticResponse(args: UpdateApplicationLayerAutomaticResponseCommandInput, options?: __HttpHandlerOptions): Promise<UpdateApplicationLayerAutomaticResponseCommandOutput>;
283
+ updateApplicationLayerAutomaticResponse(args: UpdateApplicationLayerAutomaticResponseCommandInput, cb: (err: any, data?: UpdateApplicationLayerAutomaticResponseCommandOutput) => void): void;
284
+ updateApplicationLayerAutomaticResponse(args: UpdateApplicationLayerAutomaticResponseCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateApplicationLayerAutomaticResponseCommandOutput) => void): void;
247
285
  /**
248
286
  * <p>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.</p>
249
287
  */
@@ -23,10 +23,12 @@ import { DescribeEmergencyContactSettingsCommandInput, DescribeEmergencyContactS
23
23
  import { DescribeProtectionCommandInput, DescribeProtectionCommandOutput } from "./commands/DescribeProtectionCommand";
24
24
  import { DescribeProtectionGroupCommandInput, DescribeProtectionGroupCommandOutput } from "./commands/DescribeProtectionGroupCommand";
25
25
  import { DescribeSubscriptionCommandInput, DescribeSubscriptionCommandOutput } from "./commands/DescribeSubscriptionCommand";
26
+ import { DisableApplicationLayerAutomaticResponseCommandInput, DisableApplicationLayerAutomaticResponseCommandOutput } from "./commands/DisableApplicationLayerAutomaticResponseCommand";
26
27
  import { DisableProactiveEngagementCommandInput, DisableProactiveEngagementCommandOutput } from "./commands/DisableProactiveEngagementCommand";
27
28
  import { DisassociateDRTLogBucketCommandInput, DisassociateDRTLogBucketCommandOutput } from "./commands/DisassociateDRTLogBucketCommand";
28
29
  import { DisassociateDRTRoleCommandInput, DisassociateDRTRoleCommandOutput } from "./commands/DisassociateDRTRoleCommand";
29
30
  import { DisassociateHealthCheckCommandInput, DisassociateHealthCheckCommandOutput } from "./commands/DisassociateHealthCheckCommand";
31
+ import { EnableApplicationLayerAutomaticResponseCommandInput, EnableApplicationLayerAutomaticResponseCommandOutput } from "./commands/EnableApplicationLayerAutomaticResponseCommand";
30
32
  import { EnableProactiveEngagementCommandInput, EnableProactiveEngagementCommandOutput } from "./commands/EnableProactiveEngagementCommand";
31
33
  import { GetSubscriptionStateCommandInput, GetSubscriptionStateCommandOutput } from "./commands/GetSubscriptionStateCommand";
32
34
  import { ListAttacksCommandInput, ListAttacksCommandOutput } from "./commands/ListAttacksCommand";
@@ -36,11 +38,12 @@ import { ListResourcesInProtectionGroupCommandInput, ListResourcesInProtectionGr
36
38
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
37
39
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
38
40
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
41
+ import { UpdateApplicationLayerAutomaticResponseCommandInput, UpdateApplicationLayerAutomaticResponseCommandOutput } from "./commands/UpdateApplicationLayerAutomaticResponseCommand";
39
42
  import { UpdateEmergencyContactSettingsCommandInput, UpdateEmergencyContactSettingsCommandOutput } from "./commands/UpdateEmergencyContactSettingsCommand";
40
43
  import { UpdateProtectionGroupCommandInput, UpdateProtectionGroupCommandOutput } from "./commands/UpdateProtectionGroupCommand";
41
44
  import { UpdateSubscriptionCommandInput, UpdateSubscriptionCommandOutput } from "./commands/UpdateSubscriptionCommand";
42
- export declare type ServiceInputTypes = AssociateDRTLogBucketCommandInput | AssociateDRTRoleCommandInput | AssociateHealthCheckCommandInput | AssociateProactiveEngagementDetailsCommandInput | CreateProtectionCommandInput | CreateProtectionGroupCommandInput | CreateSubscriptionCommandInput | DeleteProtectionCommandInput | DeleteProtectionGroupCommandInput | DeleteSubscriptionCommandInput | DescribeAttackCommandInput | DescribeAttackStatisticsCommandInput | DescribeDRTAccessCommandInput | DescribeEmergencyContactSettingsCommandInput | DescribeProtectionCommandInput | DescribeProtectionGroupCommandInput | DescribeSubscriptionCommandInput | DisableProactiveEngagementCommandInput | DisassociateDRTLogBucketCommandInput | DisassociateDRTRoleCommandInput | DisassociateHealthCheckCommandInput | EnableProactiveEngagementCommandInput | GetSubscriptionStateCommandInput | ListAttacksCommandInput | ListProtectionGroupsCommandInput | ListProtectionsCommandInput | ListResourcesInProtectionGroupCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateEmergencyContactSettingsCommandInput | UpdateProtectionGroupCommandInput | UpdateSubscriptionCommandInput;
43
- export declare type ServiceOutputTypes = AssociateDRTLogBucketCommandOutput | AssociateDRTRoleCommandOutput | AssociateHealthCheckCommandOutput | AssociateProactiveEngagementDetailsCommandOutput | CreateProtectionCommandOutput | CreateProtectionGroupCommandOutput | CreateSubscriptionCommandOutput | DeleteProtectionCommandOutput | DeleteProtectionGroupCommandOutput | DeleteSubscriptionCommandOutput | DescribeAttackCommandOutput | DescribeAttackStatisticsCommandOutput | DescribeDRTAccessCommandOutput | DescribeEmergencyContactSettingsCommandOutput | DescribeProtectionCommandOutput | DescribeProtectionGroupCommandOutput | DescribeSubscriptionCommandOutput | DisableProactiveEngagementCommandOutput | DisassociateDRTLogBucketCommandOutput | DisassociateDRTRoleCommandOutput | DisassociateHealthCheckCommandOutput | EnableProactiveEngagementCommandOutput | GetSubscriptionStateCommandOutput | ListAttacksCommandOutput | ListProtectionGroupsCommandOutput | ListProtectionsCommandOutput | ListResourcesInProtectionGroupCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateEmergencyContactSettingsCommandOutput | UpdateProtectionGroupCommandOutput | UpdateSubscriptionCommandOutput;
45
+ export declare type ServiceInputTypes = AssociateDRTLogBucketCommandInput | AssociateDRTRoleCommandInput | AssociateHealthCheckCommandInput | AssociateProactiveEngagementDetailsCommandInput | CreateProtectionCommandInput | CreateProtectionGroupCommandInput | CreateSubscriptionCommandInput | DeleteProtectionCommandInput | DeleteProtectionGroupCommandInput | DeleteSubscriptionCommandInput | DescribeAttackCommandInput | DescribeAttackStatisticsCommandInput | DescribeDRTAccessCommandInput | DescribeEmergencyContactSettingsCommandInput | DescribeProtectionCommandInput | DescribeProtectionGroupCommandInput | DescribeSubscriptionCommandInput | DisableApplicationLayerAutomaticResponseCommandInput | DisableProactiveEngagementCommandInput | DisassociateDRTLogBucketCommandInput | DisassociateDRTRoleCommandInput | DisassociateHealthCheckCommandInput | EnableApplicationLayerAutomaticResponseCommandInput | EnableProactiveEngagementCommandInput | GetSubscriptionStateCommandInput | ListAttacksCommandInput | ListProtectionGroupsCommandInput | ListProtectionsCommandInput | ListResourcesInProtectionGroupCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateApplicationLayerAutomaticResponseCommandInput | UpdateEmergencyContactSettingsCommandInput | UpdateProtectionGroupCommandInput | UpdateSubscriptionCommandInput;
46
+ export declare type ServiceOutputTypes = AssociateDRTLogBucketCommandOutput | AssociateDRTRoleCommandOutput | AssociateHealthCheckCommandOutput | AssociateProactiveEngagementDetailsCommandOutput | CreateProtectionCommandOutput | CreateProtectionGroupCommandOutput | CreateSubscriptionCommandOutput | DeleteProtectionCommandOutput | DeleteProtectionGroupCommandOutput | DeleteSubscriptionCommandOutput | DescribeAttackCommandOutput | DescribeAttackStatisticsCommandOutput | DescribeDRTAccessCommandOutput | DescribeEmergencyContactSettingsCommandOutput | DescribeProtectionCommandOutput | DescribeProtectionGroupCommandOutput | DescribeSubscriptionCommandOutput | DisableApplicationLayerAutomaticResponseCommandOutput | DisableProactiveEngagementCommandOutput | DisassociateDRTLogBucketCommandOutput | DisassociateDRTRoleCommandOutput | DisassociateHealthCheckCommandOutput | EnableApplicationLayerAutomaticResponseCommandOutput | EnableProactiveEngagementCommandOutput | GetSubscriptionStateCommandOutput | ListAttacksCommandOutput | ListProtectionGroupsCommandOutput | ListProtectionsCommandOutput | ListResourcesInProtectionGroupCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateApplicationLayerAutomaticResponseCommandOutput | UpdateEmergencyContactSettingsCommandOutput | UpdateProtectionGroupCommandOutput | UpdateSubscriptionCommandOutput;
44
47
  export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
45
48
  /**
46
49
  * The HTTP handler to use. Fetch in browser and Https in Nodejs.
@@ -8,7 +8,7 @@ export interface AssociateDRTLogBucketCommandOutput extends AssociateDRTLogBucke
8
8
  }
9
9
  /**
10
10
  * <p>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.</p>
11
- * <p>To use the services of the SRT and make an <code>AssociateDRTLogBucket</code> request, you must be subscribed to the <a href="https://aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>.</p>
11
+ * <p>To use the services of the SRT and make an <code>AssociateDRTLogBucket</code> request, you must be subscribed to the <a href="https://docs.aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://docs.aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>.</p>
12
12
  * @example
13
13
  * Use a bare-bones client and the command you need to make an API call.
14
14
  * ```javascript
@@ -9,11 +9,12 @@ export interface AssociateDRTRoleCommandOutput extends AssociateDRTRoleResponse,
9
9
  /**
10
10
  * <p>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.</p>
11
11
  * <p>You can associate only one <code>RoleArn</code> with your subscription. If you submit an <code>AssociateDRTRole</code> request for an account that already has an associated role, the new <code>RoleArn</code> will replace the existing <code>RoleArn</code>. </p>
12
- * <p>Prior to making the <code>AssociateDRTRole</code> request, you must attach the <a href="https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy">AWSShieldDRTAccessPolicy</a> managed policy to the role you will specify in the request. For more information see <a href=" https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html">Attaching and Detaching IAM Policies</a>. The role must also trust the service principal <code> drt.shield.amazonaws.com</code>. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html">IAM JSON Policy Elements: Principal</a>.</p>
12
+ * <p>Prior to making the <code>AssociateDRTRole</code> request, you must attach the <code>AWSShieldDRTAccessPolicy</code> managed policy to the role that you'll specify in the request. You can access this policy in the IAM console at <a href="https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy">AWSShieldDRTAccessPolicy</a>. For more information see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html">Adding and removing IAM identity permissions</a>. The role must also trust the service principal
13
+ * <code>drt.shield.amazonaws.com</code>. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html">IAM JSON policy elements: Principal</a>.</p>
13
14
  *
14
15
  * <p>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.</p>
15
- * <p>You must have the <code>iam:PassRole</code> permission to make an <code>AssociateDRTRole</code> request. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">Granting a User Permissions to Pass a Role to an Amazon Web Services Service</a>. </p>
16
- * <p>To use the services of the SRT and make an <code>AssociateDRTRole</code> request, you must be subscribed to the <a href="https://aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>.</p>
16
+ * <p>You must have the <code>iam:PassRole</code> permission to make an <code>AssociateDRTRole</code> request. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">Granting a user permissions to pass a role to an Amazon Web Services service</a>. </p>
17
+ * <p>To use the services of the SRT and make an <code>AssociateDRTRole</code> request, you must be subscribed to the <a href="https://docs.aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://docs.aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>.</p>
17
18
  * @example
18
19
  * Use a bare-bones client and the command you need to make an API call.
19
20
  * ```javascript
@@ -7,8 +7,8 @@ export interface AssociateHealthCheckCommandInput extends AssociateHealthCheckRe
7
7
  export interface AssociateHealthCheckCommandOutput extends AssociateHealthCheckResponse, __MetadataBearer {
8
8
  }
9
9
  /**
10
- * <p>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 mitigation. </p>
11
- * <p>You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option">Shield Advanced Health-Based Detection</a> in the <i>WAF Developer Guide</i>. </p>
10
+ * <p>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. </p>
11
+ * <p>You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option">Shield Advanced Health-Based Detection</a> in the <i>WAF Developer Guide</i>. </p>
12
12
  * @example
13
13
  * Use a bare-bones client and the command you need to make an API call.
14
14
  * ```javascript
@@ -7,8 +7,12 @@ export interface CreateProtectionCommandInput extends CreateProtectionRequest {
7
7
  export interface CreateProtectionCommandOutput extends CreateProtectionResponse, __MetadataBearer {
8
8
  }
9
9
  /**
10
- * <p>Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.</p>
11
- * <p>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 <a href="https://console.aws.amazon.com/waf/">WAF console</a>. For more information see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-ddos.html">Getting Started with Shield Advanced</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/configure-new-protection.html">Add Shield Advanced Protection to more Amazon Web Services Resources</a>.</p>
10
+ * <p>Enables Shield Advanced for a specific Amazon Web Services resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.</p>
11
+ * <p>You can add protection to only a single resource with each <code>CreateProtection</code> request. You can add protection to multiple resources
12
+ * at once through the Shield Advanced console at <a href="https://console.aws.amazon.com/wafv2/shieldv2#/">https://console.aws.amazon.com/wafv2/shieldv2#/</a>.
13
+ * For more information see
14
+ * <a href="https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-ddos.html">Getting Started with Shield Advanced</a>
15
+ * and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/configure-new-protection.html">Adding Shield Advanced protection to Amazon Web Services resources</a>.</p>
12
16
  * @example
13
17
  * Use a bare-bones client and the command you need to make an API call.
14
18
  * ```javascript
@@ -0,0 +1,36 @@
1
+ import { Command as $Command } from "@aws-sdk/smithy-client";
2
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
3
+ import { DisableApplicationLayerAutomaticResponseRequest, DisableApplicationLayerAutomaticResponseResponse } from "../models/models_0";
4
+ import { ServiceInputTypes, ServiceOutputTypes, ShieldClientResolvedConfig } from "../ShieldClient";
5
+ export interface DisableApplicationLayerAutomaticResponseCommandInput extends DisableApplicationLayerAutomaticResponseRequest {
6
+ }
7
+ export interface DisableApplicationLayerAutomaticResponseCommandOutput extends DisableApplicationLayerAutomaticResponseResponse, __MetadataBearer {
8
+ }
9
+ /**
10
+ * <p>Disable the Shield Advanced automatic application layer DDoS mitigation feature for the resource. This
11
+ * stops Shield Advanced from creating, verifying, and applying WAF rules for attacks that it detects for the resource. </p>
12
+ * @example
13
+ * Use a bare-bones client and the command you need to make an API call.
14
+ * ```javascript
15
+ * import { ShieldClient, DisableApplicationLayerAutomaticResponseCommand } from "@aws-sdk/client-shield"; // ES Modules import
16
+ * // const { ShieldClient, DisableApplicationLayerAutomaticResponseCommand } = require("@aws-sdk/client-shield"); // CommonJS import
17
+ * const client = new ShieldClient(config);
18
+ * const command = new DisableApplicationLayerAutomaticResponseCommand(input);
19
+ * const response = await client.send(command);
20
+ * ```
21
+ *
22
+ * @see {@link DisableApplicationLayerAutomaticResponseCommandInput} for command's `input` shape.
23
+ * @see {@link DisableApplicationLayerAutomaticResponseCommandOutput} for command's `response` shape.
24
+ * @see {@link ShieldClientResolvedConfig | config} for ShieldClient's `config` shape.
25
+ *
26
+ */
27
+ export declare class DisableApplicationLayerAutomaticResponseCommand extends $Command<DisableApplicationLayerAutomaticResponseCommandInput, DisableApplicationLayerAutomaticResponseCommandOutput, ShieldClientResolvedConfig> {
28
+ readonly input: DisableApplicationLayerAutomaticResponseCommandInput;
29
+ constructor(input: DisableApplicationLayerAutomaticResponseCommandInput);
30
+ /**
31
+ * @internal
32
+ */
33
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: ShieldClientResolvedConfig, options?: __HttpHandlerOptions): Handler<DisableApplicationLayerAutomaticResponseCommandInput, DisableApplicationLayerAutomaticResponseCommandOutput>;
34
+ private serialize;
35
+ private deserialize;
36
+ }
@@ -8,7 +8,6 @@ export interface DisassociateDRTLogBucketCommandOutput extends DisassociateDRTLo
8
8
  }
9
9
  /**
10
10
  * <p>Removes the Shield Response Team's (SRT) access to the specified Amazon S3 bucket containing the logs that you shared previously.</p>
11
- * <p>To make a <code>DisassociateDRTLogBucket</code> request, you must be subscribed to the <a href="https://aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a <code>DisassociateDRTLogBucket</code> request to remove this access.</p>
12
11
  * @example
13
12
  * Use a bare-bones client and the command you need to make an API call.
14
13
  * ```javascript
@@ -8,7 +8,6 @@ export interface DisassociateDRTRoleCommandOutput extends DisassociateDRTRoleRes
8
8
  }
9
9
  /**
10
10
  * <p>Removes the Shield Response Team's (SRT) access to your Amazon Web Services account.</p>
11
- * <p>To make a <code>DisassociateDRTRole</code> request, you must be subscribed to the <a href="https://aws.amazon.com/premiumsupport/business-support/">Business Support plan</a> or the <a href="https://aws.amazon.com/premiumsupport/enterprise-support/">Enterprise Support plan</a>. However, if you are not subscribed to one of these support plans, but had been previously and had granted the SRT access to your account, you can submit a <code>DisassociateDRTRole</code> request to remove this access.</p>
12
11
  * @example
13
12
  * Use a bare-bones client and the command you need to make an API call.
14
13
  * ```javascript
@@ -7,8 +7,8 @@ export interface DisassociateHealthCheckCommandInput extends DisassociateHealthC
7
7
  export interface DisassociateHealthCheckCommandOutput extends DisassociateHealthCheckResponse, __MetadataBearer {
8
8
  }
9
9
  /**
10
- * <p>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 mitigation. </p>
11
- * <p>You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option">Shield Advanced Health-Based Detection</a> in the <i>WAF Developer Guide</i>. </p>
10
+ * <p>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. </p>
11
+ * <p>You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option">Shield Advanced Health-Based Detection</a> in the <i>WAF Developer Guide</i>. </p>
12
12
  * @example
13
13
  * Use a bare-bones client and the command you need to make an API call.
14
14
  * ```javascript
@@ -0,0 +1,48 @@
1
+ import { Command as $Command } from "@aws-sdk/smithy-client";
2
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
3
+ import { EnableApplicationLayerAutomaticResponseRequest, EnableApplicationLayerAutomaticResponseResponse } from "../models/models_0";
4
+ import { ServiceInputTypes, ServiceOutputTypes, ShieldClientResolvedConfig } from "../ShieldClient";
5
+ export interface EnableApplicationLayerAutomaticResponseCommandInput extends EnableApplicationLayerAutomaticResponseRequest {
6
+ }
7
+ export interface EnableApplicationLayerAutomaticResponseCommandOutput extends EnableApplicationLayerAutomaticResponseResponse, __MetadataBearer {
8
+ }
9
+ /**
10
+ * <p>Enable the Shield Advanced automatic application layer DDoS mitigation for the resource. </p>
11
+ * <note>
12
+ * <p>This feature is available for Amazon CloudFront distributions only.</p>
13
+ * </note>
14
+ * <p>This causes Shield Advanced to create, verify, and apply WAF rules for DDoS attacks that it detects for the
15
+ * resource. Shield Advanced applies the rules in a Shield rule group inside the web ACL that you've associated
16
+ * with the resource. For information about how automatic mitigation works and the requirements for using it, see
17
+ * <a href="https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced-automatic-app-layer-response.html">Shield Advanced automatic application layer DDoS mitigation</a>.</p>
18
+ * <p>Don't use this action to make changes to automatic mitigation settings when it's already enabled for a resource. Instead, use <a>UpdateApplicationLayerAutomaticResponse</a>.</p>
19
+ * <p>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
20
+ * at <a href="https://console.aws.amazon.com/wafv2/shieldv2#/">https://console.aws.amazon.com/wafv2/shieldv2#/</a>. For more information,
21
+ * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-ddos.html">Getting Started with Shield Advanced</a>.</p>
22
+ * <p>You can also do this through the WAF console or the WAF API, but you must manage Shield Advanced automatic mitigation through Shield Advanced. For information about WAF, see
23
+ * <a href="https://docs.aws.amazon.com/waf/latest/developerguide/">WAF Developer Guide</a>.</p>
24
+ * @example
25
+ * Use a bare-bones client and the command you need to make an API call.
26
+ * ```javascript
27
+ * import { ShieldClient, EnableApplicationLayerAutomaticResponseCommand } from "@aws-sdk/client-shield"; // ES Modules import
28
+ * // const { ShieldClient, EnableApplicationLayerAutomaticResponseCommand } = require("@aws-sdk/client-shield"); // CommonJS import
29
+ * const client = new ShieldClient(config);
30
+ * const command = new EnableApplicationLayerAutomaticResponseCommand(input);
31
+ * const response = await client.send(command);
32
+ * ```
33
+ *
34
+ * @see {@link EnableApplicationLayerAutomaticResponseCommandInput} for command's `input` shape.
35
+ * @see {@link EnableApplicationLayerAutomaticResponseCommandOutput} for command's `response` shape.
36
+ * @see {@link ShieldClientResolvedConfig | config} for ShieldClient's `config` shape.
37
+ *
38
+ */
39
+ export declare class EnableApplicationLayerAutomaticResponseCommand extends $Command<EnableApplicationLayerAutomaticResponseCommandInput, EnableApplicationLayerAutomaticResponseCommandOutput, ShieldClientResolvedConfig> {
40
+ readonly input: EnableApplicationLayerAutomaticResponseCommandInput;
41
+ constructor(input: EnableApplicationLayerAutomaticResponseCommandInput);
42
+ /**
43
+ * @internal
44
+ */
45
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: ShieldClientResolvedConfig, options?: __HttpHandlerOptions): Handler<EnableApplicationLayerAutomaticResponseCommandInput, EnableApplicationLayerAutomaticResponseCommandOutput>;
46
+ private serialize;
47
+ private deserialize;
48
+ }
@@ -0,0 +1,35 @@
1
+ import { Command as $Command } from "@aws-sdk/smithy-client";
2
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
3
+ import { UpdateApplicationLayerAutomaticResponseRequest, UpdateApplicationLayerAutomaticResponseResponse } from "../models/models_0";
4
+ import { ServiceInputTypes, ServiceOutputTypes, ShieldClientResolvedConfig } from "../ShieldClient";
5
+ export interface UpdateApplicationLayerAutomaticResponseCommandInput extends UpdateApplicationLayerAutomaticResponseRequest {
6
+ }
7
+ export interface UpdateApplicationLayerAutomaticResponseCommandOutput extends UpdateApplicationLayerAutomaticResponseResponse, __MetadataBearer {
8
+ }
9
+ /**
10
+ * <p>Updates an existing Shield Advanced automatic application layer DDoS mitigation configuration for the specified resource.</p>
11
+ * @example
12
+ * Use a bare-bones client and the command you need to make an API call.
13
+ * ```javascript
14
+ * import { ShieldClient, UpdateApplicationLayerAutomaticResponseCommand } from "@aws-sdk/client-shield"; // ES Modules import
15
+ * // const { ShieldClient, UpdateApplicationLayerAutomaticResponseCommand } = require("@aws-sdk/client-shield"); // CommonJS import
16
+ * const client = new ShieldClient(config);
17
+ * const command = new UpdateApplicationLayerAutomaticResponseCommand(input);
18
+ * const response = await client.send(command);
19
+ * ```
20
+ *
21
+ * @see {@link UpdateApplicationLayerAutomaticResponseCommandInput} for command's `input` shape.
22
+ * @see {@link UpdateApplicationLayerAutomaticResponseCommandOutput} for command's `response` shape.
23
+ * @see {@link ShieldClientResolvedConfig | config} for ShieldClient's `config` shape.
24
+ *
25
+ */
26
+ export declare class UpdateApplicationLayerAutomaticResponseCommand extends $Command<UpdateApplicationLayerAutomaticResponseCommandInput, UpdateApplicationLayerAutomaticResponseCommandOutput, ShieldClientResolvedConfig> {
27
+ readonly input: UpdateApplicationLayerAutomaticResponseCommandInput;
28
+ constructor(input: UpdateApplicationLayerAutomaticResponseCommandInput);
29
+ /**
30
+ * @internal
31
+ */
32
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: ShieldClientResolvedConfig, options?: __HttpHandlerOptions): Handler<UpdateApplicationLayerAutomaticResponseCommandInput, UpdateApplicationLayerAutomaticResponseCommandOutput>;
33
+ private serialize;
34
+ private deserialize;
35
+ }
@@ -15,10 +15,12 @@ export * from "./DescribeEmergencyContactSettingsCommand";
15
15
  export * from "./DescribeProtectionCommand";
16
16
  export * from "./DescribeProtectionGroupCommand";
17
17
  export * from "./DescribeSubscriptionCommand";
18
+ export * from "./DisableApplicationLayerAutomaticResponseCommand";
18
19
  export * from "./DisableProactiveEngagementCommand";
19
20
  export * from "./DisassociateDRTLogBucketCommand";
20
21
  export * from "./DisassociateDRTRoleCommand";
21
22
  export * from "./DisassociateHealthCheckCommand";
23
+ export * from "./EnableApplicationLayerAutomaticResponseCommand";
22
24
  export * from "./EnableProactiveEngagementCommand";
23
25
  export * from "./GetSubscriptionStateCommand";
24
26
  export * from "./ListAttacksCommand";
@@ -28,6 +30,7 @@ export * from "./ListResourcesInProtectionGroupCommand";
28
30
  export * from "./ListTagsForResourceCommand";
29
31
  export * from "./TagResourceCommand";
30
32
  export * from "./UntagResourceCommand";
33
+ export * from "./UpdateApplicationLayerAutomaticResponseCommand";
31
34
  export * from "./UpdateEmergencyContactSettingsCommand";
32
35
  export * from "./UpdateProtectionGroupCommand";
33
36
  export * from "./UpdateSubscriptionCommand";