public Observable<ServiceResponse<PublicIPAddressInner>> getVirtualMachineScaleSetPublicIPAddressWithServiceResponseAsync(String resourceGroupName, String virtualMachineScaleSetName, String virtualmachineIndex, String networkInterfaceName, String ipConfigurationName, String publicIpAddressName) {
        if (resourceGroupName == null) {
            throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
        }
        if (virtualMachineScaleSetName == null) {
            throw new IllegalArgumentException("Parameter virtualMachineScaleSetName is required and cannot be null.");
        }
        if (virtualmachineIndex == null) {
            throw new IllegalArgumentException("Parameter virtualmachineIndex is required and cannot be null.");
        }
        if (networkInterfaceName == null) {
            throw new IllegalArgumentException("Parameter networkInterfaceName is required and cannot be null.");
        }
        if (ipConfigurationName == null) {
            throw new IllegalArgumentException("Parameter ipConfigurationName is required and cannot be null.");
        }
        if (publicIpAddressName == null) {
            throw new IllegalArgumentException("Parameter publicIpAddressName is required and cannot be null.");
        }
        if (this.client.subscriptionId() == null) {
            throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
        }
        final String apiVersion = "2017-03-30";
        final String expand = null;
        return service.getVirtualMachineScaleSetPublicIPAddress(resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, ipConfigurationName, publicIpAddressName, this.client.subscriptionId(), apiVersion, expand, this.client.acceptLanguage(), this.client.userAgent())
            .flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponse<PublicIPAddressInner>>>() {
                @Override
                public Observable<ServiceResponse<PublicIPAddressInner>> call(Response<ResponseBody> response) {
                    try {
                        ServiceResponse<PublicIPAddressInner> clientResponse = getVirtualMachineScaleSetPublicIPAddressDelegate(response);
                        return Observable.just(clientResponse);
                    } catch (Throwable t) {
                        return Observable.error(t);
                    }
                }
            });
    }
public Observable < ServiceResponse < PublicIPAddressInner > > getVirtualMachineScaleSetPublicIPAddressWithServiceResponseAsync ( String resourceGroupName , String virtualMachineScaleSetName , String virtualmachineIndex , String networkInterfaceName , String ipConfigurationName , String publicIpAddressName ) { if ( resourceGroupName == null ) { throw new IllegalArgumentException ( "Parameter resourceGroupName is required and cannot be null." ) ; } if ( virtualMachineScaleSetName == null ) { throw new IllegalArgumentException ( "Parameter virtualMachineScaleSetName is required and cannot be null." ) ; } if ( virtualmachineIndex == null ) { throw new IllegalArgumentException ( "Parameter virtualmachineIndex is required and cannot be null." ) ; } if ( networkInterfaceName == null ) { throw new IllegalArgumentException ( "Parameter networkInterfaceName is required and cannot be null." ) ; } if ( ipConfigurationName == null ) { throw new IllegalArgumentException ( "Parameter ipConfigurationName is required and cannot be null." ) ; } if ( publicIpAddressName == null ) { throw new IllegalArgumentException ( "Parameter publicIpAddressName is required and cannot be null." ) ; } if ( this . client . subscriptionId ( ) == null ) { throw new IllegalArgumentException ( "Parameter this.client.subscriptionId() is required and cannot be null." ) ; } final String apiVersion = "2017-03-30" ; final String expand = null ; return service . getVirtualMachineScaleSetPublicIPAddress ( resourceGroupName , virtualMachineScaleSetName , virtualmachineIndex , networkInterfaceName , ipConfigurationName , publicIpAddressName , this . client . subscriptionId ( ) , apiVersion , expand , this . client . acceptLanguage ( ) , this . client . userAgent ( ) ) . flatMap ( new Func1 < Response < ResponseBody > , Observable < ServiceResponse < PublicIPAddressInner > > > ( ) { @ Override public Observable < ServiceResponse < PublicIPAddressInner > > call ( Response < ResponseBody > response ) { try { ServiceResponse < PublicIPAddressInner > clientResponse = getVirtualMachineScaleSetPublicIPAddressDelegate ( response ) ; return Observable . just ( clientResponse ) ; } catch ( Throwable t ) { return Observable . error ( t ) ; } } } ) ; }
Get the specified public IP address in a virtual machine scale set.

@param resourceGroupName The name of the resource group.
@param virtualMachineScaleSetName The name of the virtual machine scale set.
@param virtualmachineIndex The virtual machine index.
@param networkInterfaceName The name of the network interface.
@param ipConfigurationName The name of the IP configuration.
@param publicIpAddressName The name of the public IP Address.
@throws IllegalArgumentException thrown if parameters fail the validation
@return the observable to the PublicIPAddressInner object