/// <summary>
 /// Gets the list of details for all published applications from the
 /// collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <returns>
 /// Definition for result of GetPublishedApplicationList operation.
 /// </returns>
 public static GetPublishedApplicationListResult List(this IPublishingOperations operations, string collectionName)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IPublishingOperations)s).ListAsync(collectionName);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Unpublishes published applications matching the given list of
 /// application aliases (short unique names) from the collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <param name='aliasesList'>
 /// Required. List of application aliases to be unpublished
 /// </param>
 /// <returns>
 /// Definition for result of UnpublishApplications operation.
 /// </returns>
 public static UnpublishApplicationsResult Unpublish(this IPublishingOperations operations, string collectionName, AliasesListParameter aliasesList)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IPublishingOperations)s).UnpublishAsync(collectionName, aliasesList);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Sets a published application matching the given alias (short unique
 /// name) in the collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <param name='alias'>
 /// Required. Alias of published application
 /// </param>
 /// <param name='applicationDetails'>
 /// Required. New details for the application
 /// </param>
 /// <returns>
 /// Definition for result of ModifyApplicaton operation.
 /// </returns>
 public static ModifyApplicationResult ModifyApplication(this IPublishingOperations operations, string collectionName, string alias, ApplicationDetailsParameter applicationDetails)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IPublishingOperations)s).ModifyApplicationAsync(collectionName, alias, applicationDetails);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Initializes a new instance of the RemoteAppManagementClient class.
 /// </summary>
 /// <param name='httpClient'>
 /// The Http client
 /// </param>
 public RemoteAppManagementClient(HttpClient httpClient)
     : base(httpClient)
 {
     this._account          = new AccountsOperations(this);
     this._collections      = new CollectionOperations(this);
     this._operationResults = new OperationResultOperations(this);
     this._principals       = new PrincipalOperations(this);
     this._publishing       = new PublishingOperations(this);
     this._templateImages   = new TemplateImageOperations(this);
     this._vNet             = new VNetOperations(this);
     this._rdfeNamespace    = "remoteapp";
     this._apiVersion       = "2014-09-01";
     this._longRunningOperationInitialTimeout = -1;
     this._longRunningOperationRetryTimeout   = -1;
     this.HttpClient.Timeout = TimeSpan.FromSeconds(300);
 }
 /// <summary>
 /// Gets the details of a published application with given alias (short
 /// unique name) from the collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <param name='alias'>
 /// Required. Alias of published application
 /// </param>
 /// <returns>
 /// Definition for result of GetPublishedApplication operation.
 /// </returns>
 public static Task <GetPublishedApplicationResult> GetAsync(this IPublishingOperations operations, string collectionName, string alias)
 {
     return(operations.GetAsync(collectionName, alias, CancellationToken.None));
 }
 /// <summary>
 /// Unpublishes all published applications from the collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <returns>
 /// Definition for result of UnpublishApplications operation.
 /// </returns>
 public static Task <UnpublishApplicationsResult> UnpublishAllAsync(this IPublishingOperations operations, string collectionName)
 {
     return(operations.UnpublishAllAsync(collectionName, CancellationToken.None));
 }
 /// <summary>
 /// Unpublishes published applications matching the given list of
 /// application aliases (short unique names) from the collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <param name='aliasesList'>
 /// Required. List of application aliases to be unpublished
 /// </param>
 /// <returns>
 /// Definition for result of UnpublishApplications operation.
 /// </returns>
 public static Task <UnpublishApplicationsResult> UnpublishAsync(this IPublishingOperations operations, string collectionName, AliasesListParameter aliasesList)
 {
     return(operations.UnpublishAsync(collectionName, aliasesList, CancellationToken.None));
 }
 /// <summary>
 /// Gets the list of all start menu applications from the collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <returns>
 /// Definition for result of GetStartMenuApplicationList operation.
 /// </returns>
 public static Task <GetStartMenuApplicationListResult> StartMenuApplicationListAsync(this IPublishingOperations operations, string collectionName)
 {
     return(operations.StartMenuApplicationListAsync(collectionName, CancellationToken.None));
 }
 /// <summary>
 /// Publishes remote applications with given application details in the
 /// collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <param name='applicationDetailsList'>
 /// Required. List of publishing details
 /// </param>
 /// <returns>
 /// Definition for result of PublishApplications operation.
 /// </returns>
 public static Task <PublishApplicationsResult> PublishApplicationsAsync(this IPublishingOperations operations, string collectionName, ApplicationDetailsListParameter applicationDetailsList)
 {
     return(operations.PublishApplicationsAsync(collectionName, applicationDetailsList, CancellationToken.None));
 }
 /// <summary>
 /// Sets a published application matching the given alias (short unique
 /// name) in the collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <param name='alias'>
 /// Required. Alias of published application
 /// </param>
 /// <param name='applicationDetails'>
 /// Required. New details for the application
 /// </param>
 /// <returns>
 /// Definition for result of ModifyApplicaton operation.
 /// </returns>
 public static Task <ModifyApplicationResult> ModifyApplicationAsync(this IPublishingOperations operations, string collectionName, string alias, ApplicationDetailsParameter applicationDetails)
 {
     return(operations.ModifyApplicationAsync(collectionName, alias, applicationDetails, CancellationToken.None));
 }