/// <summary>
 /// Returns all Container which fit the filter criteria supplied. All filter
 /// parameters are optional. Container will be ordered and paged as requested.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='name'>
 /// Return only Container whose name contains this value.
 /// </param>
 /// <param name='type'>
 /// Filter by Type. Possible values include: 'Folder', 'Server', 'Device',
 /// 'Structure', 'Service'
 /// </param>
 /// <param name='orderBy'>
 /// Container will be returned in this order.  NameAscending by default.
 /// Possible values include: 'NameAscending', 'NameDescending'
 /// </param>
 /// <param name='take'>
 /// Number of Container that should be returned.  200 by default.
 /// </param>
 /// <param name='skip'>
 /// Number of Container that should be skipped before items are returned.  0
 /// by default.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IList <ContainerModel> > RetrieveAsync(this IContainers operations, string name = default(string), string type = default(string), string orderBy = default(string), int?take = default(int?), int?skip = default(int?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.RetrieveWithHttpMessagesAsync(name, type, orderBy, take, skip, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }