code: public Observable<VirtualMachineExtensionInner> createOrUpdateAsync(String resourceGroupName, String vmName, String vmExtensionName, VirtualMachineExtensionInner extensionParameters) {
          return createOrUpdateWithServiceResponseAsync(resourceGroupName, vmName, vmExtensionName, extensionParameters).map(new Func1<ServiceResponse<VirtualMachineExtensionInner>, VirtualMachineExtensionInner>() {
              @Override
              public VirtualMachineExtensionInner call(ServiceResponse<VirtualMachineExtensionInner> response) {
                  return response.body();
              }
          });
      }
docs: The operation to create or update the extension.
  
  @param resourceGroupName The name of the resource group.
  @param vmName The name of the virtual machine where the extension should be created or updated.
  @param vmExtensionName The name of the virtual machine extension.
  @param extensionParameters Parameters supplied to the Create Virtual Machine Extension operation.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable for the request