public Builder mergeFrom(
          com.google.storagetransfer.v1.proto.TransferTypes.TransferSpec other) {
        if (other
            == com.google.storagetransfer.v1.proto.TransferTypes.TransferSpec.getDefaultInstance())
          return this;
        if (other.hasObjectConditions()) {
          mergeObjectConditions(other.getObjectConditions());
        }
        if (other.hasTransferOptions()) {
          mergeTransferOptions(other.getTransferOptions());
        }
        if (other.hasTransferManifest()) {
          mergeTransferManifest(other.getTransferManifest());
        }
        if (!other.getSourceAgentPoolName().isEmpty()) {
          sourceAgentPoolName_ = other.sourceAgentPoolName_;
          bitField0_ |= 0x00002000;
          onChanged();
        }
        if (!other.getSinkAgentPoolName().isEmpty()) {
          sinkAgentPoolName_ = other.sinkAgentPoolName_;
          bitField0_ |= 0x00004000;
          onChanged();
        }
        switch (other.getDataSinkCase()) {
          case GCS_DATA_SINK:
            {
              mergeGcsDataSink(other.getGcsDataSink());
              break;
            }
          case POSIX_DATA_SINK:
            {
              mergePosixDataSink(other.getPosixDataSink());
              break;
            }
          case DATASINK_NOT_SET:
            {
              break;
            }
        }
        switch (other.getDataSourceCase()) {
          case GCS_DATA_SOURCE:
            {
              mergeGcsDataSource(other.getGcsDataSource());
              break;
            }
          case AWS_S3_DATA_SOURCE:
            {
              mergeAwsS3DataSource(other.getAwsS3DataSource());
              break;
            }
          case HTTP_DATA_SOURCE:
            {
              mergeHttpDataSource(other.getHttpDataSource());
              break;
            }
          case POSIX_DATA_SOURCE:
            {
              mergePosixDataSource(other.getPosixDataSource());
              break;
            }
          case AZURE_BLOB_STORAGE_DATA_SOURCE:
            {
              mergeAzureBlobStorageDataSource(other.getAzureBlobStorageDataSource());
              break;
            }
          case AWS_S3_COMPATIBLE_DATA_SOURCE:
            {
              mergeAwsS3CompatibleDataSource(other.getAwsS3CompatibleDataSource());
              break;
            }
          case HDFS_DATA_SOURCE:
            {
              mergeHdfsDataSource(other.getHdfsDataSource());
              break;
            }
          case DATASOURCE_NOT_SET:
            {
              break;
            }
        }
        switch (other.getIntermediateDataLocationCase()) {
          case GCS_INTERMEDIATE_DATA_LOCATION:
            {
              mergeGcsIntermediateDataLocation(other.getGcsIntermediateDataLocation());
              break;
            }
          case INTERMEDIATEDATALOCATION_NOT_SET:
            {
              break;
            }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }
<pre>
Configuration for running a transfer.
</pre>

Protobuf type {@code google.storagetransfer.v1.TransferSpec}
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java