code: public Observable<ProjectInner> createOrUpdateAsync(String groupName, String serviceName, String projectName, ProjectInner parameters) {
          return createOrUpdateWithServiceResponseAsync(groupName, serviceName, projectName, parameters).map(new Func1<ServiceResponse<ProjectInner>, ProjectInner>() {
              @Override
              public ProjectInner call(ServiceResponse<ProjectInner> response) {
                  return response.body();
              }
          });
      }
docs: Create or update project.
  The project resource is a nested resource representing a stored migration project. The PUT method creates a new project or updates an existing one.
  
  @param groupName Name of the resource group
  @param serviceName Name of the service
  @param projectName Name of the project
  @param parameters Information about the project
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the ProjectInner object