// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ListAvailableManagedRuleGroupVersions`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`vendor_name(impl Into<String>)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::vendor_name) / [`set_vendor_name(Option<String>)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::set_vendor_name):<br>required: **true**<br><p>The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::set_name):<br>required: **true**<br><p>The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.</p><br>
/// - [`scope(Scope)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::scope) / [`set_scope(Option<Scope>)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::set_scope):<br>required: **true**<br><p>Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an Amplify application, use <code>CLOUDFRONT</code>.</p> <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:</p> <ul> <li> <p>CLI - Specify the Region when you use the CloudFront scope: <code>--scope=CLOUDFRONT --region=us-east-1</code>.</p></li> <li> <p>API and SDKs - For all calls, use the Region endpoint us-east-1.</p></li> </ul><br>
/// - [`next_marker(impl Into<String>)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::next_marker) / [`set_next_marker(Option<String>)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::set_next_marker):<br>required: **false**<br><p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a <code>NextMarker</code> value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p><br>
/// - [`limit(i32)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::limit) / [`set_limit(Option<i32>)`](crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::set_limit):<br>required: **false**<br><p>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 <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p><br>
/// - On success, responds with [`ListAvailableManagedRuleGroupVersionsOutput`](crate::operation::list_available_managed_rule_group_versions::ListAvailableManagedRuleGroupVersionsOutput) with field(s):
/// - [`next_marker(Option<String>)`](crate::operation::list_available_managed_rule_group_versions::ListAvailableManagedRuleGroupVersionsOutput::next_marker): <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a <code>NextMarker</code> value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
/// - [`versions(Option<Vec::<ManagedRuleGroupVersion>>)`](crate::operation::list_available_managed_rule_group_versions::ListAvailableManagedRuleGroupVersionsOutput::versions): <p>The versions that are currently available for the specified managed rule group. If you specified a <code>Limit</code> in your request, this might not be the full list.</p>
/// - [`current_default_version(Option<String>)`](crate::operation::list_available_managed_rule_group_versions::ListAvailableManagedRuleGroupVersionsOutput::current_default_version): <p>The name of the version that's currently set as the default.</p>
/// - On failure, responds with [`SdkError<ListAvailableManagedRuleGroupVersionsError>`](crate::operation::list_available_managed_rule_group_versions::ListAvailableManagedRuleGroupVersionsError)
pub fn list_available_managed_rule_group_versions(
&self,
) -> crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder {
crate::operation::list_available_managed_rule_group_versions::builders::ListAvailableManagedRuleGroupVersionsFluentBuilder::new(
self.handle.clone(),
)
}
}