listAvailableManagedRuleGroupVersions method
Returns a list of the available versions for the specified managed rule group.
May throw WAFInternalErrorException.
May throw WAFInvalidOperationException.
May throw WAFInvalidParameterException.
May throw WAFNonexistentItemException.
Parameter name :
The name of the managed rule group. You use this, along with the vendor
name, to identify the rule group.
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.
Parameter vendorName :
The name of the managed rule group vendor. You use this, along with the
rule group name, to identify a rule group.
Parameter limit :
The maximum number of objects that you want WAF to return for this
request. If more objects are available, in the response, WAF provides a
NextMarker value that you can use in a subsequent call to get
the next batch of objects.
Parameter nextMarker :
When you request a list of objects with a Limit setting, if
the number of objects that are still available for retrieval exceeds the
limit, WAF returns a NextMarker value in the response. To
retrieve the next batch of objects, provide the marker from the prior call
in your next request.
Implementation
Future<ListAvailableManagedRuleGroupVersionsResponse>
listAvailableManagedRuleGroupVersions({
required String name,
required Scope scope,
required String vendorName,
int? limit,
String? nextMarker,
}) async {
_s.validateNumRange(
'limit',
limit,
1,
100,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSWAF_20190729.ListAvailableManagedRuleGroupVersions'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Name': name,
'Scope': scope.value,
'VendorName': vendorName,
if (limit != null) 'Limit': limit,
if (nextMarker != null) 'NextMarker': nextMarker,
},
);
return ListAvailableManagedRuleGroupVersionsResponse.fromJson(
jsonResponse.body);
}