code: public ServiceFuture<VirtualMachineExtensionInner> createOrUpdateAsync(String resourceGroupName, String vmName, String vmExtensionName, VirtualMachineExtensionInner extensionParameters, final ServiceCallback<VirtualMachineExtensionInner> serviceCallback) {
          return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(resourceGroupName, vmName, vmExtensionName, extensionParameters), serviceCallback);
      }
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.
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object