/// <summary>
 /// The Put NetworkSecurityGroup operation creates/updates a network
 /// security groupin the specified resource group.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.INetworkSecurityGroupOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='networkSecurityGroupName'>
 /// Required. The name of the network security group.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the create/update Network Security
 /// Group operation
 /// </param>
 /// <returns>
 /// Response for PUT NetworkSecurityGroups Api servive call
 /// </returns>
 public static Task<NetworkSecurityGroupPutResponse> BeginCreateOrUpdatingAsync(this INetworkSecurityGroupOperations operations, string resourceGroupName, string networkSecurityGroupName, NetworkSecurityGroup parameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, networkSecurityGroupName, parameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put LocalNetworkGateway operation creates/updates a local
 /// network gateway in the specified resource group through Network
 /// resource provider.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.ILocalNetworkGatewayOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='localNetworkGatewayName'>
 /// Required. The name of the local network gateway.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the Begin Create or update Local
 /// Network Gateway operation through Network resource provider.
 /// </param>
 /// <returns>
 /// Response for PutLocalNetworkGateway Api servive call
 /// </returns>
 public static Task<LocalNetworkGatewayPutResponse> BeginCreateOrUpdatingAsync(this ILocalNetworkGatewayOperations operations, string resourceGroupName, string localNetworkGatewayName, LocalNetworkGateway parameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, localNetworkGatewayName, parameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put LoadBalancer operation creates/updates a LoadBalancer
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.ILoadBalancerOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='loadBalancerName'>
 /// Required. The name of the loadBalancer.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the create/delete LoadBalancer
 /// operation
 /// </param>
 /// <returns>
 /// Response of a PUT Load Balancer operation
 /// </returns>
 public static Task<LoadBalancerPutResponse> BeginCreateOrUpdatingAsync(this ILoadBalancerOperations operations, string resourceGroupName, string loadBalancerName, LoadBalancer parameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, loadBalancerName, parameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put RouteTable operation creates/updates a route tablein the
 /// specified resource group.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.IRouteTableOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='routeTableName'>
 /// Required. The name of the route table.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the create/update Route Table
 /// operation
 /// </param>
 /// <returns>
 /// Response for PUT RouteTables Api servive call
 /// </returns>
 public static Task<RouteTablePutResponse> BeginCreateOrUpdatingAsync(this IRouteTableOperations operations, string resourceGroupName, string routeTableName, RouteTable parameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, routeTableName, parameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put PublicIPAddress operation creates/updates a stable/dynamic
 /// PublicIP address
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.IPublicIpAddressOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='publicIpAddressName'>
 /// Required. The name of the publicIpAddress.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the create/update PublicIPAddress
 /// operation
 /// </param>
 /// <returns>
 /// Response for PutPublicIpAddress Api servive call
 /// </returns>
 public static Task<PublicIpAddressPutResponse> BeginCreateOrUpdatingAsync(this IPublicIpAddressOperations operations, string resourceGroupName, string publicIpAddressName, PublicIpAddress parameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, publicIpAddressName, parameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put Authorization operation creates/updates an authorization in
 /// thespecified ExpressRouteCircuits
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.IExpressRouteCircuitAuthorizationOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='circuitName'>
 /// Required. The name of the express route circuit.
 /// </param>
 /// <param name='authorizationName'>
 /// Required. The name of the authorization.
 /// </param>
 /// <param name='authorizationParameters'>
 /// Required. Parameters supplied to the create/update
 /// ExpressRouteCircuitAuthorization operation
 /// </param>
 /// <returns>
 /// Response for Put ExpressRouteCircuit Authorization Api service call
 /// </returns>
 public static Task<AuthorizationPutResponse> BeginCreateOrUpdatingAsync(this IExpressRouteCircuitAuthorizationOperations operations, string resourceGroupName, string circuitName, string authorizationName, ExpressRouteCircuitAuthorization authorizationParameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, circuitName, authorizationName, authorizationParameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put Subnet operation creates/updates a subnet in thespecified
 /// virtual network
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.ISubnetOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='virtualNetworkName'>
 /// Required. The name of the virtual network.
 /// </param>
 /// <param name='subnetName'>
 /// Required. The name of the subnet.
 /// </param>
 /// <param name='subnetParameters'>
 /// Required. Parameters supplied to the create/update Subnet operation
 /// </param>
 /// <returns>
 /// Response for PutSubnet Api service call
 /// </returns>
 public static Task<SubnetPutResponse> BeginCreateOrUpdatingAsync(this ISubnetOperations operations, string resourceGroupName, string virtualNetworkName, string subnetName, Subnet subnetParameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, virtualNetworkName, subnetName, subnetParameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put VirtualNetwork operation creates/updates a virtual network
 /// in the specified resource group.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.IVirtualNetworkOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='virtualNetworkName'>
 /// Required. The name of the virtual network.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the create/update Virtual Network
 /// operation
 /// </param>
 /// <returns>
 /// Response for PutVirtualNetworks API service calls.
 /// </returns>
 public static Task<VirtualNetworkPutResponse> BeginCreateOrUpdatingAsync(this IVirtualNetworkOperations operations, string resourceGroupName, string virtualNetworkName, VirtualNetwork parameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, virtualNetworkName, parameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put ApplicationGateway operation creates/updates a
 /// ApplicationGateway
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.IApplicationGatewayOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='applicationGatewayName'>
 /// Required. The name of the ApplicationGateway.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the create/delete
 /// ApplicationGateway operation
 /// </param>
 /// <returns>
 /// Response of Put ApplicationGateway operation
 /// </returns>
 public static Task<ApplicationGatewayPutResponse> BeginCreateOrUpdatingAsync(this IApplicationGatewayOperations operations, string resourceGroupName, string applicationGatewayName, ApplicationGateway parameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, applicationGatewayName, parameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put Pering operation creates/updates an peering in the
 /// specified ExpressRouteCircuits
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.IExpressRouteCircuitPeeringOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='circuitName'>
 /// Required. The name of the express route circuit.
 /// </param>
 /// <param name='peeringName'>
 /// Required. The name of the peering.
 /// </param>
 /// <param name='peeringParameters'>
 /// Required. Parameters supplied to the create/update
 /// ExpressRouteCircuit Peering operation
 /// </param>
 /// <returns>
 /// Response for Put ExpressRouteCircuit Peering Api service call
 /// </returns>
 public static Task<ExpressRouteCircuitPeeringPutResponse> BeginCreateOrUpdatingAsync(this IExpressRouteCircuitPeeringOperations operations, string resourceGroupName, string circuitName, string peeringName, ExpressRouteCircuitPeering peeringParameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, circuitName, peeringName, peeringParameters, CancellationToken.None);
 }
 /// <summary>
 /// The Put network security rule operation creates/updates a security
 /// rule in the specified network security group
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Network.ISecurityRuleOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group.
 /// </param>
 /// <param name='networkSecurityGroupName'>
 /// Required. The name of the network security group.
 /// </param>
 /// <param name='securityRuleName'>
 /// Required. The name of the security rule.
 /// </param>
 /// <param name='securityRuleParameters'>
 /// Required. Parameters supplied to the create/update network security
 /// rule operation
 /// </param>
 /// <returns>
 /// Response for PUT SecurityRule Api service call
 /// </returns>
 public static Task<SecurityRulePutResponse> BeginCreateOrUpdatingAsync(this ISecurityRuleOperations operations, string resourceGroupName, string networkSecurityGroupName, string securityRuleName, SecurityRule securityRuleParameters)
 {
     return operations.BeginCreateOrUpdatingAsync(resourceGroupName, networkSecurityGroupName, securityRuleName, securityRuleParameters, CancellationToken.None);
 }