/// <summary>
 /// List of all the subvolumes
 /// </summary>
 /// <remarks>
 /// Returns a list of the subvolumes in the volume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='nextPageLink'>
 /// The NextLink from the previous successful call to List operation.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <SubvolumeInfo> > ListByVolumeNextAsync(this ISubvolumesOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByVolumeNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// List of all the subvolumes
 /// </summary>
 /// <remarks>
 /// Returns a list of the subvolumes in the volume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the NetApp account
 /// </param>
 /// <param name='poolName'>
 /// The name of the capacity pool
 /// </param>
 /// <param name='volumeName'>
 /// The name of the volume
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <SubvolumeInfo> > ListByVolumeAsync(this ISubvolumesOperations operations, string resourceGroupName, string accountName, string poolName, string volumeName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByVolumeWithHttpMessagesAsync(resourceGroupName, accountName, poolName, volumeName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Describe a subvolume
 /// </summary>
 /// <remarks>
 /// Get details of the specified subvolume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the NetApp account
 /// </param>
 /// <param name='poolName'>
 /// The name of the capacity pool
 /// </param>
 /// <param name='volumeName'>
 /// The name of the volume
 /// </param>
 /// <param name='subvolumeName'>
 /// The name of the subvolume.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <SubvolumeModel> BeginGetMetadataAsync(this ISubvolumesOperations operations, string resourceGroupName, string accountName, string poolName, string volumeName, string subvolumeName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.BeginGetMetadataWithHttpMessagesAsync(resourceGroupName, accountName, poolName, volumeName, subvolumeName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Update a subvolume
 /// </summary>
 /// <remarks>
 /// Patch a subvolume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='body'>
 /// Subvolume object supplied in the body of the operation.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the NetApp account
 /// </param>
 /// <param name='poolName'>
 /// The name of the capacity pool
 /// </param>
 /// <param name='volumeName'>
 /// The name of the volume
 /// </param>
 /// <param name='subvolumeName'>
 /// The name of the subvolume.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <SubvolumeInfo> BeginUpdateAsync(this ISubvolumesOperations operations, SubvolumePatchRequest body, string resourceGroupName, string accountName, string poolName, string volumeName, string subvolumeName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.BeginUpdateWithHttpMessagesAsync(body, resourceGroupName, accountName, poolName, volumeName, subvolumeName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Initializes client properties.
 /// </summary>
 private void Initialize()
 {
     Operations                = new Operations(this);
     NetAppResource            = new NetAppResourceOperations(this);
     NetAppResourceQuotaLimits = new NetAppResourceQuotaLimitsOperations(this);
     Accounts         = new AccountsOperations(this);
     Pools            = new PoolsOperations(this);
     Volumes          = new VolumesOperations(this);
     Snapshots        = new SnapshotsOperations(this);
     SnapshotPolicies = new SnapshotPoliciesOperations(this);
     Backups          = new BackupsOperations(this);
     AccountBackups   = new AccountBackupsOperations(this);
     BackupPolicies   = new BackupPoliciesOperations(this);
     Vaults           = new VaultsOperations(this);
     VolumeGroups     = new VolumeGroupsOperations(this);
     Subvolumes       = new SubvolumesOperations(this);
     BaseUri          = new System.Uri("https://management.azure.com");
     ApiVersion       = "2021-10-01";
     AcceptLanguage   = "en-US";
     LongRunningOperationRetryTimeout = 30;
     GenerateClientRequestId          = true;
     SerializationSettings            = new JsonSerializerSettings
     {
         Formatting            = Newtonsoft.Json.Formatting.Indented,
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     SerializationSettings.Converters.Add(new TransformationJsonConverter());
     DeserializationSettings = new JsonSerializerSettings
     {
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     CustomInitialize();
     DeserializationSettings.Converters.Add(new TransformationJsonConverter());
     DeserializationSettings.Converters.Add(new CloudErrorJsonConverter());
 }
 /// <summary>
 /// List of all the subvolumes
 /// </summary>
 /// <remarks>
 /// Returns a list of the subvolumes in the volume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='nextPageLink'>
 /// The NextLink from the previous successful call to List operation.
 /// </param>
 public static IPage <SubvolumeInfo> ListByVolumeNext(this ISubvolumesOperations operations, string nextPageLink)
 {
     return(operations.ListByVolumeNextAsync(nextPageLink).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Describe a subvolume
 /// </summary>
 /// <remarks>
 /// Get details of the specified subvolume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the NetApp account
 /// </param>
 /// <param name='poolName'>
 /// The name of the capacity pool
 /// </param>
 /// <param name='volumeName'>
 /// The name of the volume
 /// </param>
 /// <param name='subvolumeName'>
 /// The name of the subvolume.
 /// </param>
 public static SubvolumeModel BeginGetMetadata(this ISubvolumesOperations operations, string resourceGroupName, string accountName, string poolName, string volumeName, string subvolumeName)
 {
     return(operations.BeginGetMetadataAsync(resourceGroupName, accountName, poolName, volumeName, subvolumeName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Delete a subvolume
 /// </summary>
 /// <remarks>
 /// Delete subvolume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the NetApp account
 /// </param>
 /// <param name='poolName'>
 /// The name of the capacity pool
 /// </param>
 /// <param name='volumeName'>
 /// The name of the volume
 /// </param>
 /// <param name='subvolumeName'>
 /// The name of the subvolume.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task BeginDeleteAsync(this ISubvolumesOperations operations, string resourceGroupName, string accountName, string poolName, string volumeName, string subvolumeName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.BeginDeleteWithHttpMessagesAsync(resourceGroupName, accountName, poolName, volumeName, subvolumeName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Delete a subvolume
 /// </summary>
 /// <remarks>
 /// Delete subvolume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the NetApp account
 /// </param>
 /// <param name='poolName'>
 /// The name of the capacity pool
 /// </param>
 /// <param name='volumeName'>
 /// The name of the volume
 /// </param>
 /// <param name='subvolumeName'>
 /// The name of the subvolume.
 /// </param>
 public static void BeginDelete(this ISubvolumesOperations operations, string resourceGroupName, string accountName, string poolName, string volumeName, string subvolumeName)
 {
     operations.BeginDeleteAsync(resourceGroupName, accountName, poolName, volumeName, subvolumeName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Update a subvolume
 /// </summary>
 /// <remarks>
 /// Patch a subvolume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='body'>
 /// Subvolume object supplied in the body of the operation.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the NetApp account
 /// </param>
 /// <param name='poolName'>
 /// The name of the capacity pool
 /// </param>
 /// <param name='volumeName'>
 /// The name of the volume
 /// </param>
 /// <param name='subvolumeName'>
 /// The name of the subvolume.
 /// </param>
 public static SubvolumeInfo BeginUpdate(this ISubvolumesOperations operations, SubvolumePatchRequest body, string resourceGroupName, string accountName, string poolName, string volumeName, string subvolumeName)
 {
     return(operations.BeginUpdateAsync(body, resourceGroupName, accountName, poolName, volumeName, subvolumeName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// List of all the subvolumes
 /// </summary>
 /// <remarks>
 /// Returns a list of the subvolumes in the volume
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the NetApp account
 /// </param>
 /// <param name='poolName'>
 /// The name of the capacity pool
 /// </param>
 /// <param name='volumeName'>
 /// The name of the volume
 /// </param>
 public static IPage <SubvolumeInfo> ListByVolume(this ISubvolumesOperations operations, string resourceGroupName, string accountName, string poolName, string volumeName)
 {
     return(operations.ListByVolumeAsync(resourceGroupName, accountName, poolName, volumeName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Get the path associated with the subvolumeName
 /// </summary>
 /// <remarks>
 /// Returns the path associated with the subvolumeName provided
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the NetApp account
 /// </param>
 /// <param name='poolName'>
 /// The name of the capacity pool
 /// </param>
 /// <param name='volumeName'>
 /// The name of the volume
 /// </param>
 /// <param name='subvolumeName'>
 /// The name of the subvolume.
 /// </param>
 public static SubvolumeInfo Get(this ISubvolumesOperations operations, string resourceGroupName, string accountName, string poolName, string volumeName, string subvolumeName)
 {
     return(operations.GetAsync(resourceGroupName, accountName, poolName, volumeName, subvolumeName).GetAwaiter().GetResult());
 }