enableApplicationLayerAutomaticResponse method

Future<void> enableApplicationLayerAutomaticResponse({
  1. required ResponseAction action,
  2. required String resourceArn,
})

Enable the Shield Advanced automatic application layer DDoS mitigation for the protected resource. This causes Shield Advanced to create, verify, and apply WAF rules for DDoS attacks that it detects for the resource. Shield Advanced applies the rules in a Shield rule group inside the web ACL that you've associated with the resource. For information about how automatic mitigation works and the requirements for using it, see Shield Advanced automatic application layer DDoS mitigation. To use this feature, you must associate a web ACL with the protected resource. The web ACL must be created using the latest version of WAF (v2). You can associate the web ACL through the Shield Advanced console at https://console.aws.amazon.com/wafv2/shieldv2#/. For more information, see Getting Started with Shield Advanced. You can also associate the web ACL to the resource through the WAF console or the WAF API, but you must manage Shield Advanced automatic mitigation through Shield Advanced. For information about WAF, see WAF Developer Guide.

May throw InternalErrorException. May throw InvalidOperationException. May throw InvalidParameterException. May throw LimitsExceededException. May throw OptimisticLockException. May throw ResourceNotFoundException.

Parameter action : Specifies the action setting that Shield Advanced should use in the WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.

Parameter resourceArn : The ARN (Amazon Resource Name) of the protected resource.

Implementation

Future<void> enableApplicationLayerAutomaticResponse({
  required ResponseAction action,
  required String resourceArn,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'AWSShield_20160616.EnableApplicationLayerAutomaticResponse'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'Action': action,
      'ResourceArn': resourceArn,
    },
  );
}