/// <summary>
 /// Retrieves all policy set definitions in management group.
 /// </summary>
 /// <remarks>
 /// This operation retrieves a list of all the policy set definitions in a
 /// given management group that match the optional given $filter. Valid values
 /// for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq
 /// '{value}''. If $filter is not provided, the unfiltered list includes all
 /// policy set definitions associated with the management group, including
 /// those that apply directly or from management groups that contain the given
 /// management group. If $filter=atExactScope() is provided, the returned list
 /// only includes all policy set definitions that at the given management
 /// group. If $filter='policyType -eq {value}' is provided, the returned list
 /// only includes all policy set definitions whose type match the {value}.
 /// Possible policyType values are NotSpecified, BuiltIn and Custom. If
 /// $filter='category -eq {value}' is provided, the returned list only includes
 /// all policy set definitions whose category match the {value}.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='managementGroupId'>
 /// The ID of the management group.
 /// </param>
 /// <param name='filter'>
 /// The filter to apply on the operation. Valid values for $filter are:
 /// 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If
 /// $filter is not provided, no filtering is performed. If
 /// $filter=atExactScope() is provided, the returned list only includes all
 /// policy set definitions that at the given scope. If $filter='policyType -eq
 /// {value}' is provided, the returned list only includes all policy set
 /// definitions whose type match the {value}. Possible policyType values are
 /// NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq
 /// {value}' is provided, the returned list only includes all policy set
 /// definitions whose category match the {value}.
 /// </param>
 /// <param name='top'>
 /// Maximum number of records to return. When the $top filter is not provided,
 /// it will return 500 records.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <PolicySetDefinition> > ListByManagementGroupAsync(this IPolicySetDefinitionsOperations operations, string managementGroupId, string filter = default(string), int?top = default(int?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByManagementGroupWithHttpMessagesAsync(managementGroupId, filter, top, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }