/// <summary>
 /// List storage accounts for which one or more import or export jobs have
 /// been created for a subscription.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ListAccountsResponse> ListAccountsAsync(this IStorageImportExportLib operations, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListAccountsWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// List locations to which you can ship the disks associated with an import
 /// or export job. A location is a Microsoft data center region.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='originlocation'>
 /// The location for which alternate locations are being queried. If this
 /// parameter is not specified, all locations will be returned.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ListLocationsResponse> ListLocationsAsync(this IStorageImportExportLib operations, string originlocation = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListLocationsWithHttpMessagesAsync(originlocation, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Update specific properties of a job. You can call this operation to notify
 /// the Import/Export service that the hard drives comprising the import or
 /// export job have been shipped to the Microsoft data center. An Update Job
 /// Properties request can also be used to cancel an existing job.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='storageAccountName'>
 /// The name of the storage account where data will be imported to or exported
 /// from.
 /// </param>
 /// <param name='jobName'>
 /// The name of the import/export job.
 /// </param>
 /// <param name='patchJobParameters'>
 /// </param>
 /// <param name='ifModifiedSince'>
 /// A DateTime value. Specify this header to perform the operation only if the
 /// resource has been modified since the specified time
 /// </param>
 /// <param name='ifUnmodifiedSince'>
 /// A DateTime value. Specify this header to perform the operation only if the
 /// resource has not been modified since the specified date/time.
 /// </param>
 /// <param name='ifMatch'>
 /// An ETag value. Specify this header to perform the operation only if the
 /// resource's ETag matches the value specified.
 /// </param>
 /// <param name='ifNoneMatch'>
 /// An ETag value, or the wildcard character (*). Specify this header to
 /// perform the operation only if the resource's ETag does not match the
 /// value specified.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <int?> PatchJobAsync(this IStorageImportExportLib operations, string storageAccountName, string jobName, PatchJobParameters patchJobParameters, string ifModifiedSince = default(string), string ifUnmodifiedSince = default(string), string ifMatch = default(string), string ifNoneMatch = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PatchJobWithHttpMessagesAsync(storageAccountName, jobName, patchJobParameters, ifModifiedSince, ifUnmodifiedSince, ifMatch, ifNoneMatch, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// List active and completed jobs for a storage account in a subscription
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='storageAccountName'>
 /// The name of the storage account where data will be imported to or exported
 /// from.
 /// </param>
 /// <param name='type'>
 /// Indicates whether this is an import job or an export job. . Possible
 /// values include: 'Import', 'Export'
 /// </param>
 /// <param name='fromParameter'>
 /// Specifies that only jobs created at the specified time or later should be
 /// returned.
 /// </param>
 /// <param name='to'>
 /// Specifies that only jobs created at the specified time or earlier should
 /// be returned.
 /// </param>
 /// <param name='states'>
 /// Optional. Specifies that only jobs whose state matches the specified value
 /// should be returned. Valid values are Creating, Shipping, Transferring,
 /// Packaging, and Completed. Values are case-sensitive. To specify multiple
 /// states, separate values with a comma, without spaces.
 /// </param>
 /// <param name='top'>
 /// An integer value that specifies how many jobs should be returned.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ListJobsResponse> ListJobsAsync(this IStorageImportExportLib operations, string storageAccountName, JobType?type = default(JobType?), string fromParameter = default(string), string to = default(string), string states = default(string), int?top = default(int?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListJobsWithHttpMessagesAsync(storageAccountName, type, fromParameter, to, states, top, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// List storage accounts for which one or more import or export jobs have
 /// been created for a subscription.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 public static ListAccountsResponse ListAccounts(this IStorageImportExportLib operations)
 {
     return(Task.Factory.StartNew(s => ((IStorageImportExportLib)s).ListAccountsAsync(), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Update specific properties of a job. You can call this operation to notify
 /// the Import/Export service that the hard drives comprising the import or
 /// export job have been shipped to the Microsoft data center. An Update Job
 /// Properties request can also be used to cancel an existing job.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='storageAccountName'>
 /// The name of the storage account where data will be imported to or exported
 /// from.
 /// </param>
 /// <param name='jobName'>
 /// The name of the import/export job.
 /// </param>
 /// <param name='patchJobParameters'>
 /// </param>
 /// <param name='ifModifiedSince'>
 /// A DateTime value. Specify this header to perform the operation only if the
 /// resource has been modified since the specified time
 /// </param>
 /// <param name='ifUnmodifiedSince'>
 /// A DateTime value. Specify this header to perform the operation only if the
 /// resource has not been modified since the specified date/time.
 /// </param>
 /// <param name='ifMatch'>
 /// An ETag value. Specify this header to perform the operation only if the
 /// resource's ETag matches the value specified.
 /// </param>
 /// <param name='ifNoneMatch'>
 /// An ETag value, or the wildcard character (*). Specify this header to
 /// perform the operation only if the resource's ETag does not match the
 /// value specified.
 /// </param>
 public static int?PatchJob(this IStorageImportExportLib operations, string storageAccountName, string jobName, PatchJobParameters patchJobParameters, string ifModifiedSince = default(string), string ifUnmodifiedSince = default(string), string ifMatch = default(string), string ifNoneMatch = default(string))
 {
     return(Task.Factory.StartNew(s => ((IStorageImportExportLib)s).PatchJobAsync(storageAccountName, jobName, patchJobParameters, ifModifiedSince, ifUnmodifiedSince, ifMatch, ifNoneMatch), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// List locations to which you can ship the disks associated with an import
 /// or export job. A location is a Microsoft data center region.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='originlocation'>
 /// The location for which alternate locations are being queried. If this
 /// parameter is not specified, all locations will be returned.
 /// </param>
 public static ListLocationsResponse ListLocations(this IStorageImportExportLib operations, string originlocation = default(string))
 {
     return(Task.Factory.StartNew(s => ((IStorageImportExportLib)s).ListLocationsAsync(originlocation), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// List active and completed jobs for a storage account in a subscription
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='storageAccountName'>
 /// The name of the storage account where data will be imported to or exported
 /// from.
 /// </param>
 /// <param name='type'>
 /// Indicates whether this is an import job or an export job. . Possible
 /// values include: 'Import', 'Export'
 /// </param>
 /// <param name='fromParameter'>
 /// Specifies that only jobs created at the specified time or later should be
 /// returned.
 /// </param>
 /// <param name='to'>
 /// Specifies that only jobs created at the specified time or earlier should
 /// be returned.
 /// </param>
 /// <param name='states'>
 /// Optional. Specifies that only jobs whose state matches the specified value
 /// should be returned. Valid values are Creating, Shipping, Transferring,
 /// Packaging, and Completed. Values are case-sensitive. To specify multiple
 /// states, separate values with a comma, without spaces.
 /// </param>
 /// <param name='top'>
 /// An integer value that specifies how many jobs should be returned.
 /// </param>
 public static ListJobsResponse ListJobs(this IStorageImportExportLib operations, string storageAccountName, JobType?type = default(JobType?), string fromParameter = default(string), string to = default(string), string states = default(string), int?top = default(int?))
 {
     return(Task.Factory.StartNew(s => ((IStorageImportExportLib)s).ListJobsAsync(storageAccountName, type, fromParameter, to, states, top), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }