code: public Observable<PublicIPAddressInner> getVirtualMachineScaleSetPublicIPAddressAsync(String resourceGroupName, String virtualMachineScaleSetName, String virtualmachineIndex, String networkInterfaceName, String ipConfigurationName, String publicIpAddressName) {
          return getVirtualMachineScaleSetPublicIPAddressWithServiceResponseAsync(resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, ipConfigurationName, publicIpAddressName).map(new Func1<ServiceResponse<PublicIPAddressInner>, PublicIPAddressInner>() {
              @Override
              public PublicIPAddressInner call(ServiceResponse<PublicIPAddressInner> response) {
                  return response.body();
              }
          });
      }
docs: 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