/// <summary>
 /// The Remove Dedicated Circuit Link Authorization operation deletes
 /// an existing dedicated circuit link.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. Service key representing the dedicated circuit.
 /// </param>
 /// <param name='authId'>
 /// Required. The GUID representing the authorization
 /// </param>
 /// <returns>
 /// A standard service response including an HTTP status code and
 /// request ID.
 /// </returns>
 public static ExpressRouteOperationResponse BeginRemove(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IDedicatedCircuitLinkAuthorizationOperations)s).BeginRemoveAsync(serviceKey, authId);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Updates the specified link authorization for the specified
 /// dedicated circuit.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. The service key representing the circuit.
 /// </param>
 /// <param name='authId'>
 /// Required. The GUID representing the authorization
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the Update Dedicated Circuit link
 /// authorization operation.
 /// </param>
 /// <returns>
 /// Update link authorization operation response.
 /// </returns>
 public static DedicatedCircuitLinkAuthorizationUpdateResponse Update(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId, DedicatedCircuitLinkAuthorizationUpdateParameters parameters)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IDedicatedCircuitLinkAuthorizationOperations)s).UpdateAsync(serviceKey, authId, parameters);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Lists the specified link authorization for the specified dedicated
 /// circuit.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. The service key representing the circuit.
 /// </param>
 /// <returns>
 /// List link authorization operation response.
 /// </returns>
 public static DedicatedCircuitLinkAuthorizationListResponse List(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IDedicatedCircuitLinkAuthorizationOperations)s).ListAsync(serviceKey);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// The Get Express Route operation status gets information on the
 /// status of Express Route operations in Windows Azure.  (see
 /// http://msdn.microsoft.com/en-us/library/windowsazure/jj154112.aspx
 /// for more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='operationId'>
 /// Required. The id  of the operation.
 /// </param>
 /// <returns>
 /// The response body contains the status of the specified asynchronous
 /// operation, indicating whether it has succeeded, is inprogress, or
 /// has failed. Note that this status is distinct from the HTTP status
 /// code returned for the Get Operation Status operation itself.  If
 /// the asynchronous operation succeeded, the response body includes
 /// the HTTP status code for the successful request.  If the
 /// asynchronous operation failed, the response body includes the HTTP
 /// status code for the failed request, and also includes error
 /// information regarding the failure.
 /// </returns>
 public static ExpressRouteOperationStatusResponse GetOperationStatus(this IDedicatedCircuitLinkAuthorizationOperations operations, string operationId)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IDedicatedCircuitLinkAuthorizationOperations)s).GetOperationStatusAsync(operationId);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Initializes a new instance of the ExpressRouteManagementClient
 /// class.
 /// </summary>
 /// <param name='httpClient'>
 /// The Http client
 /// </param>
 public ExpressRouteManagementClient(HttpClient httpClient)
     : base(httpClient)
 {
     this._authorizedDedicatedCircuits   = new AuthorizedDedicatedCircuitOperations(this);
     this._borderGatewayProtocolPeerings = new BorderGatewayProtocolPeeringOperations(this);
     this._crossConnections = new CrossConnectionOperations(this);
     this._dedicatedCircuitLinkAuthorizationMicrosoftIds = new DedicatedCircuitLinkAuthorizationMicrosoftIdOperations(this);
     this._dedicatedCircuitLinkAuthorizations            = new DedicatedCircuitLinkAuthorizationOperations(this);
     this._dedicatedCircuitLinks            = new DedicatedCircuitLinkOperations(this);
     this._dedicatedCircuits                = new DedicatedCircuitOperations(this);
     this._dedicatedCircuitServiceProviders = new DedicatedCircuitServiceProviderOperations(this);
     this._apiVersion = "2011-10-01";
     this._longRunningOperationInitialTimeout = -1;
     this._longRunningOperationRetryTimeout   = -1;
     this.HttpClient.Timeout = TimeSpan.FromSeconds(300);
 }
 /// <summary>
 /// The Remove Dedicated Circuit Link Authorization operation deletes
 /// an existing dedicated circuit link.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. Service key representing the dedicated circuit.
 /// </param>
 /// <param name='authId'>
 /// Required. The GUID representing the authorization
 /// </param>
 /// <returns>
 /// A standard service response including an HTTP status code and
 /// request ID.
 /// </returns>
 public static Task <ExpressRouteOperationResponse> BeginRemoveAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId)
 {
     return(operations.BeginRemoveAsync(serviceKey, authId, CancellationToken.None));
 }
 /// <summary>
 /// Updates the specified link authorization for the specified
 /// dedicated circuit.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. The service key representing the circuit.
 /// </param>
 /// <param name='authId'>
 /// Required. The GUID representing the authorization
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the Update Dedicated Circuit link
 /// authorization operation.
 /// </param>
 /// <returns>
 /// Update link authorization operation response.
 /// </returns>
 public static Task <DedicatedCircuitLinkAuthorizationUpdateResponse> UpdateAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId, DedicatedCircuitLinkAuthorizationUpdateParameters parameters)
 {
     return(operations.UpdateAsync(serviceKey, authId, parameters, CancellationToken.None));
 }
 /// <summary>
 /// Gets the specified link authorization for the specified dedicated
 /// circuit.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. The service key representing the circuit.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the new Dedicated Circuit link
 /// authorization operation.
 /// </param>
 /// <returns>
 /// Get link authorization operation response.
 /// </returns>
 public static Task <DedicatedCircuitLinkAuthorizationNewResponse> NewAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, DedicatedCircuitLinkAuthorizationNewParameters parameters)
 {
     return(operations.NewAsync(serviceKey, parameters, CancellationToken.None));
 }
 /// <summary>
 /// Lists the specified link authorization for the specified dedicated
 /// circuit.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. The service key representing the circuit.
 /// </param>
 /// <returns>
 /// List link authorization operation response.
 /// </returns>
 public static Task <DedicatedCircuitLinkAuthorizationListResponse> ListAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey)
 {
     return(operations.ListAsync(serviceKey, CancellationToken.None));
 }
 /// <summary>
 /// Gets the link authorization for the specified dedicated circuit.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. The service key representing the circuit.
 /// </param>
 /// <param name='authId'>
 /// Required. The GUID representing the authorization
 /// </param>
 /// <returns>
 /// Get link authorization operation response.
 /// </returns>
 public static Task <DedicatedCircuitLinkAuthorizationGetResponse> GetAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId)
 {
     return(operations.GetAsync(serviceKey, authId, CancellationToken.None));
 }
 /// <summary>
 /// The Get Express Route operation status gets information on the
 /// status of Express Route operations in Windows Azure.  (see
 /// http://msdn.microsoft.com/en-us/library/windowsazure/jj154112.aspx
 /// for more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations.
 /// </param>
 /// <param name='operationId'>
 /// Required. The id  of the operation.
 /// </param>
 /// <returns>
 /// The response body contains the status of the specified asynchronous
 /// operation, indicating whether it has succeeded, is inprogress, or
 /// has failed. Note that this status is distinct from the HTTP status
 /// code returned for the Get Operation Status operation itself.  If
 /// the asynchronous operation succeeded, the response body includes
 /// the HTTP status code for the successful request.  If the
 /// asynchronous operation failed, the response body includes the HTTP
 /// status code for the failed request, and also includes error
 /// information regarding the failure.
 /// </returns>
 public static Task <ExpressRouteOperationStatusResponse> GetOperationStatusAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string operationId)
 {
     return(operations.GetOperationStatusAsync(operationId, CancellationToken.None));
 }