/// <summary>
 /// Gets information about all public IP addresses on a virtual machine scale
 /// set level.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='virtualMachineScaleSetName'>
 /// The name of the virtual machine scale set.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IPage <PublicIPAddress> > ListVirtualMachineScaleSetPublicIPAddressesAsync(this IPublicIPAddressesOperations operations, string resourceGroupName, string virtualMachineScaleSetName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListVirtualMachineScaleSetPublicIPAddressesWithHttpMessagesAsync(resourceGroupName, virtualMachineScaleSetName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets all public IP addresses in a resource group.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 public static IPage <PublicIPAddress> List(this IPublicIPAddressesOperations operations, string resourceGroupName)
 {
     return(operations.ListAsync(resourceGroupName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets information about all public IP addresses on a virtual machine scale
 /// set level.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='virtualMachineScaleSetName'>
 /// The name of the virtual machine scale set.
 /// </param>
 public static IPage <PublicIPAddress> ListVirtualMachineScaleSetPublicIPAddresses(this IPublicIPAddressesOperations operations, string resourceGroupName, string virtualMachineScaleSetName)
 {
     return(operations.ListVirtualMachineScaleSetPublicIPAddressesAsync(resourceGroupName, virtualMachineScaleSetName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets information about all public IP addresses on a cloud service level.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='cloudServiceName'>
 /// The name of the cloud service.
 /// </param>
 public static IPage <PublicIPAddress> ListCloudServicePublicIPAddresses(this IPublicIPAddressesOperations operations, string resourceGroupName, string cloudServiceName)
 {
     return(operations.ListCloudServicePublicIPAddressesAsync(resourceGroupName, cloudServiceName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets all the public IP addresses in a subscription.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 public static IPage <PublicIPAddress> ListAll(this IPublicIPAddressesOperations operations)
 {
     return(operations.ListAllAsync().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Creates or updates a static or dynamic public IP address.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='publicIpAddressName'>
 /// The name of the public IP address.
 /// </param>
 /// <param name='parameters'>
 /// Parameters supplied to the create or update public IP address operation.
 /// </param>
 public static PublicIPAddress CreateOrUpdate(this IPublicIPAddressesOperations operations, string resourceGroupName, string publicIpAddressName, PublicIPAddress parameters)
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, publicIpAddressName, parameters).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Updates public IP address tags.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='publicIpAddressName'>
 /// The name of the public IP address.
 /// </param>
 /// <param name='parameters'>
 /// Parameters supplied to update public IP address tags.
 /// </param>
 public static PublicIPAddress UpdateTags(this IPublicIPAddressesOperations operations, string resourceGroupName, string publicIpAddressName, TagsObject parameters)
 {
     return(operations.UpdateTagsAsync(resourceGroupName, publicIpAddressName, parameters).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets the specified public IP address in a specified resource group.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='publicIpAddressName'>
 /// The name of the public IP address.
 /// </param>
 /// <param name='expand'>
 /// Expands referenced resources.
 /// </param>
 public static PublicIPAddress Get(this IPublicIPAddressesOperations operations, string resourceGroupName, string publicIpAddressName, string expand = default(string))
 {
     return(operations.GetAsync(resourceGroupName, publicIpAddressName, expand).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes the specified public IP address.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='publicIpAddressName'>
 /// The name of the public IP address.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteAsync(this IPublicIPAddressesOperations operations, string resourceGroupName, string publicIpAddressName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteWithHttpMessagesAsync(resourceGroupName, publicIpAddressName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Deletes the specified public IP address.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='publicIpAddressName'>
 /// The name of the public IP address.
 /// </param>
 public static void Delete(this IPublicIPAddressesOperations operations, string resourceGroupName, string publicIpAddressName)
 {
     operations.DeleteAsync(resourceGroupName, publicIpAddressName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Get the specified public IP address in a cloud service.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='cloudServiceName'>
 /// The name of the cloud service.
 /// </param>
 /// <param name='roleInstanceName'>
 /// The role instance name.
 /// </param>
 /// <param name='networkInterfaceName'>
 /// The name of the network interface.
 /// </param>
 /// <param name='ipConfigurationName'>
 /// The name of the IP configuration.
 /// </param>
 /// <param name='publicIpAddressName'>
 /// The name of the public IP Address.
 /// </param>
 /// <param name='expand'>
 /// Expands referenced resources.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <PublicIPAddress> GetCloudServicePublicIPAddressAsync(this IPublicIPAddressesOperations operations, string resourceGroupName, string cloudServiceName, string roleInstanceName, string networkInterfaceName, string ipConfigurationName, string publicIpAddressName, string expand = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetCloudServicePublicIPAddressWithHttpMessagesAsync(resourceGroupName, cloudServiceName, roleInstanceName, networkInterfaceName, ipConfigurationName, publicIpAddressName, expand, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Get the specified public IP address in a cloud service.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='cloudServiceName'>
 /// The name of the cloud service.
 /// </param>
 /// <param name='roleInstanceName'>
 /// The role instance name.
 /// </param>
 /// <param name='networkInterfaceName'>
 /// The name of the network interface.
 /// </param>
 /// <param name='ipConfigurationName'>
 /// The name of the IP configuration.
 /// </param>
 /// <param name='publicIpAddressName'>
 /// The name of the public IP Address.
 /// </param>
 /// <param name='expand'>
 /// Expands referenced resources.
 /// </param>
 public static PublicIPAddress GetCloudServicePublicIPAddress(this IPublicIPAddressesOperations operations, string resourceGroupName, string cloudServiceName, string roleInstanceName, string networkInterfaceName, string ipConfigurationName, string publicIpAddressName, string expand = default(string))
 {
     return(operations.GetCloudServicePublicIPAddressAsync(resourceGroupName, cloudServiceName, roleInstanceName, networkInterfaceName, ipConfigurationName, publicIpAddressName, expand).GetAwaiter().GetResult());
 }