getRuleGroup method

Future<GetRuleGroupResponse> getRuleGroup({
  1. String? arn,
  2. String? id,
  3. String? name,
  4. Scope? scope,
})

Retrieves the specified RuleGroup.

May throw WAFInternalErrorException. May throw WAFInvalidOperationException. May throw WAFInvalidParameterException. May throw WAFNonexistentItemException.

Parameter arn : The Amazon Resource Name (ARN) of the entity.

Parameter id : A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

Parameter name : The name of the rule group. You cannot change the name of a rule group after you create it.

Parameter scope : Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an Amplify application, use CLOUDFRONT.

To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

  • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.
  • API and SDKs - For all calls, use the Region endpoint us-east-1.

Implementation

Future<GetRuleGroupResponse> getRuleGroup({
  String? arn,
  String? id,
  String? name,
  Scope? scope,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSWAF_20190729.GetRuleGroup'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (arn != null) 'ARN': arn,
      if (id != null) 'Id': id,
      if (name != null) 'Name': name,
      if (scope != null) 'Scope': scope.value,
    },
  );

  return GetRuleGroupResponse.fromJson(jsonResponse.body);
}