/// <summary>
 /// Lists all policy descriptions.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='scope'>
 /// Policy scope. Possible values include: 'Tenant', 'Product', 'Api',
 /// 'Operation', 'All'
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <PolicyDescriptionCollection> ListByServiceAsync(this IPolicyDescriptionOperations operations, string resourceGroupName, string serviceName, PolicyScopeContract?scope = default(PolicyScopeContract?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByServiceWithHttpMessagesAsync(resourceGroupName, serviceName, scope, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Lists all policy descriptions.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='serviceName'>
 /// The name of the API Management service.
 /// </param>
 /// <param name='scope'>
 /// Policy scope. Possible values include: 'Tenant', 'Product', 'Api',
 /// 'Operation', 'All'
 /// </param>
 public static PolicyDescriptionCollection ListByService(this IPolicyDescriptionOperations operations, string resourceGroupName, string serviceName, PolicyScopeContract?scope = default(PolicyScopeContract?))
 {
     return(operations.ListByServiceAsync(resourceGroupName, serviceName, scope).GetAwaiter().GetResult());
 }