code: public ServiceFuture<DataMigrationServiceInner> createOrUpdateAsync(String groupName, String serviceName, DataMigrationServiceInner parameters, final ServiceCallback<DataMigrationServiceInner> serviceCallback) {
          return ServiceFuture.fromResponse(createOrUpdateWithServiceResponseAsync(groupName, serviceName, parameters), serviceCallback);
      }
docs: Create or update DMS Instance.
  The services resource is the top-level resource that represents the Data Migration Service. The PUT method creates a new service or updates an existing one. When a service is updated, existing child resources (i.e. tasks) are unaffected. Services currently support a single kind, "vm", which refers to a VM-based service, although other kinds may be added in the future. This method can change the kind, SKU, and network of the service, but if tasks are currently running (i.e. the service is busy), this will fail with 400 Bad Request ("ServiceIsBusy"). The provider will reply when successful with 200 OK or 201 Created. Long-running operations use the provisioningState property.
  
  @param groupName Name of the resource group
  @param serviceName Name of the service
  @param parameters Information about the service
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object