restoredEnv = new HashMap<>();
+ restoredEnv.put("OCI_REGION_METADATA", OCI_REGION_METADATA_VALUE);
+ EnvironmentVariablesHelper.setEnvironmentVariable(restoredEnv);
+ Region.resetDeveloperToolConfiguration();
+ Region.defaultRealmEnvVar = originalDefaultRealm;
+ }
+ }
+
@Test
public void testAllRegions() {
try {
@@ -391,7 +515,7 @@ public void testExistingDuplicateEnv() throws Exception {
int count = Region.values().length;
Region.fromRegionCodeOrId("ABV");
int afterCheckEnvCount = Region.values().length;
- assertSame(count, afterCheckEnvCount);
+ assertEquals(count, afterCheckEnvCount);
}
@Test(expected = IllegalArgumentException.class)
diff --git a/bmc-computecloudatcustomer/pom.xml b/bmc-computecloudatcustomer/pom.xml
index 7ee0735f010..b44f63357fd 100644
--- a/bmc-computecloudatcustomer/pom.xml
+++ b/bmc-computecloudatcustomer/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
oci-java-sdk-computecloudatcustomer
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
\ No newline at end of file
diff --git a/bmc-computeinstanceagent/pom.xml b/bmc-computeinstanceagent/pom.xml
index eb3dbffcb3a..4a761ac6b78 100644
--- a/bmc-computeinstanceagent/pom.xml
+++ b/bmc-computeinstanceagent/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
oci-java-sdk-computeinstanceagent
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
\ No newline at end of file
diff --git a/bmc-containerengine/pom.xml b/bmc-containerengine/pom.xml
index d66e9af8b70..bf653e32d02 100644
--- a/bmc-containerengine/pom.xml
+++ b/bmc-containerengine/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
diff --git a/bmc-containerinstances/pom.xml b/bmc-containerinstances/pom.xml
index 1d047eb5ac8..d9594aca63f 100644
--- a/bmc-containerinstances/pom.xml
+++ b/bmc-containerinstances/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
oci-java-sdk-containerinstances
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
\ No newline at end of file
diff --git a/bmc-containerregistry/pom.xml b/bmc-containerregistry/pom.xml
index e768faade3c..987d8beac14 100644
--- a/bmc-containerregistry/pom.xml
+++ b/bmc-containerregistry/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
oci-java-sdk-containerregistry
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
\ No newline at end of file
diff --git a/bmc-core/pom.xml b/bmc-core/pom.xml
index a7daef3081c..b4de82ac8d8 100644
--- a/bmc-core/pom.xml
+++ b/bmc-core/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
@@ -18,12 +18,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.95.2
+ 3.96.0
diff --git a/bmc-costad/pom.xml b/bmc-costad/pom.xml
index e93d26ebabf..3bfe4f6f3e7 100644
--- a/bmc-costad/pom.xml
+++ b/bmc-costad/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
oci-java-sdk-costad
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
\ No newline at end of file
diff --git a/bmc-dashboardservice/pom.xml b/bmc-dashboardservice/pom.xml
index 60113189b88..a29420589b3 100644
--- a/bmc-dashboardservice/pom.xml
+++ b/bmc-dashboardservice/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
oci-java-sdk-dashboardservice
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
\ No newline at end of file
diff --git a/bmc-database/pom.xml b/bmc-database/pom.xml
index 29ffb22b448..ae3facd328d 100644
--- a/bmc-database/pom.xml
+++ b/bmc-database/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
@@ -18,12 +18,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.95.2
+ 3.96.0
diff --git a/bmc-databasemanagement/pom.xml b/bmc-databasemanagement/pom.xml
index bc26dfa307a..193ba2725bb 100644
--- a/bmc-databasemanagement/pom.xml
+++ b/bmc-databasemanagement/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
oci-java-sdk-databasemanagement
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
\ No newline at end of file
diff --git a/bmc-databasemigration/pom.xml b/bmc-databasemigration/pom.xml
index d71c4868761..8acf2d4d8b3 100644
--- a/bmc-databasemigration/pom.xml
+++ b/bmc-databasemigration/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.95.2
+ 3.96.0
../pom.xml
oci-java-sdk-databasemigration
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.95.2
+ 3.96.0
\ No newline at end of file
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigration.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigration.java
index 0bf8021d945..e9ca1dbb0a6 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigration.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigration.java
@@ -465,6 +465,23 @@ DeleteParameterFileVersionResponse deleteParameterFileVersion(
*/
GetConnectionResponse getConnection(GetConnectionRequest request);
+ /**
+ * Returns availability and report status information used by the Data Verification UI.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ * Example: Click here to see how to use
+ * GetDataVerificationDetail API.
+ */
+ GetDataVerificationDetailResponse getDataVerificationDetail(
+ GetDataVerificationDetailRequest request);
+
/**
* Get a migration job.
*
@@ -704,6 +721,61 @@ ListAssessmentObjectTypesResponse listAssessmentObjectTypes(
*/
ListConnectionsResponse listConnections(ListConnectionsRequest request);
+ /**
+ * Lists per-object status comparison results for a migration.
+ *
+ *
The `objectType` filter is a database-specific string and is validated by the backend.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListDataVerificationObjectStatuses API.
+ */
+ ListDataVerificationObjectStatusesResponse listDataVerificationObjectStatuses(
+ ListDataVerificationObjectStatusesRequest request);
+
+ /**
+ * Lists object type count comparison results for a migration.
+ *
+ *
The `objectType` filter is a database-specific string and is validated by the backend.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListDataVerificationObjectTypeCounts API.
+ */
+ ListDataVerificationObjectTypeCountsResponse listDataVerificationObjectTypeCounts(
+ ListDataVerificationObjectTypeCountsRequest request);
+
+ /**
+ * Lists table row count comparison results for a migration.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListDataVerificationTableRowCounts API.
+ */
+ ListDataVerificationTableRowCountsResponse listDataVerificationTableRowCounts(
+ ListDataVerificationTableRowCountsRequest request);
+
/**
* List supported Database Types, Sub-types and Versions.
*
@@ -1028,6 +1100,22 @@ PerformAssessorCheckActionResponse performAssessorCheckAction(
*/
RetrieveSupportedPhasesResponse retrieveSupportedPhases(RetrieveSupportedPhasesRequest request);
+ /**
+ * Runs Data Verification for a migration and returns the updated Data Verification summary.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use RunDataVerification
+ * API.
+ */
+ RunDataVerificationResponse runDataVerification(RunDataVerificationRequest request);
+
/**
* Start Migration job.
*
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationAsync.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationAsync.java
index e89cb3a6812..012162c47a3 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationAsync.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationAsync.java
@@ -447,6 +447,22 @@ java.util.concurrent.Future getConnection(
com.oracle.bmc.responses.AsyncHandler
handler);
+ /**
+ * Returns availability and report status information used by the Data Verification UI.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future getDataVerificationDetail(
+ GetDataVerificationDetailRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetDataVerificationDetailRequest, GetDataVerificationDetailResponse>
+ handler);
+
/**
* Get a migration job.
*
@@ -682,6 +698,64 @@ java.util.concurrent.Future listConnections(
com.oracle.bmc.responses.AsyncHandler
handler);
+ /**
+ * Lists per-object status comparison results for a migration.
+ *
+ * The `objectType` filter is a database-specific string and is validated by the backend.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ listDataVerificationObjectStatuses(
+ ListDataVerificationObjectStatusesRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListDataVerificationObjectStatusesRequest,
+ ListDataVerificationObjectStatusesResponse>
+ handler);
+
+ /**
+ * Lists object type count comparison results for a migration.
+ *
+ * The `objectType` filter is a database-specific string and is validated by the backend.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ listDataVerificationObjectTypeCounts(
+ ListDataVerificationObjectTypeCountsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListDataVerificationObjectTypeCountsRequest,
+ ListDataVerificationObjectTypeCountsResponse>
+ handler);
+
+ /**
+ * Lists table row count comparison results for a migration.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ listDataVerificationTableRowCounts(
+ ListDataVerificationTableRowCountsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListDataVerificationTableRowCountsRequest,
+ ListDataVerificationTableRowCountsResponse>
+ handler);
+
/**
* List supported Database Types, Sub-types and Versions.
*
@@ -1001,6 +1075,22 @@ java.util.concurrent.Future retrieveSupportedPh
RetrieveSupportedPhasesRequest, RetrieveSupportedPhasesResponse>
handler);
+ /**
+ * Runs Data Verification for a migration and returns the updated Data Verification summary.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future runDataVerification(
+ RunDataVerificationRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ RunDataVerificationRequest, RunDataVerificationResponse>
+ handler);
+
/**
* Start Migration job.
*
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationAsyncClient.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationAsyncClient.java
index 5358e133935..98d7aeade59 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationAsyncClient.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationAsyncClient.java
@@ -992,6 +992,40 @@ public java.util.concurrent.Future getConnection(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future getDataVerificationDetail(
+ GetDataVerificationDetailRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetDataVerificationDetailRequest, GetDataVerificationDetailResponse>
+ handler) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+
+ return clientCall(request, GetDataVerificationDetailResponse::builder)
+ .logger(LOG, "getDataVerificationDetail")
+ .serviceDetails(
+ "DatabaseMigration",
+ "GetDataVerificationDetail",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/DataVerificationDetail/GetDataVerificationDetail")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDataVerificationDetailRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("dataVerification")
+ .appendPathParam("detail")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .handleBody(
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail.class,
+ GetDataVerificationDetailResponse.Builder::dataVerificationDetail)
+ .handleResponseHeaderString(
+ "opc-request-id", GetDataVerificationDetailResponse.Builder::opcRequestId)
+ .handleResponseHeaderString("etag", GetDataVerificationDetailResponse.Builder::etag)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future getJob(
GetJobRequest request,
@@ -1539,6 +1573,160 @@ public java.util.concurrent.Future listConnections(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ listDataVerificationObjectStatuses(
+ ListDataVerificationObjectStatusesRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListDataVerificationObjectStatusesRequest,
+ ListDataVerificationObjectStatusesResponse>
+ handler) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListDataVerificationObjectStatusesResponse::builder)
+ .logger(LOG, "listDataVerificationObjectStatuses")
+ .serviceDetails(
+ "DatabaseMigration",
+ "ListDataVerificationObjectStatuses",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/DataVerificationObjectStatusCollection/ListDataVerificationObjectStatuses")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListDataVerificationObjectStatusesRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("dataVerification")
+ .appendPathParam("objectStatuses")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("name", request.getName())
+ .appendQueryParam("owner", request.getOwner())
+ .appendQueryParam("objectType", request.getObjectType())
+ .appendQueryParam("filter", request.getFilter())
+ .appendQueryParam("isMatch", request.getIsMatch())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .handleBody(
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationObjectStatusCollection.class,
+ ListDataVerificationObjectStatusesResponse.Builder
+ ::dataVerificationObjectStatusCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListDataVerificationObjectStatusesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListDataVerificationObjectStatusesResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listDataVerificationObjectTypeCounts(
+ ListDataVerificationObjectTypeCountsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListDataVerificationObjectTypeCountsRequest,
+ ListDataVerificationObjectTypeCountsResponse>
+ handler) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListDataVerificationObjectTypeCountsResponse::builder)
+ .logger(LOG, "listDataVerificationObjectTypeCounts")
+ .serviceDetails(
+ "DatabaseMigration",
+ "ListDataVerificationObjectTypeCounts",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/DataVerificationObjectTypeCountCollection/ListDataVerificationObjectTypeCounts")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListDataVerificationObjectTypeCountsRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("dataVerification")
+ .appendPathParam("objectTypeCounts")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("schemaName", request.getSchemaName())
+ .appendQueryParam("objectType", request.getObjectType())
+ .appendQueryParam("filter", request.getFilter())
+ .appendQueryParam("minAbsDeltaPercent", request.getMinAbsDeltaPercent())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .handleBody(
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationObjectTypeCountCollection.class,
+ ListDataVerificationObjectTypeCountsResponse.Builder
+ ::dataVerificationObjectTypeCountCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListDataVerificationObjectTypeCountsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListDataVerificationObjectTypeCountsResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listDataVerificationTableRowCounts(
+ ListDataVerificationTableRowCountsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListDataVerificationTableRowCountsRequest,
+ ListDataVerificationTableRowCountsResponse>
+ handler) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListDataVerificationTableRowCountsResponse::builder)
+ .logger(LOG, "listDataVerificationTableRowCounts")
+ .serviceDetails(
+ "DatabaseMigration",
+ "ListDataVerificationTableRowCounts",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/DataVerificationTableRowCountCollection/ListDataVerificationTableRowCounts")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListDataVerificationTableRowCountsRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("dataVerification")
+ .appendPathParam("tableRowCounts")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("owner", request.getOwner())
+ .appendQueryParam("tableName", request.getTableName())
+ .appendQueryParam("filter", request.getFilter())
+ .appendQueryParam("minAbsDeltaPercent", request.getMinAbsDeltaPercent())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .handleBody(
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationTableRowCountCollection.class,
+ ListDataVerificationTableRowCountsResponse.Builder
+ ::dataVerificationTableRowCountCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListDataVerificationTableRowCountsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListDataVerificationTableRowCountsResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
listDatabaseConnectionType(
@@ -2316,6 +2504,44 @@ public java.util.concurrent.Future retrieveSupp
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future runDataVerification(
+ RunDataVerificationRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ RunDataVerificationRequest, RunDataVerificationResponse>
+ handler) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+ Objects.requireNonNull(
+ request.getRunDataVerificationDetails(), "runDataVerificationDetails is required");
+
+ return clientCall(request, RunDataVerificationResponse::builder)
+ .logger(LOG, "runDataVerification")
+ .serviceDetails(
+ "DatabaseMigration",
+ "RunDataVerification",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/Migration/RunDataVerification")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(RunDataVerificationRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("actions")
+ .appendPathParam("runDataVerification")
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail.class,
+ RunDataVerificationResponse.Builder::dataVerificationDetail)
+ .handleResponseHeaderString(
+ "opc-request-id", RunDataVerificationResponse.Builder::opcRequestId)
+ .handleResponseHeaderString("etag", RunDataVerificationResponse.Builder::etag)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future startMigration(
StartMigrationRequest request,
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationClient.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationClient.java
index 5bcb1d271bd..37534a5f3b7 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationClient.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationClient.java
@@ -945,6 +945,38 @@ public GetConnectionResponse getConnection(GetConnectionRequest request) {
.callSync();
}
+ @Override
+ public GetDataVerificationDetailResponse getDataVerificationDetail(
+ GetDataVerificationDetailRequest request) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+
+ return clientCall(request, GetDataVerificationDetailResponse::builder)
+ .logger(LOG, "getDataVerificationDetail")
+ .serviceDetails(
+ "DatabaseMigration",
+ "GetDataVerificationDetail",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/DataVerificationDetail/GetDataVerificationDetail")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDataVerificationDetailRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("dataVerification")
+ .appendPathParam("detail")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail.class,
+ GetDataVerificationDetailResponse.Builder::dataVerificationDetail)
+ .handleResponseHeaderString(
+ "opc-request-id", GetDataVerificationDetailResponse.Builder::opcRequestId)
+ .handleResponseHeaderString("etag", GetDataVerificationDetailResponse.Builder::etag)
+ .callSync();
+ }
+
@Override
public GetJobResponse getJob(GetJobRequest request) {
@@ -1455,6 +1487,148 @@ public ListConnectionsResponse listConnections(ListConnectionsRequest request) {
.callSync();
}
+ @Override
+ public ListDataVerificationObjectStatusesResponse listDataVerificationObjectStatuses(
+ ListDataVerificationObjectStatusesRequest request) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListDataVerificationObjectStatusesResponse::builder)
+ .logger(LOG, "listDataVerificationObjectStatuses")
+ .serviceDetails(
+ "DatabaseMigration",
+ "ListDataVerificationObjectStatuses",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/DataVerificationObjectStatusCollection/ListDataVerificationObjectStatuses")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListDataVerificationObjectStatusesRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("dataVerification")
+ .appendPathParam("objectStatuses")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("name", request.getName())
+ .appendQueryParam("owner", request.getOwner())
+ .appendQueryParam("objectType", request.getObjectType())
+ .appendQueryParam("filter", request.getFilter())
+ .appendQueryParam("isMatch", request.getIsMatch())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationObjectStatusCollection.class,
+ ListDataVerificationObjectStatusesResponse.Builder
+ ::dataVerificationObjectStatusCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListDataVerificationObjectStatusesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListDataVerificationObjectStatusesResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
+ @Override
+ public ListDataVerificationObjectTypeCountsResponse listDataVerificationObjectTypeCounts(
+ ListDataVerificationObjectTypeCountsRequest request) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListDataVerificationObjectTypeCountsResponse::builder)
+ .logger(LOG, "listDataVerificationObjectTypeCounts")
+ .serviceDetails(
+ "DatabaseMigration",
+ "ListDataVerificationObjectTypeCounts",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/DataVerificationObjectTypeCountCollection/ListDataVerificationObjectTypeCounts")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListDataVerificationObjectTypeCountsRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("dataVerification")
+ .appendPathParam("objectTypeCounts")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("schemaName", request.getSchemaName())
+ .appendQueryParam("objectType", request.getObjectType())
+ .appendQueryParam("filter", request.getFilter())
+ .appendQueryParam("minAbsDeltaPercent", request.getMinAbsDeltaPercent())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationObjectTypeCountCollection.class,
+ ListDataVerificationObjectTypeCountsResponse.Builder
+ ::dataVerificationObjectTypeCountCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListDataVerificationObjectTypeCountsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListDataVerificationObjectTypeCountsResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
+ @Override
+ public ListDataVerificationTableRowCountsResponse listDataVerificationTableRowCounts(
+ ListDataVerificationTableRowCountsRequest request) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListDataVerificationTableRowCountsResponse::builder)
+ .logger(LOG, "listDataVerificationTableRowCounts")
+ .serviceDetails(
+ "DatabaseMigration",
+ "ListDataVerificationTableRowCounts",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/DataVerificationTableRowCountCollection/ListDataVerificationTableRowCounts")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListDataVerificationTableRowCountsRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("dataVerification")
+ .appendPathParam("tableRowCounts")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("owner", request.getOwner())
+ .appendQueryParam("tableName", request.getTableName())
+ .appendQueryParam("filter", request.getFilter())
+ .appendQueryParam("minAbsDeltaPercent", request.getMinAbsDeltaPercent())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationTableRowCountCollection.class,
+ ListDataVerificationTableRowCountsResponse.Builder
+ ::dataVerificationTableRowCountCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListDataVerificationTableRowCountsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListDataVerificationTableRowCountsResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
@Override
public ListDatabaseConnectionTypeResponse listDatabaseConnectionType(
ListDatabaseConnectionTypeRequest request) {
@@ -2178,6 +2352,41 @@ public RetrieveSupportedPhasesResponse retrieveSupportedPhases(
.callSync();
}
+ @Override
+ public RunDataVerificationResponse runDataVerification(RunDataVerificationRequest request) {
+
+ Validate.notBlank(request.getMigrationId(), "migrationId must not be blank");
+ Objects.requireNonNull(
+ request.getRunDataVerificationDetails(), "runDataVerificationDetails is required");
+
+ return clientCall(request, RunDataVerificationResponse::builder)
+ .logger(LOG, "runDataVerification")
+ .serviceDetails(
+ "DatabaseMigration",
+ "RunDataVerification",
+ "https://docs.oracle.com/iaas/api/#/en/database-migration/20230518/Migration/RunDataVerification")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(RunDataVerificationRequest::builder)
+ .basePath("/20230518")
+ .appendPathParam("migrations")
+ .appendPathParam(request.getMigrationId())
+ .appendPathParam("actions")
+ .appendPathParam("runDataVerification")
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail.class,
+ RunDataVerificationResponse.Builder::dataVerificationDetail)
+ .handleResponseHeaderString(
+ "opc-request-id", RunDataVerificationResponse.Builder::opcRequestId)
+ .handleResponseHeaderString("etag", RunDataVerificationResponse.Builder::etag)
+ .callSync();
+ }
+
@Override
public StartMigrationResponse startMigration(StartMigrationRequest request) {
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationPaginators.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationPaginators.java
index 07ceb003369..6e1bf20d7aa 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationPaginators.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationPaginators.java
@@ -886,6 +886,408 @@ public ListConnectionsResponse apply(ListConnectionsRequest request) {
});
}
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listDataVerificationObjectStatuses operation. This iterable will fetch more data from the
+ * server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listDataVerificationObjectStatusesResponseIterator(
+ final ListDataVerificationObjectStatusesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListDataVerificationObjectStatusesRequest.Builder,
+ ListDataVerificationObjectStatusesRequest,
+ ListDataVerificationObjectStatusesResponse>(
+ new java.util.function.Supplier<
+ ListDataVerificationObjectStatusesRequest.Builder>() {
+ @Override
+ public ListDataVerificationObjectStatusesRequest.Builder get() {
+ return ListDataVerificationObjectStatusesRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectStatusesResponse, String>() {
+ @Override
+ public String apply(ListDataVerificationObjectStatusesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationObjectStatusesRequest.Builder>,
+ ListDataVerificationObjectStatusesRequest>() {
+ @Override
+ public ListDataVerificationObjectStatusesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationObjectStatusesRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectStatusesRequest,
+ ListDataVerificationObjectStatusesResponse>() {
+ @Override
+ public ListDataVerificationObjectStatusesResponse apply(
+ ListDataVerificationObjectStatusesRequest request) {
+ return client.listDataVerificationObjectStatuses(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.databasemigration.model.DataVerificationObjectStatusSummary} objects contained
+ * in responses from the listDataVerificationObjectStatuses operation. This iterable will fetch
+ * more data from the server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.databasemigration.model.DataVerificationObjectStatusSummary} objects
+ * contained in responses received from the service.
+ */
+ public Iterable
+ listDataVerificationObjectStatusesRecordIterator(
+ final ListDataVerificationObjectStatusesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListDataVerificationObjectStatusesRequest.Builder,
+ ListDataVerificationObjectStatusesRequest,
+ ListDataVerificationObjectStatusesResponse,
+ com.oracle.bmc.databasemigration.model.DataVerificationObjectStatusSummary>(
+ new java.util.function.Supplier<
+ ListDataVerificationObjectStatusesRequest.Builder>() {
+ @Override
+ public ListDataVerificationObjectStatusesRequest.Builder get() {
+ return ListDataVerificationObjectStatusesRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectStatusesResponse, String>() {
+ @Override
+ public String apply(ListDataVerificationObjectStatusesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationObjectStatusesRequest.Builder>,
+ ListDataVerificationObjectStatusesRequest>() {
+ @Override
+ public ListDataVerificationObjectStatusesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationObjectStatusesRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectStatusesRequest,
+ ListDataVerificationObjectStatusesResponse>() {
+ @Override
+ public ListDataVerificationObjectStatusesResponse apply(
+ ListDataVerificationObjectStatusesRequest request) {
+ return client.listDataVerificationObjectStatuses(request);
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectStatusesResponse,
+ java.util.List<
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationObjectStatusSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationObjectStatusSummary>
+ apply(ListDataVerificationObjectStatusesResponse response) {
+ return response.getDataVerificationObjectStatusCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listDataVerificationObjectTypeCounts operation. This iterable will fetch more data from the
+ * server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listDataVerificationObjectTypeCountsResponseIterator(
+ final ListDataVerificationObjectTypeCountsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListDataVerificationObjectTypeCountsRequest.Builder,
+ ListDataVerificationObjectTypeCountsRequest,
+ ListDataVerificationObjectTypeCountsResponse>(
+ new java.util.function.Supplier<
+ ListDataVerificationObjectTypeCountsRequest.Builder>() {
+ @Override
+ public ListDataVerificationObjectTypeCountsRequest.Builder get() {
+ return ListDataVerificationObjectTypeCountsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectTypeCountsResponse, String>() {
+ @Override
+ public String apply(ListDataVerificationObjectTypeCountsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationObjectTypeCountsRequest.Builder>,
+ ListDataVerificationObjectTypeCountsRequest>() {
+ @Override
+ public ListDataVerificationObjectTypeCountsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationObjectTypeCountsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectTypeCountsRequest,
+ ListDataVerificationObjectTypeCountsResponse>() {
+ @Override
+ public ListDataVerificationObjectTypeCountsResponse apply(
+ ListDataVerificationObjectTypeCountsRequest request) {
+ return client.listDataVerificationObjectTypeCounts(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.databasemigration.model.DataVerificationObjectTypeCountSummary} objects
+ * contained in responses from the listDataVerificationObjectTypeCounts operation. This iterable
+ * will fetch more data from the server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.databasemigration.model.DataVerificationObjectTypeCountSummary} objects
+ * contained in responses received from the service.
+ */
+ public Iterable
+ listDataVerificationObjectTypeCountsRecordIterator(
+ final ListDataVerificationObjectTypeCountsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListDataVerificationObjectTypeCountsRequest.Builder,
+ ListDataVerificationObjectTypeCountsRequest,
+ ListDataVerificationObjectTypeCountsResponse,
+ com.oracle.bmc.databasemigration.model.DataVerificationObjectTypeCountSummary>(
+ new java.util.function.Supplier<
+ ListDataVerificationObjectTypeCountsRequest.Builder>() {
+ @Override
+ public ListDataVerificationObjectTypeCountsRequest.Builder get() {
+ return ListDataVerificationObjectTypeCountsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectTypeCountsResponse, String>() {
+ @Override
+ public String apply(ListDataVerificationObjectTypeCountsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationObjectTypeCountsRequest.Builder>,
+ ListDataVerificationObjectTypeCountsRequest>() {
+ @Override
+ public ListDataVerificationObjectTypeCountsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationObjectTypeCountsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectTypeCountsRequest,
+ ListDataVerificationObjectTypeCountsResponse>() {
+ @Override
+ public ListDataVerificationObjectTypeCountsResponse apply(
+ ListDataVerificationObjectTypeCountsRequest request) {
+ return client.listDataVerificationObjectTypeCounts(request);
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationObjectTypeCountsResponse,
+ java.util.List<
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationObjectTypeCountSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationObjectTypeCountSummary>
+ apply(ListDataVerificationObjectTypeCountsResponse response) {
+ return response.getDataVerificationObjectTypeCountCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listDataVerificationTableRowCounts operation. This iterable will fetch more data from the
+ * server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listDataVerificationTableRowCountsResponseIterator(
+ final ListDataVerificationTableRowCountsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListDataVerificationTableRowCountsRequest.Builder,
+ ListDataVerificationTableRowCountsRequest,
+ ListDataVerificationTableRowCountsResponse>(
+ new java.util.function.Supplier<
+ ListDataVerificationTableRowCountsRequest.Builder>() {
+ @Override
+ public ListDataVerificationTableRowCountsRequest.Builder get() {
+ return ListDataVerificationTableRowCountsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationTableRowCountsResponse, String>() {
+ @Override
+ public String apply(ListDataVerificationTableRowCountsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationTableRowCountsRequest.Builder>,
+ ListDataVerificationTableRowCountsRequest>() {
+ @Override
+ public ListDataVerificationTableRowCountsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationTableRowCountsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationTableRowCountsRequest,
+ ListDataVerificationTableRowCountsResponse>() {
+ @Override
+ public ListDataVerificationTableRowCountsResponse apply(
+ ListDataVerificationTableRowCountsRequest request) {
+ return client.listDataVerificationTableRowCounts(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.databasemigration.model.DataVerificationTableRowCountSummary} objects
+ * contained in responses from the listDataVerificationTableRowCounts operation. This iterable
+ * will fetch more data from the server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.databasemigration.model.DataVerificationTableRowCountSummary} objects
+ * contained in responses received from the service.
+ */
+ public Iterable
+ listDataVerificationTableRowCountsRecordIterator(
+ final ListDataVerificationTableRowCountsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListDataVerificationTableRowCountsRequest.Builder,
+ ListDataVerificationTableRowCountsRequest,
+ ListDataVerificationTableRowCountsResponse,
+ com.oracle.bmc.databasemigration.model.DataVerificationTableRowCountSummary>(
+ new java.util.function.Supplier<
+ ListDataVerificationTableRowCountsRequest.Builder>() {
+ @Override
+ public ListDataVerificationTableRowCountsRequest.Builder get() {
+ return ListDataVerificationTableRowCountsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationTableRowCountsResponse, String>() {
+ @Override
+ public String apply(ListDataVerificationTableRowCountsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationTableRowCountsRequest.Builder>,
+ ListDataVerificationTableRowCountsRequest>() {
+ @Override
+ public ListDataVerificationTableRowCountsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListDataVerificationTableRowCountsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationTableRowCountsRequest,
+ ListDataVerificationTableRowCountsResponse>() {
+ @Override
+ public ListDataVerificationTableRowCountsResponse apply(
+ ListDataVerificationTableRowCountsRequest request) {
+ return client.listDataVerificationTableRowCounts(request);
+ }
+ },
+ new java.util.function.Function<
+ ListDataVerificationTableRowCountsResponse,
+ java.util.List<
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationTableRowCountSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.databasemigration.model
+ .DataVerificationTableRowCountSummary>
+ apply(ListDataVerificationTableRowCountsResponse response) {
+ return response.getDataVerificationTableRowCountCollection().getItems();
+ }
+ });
+ }
+
/**
* Creates a new iterable which will iterate over the responses received from the
* listDatabaseConnectionType operation. This iterable will fetch more data from the server as
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationWaiters.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationWaiters.java
index 182b65ad1a1..c21d7f9c04c 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationWaiters.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/DatabaseMigrationWaiters.java
@@ -327,6 +327,123 @@ public boolean test(GetConnectionResponse response) {
request);
}
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
+ *
+ * @param request the request to send
+ * @param targetStates the desired states to wait for. If multiple states are provided then the
+ * waiter will return once the resource reaches any of the provided states
+ * @return a new {@code Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter<
+ GetDataVerificationDetailRequest, GetDataVerificationDetailResponse>
+ forDataVerificationDetail(
+ GetDataVerificationDetailRequest request,
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail.LifecycleState...
+ targetStates) {
+ com.oracle.bmc.util.internal.Validate.notEmpty(
+ targetStates, "At least one targetState must be provided");
+ com.oracle.bmc.util.internal.Validate.noNullElements(
+ targetStates, "Null targetState values are not permitted");
+
+ return forDataVerificationDetail(
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
+ }
+
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration.
+ *
+ * @param request the request to send
+ * @param targetState the desired state to wait for
+ * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use
+ * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use
+ * @return a new {@code com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter<
+ GetDataVerificationDetailRequest, GetDataVerificationDetailResponse>
+ forDataVerificationDetail(
+ GetDataVerificationDetailRequest request,
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail.LifecycleState
+ targetState,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy) {
+ com.oracle.bmc.util.internal.Validate.notNull(
+ targetState, "The targetState cannot be null");
+
+ return forDataVerificationDetail(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetState);
+ }
+
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration.
+ *
+ * @param request the request to send
+ * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use
+ * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use
+ * @param targetStates the desired states to wait for. The waiter will return once the resource
+ * reaches any of the provided states
+ * @return a new {@code com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter<
+ GetDataVerificationDetailRequest, GetDataVerificationDetailResponse>
+ forDataVerificationDetail(
+ GetDataVerificationDetailRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail.LifecycleState...
+ targetStates) {
+ com.oracle.bmc.util.internal.Validate.notEmpty(
+ targetStates, "At least one target state must be provided");
+ com.oracle.bmc.util.internal.Validate.noNullElements(
+ targetStates, "Null target states are not permitted");
+
+ return forDataVerificationDetail(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
+ // Helper method to create a new Waiter for DataVerificationDetail.
+ private com.oracle.bmc.waiter.Waiter<
+ GetDataVerificationDetailRequest, GetDataVerificationDetailResponse>
+ forDataVerificationDetail(
+ com.oracle.bmc.waiter.BmcGenericWaiter waiter,
+ final GetDataVerificationDetailRequest request,
+ final com.oracle.bmc.databasemigration.model.DataVerificationDetail
+ .LifecycleState
+ ...
+ targetStates) {
+ final java.util.Set<
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail
+ .LifecycleState>
+ targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates));
+
+ return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>(
+ executorService,
+ waiter.toCallable(
+ () -> request,
+ new java.util.function.Function<
+ GetDataVerificationDetailRequest,
+ GetDataVerificationDetailResponse>() {
+ @Override
+ public GetDataVerificationDetailResponse apply(
+ GetDataVerificationDetailRequest request) {
+ return client.getDataVerificationDetail(request);
+ }
+ },
+ new java.util.function.Predicate() {
+ @Override
+ public boolean test(GetDataVerificationDetailResponse response) {
+ return targetStatesSet.contains(
+ response.getDataVerificationDetail().getLifecycleState());
+ }
+ },
+ false),
+ request);
+ }
+
/**
* Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
*
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleMigrationSettings.java
new file mode 100644
index 00000000000..f648cca6718
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleMigrationSettings.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Discriminator-only base clone settings for Oracle migration methods.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod",
+ defaultImpl = CloneOracleMigrationSettings.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CloneOracleOfflineLogicalMigrationSettings.class,
+ name = "OFFLINE_LOGICAL"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CloneOracleOnlineLogicalMigrationSettings.class,
+ name = "ONLINE_LOGICAL"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CloneOracleOnlineStandbyMigrationSettings.class,
+ name = "ONLINE_STANDBY")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class CloneOracleMigrationSettings
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected CloneOracleMigrationSettings() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CloneOracleMigrationSettings(");
+ sb.append("super=").append(super.toString());
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CloneOracleMigrationSettings)) {
+ return false;
+ }
+
+ CloneOracleMigrationSettings other = (CloneOracleMigrationSettings) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleOfflineLogicalMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleOfflineLogicalMigrationSettings.java
new file mode 100644
index 00000000000..03d68408b34
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleOfflineLogicalMigrationSettings.java
@@ -0,0 +1,102 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Clone settings for an offline logical Oracle migration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CloneOracleOfflineLogicalMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CloneOracleOfflineLogicalMigrationSettings extends CloneOracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CloneOracleOfflineLogicalMigrationSettings build() {
+ CloneOracleOfflineLogicalMigrationSettings model =
+ new CloneOracleOfflineLogicalMigrationSettings();
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CloneOracleOfflineLogicalMigrationSettings model) {
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CloneOracleOfflineLogicalMigrationSettings() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CloneOracleOfflineLogicalMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CloneOracleOfflineLogicalMigrationSettings)) {
+ return false;
+ }
+
+ CloneOracleOfflineLogicalMigrationSettings other =
+ (CloneOracleOfflineLogicalMigrationSettings) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleOnlineLogicalMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleOnlineLogicalMigrationSettings.java
new file mode 100644
index 00000000000..0628cb9b088
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleOnlineLogicalMigrationSettings.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Clone settings for an online logical Oracle migration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CloneOracleOnlineLogicalMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CloneOracleOnlineLogicalMigrationSettings extends CloneOracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CloneOracleOnlineLogicalMigrationSettings build() {
+ CloneOracleOnlineLogicalMigrationSettings model =
+ new CloneOracleOnlineLogicalMigrationSettings(
+ this.sourceContainerDatabaseConnectionId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CloneOracleOnlineLogicalMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CloneOracleOnlineLogicalMigrationSettings(String sourceContainerDatabaseConnectionId) {
+ super();
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CloneOracleOnlineLogicalMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CloneOracleOnlineLogicalMigrationSettings)) {
+ return false;
+ }
+
+ CloneOracleOnlineLogicalMigrationSettings other =
+ (CloneOracleOnlineLogicalMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleOnlineStandbyMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleOnlineStandbyMigrationSettings.java
new file mode 100644
index 00000000000..8823e7be237
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CloneOracleOnlineStandbyMigrationSettings.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Clone settings for an online standby Oracle migration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CloneOracleOnlineStandbyMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CloneOracleOnlineStandbyMigrationSettings extends CloneOracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceStandbyDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceStandbyDatabaseConnectionId(String sourceStandbyDatabaseConnectionId) {
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceStandbyDatabaseConnectionId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CloneOracleOnlineStandbyMigrationSettings build() {
+ CloneOracleOnlineStandbyMigrationSettings model =
+ new CloneOracleOnlineStandbyMigrationSettings(
+ this.sourceContainerDatabaseConnectionId,
+ this.sourceStandbyDatabaseConnectionId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CloneOracleOnlineStandbyMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ if (model.wasPropertyExplicitlySet("sourceStandbyDatabaseConnectionId")) {
+ this.sourceStandbyDatabaseConnectionId(
+ model.getSourceStandbyDatabaseConnectionId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CloneOracleOnlineStandbyMigrationSettings(
+ String sourceContainerDatabaseConnectionId, String sourceStandbyDatabaseConnectionId) {
+ super();
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private final String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceStandbyDatabaseConnectionId() {
+ return sourceStandbyDatabaseConnectionId;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CloneOracleOnlineStandbyMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(", sourceStandbyDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceStandbyDatabaseConnectionId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CloneOracleOnlineStandbyMigrationSettings)) {
+ return false;
+ }
+
+ CloneOracleOnlineStandbyMigrationSettings other =
+ (CloneOracleOnlineStandbyMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && java.util.Objects.equals(
+ this.sourceStandbyDatabaseConnectionId,
+ other.sourceStandbyDatabaseConnectionId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceStandbyDatabaseConnectionId == null
+ ? 43
+ : this.sourceStandbyDatabaseConnectionId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleMigrationDetails.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleMigrationDetails.java
index 5ef1ba6d9ac..767fcb02b72 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleMigrationDetails.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleMigrationDetails.java
@@ -5,7 +5,8 @@
package com.oracle.bmc.databasemigration.model;
/**
- * Create Migration resource parameters.
+ * Create Migration resource parameters. Deprecated: The parent-level Oracle migration configuration
+ * properties on this model are deprecated. Use {@code migrationSettings} instead.
* Note: Objects should always be created or deserialized using the {@link Builder}. This model
* distinguishes fields that are {@code null} because they are unset from fields that are explicitly
* set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
@@ -109,6 +110,15 @@ public Builder assessmentId(String assessmentId) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private CreateOracleMigrationSettings migrationSettings;
+
+ public Builder migrationSettings(CreateOracleMigrationSettings migrationSettings) {
+ this.migrationSettings = migrationSettings;
+ this.__explicitlySet__.add("migrationSettings");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
private CreateOracleDataTransferMediumDetails dataTransferMediumDetails;
@@ -276,6 +286,7 @@ public CreateOracleMigrationDetails build() {
this.freeformTags,
this.definedTags,
this.assessmentId,
+ this.migrationSettings,
this.dataTransferMediumDetails,
this.initialLoadSettings,
this.advisorSettings,
@@ -322,6 +333,9 @@ public Builder copy(CreateOracleMigrationDetails model) {
if (model.wasPropertyExplicitlySet("assessmentId")) {
this.assessmentId(model.getAssessmentId());
}
+ if (model.wasPropertyExplicitlySet("migrationSettings")) {
+ this.migrationSettings(model.getMigrationSettings());
+ }
if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
}
@@ -381,6 +395,7 @@ public CreateOracleMigrationDetails(
java.util.Map freeformTags,
java.util.Map> definedTags,
String assessmentId,
+ CreateOracleMigrationSettings migrationSettings,
CreateOracleDataTransferMediumDetails dataTransferMediumDetails,
CreateOracleInitialLoadSettings initialLoadSettings,
CreateOracleAdvisorSettings advisorSettings,
@@ -402,6 +417,7 @@ public CreateOracleMigrationDetails(
freeformTags,
definedTags,
assessmentId);
+ this.migrationSettings = migrationSettings;
this.dataTransferMediumDetails = dataTransferMediumDetails;
this.initialLoadSettings = initialLoadSettings;
this.advisorSettings = advisorSettings;
@@ -415,6 +431,13 @@ public CreateOracleMigrationDetails(
this.bulkIncludeExcludeData = bulkIncludeExcludeData;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private final CreateOracleMigrationSettings migrationSettings;
+
+ public CreateOracleMigrationSettings getMigrationSettings() {
+ return migrationSettings;
+ }
+
@com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
private final CreateOracleDataTransferMediumDetails dataTransferMediumDetails;
@@ -553,6 +576,7 @@ public String toString(boolean includeByteArrayContents) {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("CreateOracleMigrationDetails(");
sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", migrationSettings=").append(String.valueOf(this.migrationSettings));
sb.append(", dataTransferMediumDetails=")
.append(String.valueOf(this.dataTransferMediumDetails));
sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
@@ -581,7 +605,8 @@ public boolean equals(Object o) {
}
CreateOracleMigrationDetails other = (CreateOracleMigrationDetails) o;
- return java.util.Objects.equals(
+ return java.util.Objects.equals(this.migrationSettings, other.migrationSettings)
+ && java.util.Objects.equals(
this.dataTransferMediumDetails, other.dataTransferMediumDetails)
&& java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
&& java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
@@ -605,6 +630,9 @@ public boolean equals(Object o) {
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.migrationSettings == null ? 43 : this.migrationSettings.hashCode());
result =
(result * PRIME)
+ (this.dataTransferMediumDetails == null
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleMigrationSettings.java
new file mode 100644
index 00000000000..5927ed6680c
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleMigrationSettings.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Discriminator-only base create settings for Oracle migration methods.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod",
+ defaultImpl = CreateOracleMigrationSettings.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CreateOracleOfflineLogicalMigrationSettings.class,
+ name = "OFFLINE_LOGICAL"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CreateOracleOnlineStandbyMigrationSettings.class,
+ name = "ONLINE_STANDBY"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CreateOracleOnlineLogicalMigrationSettings.class,
+ name = "ONLINE_LOGICAL")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class CreateOracleMigrationSettings
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected CreateOracleMigrationSettings() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CreateOracleMigrationSettings(");
+ sb.append("super=").append(super.toString());
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOracleMigrationSettings)) {
+ return false;
+ }
+
+ CreateOracleMigrationSettings other = (CreateOracleMigrationSettings) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleOfflineLogicalMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleOfflineLogicalMigrationSettings.java
new file mode 100644
index 00000000000..bf829150ac8
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleOfflineLogicalMigrationSettings.java
@@ -0,0 +1,377 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Create settings for an offline logical Oracle migration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateOracleOfflineLogicalMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateOracleOfflineLogicalMigrationSettings
+ extends CreateOracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private CreateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public Builder dataTransferMediumDetails(
+ CreateOracleDataTransferMediumDetails dataTransferMediumDetails) {
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.__explicitlySet__.add("dataTransferMediumDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private CreateOracleInitialLoadSettings initialLoadSettings;
+
+ public Builder initialLoadSettings(CreateOracleInitialLoadSettings initialLoadSettings) {
+ this.initialLoadSettings = initialLoadSettings;
+ this.__explicitlySet__.add("initialLoadSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private CreateOracleAdvisorSettings advisorSettings;
+
+ public Builder advisorSettings(CreateOracleAdvisorSettings advisorSettings) {
+ this.advisorSettings = advisorSettings;
+ this.__explicitlySet__.add("advisorSettings");
+ return this;
+ }
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @param advancedParameters the value to set
+ * @return this builder
+ */
+ public Builder advancedParameters(
+ java.util.List advancedParameters) {
+ this.advancedParameters = advancedParameters;
+ this.__explicitlySet__.add("advancedParameters");
+ return this;
+ }
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside
+ * 'includeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("excludeObjects")
+ private java.util.List excludeObjects;
+
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside
+ * 'includeObjects'
+ *
+ * @param excludeObjects the value to set
+ * @return this builder
+ */
+ public Builder excludeObjects(java.util.List excludeObjects) {
+ this.excludeObjects = excludeObjects;
+ this.__explicitlySet__.add("excludeObjects");
+ return this;
+ }
+ /**
+ * Database objects to include from migration, cannot be specified alongside
+ * 'excludeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("includeObjects")
+ private java.util.List includeObjects;
+
+ /**
+ * Database objects to include from migration, cannot be specified alongside
+ * 'excludeObjects'
+ *
+ * @param includeObjects the value to set
+ * @return this builder
+ */
+ public Builder includeObjects(java.util.List includeObjects) {
+ this.includeObjects = includeObjects;
+ this.__explicitlySet__.add("includeObjects");
+ return this;
+ }
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be
+ * found in the documentation.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("bulkIncludeExcludeData")
+ private String bulkIncludeExcludeData;
+
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be
+ * found in the documentation.
+ *
+ * @param bulkIncludeExcludeData the value to set
+ * @return this builder
+ */
+ public Builder bulkIncludeExcludeData(String bulkIncludeExcludeData) {
+ this.bulkIncludeExcludeData = bulkIncludeExcludeData;
+ this.__explicitlySet__.add("bulkIncludeExcludeData");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateOracleOfflineLogicalMigrationSettings build() {
+ CreateOracleOfflineLogicalMigrationSettings model =
+ new CreateOracleOfflineLogicalMigrationSettings(
+ this.dataTransferMediumDetails,
+ this.initialLoadSettings,
+ this.advisorSettings,
+ this.advancedParameters,
+ this.excludeObjects,
+ this.includeObjects,
+ this.bulkIncludeExcludeData);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateOracleOfflineLogicalMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
+ this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
+ }
+ if (model.wasPropertyExplicitlySet("initialLoadSettings")) {
+ this.initialLoadSettings(model.getInitialLoadSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advisorSettings")) {
+ this.advisorSettings(model.getAdvisorSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advancedParameters")) {
+ this.advancedParameters(model.getAdvancedParameters());
+ }
+ if (model.wasPropertyExplicitlySet("excludeObjects")) {
+ this.excludeObjects(model.getExcludeObjects());
+ }
+ if (model.wasPropertyExplicitlySet("includeObjects")) {
+ this.includeObjects(model.getIncludeObjects());
+ }
+ if (model.wasPropertyExplicitlySet("bulkIncludeExcludeData")) {
+ this.bulkIncludeExcludeData(model.getBulkIncludeExcludeData());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CreateOracleOfflineLogicalMigrationSettings(
+ CreateOracleDataTransferMediumDetails dataTransferMediumDetails,
+ CreateOracleInitialLoadSettings initialLoadSettings,
+ CreateOracleAdvisorSettings advisorSettings,
+ java.util.List advancedParameters,
+ java.util.List excludeObjects,
+ java.util.List includeObjects,
+ String bulkIncludeExcludeData) {
+ super();
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.initialLoadSettings = initialLoadSettings;
+ this.advisorSettings = advisorSettings;
+ this.advancedParameters = advancedParameters;
+ this.excludeObjects = excludeObjects;
+ this.includeObjects = includeObjects;
+ this.bulkIncludeExcludeData = bulkIncludeExcludeData;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private final CreateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public CreateOracleDataTransferMediumDetails getDataTransferMediumDetails() {
+ return dataTransferMediumDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private final CreateOracleInitialLoadSettings initialLoadSettings;
+
+ public CreateOracleInitialLoadSettings getInitialLoadSettings() {
+ return initialLoadSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private final CreateOracleAdvisorSettings advisorSettings;
+
+ public CreateOracleAdvisorSettings getAdvisorSettings() {
+ return advisorSettings;
+ }
+
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private final java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @return the value
+ */
+ public java.util.List getAdvancedParameters() {
+ return advancedParameters;
+ }
+
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside 'includeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("excludeObjects")
+ private final java.util.List excludeObjects;
+
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside 'includeObjects'
+ *
+ * @return the value
+ */
+ public java.util.List getExcludeObjects() {
+ return excludeObjects;
+ }
+
+ /**
+ * Database objects to include from migration, cannot be specified alongside 'excludeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("includeObjects")
+ private final java.util.List includeObjects;
+
+ /**
+ * Database objects to include from migration, cannot be specified alongside 'excludeObjects'
+ *
+ * @return the value
+ */
+ public java.util.List getIncludeObjects() {
+ return includeObjects;
+ }
+
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be found in
+ * the documentation.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("bulkIncludeExcludeData")
+ private final String bulkIncludeExcludeData;
+
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be found in
+ * the documentation.
+ *
+ * @return the value
+ */
+ public String getBulkIncludeExcludeData() {
+ return bulkIncludeExcludeData;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CreateOracleOfflineLogicalMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", dataTransferMediumDetails=")
+ .append(String.valueOf(this.dataTransferMediumDetails));
+ sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
+ sb.append(", advisorSettings=").append(String.valueOf(this.advisorSettings));
+ sb.append(", advancedParameters=").append(String.valueOf(this.advancedParameters));
+ sb.append(", excludeObjects=").append(String.valueOf(this.excludeObjects));
+ sb.append(", includeObjects=").append(String.valueOf(this.includeObjects));
+ sb.append(", bulkIncludeExcludeData=").append(String.valueOf(this.bulkIncludeExcludeData));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOracleOfflineLogicalMigrationSettings)) {
+ return false;
+ }
+
+ CreateOracleOfflineLogicalMigrationSettings other =
+ (CreateOracleOfflineLogicalMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.dataTransferMediumDetails, other.dataTransferMediumDetails)
+ && java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
+ && java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
+ && java.util.Objects.equals(this.advancedParameters, other.advancedParameters)
+ && java.util.Objects.equals(this.excludeObjects, other.excludeObjects)
+ && java.util.Objects.equals(this.includeObjects, other.includeObjects)
+ && java.util.Objects.equals(
+ this.bulkIncludeExcludeData, other.bulkIncludeExcludeData)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.dataTransferMediumDetails == null
+ ? 43
+ : this.dataTransferMediumDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.initialLoadSettings == null
+ ? 43
+ : this.initialLoadSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advisorSettings == null ? 43 : this.advisorSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advancedParameters == null
+ ? 43
+ : this.advancedParameters.hashCode());
+ result =
+ (result * PRIME)
+ + (this.excludeObjects == null ? 43 : this.excludeObjects.hashCode());
+ result =
+ (result * PRIME)
+ + (this.includeObjects == null ? 43 : this.includeObjects.hashCode());
+ result =
+ (result * PRIME)
+ + (this.bulkIncludeExcludeData == null
+ ? 43
+ : this.bulkIncludeExcludeData.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleOnlineLogicalMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleOnlineLogicalMigrationSettings.java
new file mode 100644
index 00000000000..0437f72b1e2
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleOnlineLogicalMigrationSettings.java
@@ -0,0 +1,473 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Create settings for an online logical Oracle migration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateOracleOnlineLogicalMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateOracleOnlineLogicalMigrationSettings
+ extends CreateOracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private CreateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public Builder dataTransferMediumDetails(
+ CreateOracleDataTransferMediumDetails dataTransferMediumDetails) {
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.__explicitlySet__.add("dataTransferMediumDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private CreateOracleInitialLoadSettings initialLoadSettings;
+
+ public Builder initialLoadSettings(CreateOracleInitialLoadSettings initialLoadSettings) {
+ this.initialLoadSettings = initialLoadSettings;
+ this.__explicitlySet__.add("initialLoadSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private CreateOracleAdvisorSettings advisorSettings;
+
+ public Builder advisorSettings(CreateOracleAdvisorSettings advisorSettings) {
+ this.advisorSettings = advisorSettings;
+ this.__explicitlySet__.add("advisorSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private CreateGoldenGateHubDetails hubDetails;
+
+ public Builder hubDetails(CreateGoldenGateHubDetails hubDetails) {
+ this.hubDetails = hubDetails;
+ this.__explicitlySet__.add("hubDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private CreateOracleGgsDeploymentDetails ggsDetails;
+
+ public Builder ggsDetails(CreateOracleGgsDeploymentDetails ggsDetails) {
+ this.ggsDetails = ggsDetails;
+ this.__explicitlySet__.add("ggsDetails");
+ return this;
+ }
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @param advancedParameters the value to set
+ * @return this builder
+ */
+ public Builder advancedParameters(
+ java.util.List advancedParameters) {
+ this.advancedParameters = advancedParameters;
+ this.__explicitlySet__.add("advancedParameters");
+ return this;
+ }
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside
+ * 'includeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("excludeObjects")
+ private java.util.List excludeObjects;
+
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside
+ * 'includeObjects'
+ *
+ * @param excludeObjects the value to set
+ * @return this builder
+ */
+ public Builder excludeObjects(java.util.List excludeObjects) {
+ this.excludeObjects = excludeObjects;
+ this.__explicitlySet__.add("excludeObjects");
+ return this;
+ }
+ /**
+ * Database objects to include from migration, cannot be specified alongside
+ * 'excludeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("includeObjects")
+ private java.util.List includeObjects;
+
+ /**
+ * Database objects to include from migration, cannot be specified alongside
+ * 'excludeObjects'
+ *
+ * @param includeObjects the value to set
+ * @return this builder
+ */
+ public Builder includeObjects(java.util.List includeObjects) {
+ this.includeObjects = includeObjects;
+ this.__explicitlySet__.add("includeObjects");
+ return this;
+ }
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be
+ * found in the documentation.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("bulkIncludeExcludeData")
+ private String bulkIncludeExcludeData;
+
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be
+ * found in the documentation.
+ *
+ * @param bulkIncludeExcludeData the value to set
+ * @return this builder
+ */
+ public Builder bulkIncludeExcludeData(String bulkIncludeExcludeData) {
+ this.bulkIncludeExcludeData = bulkIncludeExcludeData;
+ this.__explicitlySet__.add("bulkIncludeExcludeData");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateOracleOnlineLogicalMigrationSettings build() {
+ CreateOracleOnlineLogicalMigrationSettings model =
+ new CreateOracleOnlineLogicalMigrationSettings(
+ this.dataTransferMediumDetails,
+ this.initialLoadSettings,
+ this.advisorSettings,
+ this.hubDetails,
+ this.ggsDetails,
+ this.advancedParameters,
+ this.sourceContainerDatabaseConnectionId,
+ this.excludeObjects,
+ this.includeObjects,
+ this.bulkIncludeExcludeData);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateOracleOnlineLogicalMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
+ this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
+ }
+ if (model.wasPropertyExplicitlySet("initialLoadSettings")) {
+ this.initialLoadSettings(model.getInitialLoadSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advisorSettings")) {
+ this.advisorSettings(model.getAdvisorSettings());
+ }
+ if (model.wasPropertyExplicitlySet("hubDetails")) {
+ this.hubDetails(model.getHubDetails());
+ }
+ if (model.wasPropertyExplicitlySet("ggsDetails")) {
+ this.ggsDetails(model.getGgsDetails());
+ }
+ if (model.wasPropertyExplicitlySet("advancedParameters")) {
+ this.advancedParameters(model.getAdvancedParameters());
+ }
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ if (model.wasPropertyExplicitlySet("excludeObjects")) {
+ this.excludeObjects(model.getExcludeObjects());
+ }
+ if (model.wasPropertyExplicitlySet("includeObjects")) {
+ this.includeObjects(model.getIncludeObjects());
+ }
+ if (model.wasPropertyExplicitlySet("bulkIncludeExcludeData")) {
+ this.bulkIncludeExcludeData(model.getBulkIncludeExcludeData());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CreateOracleOnlineLogicalMigrationSettings(
+ CreateOracleDataTransferMediumDetails dataTransferMediumDetails,
+ CreateOracleInitialLoadSettings initialLoadSettings,
+ CreateOracleAdvisorSettings advisorSettings,
+ CreateGoldenGateHubDetails hubDetails,
+ CreateOracleGgsDeploymentDetails ggsDetails,
+ java.util.List advancedParameters,
+ String sourceContainerDatabaseConnectionId,
+ java.util.List excludeObjects,
+ java.util.List includeObjects,
+ String bulkIncludeExcludeData) {
+ super();
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.initialLoadSettings = initialLoadSettings;
+ this.advisorSettings = advisorSettings;
+ this.hubDetails = hubDetails;
+ this.ggsDetails = ggsDetails;
+ this.advancedParameters = advancedParameters;
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.excludeObjects = excludeObjects;
+ this.includeObjects = includeObjects;
+ this.bulkIncludeExcludeData = bulkIncludeExcludeData;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private final CreateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public CreateOracleDataTransferMediumDetails getDataTransferMediumDetails() {
+ return dataTransferMediumDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private final CreateOracleInitialLoadSettings initialLoadSettings;
+
+ public CreateOracleInitialLoadSettings getInitialLoadSettings() {
+ return initialLoadSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private final CreateOracleAdvisorSettings advisorSettings;
+
+ public CreateOracleAdvisorSettings getAdvisorSettings() {
+ return advisorSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private final CreateGoldenGateHubDetails hubDetails;
+
+ public CreateGoldenGateHubDetails getHubDetails() {
+ return hubDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private final CreateOracleGgsDeploymentDetails ggsDetails;
+
+ public CreateOracleGgsDeploymentDetails getGgsDetails() {
+ return ggsDetails;
+ }
+
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private final java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @return the value
+ */
+ public java.util.List getAdvancedParameters() {
+ return advancedParameters;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside 'includeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("excludeObjects")
+ private final java.util.List excludeObjects;
+
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside 'includeObjects'
+ *
+ * @return the value
+ */
+ public java.util.List getExcludeObjects() {
+ return excludeObjects;
+ }
+
+ /**
+ * Database objects to include from migration, cannot be specified alongside 'excludeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("includeObjects")
+ private final java.util.List includeObjects;
+
+ /**
+ * Database objects to include from migration, cannot be specified alongside 'excludeObjects'
+ *
+ * @return the value
+ */
+ public java.util.List getIncludeObjects() {
+ return includeObjects;
+ }
+
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be found in
+ * the documentation.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("bulkIncludeExcludeData")
+ private final String bulkIncludeExcludeData;
+
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be found in
+ * the documentation.
+ *
+ * @return the value
+ */
+ public String getBulkIncludeExcludeData() {
+ return bulkIncludeExcludeData;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CreateOracleOnlineLogicalMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", dataTransferMediumDetails=")
+ .append(String.valueOf(this.dataTransferMediumDetails));
+ sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
+ sb.append(", advisorSettings=").append(String.valueOf(this.advisorSettings));
+ sb.append(", hubDetails=").append(String.valueOf(this.hubDetails));
+ sb.append(", ggsDetails=").append(String.valueOf(this.ggsDetails));
+ sb.append(", advancedParameters=").append(String.valueOf(this.advancedParameters));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(", excludeObjects=").append(String.valueOf(this.excludeObjects));
+ sb.append(", includeObjects=").append(String.valueOf(this.includeObjects));
+ sb.append(", bulkIncludeExcludeData=").append(String.valueOf(this.bulkIncludeExcludeData));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOracleOnlineLogicalMigrationSettings)) {
+ return false;
+ }
+
+ CreateOracleOnlineLogicalMigrationSettings other =
+ (CreateOracleOnlineLogicalMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.dataTransferMediumDetails, other.dataTransferMediumDetails)
+ && java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
+ && java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
+ && java.util.Objects.equals(this.hubDetails, other.hubDetails)
+ && java.util.Objects.equals(this.ggsDetails, other.ggsDetails)
+ && java.util.Objects.equals(this.advancedParameters, other.advancedParameters)
+ && java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && java.util.Objects.equals(this.excludeObjects, other.excludeObjects)
+ && java.util.Objects.equals(this.includeObjects, other.includeObjects)
+ && java.util.Objects.equals(
+ this.bulkIncludeExcludeData, other.bulkIncludeExcludeData)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.dataTransferMediumDetails == null
+ ? 43
+ : this.dataTransferMediumDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.initialLoadSettings == null
+ ? 43
+ : this.initialLoadSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advisorSettings == null ? 43 : this.advisorSettings.hashCode());
+ result = (result * PRIME) + (this.hubDetails == null ? 43 : this.hubDetails.hashCode());
+ result = (result * PRIME) + (this.ggsDetails == null ? 43 : this.ggsDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advancedParameters == null
+ ? 43
+ : this.advancedParameters.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.excludeObjects == null ? 43 : this.excludeObjects.hashCode());
+ result =
+ (result * PRIME)
+ + (this.includeObjects == null ? 43 : this.includeObjects.hashCode());
+ result =
+ (result * PRIME)
+ + (this.bulkIncludeExcludeData == null
+ ? 43
+ : this.bulkIncludeExcludeData.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleOnlineStandbyMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleOnlineStandbyMigrationSettings.java
new file mode 100644
index 00000000000..25489b85c83
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/CreateOracleOnlineStandbyMigrationSettings.java
@@ -0,0 +1,518 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Create settings for an online standby Oracle migration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateOracleOnlineStandbyMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateOracleOnlineStandbyMigrationSettings
+ extends CreateOracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private CreateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public Builder dataTransferMediumDetails(
+ CreateOracleDataTransferMediumDetails dataTransferMediumDetails) {
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.__explicitlySet__.add("dataTransferMediumDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private CreateOracleInitialLoadSettings initialLoadSettings;
+
+ public Builder initialLoadSettings(CreateOracleInitialLoadSettings initialLoadSettings) {
+ this.initialLoadSettings = initialLoadSettings;
+ this.__explicitlySet__.add("initialLoadSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private CreateOracleAdvisorSettings advisorSettings;
+
+ public Builder advisorSettings(CreateOracleAdvisorSettings advisorSettings) {
+ this.advisorSettings = advisorSettings;
+ this.__explicitlySet__.add("advisorSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private CreateGoldenGateHubDetails hubDetails;
+
+ public Builder hubDetails(CreateGoldenGateHubDetails hubDetails) {
+ this.hubDetails = hubDetails;
+ this.__explicitlySet__.add("hubDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private CreateOracleGgsDeploymentDetails ggsDetails;
+
+ public Builder ggsDetails(CreateOracleGgsDeploymentDetails ggsDetails) {
+ this.ggsDetails = ggsDetails;
+ this.__explicitlySet__.add("ggsDetails");
+ return this;
+ }
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @param advancedParameters the value to set
+ * @return this builder
+ */
+ public Builder advancedParameters(
+ java.util.List advancedParameters) {
+ this.advancedParameters = advancedParameters;
+ this.__explicitlySet__.add("advancedParameters");
+ return this;
+ }
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceStandbyDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceStandbyDatabaseConnectionId(String sourceStandbyDatabaseConnectionId) {
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceStandbyDatabaseConnectionId");
+ return this;
+ }
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside
+ * 'includeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("excludeObjects")
+ private java.util.List excludeObjects;
+
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside
+ * 'includeObjects'
+ *
+ * @param excludeObjects the value to set
+ * @return this builder
+ */
+ public Builder excludeObjects(java.util.List excludeObjects) {
+ this.excludeObjects = excludeObjects;
+ this.__explicitlySet__.add("excludeObjects");
+ return this;
+ }
+ /**
+ * Database objects to include from migration, cannot be specified alongside
+ * 'excludeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("includeObjects")
+ private java.util.List includeObjects;
+
+ /**
+ * Database objects to include from migration, cannot be specified alongside
+ * 'excludeObjects'
+ *
+ * @param includeObjects the value to set
+ * @return this builder
+ */
+ public Builder includeObjects(java.util.List includeObjects) {
+ this.includeObjects = includeObjects;
+ this.__explicitlySet__.add("includeObjects");
+ return this;
+ }
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be
+ * found in the documentation.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("bulkIncludeExcludeData")
+ private String bulkIncludeExcludeData;
+
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be
+ * found in the documentation.
+ *
+ * @param bulkIncludeExcludeData the value to set
+ * @return this builder
+ */
+ public Builder bulkIncludeExcludeData(String bulkIncludeExcludeData) {
+ this.bulkIncludeExcludeData = bulkIncludeExcludeData;
+ this.__explicitlySet__.add("bulkIncludeExcludeData");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateOracleOnlineStandbyMigrationSettings build() {
+ CreateOracleOnlineStandbyMigrationSettings model =
+ new CreateOracleOnlineStandbyMigrationSettings(
+ this.dataTransferMediumDetails,
+ this.initialLoadSettings,
+ this.advisorSettings,
+ this.hubDetails,
+ this.ggsDetails,
+ this.advancedParameters,
+ this.sourceContainerDatabaseConnectionId,
+ this.sourceStandbyDatabaseConnectionId,
+ this.excludeObjects,
+ this.includeObjects,
+ this.bulkIncludeExcludeData);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateOracleOnlineStandbyMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
+ this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
+ }
+ if (model.wasPropertyExplicitlySet("initialLoadSettings")) {
+ this.initialLoadSettings(model.getInitialLoadSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advisorSettings")) {
+ this.advisorSettings(model.getAdvisorSettings());
+ }
+ if (model.wasPropertyExplicitlySet("hubDetails")) {
+ this.hubDetails(model.getHubDetails());
+ }
+ if (model.wasPropertyExplicitlySet("ggsDetails")) {
+ this.ggsDetails(model.getGgsDetails());
+ }
+ if (model.wasPropertyExplicitlySet("advancedParameters")) {
+ this.advancedParameters(model.getAdvancedParameters());
+ }
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ if (model.wasPropertyExplicitlySet("sourceStandbyDatabaseConnectionId")) {
+ this.sourceStandbyDatabaseConnectionId(
+ model.getSourceStandbyDatabaseConnectionId());
+ }
+ if (model.wasPropertyExplicitlySet("excludeObjects")) {
+ this.excludeObjects(model.getExcludeObjects());
+ }
+ if (model.wasPropertyExplicitlySet("includeObjects")) {
+ this.includeObjects(model.getIncludeObjects());
+ }
+ if (model.wasPropertyExplicitlySet("bulkIncludeExcludeData")) {
+ this.bulkIncludeExcludeData(model.getBulkIncludeExcludeData());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CreateOracleOnlineStandbyMigrationSettings(
+ CreateOracleDataTransferMediumDetails dataTransferMediumDetails,
+ CreateOracleInitialLoadSettings initialLoadSettings,
+ CreateOracleAdvisorSettings advisorSettings,
+ CreateGoldenGateHubDetails hubDetails,
+ CreateOracleGgsDeploymentDetails ggsDetails,
+ java.util.List advancedParameters,
+ String sourceContainerDatabaseConnectionId,
+ String sourceStandbyDatabaseConnectionId,
+ java.util.List excludeObjects,
+ java.util.List includeObjects,
+ String bulkIncludeExcludeData) {
+ super();
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.initialLoadSettings = initialLoadSettings;
+ this.advisorSettings = advisorSettings;
+ this.hubDetails = hubDetails;
+ this.ggsDetails = ggsDetails;
+ this.advancedParameters = advancedParameters;
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ this.excludeObjects = excludeObjects;
+ this.includeObjects = includeObjects;
+ this.bulkIncludeExcludeData = bulkIncludeExcludeData;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private final CreateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public CreateOracleDataTransferMediumDetails getDataTransferMediumDetails() {
+ return dataTransferMediumDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private final CreateOracleInitialLoadSettings initialLoadSettings;
+
+ public CreateOracleInitialLoadSettings getInitialLoadSettings() {
+ return initialLoadSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private final CreateOracleAdvisorSettings advisorSettings;
+
+ public CreateOracleAdvisorSettings getAdvisorSettings() {
+ return advisorSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private final CreateGoldenGateHubDetails hubDetails;
+
+ public CreateGoldenGateHubDetails getHubDetails() {
+ return hubDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private final CreateOracleGgsDeploymentDetails ggsDetails;
+
+ public CreateOracleGgsDeploymentDetails getGgsDetails() {
+ return ggsDetails;
+ }
+
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private final java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @return the value
+ */
+ public java.util.List getAdvancedParameters() {
+ return advancedParameters;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private final String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceStandbyDatabaseConnectionId() {
+ return sourceStandbyDatabaseConnectionId;
+ }
+
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside 'includeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("excludeObjects")
+ private final java.util.List excludeObjects;
+
+ /**
+ * Database objects to exclude from migration, cannot be specified alongside 'includeObjects'
+ *
+ * @return the value
+ */
+ public java.util.List getExcludeObjects() {
+ return excludeObjects;
+ }
+
+ /**
+ * Database objects to include from migration, cannot be specified alongside 'excludeObjects'
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("includeObjects")
+ private final java.util.List includeObjects;
+
+ /**
+ * Database objects to include from migration, cannot be specified alongside 'excludeObjects'
+ *
+ * @return the value
+ */
+ public java.util.List getIncludeObjects() {
+ return includeObjects;
+ }
+
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be found in
+ * the documentation.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("bulkIncludeExcludeData")
+ private final String bulkIncludeExcludeData;
+
+ /**
+ * Specifies the database objects to be excluded from the migration in bulk. The definition
+ * accepts input in a CSV format, newline separated for each entry. More details can be found in
+ * the documentation.
+ *
+ * @return the value
+ */
+ public String getBulkIncludeExcludeData() {
+ return bulkIncludeExcludeData;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CreateOracleOnlineStandbyMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", dataTransferMediumDetails=")
+ .append(String.valueOf(this.dataTransferMediumDetails));
+ sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
+ sb.append(", advisorSettings=").append(String.valueOf(this.advisorSettings));
+ sb.append(", hubDetails=").append(String.valueOf(this.hubDetails));
+ sb.append(", ggsDetails=").append(String.valueOf(this.ggsDetails));
+ sb.append(", advancedParameters=").append(String.valueOf(this.advancedParameters));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(", sourceStandbyDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceStandbyDatabaseConnectionId));
+ sb.append(", excludeObjects=").append(String.valueOf(this.excludeObjects));
+ sb.append(", includeObjects=").append(String.valueOf(this.includeObjects));
+ sb.append(", bulkIncludeExcludeData=").append(String.valueOf(this.bulkIncludeExcludeData));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOracleOnlineStandbyMigrationSettings)) {
+ return false;
+ }
+
+ CreateOracleOnlineStandbyMigrationSettings other =
+ (CreateOracleOnlineStandbyMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.dataTransferMediumDetails, other.dataTransferMediumDetails)
+ && java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
+ && java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
+ && java.util.Objects.equals(this.hubDetails, other.hubDetails)
+ && java.util.Objects.equals(this.ggsDetails, other.ggsDetails)
+ && java.util.Objects.equals(this.advancedParameters, other.advancedParameters)
+ && java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && java.util.Objects.equals(
+ this.sourceStandbyDatabaseConnectionId,
+ other.sourceStandbyDatabaseConnectionId)
+ && java.util.Objects.equals(this.excludeObjects, other.excludeObjects)
+ && java.util.Objects.equals(this.includeObjects, other.includeObjects)
+ && java.util.Objects.equals(
+ this.bulkIncludeExcludeData, other.bulkIncludeExcludeData)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.dataTransferMediumDetails == null
+ ? 43
+ : this.dataTransferMediumDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.initialLoadSettings == null
+ ? 43
+ : this.initialLoadSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advisorSettings == null ? 43 : this.advisorSettings.hashCode());
+ result = (result * PRIME) + (this.hubDetails == null ? 43 : this.hubDetails.hashCode());
+ result = (result * PRIME) + (this.ggsDetails == null ? 43 : this.ggsDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advancedParameters == null
+ ? 43
+ : this.advancedParameters.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceStandbyDatabaseConnectionId == null
+ ? 43
+ : this.sourceStandbyDatabaseConnectionId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.excludeObjects == null ? 43 : this.excludeObjects.hashCode());
+ result =
+ (result * PRIME)
+ + (this.includeObjects == null ? 43 : this.includeObjects.hashCode());
+ result =
+ (result * PRIME)
+ + (this.bulkIncludeExcludeData == null
+ ? 43
+ : this.bulkIncludeExcludeData.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationDetail.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationDetail.java
new file mode 100644
index 00000000000..073eddce93a
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationDetail.java
@@ -0,0 +1,464 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Summary/status information used to enable and drive the Data Verification UI.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DataVerificationDetail.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DataVerificationDetail
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "migrationId",
+ "lifecycleState",
+ "timeStarted",
+ "timeUpdated",
+ "timeCompleted",
+ "lifecycleDetails",
+ "timeCreated"
+ })
+ public DataVerificationDetail(
+ String migrationId,
+ LifecycleState lifecycleState,
+ java.util.Date timeStarted,
+ java.util.Date timeUpdated,
+ java.util.Date timeCompleted,
+ String lifecycleDetails,
+ java.util.Date timeCreated) {
+ super();
+ this.migrationId = migrationId;
+ this.lifecycleState = lifecycleState;
+ this.timeStarted = timeStarted;
+ this.timeUpdated = timeUpdated;
+ this.timeCompleted = timeCompleted;
+ this.lifecycleDetails = lifecycleDetails;
+ this.timeCreated = timeCreated;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationId")
+ private String migrationId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param migrationId the value to set
+ * @return this builder
+ */
+ public Builder migrationId(String migrationId) {
+ this.migrationId = migrationId;
+ this.__explicitlySet__.add("migrationId");
+ return this;
+ }
+ /**
+ * Overall lifecycle state of Data Verification generation for the migration. This is a
+ * single, feature-level state (all Data Verification reports are generated as one batch).
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
+ private LifecycleState lifecycleState;
+
+ /**
+ * Overall lifecycle state of Data Verification generation for the migration. This is a
+ * single, feature-level state (all Data Verification reports are generated as one batch).
+ *
+ * @param lifecycleState the value to set
+ * @return this builder
+ */
+ public Builder lifecycleState(LifecycleState lifecycleState) {
+ this.lifecycleState = lifecycleState;
+ this.__explicitlySet__.add("lifecycleState");
+ return this;
+ }
+ /** An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeStarted")
+ private java.util.Date timeStarted;
+
+ /**
+ * An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}.
+ *
+ * @param timeStarted the value to set
+ * @return this builder
+ */
+ public Builder timeStarted(java.util.Date timeStarted) {
+ this.timeStarted = timeStarted;
+ this.__explicitlySet__.add("timeStarted");
+ return this;
+ }
+ /** An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated")
+ private java.util.Date timeUpdated;
+
+ /**
+ * An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}.
+ *
+ * @param timeUpdated the value to set
+ * @return this builder
+ */
+ public Builder timeUpdated(java.util.Date timeUpdated) {
+ this.timeUpdated = timeUpdated;
+ this.__explicitlySet__.add("timeUpdated");
+ return this;
+ }
+ /** An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeCompleted")
+ private java.util.Date timeCompleted;
+
+ /**
+ * An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}.
+ *
+ * @param timeCompleted the value to set
+ * @return this builder
+ */
+ public Builder timeCompleted(java.util.Date timeCompleted) {
+ this.timeCompleted = timeCompleted;
+ this.__explicitlySet__.add("timeCompleted");
+ return this;
+ }
+ /**
+ * A human-readable string that provides more details about the current lifecycle state.
+ *
+ * This field is intended to follow OCI patterns and may include an internal error code
+ * and message when {@code lifecycleState} is {@code FAILED} (for example, {@code DMS-xxxx:
+ * }). When {@code lifecycleState} is {@code SUCCEEDED}, this field may contain a
+ * non-failing disclaimer, such as unavailable table row-count comparisons caused by missing
+ * optimizer statistics.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails")
+ private String lifecycleDetails;
+
+ /**
+ * A human-readable string that provides more details about the current lifecycle state.
+ *
+ * This field is intended to follow OCI patterns and may include an internal error code
+ * and message when {@code lifecycleState} is {@code FAILED} (for example, {@code DMS-xxxx:
+ * }). When {@code lifecycleState} is {@code SUCCEEDED}, this field may contain a
+ * non-failing disclaimer, such as unavailable table row-count comparisons caused by missing
+ * optimizer statistics.
+ *
+ * @param lifecycleDetails the value to set
+ * @return this builder
+ */
+ public Builder lifecycleDetails(String lifecycleDetails) {
+ this.lifecycleDetails = lifecycleDetails;
+ this.__explicitlySet__.add("lifecycleDetails");
+ return this;
+ }
+ /** An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated")
+ private java.util.Date timeCreated;
+
+ /**
+ * An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}.
+ *
+ * @param timeCreated the value to set
+ * @return this builder
+ */
+ public Builder timeCreated(java.util.Date timeCreated) {
+ this.timeCreated = timeCreated;
+ this.__explicitlySet__.add("timeCreated");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DataVerificationDetail build() {
+ DataVerificationDetail model =
+ new DataVerificationDetail(
+ this.migrationId,
+ this.lifecycleState,
+ this.timeStarted,
+ this.timeUpdated,
+ this.timeCompleted,
+ this.lifecycleDetails,
+ this.timeCreated);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DataVerificationDetail model) {
+ if (model.wasPropertyExplicitlySet("migrationId")) {
+ this.migrationId(model.getMigrationId());
+ }
+ if (model.wasPropertyExplicitlySet("lifecycleState")) {
+ this.lifecycleState(model.getLifecycleState());
+ }
+ if (model.wasPropertyExplicitlySet("timeStarted")) {
+ this.timeStarted(model.getTimeStarted());
+ }
+ if (model.wasPropertyExplicitlySet("timeUpdated")) {
+ this.timeUpdated(model.getTimeUpdated());
+ }
+ if (model.wasPropertyExplicitlySet("timeCompleted")) {
+ this.timeCompleted(model.getTimeCompleted());
+ }
+ if (model.wasPropertyExplicitlySet("lifecycleDetails")) {
+ this.lifecycleDetails(model.getLifecycleDetails());
+ }
+ if (model.wasPropertyExplicitlySet("timeCreated")) {
+ this.timeCreated(model.getTimeCreated());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationId")
+ private final String migrationId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getMigrationId() {
+ return migrationId;
+ }
+
+ /**
+ * Overall lifecycle state of Data Verification generation for the migration. This is a single,
+ * feature-level state (all Data Verification reports are generated as one batch).
+ */
+ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum {
+ Accepted("ACCEPTED"),
+ InProgress("IN_PROGRESS"),
+ Waiting("WAITING"),
+ Failed("FAILED"),
+ Succeeded("SUCCEEDED"),
+ Canceling("CANCELING"),
+ Canceled("CANCELED"),
+ NeedsAttention("NEEDS_ATTENTION"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(LifecycleState.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (LifecycleState v : LifecycleState.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ LifecycleState(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static LifecycleState create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'LifecycleState', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /**
+ * Overall lifecycle state of Data Verification generation for the migration. This is a single,
+ * feature-level state (all Data Verification reports are generated as one batch).
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
+ private final LifecycleState lifecycleState;
+
+ /**
+ * Overall lifecycle state of Data Verification generation for the migration. This is a single,
+ * feature-level state (all Data Verification reports are generated as one batch).
+ *
+ * @return the value
+ */
+ public LifecycleState getLifecycleState() {
+ return lifecycleState;
+ }
+
+ /** An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeStarted")
+ private final java.util.Date timeStarted;
+
+ /**
+ * An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeStarted() {
+ return timeStarted;
+ }
+
+ /** An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated")
+ private final java.util.Date timeUpdated;
+
+ /**
+ * An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeUpdated() {
+ return timeUpdated;
+ }
+
+ /** An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeCompleted")
+ private final java.util.Date timeCompleted;
+
+ /**
+ * An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeCompleted() {
+ return timeCompleted;
+ }
+
+ /**
+ * A human-readable string that provides more details about the current lifecycle state.
+ *
+ * This field is intended to follow OCI patterns and may include an internal error code and
+ * message when {@code lifecycleState} is {@code FAILED} (for example, {@code DMS-xxxx:
+ * }). When {@code lifecycleState} is {@code SUCCEEDED}, this field may contain a
+ * non-failing disclaimer, such as unavailable table row-count comparisons caused by missing
+ * optimizer statistics.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails")
+ private final String lifecycleDetails;
+
+ /**
+ * A human-readable string that provides more details about the current lifecycle state.
+ *
+ * This field is intended to follow OCI patterns and may include an internal error code and
+ * message when {@code lifecycleState} is {@code FAILED} (for example, {@code DMS-xxxx:
+ * }). When {@code lifecycleState} is {@code SUCCEEDED}, this field may contain a
+ * non-failing disclaimer, such as unavailable table row-count comparisons caused by missing
+ * optimizer statistics.
+ *
+ * @return the value
+ */
+ public String getLifecycleDetails() {
+ return lifecycleDetails;
+ }
+
+ /** An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated")
+ private final java.util.Date timeCreated;
+
+ /**
+ * An RFC3339 formatted datetime string such as {@code 2016-08-25T21:10:29.600Z}.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeCreated() {
+ return timeCreated;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("DataVerificationDetail(");
+ sb.append("super=").append(super.toString());
+ sb.append("migrationId=").append(String.valueOf(this.migrationId));
+ sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState));
+ sb.append(", timeStarted=").append(String.valueOf(this.timeStarted));
+ sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated));
+ sb.append(", timeCompleted=").append(String.valueOf(this.timeCompleted));
+ sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails));
+ sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DataVerificationDetail)) {
+ return false;
+ }
+
+ DataVerificationDetail other = (DataVerificationDetail) o;
+ return java.util.Objects.equals(this.migrationId, other.migrationId)
+ && java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
+ && java.util.Objects.equals(this.timeStarted, other.timeStarted)
+ && java.util.Objects.equals(this.timeUpdated, other.timeUpdated)
+ && java.util.Objects.equals(this.timeCompleted, other.timeCompleted)
+ && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails)
+ && java.util.Objects.equals(this.timeCreated, other.timeCreated)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.migrationId == null ? 43 : this.migrationId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
+ result = (result * PRIME) + (this.timeStarted == null ? 43 : this.timeStarted.hashCode());
+ result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeCompleted == null ? 43 : this.timeCompleted.hashCode());
+ result =
+ (result * PRIME)
+ + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode());
+ result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectStatusCollection.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectStatusCollection.java
new file mode 100644
index 00000000000..eae236cc1e9
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectStatusCollection.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Results of an Object Status listing.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DataVerificationObjectStatusCollection.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DataVerificationObjectStatusCollection
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"items", "totalItems"})
+ public DataVerificationObjectStatusCollection(
+ java.util.List items, Integer totalItems) {
+ super();
+ this.items = items;
+ this.totalItems = totalItems;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Items in collection. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private java.util.List items;
+
+ /**
+ * Items in collection.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(java.util.List items) {
+ this.items = items;
+ this.__explicitlySet__.add("items");
+ return this;
+ }
+ /** Total number of items matching the request. */
+ @com.fasterxml.jackson.annotation.JsonProperty("totalItems")
+ private Integer totalItems;
+
+ /**
+ * Total number of items matching the request.
+ *
+ * @param totalItems the value to set
+ * @return this builder
+ */
+ public Builder totalItems(Integer totalItems) {
+ this.totalItems = totalItems;
+ this.__explicitlySet__.add("totalItems");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DataVerificationObjectStatusCollection build() {
+ DataVerificationObjectStatusCollection model =
+ new DataVerificationObjectStatusCollection(this.items, this.totalItems);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DataVerificationObjectStatusCollection model) {
+ if (model.wasPropertyExplicitlySet("items")) {
+ this.items(model.getItems());
+ }
+ if (model.wasPropertyExplicitlySet("totalItems")) {
+ this.totalItems(model.getTotalItems());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Items in collection. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private final java.util.List items;
+
+ /**
+ * Items in collection.
+ *
+ * @return the value
+ */
+ public java.util.List getItems() {
+ return items;
+ }
+
+ /** Total number of items matching the request. */
+ @com.fasterxml.jackson.annotation.JsonProperty("totalItems")
+ private final Integer totalItems;
+
+ /**
+ * Total number of items matching the request.
+ *
+ * @return the value
+ */
+ public Integer getTotalItems() {
+ return totalItems;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("DataVerificationObjectStatusCollection(");
+ sb.append("super=").append(super.toString());
+ sb.append("items=").append(String.valueOf(this.items));
+ sb.append(", totalItems=").append(String.valueOf(this.totalItems));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DataVerificationObjectStatusCollection)) {
+ return false;
+ }
+
+ DataVerificationObjectStatusCollection other = (DataVerificationObjectStatusCollection) o;
+ return java.util.Objects.equals(this.items, other.items)
+ && java.util.Objects.equals(this.totalItems, other.totalItems)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode());
+ result = (result * PRIME) + (this.totalItems == null ? 43 : this.totalItems.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectStatusSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectStatusSummary.java
new file mode 100644
index 00000000000..4139ff64283
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectStatusSummary.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Per-object status comparison line.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "databaseCombination",
+ defaultImpl = DataVerificationObjectStatusSummary.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = MySqlDataVerificationObjectStatusSummary.class,
+ name = "MYSQL"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OracleDataVerificationObjectStatusSummary.class,
+ name = "ORACLE")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class DataVerificationObjectStatusSummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"owner", "objectName", "statusInSource", "statusInTarget"})
+ protected DataVerificationObjectStatusSummary(
+ String owner, String objectName, String statusInSource, String statusInTarget) {
+ super();
+ this.owner = owner;
+ this.objectName = objectName;
+ this.statusInSource = statusInSource;
+ this.statusInTarget = statusInTarget;
+ }
+
+ /**
+ * Schema/owner name.
+ *
+ * This field is omitted (null/empty depending on backend serialization) for database-wide
+ * object types that are not schema-scoped.
+ *
+ *
Oracle non-schema-scoped object types: USER, ROLE, PROFILE, TABLESPACE, DATABASE_LINK,
+ * CONTROLFILE, DATAFILE, REDO_LOG, DIRECTORY, LIBRARY, CONTEXT.
+ *
+ *
MySQL non-schema-scoped object types: USER, ROLE, SERVER, TABLESPACE, LOGFILE_GROUP.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("owner")
+ private final String owner;
+
+ /**
+ * Schema/owner name.
+ *
+ *
This field is omitted (null/empty depending on backend serialization) for database-wide
+ * object types that are not schema-scoped.
+ *
+ *
Oracle non-schema-scoped object types: USER, ROLE, PROFILE, TABLESPACE, DATABASE_LINK,
+ * CONTROLFILE, DATAFILE, REDO_LOG, DIRECTORY, LIBRARY, CONTEXT.
+ *
+ *
MySQL non-schema-scoped object types: USER, ROLE, SERVER, TABLESPACE, LOGFILE_GROUP.
+ *
+ * @return the value
+ */
+ public String getOwner() {
+ return owner;
+ }
+
+ /** Database object name. */
+ @com.fasterxml.jackson.annotation.JsonProperty("objectName")
+ private final String objectName;
+
+ /**
+ * Database object name.
+ *
+ * @return the value
+ */
+ public String getObjectName() {
+ return objectName;
+ }
+
+ /** Object status in source. */
+ @com.fasterxml.jackson.annotation.JsonProperty("statusInSource")
+ private final String statusInSource;
+
+ /**
+ * Object status in source.
+ *
+ * @return the value
+ */
+ public String getStatusInSource() {
+ return statusInSource;
+ }
+
+ /** Object status in target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("statusInTarget")
+ private final String statusInTarget;
+
+ /**
+ * Object status in target.
+ *
+ * @return the value
+ */
+ public String getStatusInTarget() {
+ return statusInTarget;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("DataVerificationObjectStatusSummary(");
+ sb.append("super=").append(super.toString());
+ sb.append("owner=").append(String.valueOf(this.owner));
+ sb.append(", objectName=").append(String.valueOf(this.objectName));
+ sb.append(", statusInSource=").append(String.valueOf(this.statusInSource));
+ sb.append(", statusInTarget=").append(String.valueOf(this.statusInTarget));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DataVerificationObjectStatusSummary)) {
+ return false;
+ }
+
+ DataVerificationObjectStatusSummary other = (DataVerificationObjectStatusSummary) o;
+ return java.util.Objects.equals(this.owner, other.owner)
+ && java.util.Objects.equals(this.objectName, other.objectName)
+ && java.util.Objects.equals(this.statusInSource, other.statusInSource)
+ && java.util.Objects.equals(this.statusInTarget, other.statusInTarget)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.owner == null ? 43 : this.owner.hashCode());
+ result = (result * PRIME) + (this.objectName == null ? 43 : this.objectName.hashCode());
+ result =
+ (result * PRIME)
+ + (this.statusInSource == null ? 43 : this.statusInSource.hashCode());
+ result =
+ (result * PRIME)
+ + (this.statusInTarget == null ? 43 : this.statusInTarget.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectTypeCountCollection.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectTypeCountCollection.java
new file mode 100644
index 00000000000..bad155ed2cc
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectTypeCountCollection.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Results of an Object Type Count Comparison listing.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DataVerificationObjectTypeCountCollection.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DataVerificationObjectTypeCountCollection
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"items", "totalItems"})
+ public DataVerificationObjectTypeCountCollection(
+ java.util.List items, Integer totalItems) {
+ super();
+ this.items = items;
+ this.totalItems = totalItems;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Items in collection. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private java.util.List items;
+
+ /**
+ * Items in collection.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(java.util.List items) {
+ this.items = items;
+ this.__explicitlySet__.add("items");
+ return this;
+ }
+ /** Total number of items matching the request. */
+ @com.fasterxml.jackson.annotation.JsonProperty("totalItems")
+ private Integer totalItems;
+
+ /**
+ * Total number of items matching the request.
+ *
+ * @param totalItems the value to set
+ * @return this builder
+ */
+ public Builder totalItems(Integer totalItems) {
+ this.totalItems = totalItems;
+ this.__explicitlySet__.add("totalItems");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DataVerificationObjectTypeCountCollection build() {
+ DataVerificationObjectTypeCountCollection model =
+ new DataVerificationObjectTypeCountCollection(this.items, this.totalItems);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DataVerificationObjectTypeCountCollection model) {
+ if (model.wasPropertyExplicitlySet("items")) {
+ this.items(model.getItems());
+ }
+ if (model.wasPropertyExplicitlySet("totalItems")) {
+ this.totalItems(model.getTotalItems());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Items in collection. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private final java.util.List items;
+
+ /**
+ * Items in collection.
+ *
+ * @return the value
+ */
+ public java.util.List getItems() {
+ return items;
+ }
+
+ /** Total number of items matching the request. */
+ @com.fasterxml.jackson.annotation.JsonProperty("totalItems")
+ private final Integer totalItems;
+
+ /**
+ * Total number of items matching the request.
+ *
+ * @return the value
+ */
+ public Integer getTotalItems() {
+ return totalItems;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("DataVerificationObjectTypeCountCollection(");
+ sb.append("super=").append(super.toString());
+ sb.append("items=").append(String.valueOf(this.items));
+ sb.append(", totalItems=").append(String.valueOf(this.totalItems));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DataVerificationObjectTypeCountCollection)) {
+ return false;
+ }
+
+ DataVerificationObjectTypeCountCollection other =
+ (DataVerificationObjectTypeCountCollection) o;
+ return java.util.Objects.equals(this.items, other.items)
+ && java.util.Objects.equals(this.totalItems, other.totalItems)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode());
+ result = (result * PRIME) + (this.totalItems == null ? 43 : this.totalItems.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectTypeCountSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectTypeCountSummary.java
new file mode 100644
index 00000000000..919910b79bf
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationObjectTypeCountSummary.java
@@ -0,0 +1,190 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Object type count comparison summary line.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "databaseCombination",
+ defaultImpl = DataVerificationObjectTypeCountSummary.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = MySqlDataVerificationObjectTypeCountSummary.class,
+ name = "MYSQL"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OracleDataVerificationObjectTypeCountSummary.class,
+ name = "ORACLE")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class DataVerificationObjectTypeCountSummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "schemaName",
+ "sourceObjectCount",
+ "targetObjectCount",
+ "deltaPercent"
+ })
+ protected DataVerificationObjectTypeCountSummary(
+ String schemaName,
+ Integer sourceObjectCount,
+ Integer targetObjectCount,
+ Double deltaPercent) {
+ super();
+ this.schemaName = schemaName;
+ this.sourceObjectCount = sourceObjectCount;
+ this.targetObjectCount = targetObjectCount;
+ this.deltaPercent = deltaPercent;
+ }
+
+ /**
+ * Schema/owner name.
+ *
+ * This field is omitted (null/empty depending on backend serialization) for database-wide
+ * object types that are not schema-scoped.
+ *
+ *
Oracle non-schema-scoped object types: USER, ROLE, PROFILE, TABLESPACE, DATABASE_LINK,
+ * CONTROLFILE, DATAFILE, REDO_LOG, DIRECTORY, LIBRARY, CONTEXT.
+ *
+ *
MySQL non-schema-scoped object types: USER, ROLE, SERVER, TABLESPACE, LOGFILE_GROUP.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("schemaName")
+ private final String schemaName;
+
+ /**
+ * Schema/owner name.
+ *
+ *
This field is omitted (null/empty depending on backend serialization) for database-wide
+ * object types that are not schema-scoped.
+ *
+ *
Oracle non-schema-scoped object types: USER, ROLE, PROFILE, TABLESPACE, DATABASE_LINK,
+ * CONTROLFILE, DATAFILE, REDO_LOG, DIRECTORY, LIBRARY, CONTEXT.
+ *
+ *
MySQL non-schema-scoped object types: USER, ROLE, SERVER, TABLESPACE, LOGFILE_GROUP.
+ *
+ * @return the value
+ */
+ public String getSchemaName() {
+ return schemaName;
+ }
+
+ /** Number of objects in source. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceObjectCount")
+ private final Integer sourceObjectCount;
+
+ /**
+ * Number of objects in source.
+ *
+ * @return the value
+ */
+ public Integer getSourceObjectCount() {
+ return sourceObjectCount;
+ }
+
+ /** Number of objects in target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetObjectCount")
+ private final Integer targetObjectCount;
+
+ /**
+ * Number of objects in target.
+ *
+ * @return the value
+ */
+ public Integer getTargetObjectCount() {
+ return targetObjectCount;
+ }
+
+ /**
+ * Percentage delta between source and target counts. This value is expected to be non-negative.
+ *
+ *
If a negative value is encountered, it indicates that the target has objects not present
+ * in the source, which should be treated as an inconsistency (i.e., a failed comparison/report
+ * result).
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("deltaPercent")
+ private final Double deltaPercent;
+
+ /**
+ * Percentage delta between source and target counts. This value is expected to be non-negative.
+ *
+ *
If a negative value is encountered, it indicates that the target has objects not present
+ * in the source, which should be treated as an inconsistency (i.e., a failed comparison/report
+ * result).
+ *
+ * @return the value
+ */
+ public Double getDeltaPercent() {
+ return deltaPercent;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("DataVerificationObjectTypeCountSummary(");
+ sb.append("super=").append(super.toString());
+ sb.append("schemaName=").append(String.valueOf(this.schemaName));
+ sb.append(", sourceObjectCount=").append(String.valueOf(this.sourceObjectCount));
+ sb.append(", targetObjectCount=").append(String.valueOf(this.targetObjectCount));
+ sb.append(", deltaPercent=").append(String.valueOf(this.deltaPercent));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DataVerificationObjectTypeCountSummary)) {
+ return false;
+ }
+
+ DataVerificationObjectTypeCountSummary other = (DataVerificationObjectTypeCountSummary) o;
+ return java.util.Objects.equals(this.schemaName, other.schemaName)
+ && java.util.Objects.equals(this.sourceObjectCount, other.sourceObjectCount)
+ && java.util.Objects.equals(this.targetObjectCount, other.targetObjectCount)
+ && java.util.Objects.equals(this.deltaPercent, other.deltaPercent)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.schemaName == null ? 43 : this.schemaName.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceObjectCount == null ? 43 : this.sourceObjectCount.hashCode());
+ result =
+ (result * PRIME)
+ + (this.targetObjectCount == null ? 43 : this.targetObjectCount.hashCode());
+ result = (result * PRIME) + (this.deltaPercent == null ? 43 : this.deltaPercent.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationTableRowCountCollection.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationTableRowCountCollection.java
new file mode 100644
index 00000000000..d85c04902f0
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationTableRowCountCollection.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Results of a Table Row Count Comparison listing.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DataVerificationTableRowCountCollection.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DataVerificationTableRowCountCollection
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"items", "totalItems"})
+ public DataVerificationTableRowCountCollection(
+ java.util.List items, Integer totalItems) {
+ super();
+ this.items = items;
+ this.totalItems = totalItems;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Items in collection. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private java.util.List items;
+
+ /**
+ * Items in collection.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(java.util.List items) {
+ this.items = items;
+ this.__explicitlySet__.add("items");
+ return this;
+ }
+ /** Total number of items matching the request. */
+ @com.fasterxml.jackson.annotation.JsonProperty("totalItems")
+ private Integer totalItems;
+
+ /**
+ * Total number of items matching the request.
+ *
+ * @param totalItems the value to set
+ * @return this builder
+ */
+ public Builder totalItems(Integer totalItems) {
+ this.totalItems = totalItems;
+ this.__explicitlySet__.add("totalItems");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DataVerificationTableRowCountCollection build() {
+ DataVerificationTableRowCountCollection model =
+ new DataVerificationTableRowCountCollection(this.items, this.totalItems);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DataVerificationTableRowCountCollection model) {
+ if (model.wasPropertyExplicitlySet("items")) {
+ this.items(model.getItems());
+ }
+ if (model.wasPropertyExplicitlySet("totalItems")) {
+ this.totalItems(model.getTotalItems());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Items in collection. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private final java.util.List items;
+
+ /**
+ * Items in collection.
+ *
+ * @return the value
+ */
+ public java.util.List getItems() {
+ return items;
+ }
+
+ /** Total number of items matching the request. */
+ @com.fasterxml.jackson.annotation.JsonProperty("totalItems")
+ private final Integer totalItems;
+
+ /**
+ * Total number of items matching the request.
+ *
+ * @return the value
+ */
+ public Integer getTotalItems() {
+ return totalItems;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("DataVerificationTableRowCountCollection(");
+ sb.append("super=").append(super.toString());
+ sb.append("items=").append(String.valueOf(this.items));
+ sb.append(", totalItems=").append(String.valueOf(this.totalItems));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DataVerificationTableRowCountCollection)) {
+ return false;
+ }
+
+ DataVerificationTableRowCountCollection other = (DataVerificationTableRowCountCollection) o;
+ return java.util.Objects.equals(this.items, other.items)
+ && java.util.Objects.equals(this.totalItems, other.totalItems)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode());
+ result = (result * PRIME) + (this.totalItems == null ? 43 : this.totalItems.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationTableRowCountSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationTableRowCountSummary.java
new file mode 100644
index 00000000000..8a5ca527f9a
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DataVerificationTableRowCountSummary.java
@@ -0,0 +1,211 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Table row count comparison result line.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "databaseCombination",
+ defaultImpl = DataVerificationTableRowCountSummary.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = MySqlDataVerificationTableRowCountSummary.class,
+ name = "MYSQL"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OracleDataVerificationTableRowCountSummary.class,
+ name = "ORACLE")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class DataVerificationTableRowCountSummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "owner",
+ "tableName",
+ "sourceRowCount",
+ "targetRowCount",
+ "variancePercent"
+ })
+ protected DataVerificationTableRowCountSummary(
+ String owner,
+ String tableName,
+ Integer sourceRowCount,
+ Integer targetRowCount,
+ Double variancePercent) {
+ super();
+ this.owner = owner;
+ this.tableName = tableName;
+ this.sourceRowCount = sourceRowCount;
+ this.targetRowCount = targetRowCount;
+ this.variancePercent = variancePercent;
+ }
+
+ /**
+ * Schema/owner name.
+ *
+ * This field is omitted (null/empty depending on backend serialization) for database-wide
+ * object types that are not schema-scoped.
+ *
+ *
Oracle non-schema-scoped object types: USER, ROLE, PROFILE, TABLESPACE, DATABASE_LINK,
+ * CONTROLFILE, DATAFILE, REDO_LOG, DIRECTORY, LIBRARY, CONTEXT.
+ *
+ *
MySQL non-schema-scoped object types: USER, ROLE, SERVER, TABLESPACE, LOGFILE_GROUP.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("owner")
+ private final String owner;
+
+ /**
+ * Schema/owner name.
+ *
+ *
This field is omitted (null/empty depending on backend serialization) for database-wide
+ * object types that are not schema-scoped.
+ *
+ *
Oracle non-schema-scoped object types: USER, ROLE, PROFILE, TABLESPACE, DATABASE_LINK,
+ * CONTROLFILE, DATAFILE, REDO_LOG, DIRECTORY, LIBRARY, CONTEXT.
+ *
+ *
MySQL non-schema-scoped object types: USER, ROLE, SERVER, TABLESPACE, LOGFILE_GROUP.
+ *
+ * @return the value
+ */
+ public String getOwner() {
+ return owner;
+ }
+
+ /** Table name. */
+ @com.fasterxml.jackson.annotation.JsonProperty("tableName")
+ private final String tableName;
+
+ /**
+ * Table name.
+ *
+ * @return the value
+ */
+ public String getTableName() {
+ return tableName;
+ }
+
+ /** Row count in source. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceRowCount")
+ private final Integer sourceRowCount;
+
+ /**
+ * Row count in source.
+ *
+ * @return the value
+ */
+ public Integer getSourceRowCount() {
+ return sourceRowCount;
+ }
+
+ /** Row count in target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetRowCount")
+ private final Integer targetRowCount;
+
+ /**
+ * Row count in target.
+ *
+ * @return the value
+ */
+ public Integer getTargetRowCount() {
+ return targetRowCount;
+ }
+
+ /**
+ * Percentage variance between source and target row counts. This value is expected to be
+ * non-negative.
+ *
+ *
A negative value indicates that the target has rows not present in the source, which
+ * should be treated as an inconsistency (i.e., a failed comparison/report result).
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("variancePercent")
+ private final Double variancePercent;
+
+ /**
+ * Percentage variance between source and target row counts. This value is expected to be
+ * non-negative.
+ *
+ *
A negative value indicates that the target has rows not present in the source, which
+ * should be treated as an inconsistency (i.e., a failed comparison/report result).
+ *
+ * @return the value
+ */
+ public Double getVariancePercent() {
+ return variancePercent;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("DataVerificationTableRowCountSummary(");
+ sb.append("super=").append(super.toString());
+ sb.append("owner=").append(String.valueOf(this.owner));
+ sb.append(", tableName=").append(String.valueOf(this.tableName));
+ sb.append(", sourceRowCount=").append(String.valueOf(this.sourceRowCount));
+ sb.append(", targetRowCount=").append(String.valueOf(this.targetRowCount));
+ sb.append(", variancePercent=").append(String.valueOf(this.variancePercent));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DataVerificationTableRowCountSummary)) {
+ return false;
+ }
+
+ DataVerificationTableRowCountSummary other = (DataVerificationTableRowCountSummary) o;
+ return java.util.Objects.equals(this.owner, other.owner)
+ && java.util.Objects.equals(this.tableName, other.tableName)
+ && java.util.Objects.equals(this.sourceRowCount, other.sourceRowCount)
+ && java.util.Objects.equals(this.targetRowCount, other.targetRowCount)
+ && java.util.Objects.equals(this.variancePercent, other.variancePercent)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.owner == null ? 43 : this.owner.hashCode());
+ result = (result * PRIME) + (this.tableName == null ? 43 : this.tableName.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceRowCount == null ? 43 : this.sourceRowCount.hashCode());
+ result =
+ (result * PRIME)
+ + (this.targetRowCount == null ? 43 : this.targetRowCount.hashCode());
+ result =
+ (result * PRIME)
+ + (this.variancePercent == null ? 43 : this.variancePercent.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DefaultRunDataVerificationDetails.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DefaultRunDataVerificationDetails.java
new file mode 100644
index 00000000000..df21c88dbf6
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/DefaultRunDataVerificationDetails.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Default (and currently only) Run Data Verification details. Use this type to run Data
+ * Verification with the service default options.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DefaultRunDataVerificationDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "type")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DefaultRunDataVerificationDetails extends RunDataVerificationDetails {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DefaultRunDataVerificationDetails build() {
+ DefaultRunDataVerificationDetails model = new DefaultRunDataVerificationDetails();
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DefaultRunDataVerificationDetails model) {
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public DefaultRunDataVerificationDetails() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("DefaultRunDataVerificationDetails(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DefaultRunDataVerificationDetails)) {
+ return false;
+ }
+
+ DefaultRunDataVerificationDetails other = (DefaultRunDataVerificationDetails) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDataVerificationObjectStatusSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDataVerificationObjectStatusSummary.java
new file mode 100644
index 00000000000..0dfe8aad31c
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDataVerificationObjectStatusSummary.java
@@ -0,0 +1,194 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Per-object status comparison line for MySQL migrations.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = MySqlDataVerificationObjectStatusSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "databaseCombination")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class MySqlDataVerificationObjectStatusSummary
+ extends DataVerificationObjectStatusSummary {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("owner")
+ private String owner;
+
+ public Builder owner(String owner) {
+ this.owner = owner;
+ this.__explicitlySet__.add("owner");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("objectName")
+ private String objectName;
+
+ public Builder objectName(String objectName) {
+ this.objectName = objectName;
+ this.__explicitlySet__.add("objectName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("statusInSource")
+ private String statusInSource;
+
+ public Builder statusInSource(String statusInSource) {
+ this.statusInSource = statusInSource;
+ this.__explicitlySet__.add("statusInSource");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("statusInTarget")
+ private String statusInTarget;
+
+ public Builder statusInTarget(String statusInTarget) {
+ this.statusInTarget = statusInTarget;
+ this.__explicitlySet__.add("statusInTarget");
+ return this;
+ }
+ /** MySQL database object type. */
+ @com.fasterxml.jackson.annotation.JsonProperty("objectType")
+ private MySqlDatabaseObjectTypes objectType;
+
+ /**
+ * MySQL database object type.
+ *
+ * @param objectType the value to set
+ * @return this builder
+ */
+ public Builder objectType(MySqlDatabaseObjectTypes objectType) {
+ this.objectType = objectType;
+ this.__explicitlySet__.add("objectType");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public MySqlDataVerificationObjectStatusSummary build() {
+ MySqlDataVerificationObjectStatusSummary model =
+ new MySqlDataVerificationObjectStatusSummary(
+ this.owner,
+ this.objectName,
+ this.statusInSource,
+ this.statusInTarget,
+ this.objectType);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(MySqlDataVerificationObjectStatusSummary model) {
+ if (model.wasPropertyExplicitlySet("owner")) {
+ this.owner(model.getOwner());
+ }
+ if (model.wasPropertyExplicitlySet("objectName")) {
+ this.objectName(model.getObjectName());
+ }
+ if (model.wasPropertyExplicitlySet("statusInSource")) {
+ this.statusInSource(model.getStatusInSource());
+ }
+ if (model.wasPropertyExplicitlySet("statusInTarget")) {
+ this.statusInTarget(model.getStatusInTarget());
+ }
+ if (model.wasPropertyExplicitlySet("objectType")) {
+ this.objectType(model.getObjectType());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public MySqlDataVerificationObjectStatusSummary(
+ String owner,
+ String objectName,
+ String statusInSource,
+ String statusInTarget,
+ MySqlDatabaseObjectTypes objectType) {
+ super(owner, objectName, statusInSource, statusInTarget);
+ this.objectType = objectType;
+ }
+
+ /** MySQL database object type. */
+ @com.fasterxml.jackson.annotation.JsonProperty("objectType")
+ private final MySqlDatabaseObjectTypes objectType;
+
+ /**
+ * MySQL database object type.
+ *
+ * @return the value
+ */
+ public MySqlDatabaseObjectTypes getObjectType() {
+ return objectType;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("MySqlDataVerificationObjectStatusSummary(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", objectType=").append(String.valueOf(this.objectType));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof MySqlDataVerificationObjectStatusSummary)) {
+ return false;
+ }
+
+ MySqlDataVerificationObjectStatusSummary other =
+ (MySqlDataVerificationObjectStatusSummary) o;
+ return java.util.Objects.equals(this.objectType, other.objectType) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.objectType == null ? 43 : this.objectType.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDataVerificationObjectTypeCountSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDataVerificationObjectTypeCountSummary.java
new file mode 100644
index 00000000000..3e5a2abe07b
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDataVerificationObjectTypeCountSummary.java
@@ -0,0 +1,277 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Object type count comparison summary line for MySQL migrations.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = MySqlDataVerificationObjectTypeCountSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "databaseCombination")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class MySqlDataVerificationObjectTypeCountSummary
+ extends DataVerificationObjectTypeCountSummary {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("schemaName")
+ private String schemaName;
+
+ public Builder schemaName(String schemaName) {
+ this.schemaName = schemaName;
+ this.__explicitlySet__.add("schemaName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceObjectCount")
+ private Integer sourceObjectCount;
+
+ public Builder sourceObjectCount(Integer sourceObjectCount) {
+ this.sourceObjectCount = sourceObjectCount;
+ this.__explicitlySet__.add("sourceObjectCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("targetObjectCount")
+ private Integer targetObjectCount;
+
+ public Builder targetObjectCount(Integer targetObjectCount) {
+ this.targetObjectCount = targetObjectCount;
+ this.__explicitlySet__.add("targetObjectCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("deltaPercent")
+ private Double deltaPercent;
+
+ public Builder deltaPercent(Double deltaPercent) {
+ this.deltaPercent = deltaPercent;
+ this.__explicitlySet__.add("deltaPercent");
+ return this;
+ }
+ /** MySQL database object type. */
+ @com.fasterxml.jackson.annotation.JsonProperty("objectType")
+ private MySqlDatabaseObjectTypes objectType;
+
+ /**
+ * MySQL database object type.
+ *
+ * @param objectType the value to set
+ * @return this builder
+ */
+ public Builder objectType(MySqlDatabaseObjectTypes objectType) {
+ this.objectType = objectType;
+ this.__explicitlySet__.add("objectType");
+ return this;
+ }
+ /** Number of invalid objects in source. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceInvalidCount")
+ private Integer sourceInvalidCount;
+
+ /**
+ * Number of invalid objects in source.
+ *
+ * @param sourceInvalidCount the value to set
+ * @return this builder
+ */
+ public Builder sourceInvalidCount(Integer sourceInvalidCount) {
+ this.sourceInvalidCount = sourceInvalidCount;
+ this.__explicitlySet__.add("sourceInvalidCount");
+ return this;
+ }
+ /** Number of invalid objects in target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetInvalidCount")
+ private Integer targetInvalidCount;
+
+ /**
+ * Number of invalid objects in target.
+ *
+ * @param targetInvalidCount the value to set
+ * @return this builder
+ */
+ public Builder targetInvalidCount(Integer targetInvalidCount) {
+ this.targetInvalidCount = targetInvalidCount;
+ this.__explicitlySet__.add("targetInvalidCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public MySqlDataVerificationObjectTypeCountSummary build() {
+ MySqlDataVerificationObjectTypeCountSummary model =
+ new MySqlDataVerificationObjectTypeCountSummary(
+ this.schemaName,
+ this.sourceObjectCount,
+ this.targetObjectCount,
+ this.deltaPercent,
+ this.objectType,
+ this.sourceInvalidCount,
+ this.targetInvalidCount);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(MySqlDataVerificationObjectTypeCountSummary model) {
+ if (model.wasPropertyExplicitlySet("schemaName")) {
+ this.schemaName(model.getSchemaName());
+ }
+ if (model.wasPropertyExplicitlySet("sourceObjectCount")) {
+ this.sourceObjectCount(model.getSourceObjectCount());
+ }
+ if (model.wasPropertyExplicitlySet("targetObjectCount")) {
+ this.targetObjectCount(model.getTargetObjectCount());
+ }
+ if (model.wasPropertyExplicitlySet("deltaPercent")) {
+ this.deltaPercent(model.getDeltaPercent());
+ }
+ if (model.wasPropertyExplicitlySet("objectType")) {
+ this.objectType(model.getObjectType());
+ }
+ if (model.wasPropertyExplicitlySet("sourceInvalidCount")) {
+ this.sourceInvalidCount(model.getSourceInvalidCount());
+ }
+ if (model.wasPropertyExplicitlySet("targetInvalidCount")) {
+ this.targetInvalidCount(model.getTargetInvalidCount());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public MySqlDataVerificationObjectTypeCountSummary(
+ String schemaName,
+ Integer sourceObjectCount,
+ Integer targetObjectCount,
+ Double deltaPercent,
+ MySqlDatabaseObjectTypes objectType,
+ Integer sourceInvalidCount,
+ Integer targetInvalidCount) {
+ super(schemaName, sourceObjectCount, targetObjectCount, deltaPercent);
+ this.objectType = objectType;
+ this.sourceInvalidCount = sourceInvalidCount;
+ this.targetInvalidCount = targetInvalidCount;
+ }
+
+ /** MySQL database object type. */
+ @com.fasterxml.jackson.annotation.JsonProperty("objectType")
+ private final MySqlDatabaseObjectTypes objectType;
+
+ /**
+ * MySQL database object type.
+ *
+ * @return the value
+ */
+ public MySqlDatabaseObjectTypes getObjectType() {
+ return objectType;
+ }
+
+ /** Number of invalid objects in source. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceInvalidCount")
+ private final Integer sourceInvalidCount;
+
+ /**
+ * Number of invalid objects in source.
+ *
+ * @return the value
+ */
+ public Integer getSourceInvalidCount() {
+ return sourceInvalidCount;
+ }
+
+ /** Number of invalid objects in target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetInvalidCount")
+ private final Integer targetInvalidCount;
+
+ /**
+ * Number of invalid objects in target.
+ *
+ * @return the value
+ */
+ public Integer getTargetInvalidCount() {
+ return targetInvalidCount;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("MySqlDataVerificationObjectTypeCountSummary(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", objectType=").append(String.valueOf(this.objectType));
+ sb.append(", sourceInvalidCount=").append(String.valueOf(this.sourceInvalidCount));
+ sb.append(", targetInvalidCount=").append(String.valueOf(this.targetInvalidCount));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof MySqlDataVerificationObjectTypeCountSummary)) {
+ return false;
+ }
+
+ MySqlDataVerificationObjectTypeCountSummary other =
+ (MySqlDataVerificationObjectTypeCountSummary) o;
+ return java.util.Objects.equals(this.objectType, other.objectType)
+ && java.util.Objects.equals(this.sourceInvalidCount, other.sourceInvalidCount)
+ && java.util.Objects.equals(this.targetInvalidCount, other.targetInvalidCount)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.objectType == null ? 43 : this.objectType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceInvalidCount == null
+ ? 43
+ : this.sourceInvalidCount.hashCode());
+ result =
+ (result * PRIME)
+ + (this.targetInvalidCount == null
+ ? 43
+ : this.targetInvalidCount.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDataVerificationTableRowCountSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDataVerificationTableRowCountSummary.java
new file mode 100644
index 00000000000..d6c960ddbce
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDataVerificationTableRowCountSummary.java
@@ -0,0 +1,288 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Table row count comparison result line for MySQL migrations.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = MySqlDataVerificationTableRowCountSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "databaseCombination")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class MySqlDataVerificationTableRowCountSummary
+ extends DataVerificationTableRowCountSummary {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("owner")
+ private String owner;
+
+ public Builder owner(String owner) {
+ this.owner = owner;
+ this.__explicitlySet__.add("owner");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("tableName")
+ private String tableName;
+
+ public Builder tableName(String tableName) {
+ this.tableName = tableName;
+ this.__explicitlySet__.add("tableName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceRowCount")
+ private Integer sourceRowCount;
+
+ public Builder sourceRowCount(Integer sourceRowCount) {
+ this.sourceRowCount = sourceRowCount;
+ this.__explicitlySet__.add("sourceRowCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("targetRowCount")
+ private Integer targetRowCount;
+
+ public Builder targetRowCount(Integer targetRowCount) {
+ this.targetRowCount = targetRowCount;
+ this.__explicitlySet__.add("targetRowCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("variancePercent")
+ private Double variancePercent;
+
+ public Builder variancePercent(Double variancePercent) {
+ this.variancePercent = variancePercent;
+ this.__explicitlySet__.add("variancePercent");
+ return this;
+ }
+ /**
+ * Time of last statistics collection in the source used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastSourceStatisticsCollection")
+ private java.util.Date timeLastSourceStatisticsCollection;
+
+ /**
+ * Time of last statistics collection in the source used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ *
+ * @param timeLastSourceStatisticsCollection the value to set
+ * @return this builder
+ */
+ public Builder timeLastSourceStatisticsCollection(
+ java.util.Date timeLastSourceStatisticsCollection) {
+ this.timeLastSourceStatisticsCollection = timeLastSourceStatisticsCollection;
+ this.__explicitlySet__.add("timeLastSourceStatisticsCollection");
+ return this;
+ }
+ /**
+ * Time of last statistics collection in the target used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastTargetStatisticsCollection")
+ private java.util.Date timeLastTargetStatisticsCollection;
+
+ /**
+ * Time of last statistics collection in the target used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ *
+ * @param timeLastTargetStatisticsCollection the value to set
+ * @return this builder
+ */
+ public Builder timeLastTargetStatisticsCollection(
+ java.util.Date timeLastTargetStatisticsCollection) {
+ this.timeLastTargetStatisticsCollection = timeLastTargetStatisticsCollection;
+ this.__explicitlySet__.add("timeLastTargetStatisticsCollection");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public MySqlDataVerificationTableRowCountSummary build() {
+ MySqlDataVerificationTableRowCountSummary model =
+ new MySqlDataVerificationTableRowCountSummary(
+ this.owner,
+ this.tableName,
+ this.sourceRowCount,
+ this.targetRowCount,
+ this.variancePercent,
+ this.timeLastSourceStatisticsCollection,
+ this.timeLastTargetStatisticsCollection);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(MySqlDataVerificationTableRowCountSummary model) {
+ if (model.wasPropertyExplicitlySet("owner")) {
+ this.owner(model.getOwner());
+ }
+ if (model.wasPropertyExplicitlySet("tableName")) {
+ this.tableName(model.getTableName());
+ }
+ if (model.wasPropertyExplicitlySet("sourceRowCount")) {
+ this.sourceRowCount(model.getSourceRowCount());
+ }
+ if (model.wasPropertyExplicitlySet("targetRowCount")) {
+ this.targetRowCount(model.getTargetRowCount());
+ }
+ if (model.wasPropertyExplicitlySet("variancePercent")) {
+ this.variancePercent(model.getVariancePercent());
+ }
+ if (model.wasPropertyExplicitlySet("timeLastSourceStatisticsCollection")) {
+ this.timeLastSourceStatisticsCollection(
+ model.getTimeLastSourceStatisticsCollection());
+ }
+ if (model.wasPropertyExplicitlySet("timeLastTargetStatisticsCollection")) {
+ this.timeLastTargetStatisticsCollection(
+ model.getTimeLastTargetStatisticsCollection());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public MySqlDataVerificationTableRowCountSummary(
+ String owner,
+ String tableName,
+ Integer sourceRowCount,
+ Integer targetRowCount,
+ Double variancePercent,
+ java.util.Date timeLastSourceStatisticsCollection,
+ java.util.Date timeLastTargetStatisticsCollection) {
+ super(owner, tableName, sourceRowCount, targetRowCount, variancePercent);
+ this.timeLastSourceStatisticsCollection = timeLastSourceStatisticsCollection;
+ this.timeLastTargetStatisticsCollection = timeLastTargetStatisticsCollection;
+ }
+
+ /**
+ * Time of last statistics collection in the source used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastSourceStatisticsCollection")
+ private final java.util.Date timeLastSourceStatisticsCollection;
+
+ /**
+ * Time of last statistics collection in the source used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeLastSourceStatisticsCollection() {
+ return timeLastSourceStatisticsCollection;
+ }
+
+ /**
+ * Time of last statistics collection in the target used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastTargetStatisticsCollection")
+ private final java.util.Date timeLastTargetStatisticsCollection;
+
+ /**
+ * Time of last statistics collection in the target used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeLastTargetStatisticsCollection() {
+ return timeLastTargetStatisticsCollection;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("MySqlDataVerificationTableRowCountSummary(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", timeLastSourceStatisticsCollection=")
+ .append(String.valueOf(this.timeLastSourceStatisticsCollection));
+ sb.append(", timeLastTargetStatisticsCollection=")
+ .append(String.valueOf(this.timeLastTargetStatisticsCollection));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof MySqlDataVerificationTableRowCountSummary)) {
+ return false;
+ }
+
+ MySqlDataVerificationTableRowCountSummary other =
+ (MySqlDataVerificationTableRowCountSummary) o;
+ return java.util.Objects.equals(
+ this.timeLastSourceStatisticsCollection,
+ other.timeLastSourceStatisticsCollection)
+ && java.util.Objects.equals(
+ this.timeLastTargetStatisticsCollection,
+ other.timeLastTargetStatisticsCollection)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.timeLastSourceStatisticsCollection == null
+ ? 43
+ : this.timeLastSourceStatisticsCollection.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeLastTargetStatisticsCollection == null
+ ? 43
+ : this.timeLastTargetStatisticsCollection.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDatabaseObjectTypes.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDatabaseObjectTypes.java
new file mode 100644
index 00000000000..0b0c9dbcd44
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/MySqlDatabaseObjectTypes.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/** MySQL database object types used by Data Verification. */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public enum MySqlDatabaseObjectTypes implements com.oracle.bmc.http.internal.BmcEnum {
+ Table("TABLE"),
+ View("VIEW"),
+ Index("INDEX"),
+ Trigger("TRIGGER"),
+ Procedure("PROCEDURE"),
+ Function("FUNCTION"),
+ Event("EVENT"),
+ Database("DATABASE"),
+ Schema("SCHEMA"),
+ Tablespace("TABLESPACE"),
+ Server("SERVER"),
+ LogfileGroup("LOGFILE_GROUP"),
+ User("USER"),
+ Role("ROLE"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by this
+ * version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(MySqlDatabaseObjectTypes.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (MySqlDatabaseObjectTypes v : MySqlDatabaseObjectTypes.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ MySqlDatabaseObjectTypes(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static MySqlDatabaseObjectTypes create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'MySqlDatabaseObjectTypes', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleCloneMigrationDetails.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleCloneMigrationDetails.java
index b648db23161..a0c8ebca346 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleCloneMigrationDetails.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleCloneMigrationDetails.java
@@ -5,7 +5,8 @@
package com.oracle.bmc.databasemigration.model;
/**
- * Oracle Clone Migration Summary
+ * Oracle Clone Migration details. Deprecated: The parent-level Oracle clone configuration
+ * properties on this model are deprecated. Use {@code migrationSettings} instead.
* Note: Objects should always be created or deserialized using the {@link Builder}. This model
* distinguishes fields that are {@code null} because they are unset from fields that are explicitly
* set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
@@ -90,6 +91,15 @@ public Builder definedTags(
this.__explicitlySet__.add("definedTags");
return this;
}
+
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private CloneOracleMigrationSettings migrationSettings;
+
+ public Builder migrationSettings(CloneOracleMigrationSettings migrationSettings) {
+ this.migrationSettings = migrationSettings;
+ this.__explicitlySet__.add("migrationSettings");
+ return this;
+ }
/** The OCID of the resource being referenced. */
@com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
private String sourceContainerDatabaseConnectionId;
@@ -135,6 +145,7 @@ public OracleCloneMigrationDetails build() {
this.assessmentId,
this.freeformTags,
this.definedTags,
+ this.migrationSettings,
this.sourceContainerDatabaseConnectionId,
this.sourceStandbyDatabaseConnectionId);
for (String explicitlySetProperty : this.__explicitlySet__) {
@@ -166,6 +177,9 @@ public Builder copy(OracleCloneMigrationDetails model) {
if (model.wasPropertyExplicitlySet("definedTags")) {
this.definedTags(model.getDefinedTags());
}
+ if (model.wasPropertyExplicitlySet("migrationSettings")) {
+ this.migrationSettings(model.getMigrationSettings());
+ }
if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
this.sourceContainerDatabaseConnectionId(
model.getSourceContainerDatabaseConnectionId());
@@ -196,6 +210,7 @@ public OracleCloneMigrationDetails(
String assessmentId,
java.util.Map freeformTags,
java.util.Map> definedTags,
+ CloneOracleMigrationSettings migrationSettings,
String sourceContainerDatabaseConnectionId,
String sourceStandbyDatabaseConnectionId) {
super(
@@ -206,10 +221,18 @@ public OracleCloneMigrationDetails(
assessmentId,
freeformTags,
definedTags);
+ this.migrationSettings = migrationSettings;
this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private final CloneOracleMigrationSettings migrationSettings;
+
+ public CloneOracleMigrationSettings getMigrationSettings() {
+ return migrationSettings;
+ }
+
/** The OCID of the resource being referenced. */
@com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
private final String sourceContainerDatabaseConnectionId;
@@ -251,6 +274,7 @@ public String toString(boolean includeByteArrayContents) {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("OracleCloneMigrationDetails(");
sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", migrationSettings=").append(String.valueOf(this.migrationSettings));
sb.append(", sourceContainerDatabaseConnectionId=")
.append(String.valueOf(this.sourceContainerDatabaseConnectionId));
sb.append(", sourceStandbyDatabaseConnectionId=")
@@ -269,7 +293,8 @@ public boolean equals(Object o) {
}
OracleCloneMigrationDetails other = (OracleCloneMigrationDetails) o;
- return java.util.Objects.equals(
+ return java.util.Objects.equals(this.migrationSettings, other.migrationSettings)
+ && java.util.Objects.equals(
this.sourceContainerDatabaseConnectionId,
other.sourceContainerDatabaseConnectionId)
&& java.util.Objects.equals(
@@ -282,6 +307,9 @@ public boolean equals(Object o) {
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.migrationSettings == null ? 43 : this.migrationSettings.hashCode());
result =
(result * PRIME)
+ (this.sourceContainerDatabaseConnectionId == null
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDataVerificationObjectStatusSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDataVerificationObjectStatusSummary.java
new file mode 100644
index 00000000000..6204fa7720f
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDataVerificationObjectStatusSummary.java
@@ -0,0 +1,194 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Per-object status comparison line for Oracle migrations.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OracleDataVerificationObjectStatusSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "databaseCombination")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OracleDataVerificationObjectStatusSummary
+ extends DataVerificationObjectStatusSummary {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("owner")
+ private String owner;
+
+ public Builder owner(String owner) {
+ this.owner = owner;
+ this.__explicitlySet__.add("owner");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("objectName")
+ private String objectName;
+
+ public Builder objectName(String objectName) {
+ this.objectName = objectName;
+ this.__explicitlySet__.add("objectName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("statusInSource")
+ private String statusInSource;
+
+ public Builder statusInSource(String statusInSource) {
+ this.statusInSource = statusInSource;
+ this.__explicitlySet__.add("statusInSource");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("statusInTarget")
+ private String statusInTarget;
+
+ public Builder statusInTarget(String statusInTarget) {
+ this.statusInTarget = statusInTarget;
+ this.__explicitlySet__.add("statusInTarget");
+ return this;
+ }
+ /** Oracle database object type. */
+ @com.fasterxml.jackson.annotation.JsonProperty("objectType")
+ private OracleDatabaseObjectTypes objectType;
+
+ /**
+ * Oracle database object type.
+ *
+ * @param objectType the value to set
+ * @return this builder
+ */
+ public Builder objectType(OracleDatabaseObjectTypes objectType) {
+ this.objectType = objectType;
+ this.__explicitlySet__.add("objectType");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OracleDataVerificationObjectStatusSummary build() {
+ OracleDataVerificationObjectStatusSummary model =
+ new OracleDataVerificationObjectStatusSummary(
+ this.owner,
+ this.objectName,
+ this.statusInSource,
+ this.statusInTarget,
+ this.objectType);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OracleDataVerificationObjectStatusSummary model) {
+ if (model.wasPropertyExplicitlySet("owner")) {
+ this.owner(model.getOwner());
+ }
+ if (model.wasPropertyExplicitlySet("objectName")) {
+ this.objectName(model.getObjectName());
+ }
+ if (model.wasPropertyExplicitlySet("statusInSource")) {
+ this.statusInSource(model.getStatusInSource());
+ }
+ if (model.wasPropertyExplicitlySet("statusInTarget")) {
+ this.statusInTarget(model.getStatusInTarget());
+ }
+ if (model.wasPropertyExplicitlySet("objectType")) {
+ this.objectType(model.getObjectType());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OracleDataVerificationObjectStatusSummary(
+ String owner,
+ String objectName,
+ String statusInSource,
+ String statusInTarget,
+ OracleDatabaseObjectTypes objectType) {
+ super(owner, objectName, statusInSource, statusInTarget);
+ this.objectType = objectType;
+ }
+
+ /** Oracle database object type. */
+ @com.fasterxml.jackson.annotation.JsonProperty("objectType")
+ private final OracleDatabaseObjectTypes objectType;
+
+ /**
+ * Oracle database object type.
+ *
+ * @return the value
+ */
+ public OracleDatabaseObjectTypes getObjectType() {
+ return objectType;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleDataVerificationObjectStatusSummary(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", objectType=").append(String.valueOf(this.objectType));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleDataVerificationObjectStatusSummary)) {
+ return false;
+ }
+
+ OracleDataVerificationObjectStatusSummary other =
+ (OracleDataVerificationObjectStatusSummary) o;
+ return java.util.Objects.equals(this.objectType, other.objectType) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.objectType == null ? 43 : this.objectType.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDataVerificationObjectTypeCountSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDataVerificationObjectTypeCountSummary.java
new file mode 100644
index 00000000000..da2a6cba241
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDataVerificationObjectTypeCountSummary.java
@@ -0,0 +1,277 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Object type count comparison summary line for Oracle migrations.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OracleDataVerificationObjectTypeCountSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "databaseCombination")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OracleDataVerificationObjectTypeCountSummary
+ extends DataVerificationObjectTypeCountSummary {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("schemaName")
+ private String schemaName;
+
+ public Builder schemaName(String schemaName) {
+ this.schemaName = schemaName;
+ this.__explicitlySet__.add("schemaName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceObjectCount")
+ private Integer sourceObjectCount;
+
+ public Builder sourceObjectCount(Integer sourceObjectCount) {
+ this.sourceObjectCount = sourceObjectCount;
+ this.__explicitlySet__.add("sourceObjectCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("targetObjectCount")
+ private Integer targetObjectCount;
+
+ public Builder targetObjectCount(Integer targetObjectCount) {
+ this.targetObjectCount = targetObjectCount;
+ this.__explicitlySet__.add("targetObjectCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("deltaPercent")
+ private Double deltaPercent;
+
+ public Builder deltaPercent(Double deltaPercent) {
+ this.deltaPercent = deltaPercent;
+ this.__explicitlySet__.add("deltaPercent");
+ return this;
+ }
+ /** Oracle database object type. */
+ @com.fasterxml.jackson.annotation.JsonProperty("objectType")
+ private OracleDatabaseObjectTypes objectType;
+
+ /**
+ * Oracle database object type.
+ *
+ * @param objectType the value to set
+ * @return this builder
+ */
+ public Builder objectType(OracleDatabaseObjectTypes objectType) {
+ this.objectType = objectType;
+ this.__explicitlySet__.add("objectType");
+ return this;
+ }
+ /** Number of invalid objects in source. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceInvalidCount")
+ private Integer sourceInvalidCount;
+
+ /**
+ * Number of invalid objects in source.
+ *
+ * @param sourceInvalidCount the value to set
+ * @return this builder
+ */
+ public Builder sourceInvalidCount(Integer sourceInvalidCount) {
+ this.sourceInvalidCount = sourceInvalidCount;
+ this.__explicitlySet__.add("sourceInvalidCount");
+ return this;
+ }
+ /** Number of invalid objects in target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetInvalidCount")
+ private Integer targetInvalidCount;
+
+ /**
+ * Number of invalid objects in target.
+ *
+ * @param targetInvalidCount the value to set
+ * @return this builder
+ */
+ public Builder targetInvalidCount(Integer targetInvalidCount) {
+ this.targetInvalidCount = targetInvalidCount;
+ this.__explicitlySet__.add("targetInvalidCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OracleDataVerificationObjectTypeCountSummary build() {
+ OracleDataVerificationObjectTypeCountSummary model =
+ new OracleDataVerificationObjectTypeCountSummary(
+ this.schemaName,
+ this.sourceObjectCount,
+ this.targetObjectCount,
+ this.deltaPercent,
+ this.objectType,
+ this.sourceInvalidCount,
+ this.targetInvalidCount);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OracleDataVerificationObjectTypeCountSummary model) {
+ if (model.wasPropertyExplicitlySet("schemaName")) {
+ this.schemaName(model.getSchemaName());
+ }
+ if (model.wasPropertyExplicitlySet("sourceObjectCount")) {
+ this.sourceObjectCount(model.getSourceObjectCount());
+ }
+ if (model.wasPropertyExplicitlySet("targetObjectCount")) {
+ this.targetObjectCount(model.getTargetObjectCount());
+ }
+ if (model.wasPropertyExplicitlySet("deltaPercent")) {
+ this.deltaPercent(model.getDeltaPercent());
+ }
+ if (model.wasPropertyExplicitlySet("objectType")) {
+ this.objectType(model.getObjectType());
+ }
+ if (model.wasPropertyExplicitlySet("sourceInvalidCount")) {
+ this.sourceInvalidCount(model.getSourceInvalidCount());
+ }
+ if (model.wasPropertyExplicitlySet("targetInvalidCount")) {
+ this.targetInvalidCount(model.getTargetInvalidCount());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OracleDataVerificationObjectTypeCountSummary(
+ String schemaName,
+ Integer sourceObjectCount,
+ Integer targetObjectCount,
+ Double deltaPercent,
+ OracleDatabaseObjectTypes objectType,
+ Integer sourceInvalidCount,
+ Integer targetInvalidCount) {
+ super(schemaName, sourceObjectCount, targetObjectCount, deltaPercent);
+ this.objectType = objectType;
+ this.sourceInvalidCount = sourceInvalidCount;
+ this.targetInvalidCount = targetInvalidCount;
+ }
+
+ /** Oracle database object type. */
+ @com.fasterxml.jackson.annotation.JsonProperty("objectType")
+ private final OracleDatabaseObjectTypes objectType;
+
+ /**
+ * Oracle database object type.
+ *
+ * @return the value
+ */
+ public OracleDatabaseObjectTypes getObjectType() {
+ return objectType;
+ }
+
+ /** Number of invalid objects in source. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceInvalidCount")
+ private final Integer sourceInvalidCount;
+
+ /**
+ * Number of invalid objects in source.
+ *
+ * @return the value
+ */
+ public Integer getSourceInvalidCount() {
+ return sourceInvalidCount;
+ }
+
+ /** Number of invalid objects in target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetInvalidCount")
+ private final Integer targetInvalidCount;
+
+ /**
+ * Number of invalid objects in target.
+ *
+ * @return the value
+ */
+ public Integer getTargetInvalidCount() {
+ return targetInvalidCount;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleDataVerificationObjectTypeCountSummary(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", objectType=").append(String.valueOf(this.objectType));
+ sb.append(", sourceInvalidCount=").append(String.valueOf(this.sourceInvalidCount));
+ sb.append(", targetInvalidCount=").append(String.valueOf(this.targetInvalidCount));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleDataVerificationObjectTypeCountSummary)) {
+ return false;
+ }
+
+ OracleDataVerificationObjectTypeCountSummary other =
+ (OracleDataVerificationObjectTypeCountSummary) o;
+ return java.util.Objects.equals(this.objectType, other.objectType)
+ && java.util.Objects.equals(this.sourceInvalidCount, other.sourceInvalidCount)
+ && java.util.Objects.equals(this.targetInvalidCount, other.targetInvalidCount)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.objectType == null ? 43 : this.objectType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceInvalidCount == null
+ ? 43
+ : this.sourceInvalidCount.hashCode());
+ result =
+ (result * PRIME)
+ + (this.targetInvalidCount == null
+ ? 43
+ : this.targetInvalidCount.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDataVerificationTableRowCountSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDataVerificationTableRowCountSummary.java
new file mode 100644
index 00000000000..628df8e206b
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDataVerificationTableRowCountSummary.java
@@ -0,0 +1,288 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Table row count comparison result line for Oracle migrations.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OracleDataVerificationTableRowCountSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "databaseCombination")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OracleDataVerificationTableRowCountSummary
+ extends DataVerificationTableRowCountSummary {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("owner")
+ private String owner;
+
+ public Builder owner(String owner) {
+ this.owner = owner;
+ this.__explicitlySet__.add("owner");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("tableName")
+ private String tableName;
+
+ public Builder tableName(String tableName) {
+ this.tableName = tableName;
+ this.__explicitlySet__.add("tableName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceRowCount")
+ private Integer sourceRowCount;
+
+ public Builder sourceRowCount(Integer sourceRowCount) {
+ this.sourceRowCount = sourceRowCount;
+ this.__explicitlySet__.add("sourceRowCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("targetRowCount")
+ private Integer targetRowCount;
+
+ public Builder targetRowCount(Integer targetRowCount) {
+ this.targetRowCount = targetRowCount;
+ this.__explicitlySet__.add("targetRowCount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("variancePercent")
+ private Double variancePercent;
+
+ public Builder variancePercent(Double variancePercent) {
+ this.variancePercent = variancePercent;
+ this.__explicitlySet__.add("variancePercent");
+ return this;
+ }
+ /**
+ * Time of last statistics collection in the source used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastSourceStatisticsCollection")
+ private java.util.Date timeLastSourceStatisticsCollection;
+
+ /**
+ * Time of last statistics collection in the source used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ *
+ * @param timeLastSourceStatisticsCollection the value to set
+ * @return this builder
+ */
+ public Builder timeLastSourceStatisticsCollection(
+ java.util.Date timeLastSourceStatisticsCollection) {
+ this.timeLastSourceStatisticsCollection = timeLastSourceStatisticsCollection;
+ this.__explicitlySet__.add("timeLastSourceStatisticsCollection");
+ return this;
+ }
+ /**
+ * Time of last statistics collection in the target used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastTargetStatisticsCollection")
+ private java.util.Date timeLastTargetStatisticsCollection;
+
+ /**
+ * Time of last statistics collection in the target used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ *
+ * @param timeLastTargetStatisticsCollection the value to set
+ * @return this builder
+ */
+ public Builder timeLastTargetStatisticsCollection(
+ java.util.Date timeLastTargetStatisticsCollection) {
+ this.timeLastTargetStatisticsCollection = timeLastTargetStatisticsCollection;
+ this.__explicitlySet__.add("timeLastTargetStatisticsCollection");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OracleDataVerificationTableRowCountSummary build() {
+ OracleDataVerificationTableRowCountSummary model =
+ new OracleDataVerificationTableRowCountSummary(
+ this.owner,
+ this.tableName,
+ this.sourceRowCount,
+ this.targetRowCount,
+ this.variancePercent,
+ this.timeLastSourceStatisticsCollection,
+ this.timeLastTargetStatisticsCollection);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OracleDataVerificationTableRowCountSummary model) {
+ if (model.wasPropertyExplicitlySet("owner")) {
+ this.owner(model.getOwner());
+ }
+ if (model.wasPropertyExplicitlySet("tableName")) {
+ this.tableName(model.getTableName());
+ }
+ if (model.wasPropertyExplicitlySet("sourceRowCount")) {
+ this.sourceRowCount(model.getSourceRowCount());
+ }
+ if (model.wasPropertyExplicitlySet("targetRowCount")) {
+ this.targetRowCount(model.getTargetRowCount());
+ }
+ if (model.wasPropertyExplicitlySet("variancePercent")) {
+ this.variancePercent(model.getVariancePercent());
+ }
+ if (model.wasPropertyExplicitlySet("timeLastSourceStatisticsCollection")) {
+ this.timeLastSourceStatisticsCollection(
+ model.getTimeLastSourceStatisticsCollection());
+ }
+ if (model.wasPropertyExplicitlySet("timeLastTargetStatisticsCollection")) {
+ this.timeLastTargetStatisticsCollection(
+ model.getTimeLastTargetStatisticsCollection());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OracleDataVerificationTableRowCountSummary(
+ String owner,
+ String tableName,
+ Integer sourceRowCount,
+ Integer targetRowCount,
+ Double variancePercent,
+ java.util.Date timeLastSourceStatisticsCollection,
+ java.util.Date timeLastTargetStatisticsCollection) {
+ super(owner, tableName, sourceRowCount, targetRowCount, variancePercent);
+ this.timeLastSourceStatisticsCollection = timeLastSourceStatisticsCollection;
+ this.timeLastTargetStatisticsCollection = timeLastTargetStatisticsCollection;
+ }
+
+ /**
+ * Time of last statistics collection in the source used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastSourceStatisticsCollection")
+ private final java.util.Date timeLastSourceStatisticsCollection;
+
+ /**
+ * Time of last statistics collection in the source used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeLastSourceStatisticsCollection() {
+ return timeLastSourceStatisticsCollection;
+ }
+
+ /**
+ * Time of last statistics collection in the target used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastTargetStatisticsCollection")
+ private final java.util.Date timeLastTargetStatisticsCollection;
+
+ /**
+ * Time of last statistics collection in the target used for the dictionary-based row count
+ * estimate. This value is reported per row because statistics can be collected at different
+ * times per object. This timestamp is stored in UTC.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeLastTargetStatisticsCollection() {
+ return timeLastTargetStatisticsCollection;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleDataVerificationTableRowCountSummary(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", timeLastSourceStatisticsCollection=")
+ .append(String.valueOf(this.timeLastSourceStatisticsCollection));
+ sb.append(", timeLastTargetStatisticsCollection=")
+ .append(String.valueOf(this.timeLastTargetStatisticsCollection));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleDataVerificationTableRowCountSummary)) {
+ return false;
+ }
+
+ OracleDataVerificationTableRowCountSummary other =
+ (OracleDataVerificationTableRowCountSummary) o;
+ return java.util.Objects.equals(
+ this.timeLastSourceStatisticsCollection,
+ other.timeLastSourceStatisticsCollection)
+ && java.util.Objects.equals(
+ this.timeLastTargetStatisticsCollection,
+ other.timeLastTargetStatisticsCollection)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.timeLastSourceStatisticsCollection == null
+ ? 43
+ : this.timeLastSourceStatisticsCollection.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeLastTargetStatisticsCollection == null
+ ? 43
+ : this.timeLastTargetStatisticsCollection.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDatabaseObjectTypes.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDatabaseObjectTypes.java
new file mode 100644
index 00000000000..8566e7bfda7
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleDatabaseObjectTypes.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/** Oracle database object types used by Data Verification. */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public enum OracleDatabaseObjectTypes implements com.oracle.bmc.http.internal.BmcEnum {
+ Table("TABLE"),
+ Index("INDEX"),
+ View("VIEW"),
+ Sequence("SEQUENCE"),
+ Synonym("SYNONYM"),
+ Cluster("CLUSTER"),
+ Procedure("PROCEDURE"),
+ Function("FUNCTION"),
+ Package("PACKAGE"),
+ PackageBody("PACKAGE_BODY"),
+ Trigger("TRIGGER"),
+ User("USER"),
+ Role("ROLE"),
+ Profile("PROFILE"),
+ MaterializedView("MATERIALIZED_VIEW"),
+ Type("TYPE"),
+ TypeBody("TYPE_BODY"),
+ Operator("OPERATOR"),
+ Library("LIBRARY"),
+ Directory("DIRECTORY"),
+ Tablespace("TABLESPACE"),
+ DatabaseLink("DATABASE_LINK"),
+ Controlfile("CONTROLFILE"),
+ Datafile("DATAFILE"),
+ RedoLog("REDO_LOG"),
+ JavaClass("JAVA_CLASS"),
+ JavaSource("JAVA_SOURCE"),
+ JavaResource("JAVA_RESOURCE"),
+ XmlSchema("XML_SCHEMA"),
+ Queue("QUEUE"),
+ QueueTable("QUEUE_TABLE"),
+ Dimension("DIMENSION"),
+ Context("CONTEXT"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by this
+ * version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(OracleDatabaseObjectTypes.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (OracleDatabaseObjectTypes v : OracleDatabaseObjectTypes.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ OracleDatabaseObjectTypes(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static OracleDatabaseObjectTypes create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'OracleDatabaseObjectTypes', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigration.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigration.java
index c89b683fba3..6c81b040d1b 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigration.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigration.java
@@ -5,7 +5,8 @@
package com.oracle.bmc.databasemigration.model;
/**
- * Oracle Migration resource
+ * Oracle Migration resource. Deprecated: The parent-level Oracle migration configuration properties
+ * on this model are deprecated. Use {@code migrationSettings} instead.
* Note: Objects should always be created or deserialized using the {@link Builder}. This model
* distinguishes fields that are {@code null} because they are unset from fields that are explicitly
* set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
@@ -189,6 +190,15 @@ public Builder systemTags(java.util.Map> s
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private OracleMigrationSettings migrationSettings;
+
+ public Builder migrationSettings(OracleMigrationSettings migrationSettings) {
+ this.migrationSettings = migrationSettings;
+ this.__explicitlySet__.add("migrationSettings");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
private OracleDataTransferMediumDetails dataTransferMediumDetails;
@@ -306,6 +316,7 @@ public OracleMigration build() {
this.freeformTags,
this.definedTags,
this.systemTags,
+ this.migrationSettings,
this.dataTransferMediumDetails,
this.initialLoadSettings,
this.advisorSettings,
@@ -376,6 +387,9 @@ public Builder copy(OracleMigration model) {
if (model.wasPropertyExplicitlySet("systemTags")) {
this.systemTags(model.getSystemTags());
}
+ if (model.wasPropertyExplicitlySet("migrationSettings")) {
+ this.migrationSettings(model.getMigrationSettings());
+ }
if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
}
@@ -435,6 +449,7 @@ public OracleMigration(
java.util.Map freeformTags,
java.util.Map> definedTags,
java.util.Map> systemTags,
+ OracleMigrationSettings migrationSettings,
OracleDataTransferMediumDetails dataTransferMediumDetails,
OracleInitialLoadSettings initialLoadSettings,
OracleAdvisorSettings advisorSettings,
@@ -462,6 +477,7 @@ public OracleMigration(
freeformTags,
definedTags,
systemTags);
+ this.migrationSettings = migrationSettings;
this.dataTransferMediumDetails = dataTransferMediumDetails;
this.initialLoadSettings = initialLoadSettings;
this.advisorSettings = advisorSettings;
@@ -472,6 +488,13 @@ public OracleMigration(
this.advancedParameters = advancedParameters;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private final OracleMigrationSettings migrationSettings;
+
+ public OracleMigrationSettings getMigrationSettings() {
+ return migrationSettings;
+ }
+
@com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
private final OracleDataTransferMediumDetails dataTransferMediumDetails;
@@ -561,6 +584,7 @@ public String toString(boolean includeByteArrayContents) {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("OracleMigration(");
sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", migrationSettings=").append(String.valueOf(this.migrationSettings));
sb.append(", dataTransferMediumDetails=")
.append(String.valueOf(this.dataTransferMediumDetails));
sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
@@ -586,7 +610,8 @@ public boolean equals(Object o) {
}
OracleMigration other = (OracleMigration) o;
- return java.util.Objects.equals(
+ return java.util.Objects.equals(this.migrationSettings, other.migrationSettings)
+ && java.util.Objects.equals(
this.dataTransferMediumDetails, other.dataTransferMediumDetails)
&& java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
&& java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
@@ -606,6 +631,9 @@ public boolean equals(Object o) {
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.migrationSettings == null ? 43 : this.migrationSettings.hashCode());
result =
(result * PRIME)
+ (this.dataTransferMediumDetails == null
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationMethods.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationMethods.java
new file mode 100644
index 00000000000..66bdd04fe6b
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationMethods.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/** Supported Oracle migration methods. */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public enum OracleMigrationMethods implements com.oracle.bmc.http.internal.BmcEnum {
+ OnlineLogical("ONLINE_LOGICAL"),
+ OfflineLogical("OFFLINE_LOGICAL"),
+ OnlineStandby("ONLINE_STANDBY"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by this
+ * version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(OracleMigrationMethods.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (OracleMigrationMethods v : OracleMigrationMethods.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ OracleMigrationMethods(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static OracleMigrationMethods create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'OracleMigrationMethods', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSettings.java
new file mode 100644
index 00000000000..0e4bddfe525
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSettings.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Discriminator-only base Oracle migration settings.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod",
+ defaultImpl = OracleMigrationSettings.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OracleOnlineStandbyMigrationSettings.class,
+ name = "ONLINE_STANDBY"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OracleOfflineLogicalMigrationSettings.class,
+ name = "OFFLINE_LOGICAL"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OracleOnlineLogicalMigrationSettings.class,
+ name = "ONLINE_LOGICAL")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class OracleMigrationSettings
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected OracleMigrationSettings() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleMigrationSettings(");
+ sb.append("super=").append(super.toString());
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleMigrationSettings)) {
+ return false;
+ }
+
+ OracleMigrationSettings other = (OracleMigrationSettings) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSettingsSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSettingsSummary.java
new file mode 100644
index 00000000000..2522933df36
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSettingsSummary.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Discriminator-only base Oracle migration summary settings.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod",
+ defaultImpl = OracleMigrationSettingsSummary.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OracleOfflineLogicalMigrationSettingsSummary.class,
+ name = "OFFLINE_LOGICAL"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OracleOnlineStandbyMigrationSettingsSummary.class,
+ name = "ONLINE_STANDBY"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OracleOnlineLogicalMigrationSettingsSummary.class,
+ name = "ONLINE_LOGICAL")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class OracleMigrationSettingsSummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected OracleMigrationSettingsSummary() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleMigrationSettingsSummary(");
+ sb.append("super=").append(super.toString());
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleMigrationSettingsSummary)) {
+ return false;
+ }
+
+ OracleMigrationSettingsSummary other = (OracleMigrationSettingsSummary) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSummary.java
index 2a7ad4d5246..85bf92f58be 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSummary.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleMigrationSummary.java
@@ -5,7 +5,8 @@
package com.oracle.bmc.databasemigration.model;
/**
- * Oracle Migration Summary
+ * Oracle Migration Summary. Deprecated: The parent-level Oracle migration configuration properties
+ * on this model are deprecated. Use {@code migrationSettings} instead.
* Note: Objects should always be created or deserialized using the {@link Builder}. This model
* distinguishes fields that are {@code null} because they are unset from fields that are explicitly
* set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
@@ -171,6 +172,15 @@ public Builder systemTags(java.util.Map> s
this.__explicitlySet__.add("systemTags");
return this;
}
+
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private OracleMigrationSettingsSummary migrationSettings;
+
+ public Builder migrationSettings(OracleMigrationSettingsSummary migrationSettings) {
+ this.migrationSettings = migrationSettings;
+ this.__explicitlySet__.add("migrationSettings");
+ return this;
+ }
/** The OCID of the resource being referenced. */
@com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
private String sourceContainerDatabaseConnectionId;
@@ -225,6 +235,7 @@ public OracleMigrationSummary build() {
this.freeformTags,
this.definedTags,
this.systemTags,
+ this.migrationSettings,
this.sourceContainerDatabaseConnectionId,
this.sourceStandbyDatabaseConnectionId);
for (String explicitlySetProperty : this.__explicitlySet__) {
@@ -283,6 +294,9 @@ public Builder copy(OracleMigrationSummary model) {
if (model.wasPropertyExplicitlySet("systemTags")) {
this.systemTags(model.getSystemTags());
}
+ if (model.wasPropertyExplicitlySet("migrationSettings")) {
+ this.migrationSettings(model.getMigrationSettings());
+ }
if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
this.sourceContainerDatabaseConnectionId(
model.getSourceContainerDatabaseConnectionId());
@@ -322,6 +336,7 @@ public OracleMigrationSummary(
java.util.Map freeformTags,
java.util.Map> definedTags,
java.util.Map> systemTags,
+ OracleMigrationSettingsSummary migrationSettings,
String sourceContainerDatabaseConnectionId,
String sourceStandbyDatabaseConnectionId) {
super(
@@ -341,10 +356,18 @@ public OracleMigrationSummary(
freeformTags,
definedTags,
systemTags);
+ this.migrationSettings = migrationSettings;
this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private final OracleMigrationSettingsSummary migrationSettings;
+
+ public OracleMigrationSettingsSummary getMigrationSettings() {
+ return migrationSettings;
+ }
+
/** The OCID of the resource being referenced. */
@com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
private final String sourceContainerDatabaseConnectionId;
@@ -386,6 +409,7 @@ public String toString(boolean includeByteArrayContents) {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("OracleMigrationSummary(");
sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", migrationSettings=").append(String.valueOf(this.migrationSettings));
sb.append(", sourceContainerDatabaseConnectionId=")
.append(String.valueOf(this.sourceContainerDatabaseConnectionId));
sb.append(", sourceStandbyDatabaseConnectionId=")
@@ -404,7 +428,8 @@ public boolean equals(Object o) {
}
OracleMigrationSummary other = (OracleMigrationSummary) o;
- return java.util.Objects.equals(
+ return java.util.Objects.equals(this.migrationSettings, other.migrationSettings)
+ && java.util.Objects.equals(
this.sourceContainerDatabaseConnectionId,
other.sourceContainerDatabaseConnectionId)
&& java.util.Objects.equals(
@@ -417,6 +442,9 @@ public boolean equals(Object o) {
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.migrationSettings == null ? 43 : this.migrationSettings.hashCode());
result =
(result * PRIME)
+ (this.sourceContainerDatabaseConnectionId == null
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOfflineLogicalMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOfflineLogicalMigrationSettings.java
new file mode 100644
index 00000000000..c94bf697ad6
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOfflineLogicalMigrationSettings.java
@@ -0,0 +1,231 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Oracle offline logical migration settings.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OracleOfflineLogicalMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OracleOfflineLogicalMigrationSettings extends OracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private OracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public Builder dataTransferMediumDetails(
+ OracleDataTransferMediumDetails dataTransferMediumDetails) {
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.__explicitlySet__.add("dataTransferMediumDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private OracleInitialLoadSettings initialLoadSettings;
+
+ public Builder initialLoadSettings(OracleInitialLoadSettings initialLoadSettings) {
+ this.initialLoadSettings = initialLoadSettings;
+ this.__explicitlySet__.add("initialLoadSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private OracleAdvisorSettings advisorSettings;
+
+ public Builder advisorSettings(OracleAdvisorSettings advisorSettings) {
+ this.advisorSettings = advisorSettings;
+ this.__explicitlySet__.add("advisorSettings");
+ return this;
+ }
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @param advancedParameters the value to set
+ * @return this builder
+ */
+ public Builder advancedParameters(
+ java.util.List advancedParameters) {
+ this.advancedParameters = advancedParameters;
+ this.__explicitlySet__.add("advancedParameters");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OracleOfflineLogicalMigrationSettings build() {
+ OracleOfflineLogicalMigrationSettings model =
+ new OracleOfflineLogicalMigrationSettings(
+ this.dataTransferMediumDetails,
+ this.initialLoadSettings,
+ this.advisorSettings,
+ this.advancedParameters);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OracleOfflineLogicalMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
+ this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
+ }
+ if (model.wasPropertyExplicitlySet("initialLoadSettings")) {
+ this.initialLoadSettings(model.getInitialLoadSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advisorSettings")) {
+ this.advisorSettings(model.getAdvisorSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advancedParameters")) {
+ this.advancedParameters(model.getAdvancedParameters());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OracleOfflineLogicalMigrationSettings(
+ OracleDataTransferMediumDetails dataTransferMediumDetails,
+ OracleInitialLoadSettings initialLoadSettings,
+ OracleAdvisorSettings advisorSettings,
+ java.util.List advancedParameters) {
+ super();
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.initialLoadSettings = initialLoadSettings;
+ this.advisorSettings = advisorSettings;
+ this.advancedParameters = advancedParameters;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private final OracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public OracleDataTransferMediumDetails getDataTransferMediumDetails() {
+ return dataTransferMediumDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private final OracleInitialLoadSettings initialLoadSettings;
+
+ public OracleInitialLoadSettings getInitialLoadSettings() {
+ return initialLoadSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private final OracleAdvisorSettings advisorSettings;
+
+ public OracleAdvisorSettings getAdvisorSettings() {
+ return advisorSettings;
+ }
+
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private final java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @return the value
+ */
+ public java.util.List getAdvancedParameters() {
+ return advancedParameters;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleOfflineLogicalMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", dataTransferMediumDetails=")
+ .append(String.valueOf(this.dataTransferMediumDetails));
+ sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
+ sb.append(", advisorSettings=").append(String.valueOf(this.advisorSettings));
+ sb.append(", advancedParameters=").append(String.valueOf(this.advancedParameters));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleOfflineLogicalMigrationSettings)) {
+ return false;
+ }
+
+ OracleOfflineLogicalMigrationSettings other = (OracleOfflineLogicalMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.dataTransferMediumDetails, other.dataTransferMediumDetails)
+ && java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
+ && java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
+ && java.util.Objects.equals(this.advancedParameters, other.advancedParameters)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.dataTransferMediumDetails == null
+ ? 43
+ : this.dataTransferMediumDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.initialLoadSettings == null
+ ? 43
+ : this.initialLoadSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advisorSettings == null ? 43 : this.advisorSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advancedParameters == null
+ ? 43
+ : this.advancedParameters.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOfflineLogicalMigrationSettingsSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOfflineLogicalMigrationSettingsSummary.java
new file mode 100644
index 00000000000..56ea261ae1d
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOfflineLogicalMigrationSettingsSummary.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Oracle offline logical migration summary settings.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OracleOfflineLogicalMigrationSettingsSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OracleOfflineLogicalMigrationSettingsSummary
+ extends OracleMigrationSettingsSummary {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OracleOfflineLogicalMigrationSettingsSummary build() {
+ OracleOfflineLogicalMigrationSettingsSummary model =
+ new OracleOfflineLogicalMigrationSettingsSummary();
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OracleOfflineLogicalMigrationSettingsSummary model) {
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OracleOfflineLogicalMigrationSettingsSummary() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleOfflineLogicalMigrationSettingsSummary(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleOfflineLogicalMigrationSettingsSummary)) {
+ return false;
+ }
+
+ OracleOfflineLogicalMigrationSettingsSummary other =
+ (OracleOfflineLogicalMigrationSettingsSummary) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineLogicalMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineLogicalMigrationSettings.java
new file mode 100644
index 00000000000..b6c61832751
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineLogicalMigrationSettings.java
@@ -0,0 +1,327 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Oracle online logical migration settings.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OracleOnlineLogicalMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OracleOnlineLogicalMigrationSettings extends OracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private OracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public Builder dataTransferMediumDetails(
+ OracleDataTransferMediumDetails dataTransferMediumDetails) {
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.__explicitlySet__.add("dataTransferMediumDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private OracleInitialLoadSettings initialLoadSettings;
+
+ public Builder initialLoadSettings(OracleInitialLoadSettings initialLoadSettings) {
+ this.initialLoadSettings = initialLoadSettings;
+ this.__explicitlySet__.add("initialLoadSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private OracleAdvisorSettings advisorSettings;
+
+ public Builder advisorSettings(OracleAdvisorSettings advisorSettings) {
+ this.advisorSettings = advisorSettings;
+ this.__explicitlySet__.add("advisorSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private GoldenGateHubDetails hubDetails;
+
+ public Builder hubDetails(GoldenGateHubDetails hubDetails) {
+ this.hubDetails = hubDetails;
+ this.__explicitlySet__.add("hubDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private OracleGgsDeploymentDetails ggsDetails;
+
+ public Builder ggsDetails(OracleGgsDeploymentDetails ggsDetails) {
+ this.ggsDetails = ggsDetails;
+ this.__explicitlySet__.add("ggsDetails");
+ return this;
+ }
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @param advancedParameters the value to set
+ * @return this builder
+ */
+ public Builder advancedParameters(
+ java.util.List advancedParameters) {
+ this.advancedParameters = advancedParameters;
+ this.__explicitlySet__.add("advancedParameters");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OracleOnlineLogicalMigrationSettings build() {
+ OracleOnlineLogicalMigrationSettings model =
+ new OracleOnlineLogicalMigrationSettings(
+ this.dataTransferMediumDetails,
+ this.initialLoadSettings,
+ this.advisorSettings,
+ this.hubDetails,
+ this.ggsDetails,
+ this.sourceContainerDatabaseConnectionId,
+ this.advancedParameters);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OracleOnlineLogicalMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
+ this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
+ }
+ if (model.wasPropertyExplicitlySet("initialLoadSettings")) {
+ this.initialLoadSettings(model.getInitialLoadSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advisorSettings")) {
+ this.advisorSettings(model.getAdvisorSettings());
+ }
+ if (model.wasPropertyExplicitlySet("hubDetails")) {
+ this.hubDetails(model.getHubDetails());
+ }
+ if (model.wasPropertyExplicitlySet("ggsDetails")) {
+ this.ggsDetails(model.getGgsDetails());
+ }
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ if (model.wasPropertyExplicitlySet("advancedParameters")) {
+ this.advancedParameters(model.getAdvancedParameters());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OracleOnlineLogicalMigrationSettings(
+ OracleDataTransferMediumDetails dataTransferMediumDetails,
+ OracleInitialLoadSettings initialLoadSettings,
+ OracleAdvisorSettings advisorSettings,
+ GoldenGateHubDetails hubDetails,
+ OracleGgsDeploymentDetails ggsDetails,
+ String sourceContainerDatabaseConnectionId,
+ java.util.List advancedParameters) {
+ super();
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.initialLoadSettings = initialLoadSettings;
+ this.advisorSettings = advisorSettings;
+ this.hubDetails = hubDetails;
+ this.ggsDetails = ggsDetails;
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.advancedParameters = advancedParameters;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private final OracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public OracleDataTransferMediumDetails getDataTransferMediumDetails() {
+ return dataTransferMediumDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private final OracleInitialLoadSettings initialLoadSettings;
+
+ public OracleInitialLoadSettings getInitialLoadSettings() {
+ return initialLoadSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private final OracleAdvisorSettings advisorSettings;
+
+ public OracleAdvisorSettings getAdvisorSettings() {
+ return advisorSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private final GoldenGateHubDetails hubDetails;
+
+ public GoldenGateHubDetails getHubDetails() {
+ return hubDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private final OracleGgsDeploymentDetails ggsDetails;
+
+ public OracleGgsDeploymentDetails getGgsDetails() {
+ return ggsDetails;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private final java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @return the value
+ */
+ public java.util.List getAdvancedParameters() {
+ return advancedParameters;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleOnlineLogicalMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", dataTransferMediumDetails=")
+ .append(String.valueOf(this.dataTransferMediumDetails));
+ sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
+ sb.append(", advisorSettings=").append(String.valueOf(this.advisorSettings));
+ sb.append(", hubDetails=").append(String.valueOf(this.hubDetails));
+ sb.append(", ggsDetails=").append(String.valueOf(this.ggsDetails));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(", advancedParameters=").append(String.valueOf(this.advancedParameters));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleOnlineLogicalMigrationSettings)) {
+ return false;
+ }
+
+ OracleOnlineLogicalMigrationSettings other = (OracleOnlineLogicalMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.dataTransferMediumDetails, other.dataTransferMediumDetails)
+ && java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
+ && java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
+ && java.util.Objects.equals(this.hubDetails, other.hubDetails)
+ && java.util.Objects.equals(this.ggsDetails, other.ggsDetails)
+ && java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && java.util.Objects.equals(this.advancedParameters, other.advancedParameters)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.dataTransferMediumDetails == null
+ ? 43
+ : this.dataTransferMediumDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.initialLoadSettings == null
+ ? 43
+ : this.initialLoadSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advisorSettings == null ? 43 : this.advisorSettings.hashCode());
+ result = (result * PRIME) + (this.hubDetails == null ? 43 : this.hubDetails.hashCode());
+ result = (result * PRIME) + (this.ggsDetails == null ? 43 : this.ggsDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advancedParameters == null
+ ? 43
+ : this.advancedParameters.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineLogicalMigrationSettingsSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineLogicalMigrationSettingsSummary.java
new file mode 100644
index 00000000000..f5022378f3c
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineLogicalMigrationSettingsSummary.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Oracle online logical migration summary settings.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OracleOnlineLogicalMigrationSettingsSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OracleOnlineLogicalMigrationSettingsSummary
+ extends OracleMigrationSettingsSummary {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OracleOnlineLogicalMigrationSettingsSummary build() {
+ OracleOnlineLogicalMigrationSettingsSummary model =
+ new OracleOnlineLogicalMigrationSettingsSummary(
+ this.sourceContainerDatabaseConnectionId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OracleOnlineLogicalMigrationSettingsSummary model) {
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OracleOnlineLogicalMigrationSettingsSummary(String sourceContainerDatabaseConnectionId) {
+ super();
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleOnlineLogicalMigrationSettingsSummary(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleOnlineLogicalMigrationSettingsSummary)) {
+ return false;
+ }
+
+ OracleOnlineLogicalMigrationSettingsSummary other =
+ (OracleOnlineLogicalMigrationSettingsSummary) o;
+ return java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineStandbyMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineStandbyMigrationSettings.java
new file mode 100644
index 00000000000..ad19ef69dc7
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineStandbyMigrationSettings.java
@@ -0,0 +1,372 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Oracle online standby migration settings.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OracleOnlineStandbyMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OracleOnlineStandbyMigrationSettings extends OracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private OracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public Builder dataTransferMediumDetails(
+ OracleDataTransferMediumDetails dataTransferMediumDetails) {
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.__explicitlySet__.add("dataTransferMediumDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private OracleInitialLoadSettings initialLoadSettings;
+
+ public Builder initialLoadSettings(OracleInitialLoadSettings initialLoadSettings) {
+ this.initialLoadSettings = initialLoadSettings;
+ this.__explicitlySet__.add("initialLoadSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private OracleAdvisorSettings advisorSettings;
+
+ public Builder advisorSettings(OracleAdvisorSettings advisorSettings) {
+ this.advisorSettings = advisorSettings;
+ this.__explicitlySet__.add("advisorSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private GoldenGateHubDetails hubDetails;
+
+ public Builder hubDetails(GoldenGateHubDetails hubDetails) {
+ this.hubDetails = hubDetails;
+ this.__explicitlySet__.add("hubDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private OracleGgsDeploymentDetails ggsDetails;
+
+ public Builder ggsDetails(OracleGgsDeploymentDetails ggsDetails) {
+ this.ggsDetails = ggsDetails;
+ this.__explicitlySet__.add("ggsDetails");
+ return this;
+ }
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceStandbyDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceStandbyDatabaseConnectionId(String sourceStandbyDatabaseConnectionId) {
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceStandbyDatabaseConnectionId");
+ return this;
+ }
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @param advancedParameters the value to set
+ * @return this builder
+ */
+ public Builder advancedParameters(
+ java.util.List advancedParameters) {
+ this.advancedParameters = advancedParameters;
+ this.__explicitlySet__.add("advancedParameters");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OracleOnlineStandbyMigrationSettings build() {
+ OracleOnlineStandbyMigrationSettings model =
+ new OracleOnlineStandbyMigrationSettings(
+ this.dataTransferMediumDetails,
+ this.initialLoadSettings,
+ this.advisorSettings,
+ this.hubDetails,
+ this.ggsDetails,
+ this.sourceContainerDatabaseConnectionId,
+ this.sourceStandbyDatabaseConnectionId,
+ this.advancedParameters);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OracleOnlineStandbyMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
+ this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
+ }
+ if (model.wasPropertyExplicitlySet("initialLoadSettings")) {
+ this.initialLoadSettings(model.getInitialLoadSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advisorSettings")) {
+ this.advisorSettings(model.getAdvisorSettings());
+ }
+ if (model.wasPropertyExplicitlySet("hubDetails")) {
+ this.hubDetails(model.getHubDetails());
+ }
+ if (model.wasPropertyExplicitlySet("ggsDetails")) {
+ this.ggsDetails(model.getGgsDetails());
+ }
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ if (model.wasPropertyExplicitlySet("sourceStandbyDatabaseConnectionId")) {
+ this.sourceStandbyDatabaseConnectionId(
+ model.getSourceStandbyDatabaseConnectionId());
+ }
+ if (model.wasPropertyExplicitlySet("advancedParameters")) {
+ this.advancedParameters(model.getAdvancedParameters());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OracleOnlineStandbyMigrationSettings(
+ OracleDataTransferMediumDetails dataTransferMediumDetails,
+ OracleInitialLoadSettings initialLoadSettings,
+ OracleAdvisorSettings advisorSettings,
+ GoldenGateHubDetails hubDetails,
+ OracleGgsDeploymentDetails ggsDetails,
+ String sourceContainerDatabaseConnectionId,
+ String sourceStandbyDatabaseConnectionId,
+ java.util.List advancedParameters) {
+ super();
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.initialLoadSettings = initialLoadSettings;
+ this.advisorSettings = advisorSettings;
+ this.hubDetails = hubDetails;
+ this.ggsDetails = ggsDetails;
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ this.advancedParameters = advancedParameters;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private final OracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public OracleDataTransferMediumDetails getDataTransferMediumDetails() {
+ return dataTransferMediumDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private final OracleInitialLoadSettings initialLoadSettings;
+
+ public OracleInitialLoadSettings getInitialLoadSettings() {
+ return initialLoadSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private final OracleAdvisorSettings advisorSettings;
+
+ public OracleAdvisorSettings getAdvisorSettings() {
+ return advisorSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private final GoldenGateHubDetails hubDetails;
+
+ public GoldenGateHubDetails getHubDetails() {
+ return hubDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private final OracleGgsDeploymentDetails ggsDetails;
+
+ public OracleGgsDeploymentDetails getGgsDetails() {
+ return ggsDetails;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private final String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceStandbyDatabaseConnectionId() {
+ return sourceStandbyDatabaseConnectionId;
+ }
+
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private final java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @return the value
+ */
+ public java.util.List getAdvancedParameters() {
+ return advancedParameters;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleOnlineStandbyMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", dataTransferMediumDetails=")
+ .append(String.valueOf(this.dataTransferMediumDetails));
+ sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
+ sb.append(", advisorSettings=").append(String.valueOf(this.advisorSettings));
+ sb.append(", hubDetails=").append(String.valueOf(this.hubDetails));
+ sb.append(", ggsDetails=").append(String.valueOf(this.ggsDetails));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(", sourceStandbyDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceStandbyDatabaseConnectionId));
+ sb.append(", advancedParameters=").append(String.valueOf(this.advancedParameters));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleOnlineStandbyMigrationSettings)) {
+ return false;
+ }
+
+ OracleOnlineStandbyMigrationSettings other = (OracleOnlineStandbyMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.dataTransferMediumDetails, other.dataTransferMediumDetails)
+ && java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
+ && java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
+ && java.util.Objects.equals(this.hubDetails, other.hubDetails)
+ && java.util.Objects.equals(this.ggsDetails, other.ggsDetails)
+ && java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && java.util.Objects.equals(
+ this.sourceStandbyDatabaseConnectionId,
+ other.sourceStandbyDatabaseConnectionId)
+ && java.util.Objects.equals(this.advancedParameters, other.advancedParameters)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.dataTransferMediumDetails == null
+ ? 43
+ : this.dataTransferMediumDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.initialLoadSettings == null
+ ? 43
+ : this.initialLoadSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advisorSettings == null ? 43 : this.advisorSettings.hashCode());
+ result = (result * PRIME) + (this.hubDetails == null ? 43 : this.hubDetails.hashCode());
+ result = (result * PRIME) + (this.ggsDetails == null ? 43 : this.ggsDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceStandbyDatabaseConnectionId == null
+ ? 43
+ : this.sourceStandbyDatabaseConnectionId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advancedParameters == null
+ ? 43
+ : this.advancedParameters.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineStandbyMigrationSettingsSummary.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineStandbyMigrationSettingsSummary.java
new file mode 100644
index 00000000000..be46e95e145
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/OracleOnlineStandbyMigrationSettingsSummary.java
@@ -0,0 +1,193 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Oracle online standby migration summary settings.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OracleOnlineStandbyMigrationSettingsSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OracleOnlineStandbyMigrationSettingsSummary
+ extends OracleMigrationSettingsSummary {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @param sourceStandbyDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceStandbyDatabaseConnectionId(String sourceStandbyDatabaseConnectionId) {
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceStandbyDatabaseConnectionId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OracleOnlineStandbyMigrationSettingsSummary build() {
+ OracleOnlineStandbyMigrationSettingsSummary model =
+ new OracleOnlineStandbyMigrationSettingsSummary(
+ this.sourceContainerDatabaseConnectionId,
+ this.sourceStandbyDatabaseConnectionId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OracleOnlineStandbyMigrationSettingsSummary model) {
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ if (model.wasPropertyExplicitlySet("sourceStandbyDatabaseConnectionId")) {
+ this.sourceStandbyDatabaseConnectionId(
+ model.getSourceStandbyDatabaseConnectionId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OracleOnlineStandbyMigrationSettingsSummary(
+ String sourceContainerDatabaseConnectionId, String sourceStandbyDatabaseConnectionId) {
+ super();
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ /** The OCID of the resource being referenced. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private final String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being referenced.
+ *
+ * @return the value
+ */
+ public String getSourceStandbyDatabaseConnectionId() {
+ return sourceStandbyDatabaseConnectionId;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OracleOnlineStandbyMigrationSettingsSummary(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(", sourceStandbyDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceStandbyDatabaseConnectionId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OracleOnlineStandbyMigrationSettingsSummary)) {
+ return false;
+ }
+
+ OracleOnlineStandbyMigrationSettingsSummary other =
+ (OracleOnlineStandbyMigrationSettingsSummary) o;
+ return java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && java.util.Objects.equals(
+ this.sourceStandbyDatabaseConnectionId,
+ other.sourceStandbyDatabaseConnectionId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceStandbyDatabaseConnectionId == null
+ ? 43
+ : this.sourceStandbyDatabaseConnectionId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/RunDataVerificationDetails.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/RunDataVerificationDetails.java
new file mode 100644
index 00000000000..96bb1c26968
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/RunDataVerificationDetails.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Details for running Data Verification. This request is modeled with a type discriminator so
+ * future Data Verification run options can be added without changing the required request body
+ * contract.
+ *
+ * Note: The migration database combination is inferred from the migrationId in the path and is
+ * not part of this request body.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "type",
+ defaultImpl = RunDataVerificationDetails.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = DefaultRunDataVerificationDetails.class,
+ name = "DEFAULT")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class RunDataVerificationDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected RunDataVerificationDetails() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("RunDataVerificationDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof RunDataVerificationDetails)) {
+ return false;
+ }
+
+ RunDataVerificationDetails other = (RunDataVerificationDetails) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+
+ /** The type discriminator for Run Data Verification details. */
+ public enum Type implements com.oracle.bmc.http.internal.BmcEnum {
+ Default("DEFAULT"),
+ ;
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (Type v : Type.values()) {
+ map.put(v.getValue(), v);
+ }
+ }
+
+ Type(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static Type create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ throw new IllegalArgumentException("Invalid Type: " + key);
+ }
+ };
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleMigrationDetails.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleMigrationDetails.java
index d917dfbface..7e843e9cdc9 100644
--- a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleMigrationDetails.java
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleMigrationDetails.java
@@ -5,7 +5,8 @@
package com.oracle.bmc.databasemigration.model;
/**
- * Create Migration resource parameters.
+ * Update Migration resource parameters. Deprecated: The parent-level Oracle migration configuration
+ * properties on this model are deprecated. Use {@code migrationSettings} instead.
* Note: Objects should always be created or deserialized using the {@link Builder}. This model
* distinguishes fields that are {@code null} because they are unset from fields that are explicitly
* set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
@@ -91,6 +92,15 @@ public Builder definedTags(
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private UpdateOracleMigrationSettings migrationSettings;
+
+ public Builder migrationSettings(UpdateOracleMigrationSettings migrationSettings) {
+ this.migrationSettings = migrationSettings;
+ this.__explicitlySet__.add("migrationSettings");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
private UpdateOracleDataTransferMediumDetails dataTransferMediumDetails;
@@ -197,6 +207,7 @@ public UpdateOracleMigrationDetails build() {
this.targetDatabaseConnectionId,
this.freeformTags,
this.definedTags,
+ this.migrationSettings,
this.dataTransferMediumDetails,
this.initialLoadSettings,
this.advisorSettings,
@@ -234,6 +245,9 @@ public Builder copy(UpdateOracleMigrationDetails model) {
if (model.wasPropertyExplicitlySet("definedTags")) {
this.definedTags(model.getDefinedTags());
}
+ if (model.wasPropertyExplicitlySet("migrationSettings")) {
+ this.migrationSettings(model.getMigrationSettings());
+ }
if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
}
@@ -282,6 +296,7 @@ public UpdateOracleMigrationDetails(
String targetDatabaseConnectionId,
java.util.Map freeformTags,
java.util.Map> definedTags,
+ UpdateOracleMigrationSettings migrationSettings,
UpdateOracleDataTransferMediumDetails dataTransferMediumDetails,
UpdateOracleInitialLoadSettings initialLoadSettings,
UpdateOracleAdvisorSettings advisorSettings,
@@ -298,6 +313,7 @@ public UpdateOracleMigrationDetails(
targetDatabaseConnectionId,
freeformTags,
definedTags);
+ this.migrationSettings = migrationSettings;
this.dataTransferMediumDetails = dataTransferMediumDetails;
this.initialLoadSettings = initialLoadSettings;
this.advisorSettings = advisorSettings;
@@ -308,6 +324,13 @@ public UpdateOracleMigrationDetails(
this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("migrationSettings")
+ private final UpdateOracleMigrationSettings migrationSettings;
+
+ public UpdateOracleMigrationSettings getMigrationSettings() {
+ return migrationSettings;
+ }
+
@com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
private final UpdateOracleDataTransferMediumDetails dataTransferMediumDetails;
@@ -397,6 +420,7 @@ public String toString(boolean includeByteArrayContents) {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("UpdateOracleMigrationDetails(");
sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", migrationSettings=").append(String.valueOf(this.migrationSettings));
sb.append(", dataTransferMediumDetails=")
.append(String.valueOf(this.dataTransferMediumDetails));
sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
@@ -422,7 +446,8 @@ public boolean equals(Object o) {
}
UpdateOracleMigrationDetails other = (UpdateOracleMigrationDetails) o;
- return java.util.Objects.equals(
+ return java.util.Objects.equals(this.migrationSettings, other.migrationSettings)
+ && java.util.Objects.equals(
this.dataTransferMediumDetails, other.dataTransferMediumDetails)
&& java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
&& java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
@@ -442,6 +467,9 @@ public boolean equals(Object o) {
public int hashCode() {
final int PRIME = 59;
int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.migrationSettings == null ? 43 : this.migrationSettings.hashCode());
result =
(result * PRIME)
+ (this.dataTransferMediumDetails == null
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleMigrationSettings.java
new file mode 100644
index 00000000000..2600f1f1e6e
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleMigrationSettings.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Discriminator-only base update settings for Oracle migration methods.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod",
+ defaultImpl = UpdateOracleMigrationSettings.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = UpdateOracleOnlineStandbyMigrationSettings.class,
+ name = "ONLINE_STANDBY"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = UpdateOracleOnlineLogicalMigrationSettings.class,
+ name = "ONLINE_LOGICAL"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = UpdateOracleOfflineLogicalMigrationSettings.class,
+ name = "OFFLINE_LOGICAL")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class UpdateOracleMigrationSettings
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected UpdateOracleMigrationSettings() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("UpdateOracleMigrationSettings(");
+ sb.append("super=").append(super.toString());
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof UpdateOracleMigrationSettings)) {
+ return false;
+ }
+
+ UpdateOracleMigrationSettings other = (UpdateOracleMigrationSettings) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleOfflineLogicalMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleOfflineLogicalMigrationSettings.java
new file mode 100644
index 00000000000..d935e278584
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleOfflineLogicalMigrationSettings.java
@@ -0,0 +1,233 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Update settings for an offline logical Oracle migration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = UpdateOracleOfflineLogicalMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class UpdateOracleOfflineLogicalMigrationSettings
+ extends UpdateOracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private UpdateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public Builder dataTransferMediumDetails(
+ UpdateOracleDataTransferMediumDetails dataTransferMediumDetails) {
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.__explicitlySet__.add("dataTransferMediumDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private UpdateOracleInitialLoadSettings initialLoadSettings;
+
+ public Builder initialLoadSettings(UpdateOracleInitialLoadSettings initialLoadSettings) {
+ this.initialLoadSettings = initialLoadSettings;
+ this.__explicitlySet__.add("initialLoadSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private UpdateOracleAdvisorSettings advisorSettings;
+
+ public Builder advisorSettings(UpdateOracleAdvisorSettings advisorSettings) {
+ this.advisorSettings = advisorSettings;
+ this.__explicitlySet__.add("advisorSettings");
+ return this;
+ }
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @param advancedParameters the value to set
+ * @return this builder
+ */
+ public Builder advancedParameters(
+ java.util.List advancedParameters) {
+ this.advancedParameters = advancedParameters;
+ this.__explicitlySet__.add("advancedParameters");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public UpdateOracleOfflineLogicalMigrationSettings build() {
+ UpdateOracleOfflineLogicalMigrationSettings model =
+ new UpdateOracleOfflineLogicalMigrationSettings(
+ this.dataTransferMediumDetails,
+ this.initialLoadSettings,
+ this.advisorSettings,
+ this.advancedParameters);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(UpdateOracleOfflineLogicalMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
+ this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
+ }
+ if (model.wasPropertyExplicitlySet("initialLoadSettings")) {
+ this.initialLoadSettings(model.getInitialLoadSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advisorSettings")) {
+ this.advisorSettings(model.getAdvisorSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advancedParameters")) {
+ this.advancedParameters(model.getAdvancedParameters());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public UpdateOracleOfflineLogicalMigrationSettings(
+ UpdateOracleDataTransferMediumDetails dataTransferMediumDetails,
+ UpdateOracleInitialLoadSettings initialLoadSettings,
+ UpdateOracleAdvisorSettings advisorSettings,
+ java.util.List advancedParameters) {
+ super();
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.initialLoadSettings = initialLoadSettings;
+ this.advisorSettings = advisorSettings;
+ this.advancedParameters = advancedParameters;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private final UpdateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public UpdateOracleDataTransferMediumDetails getDataTransferMediumDetails() {
+ return dataTransferMediumDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private final UpdateOracleInitialLoadSettings initialLoadSettings;
+
+ public UpdateOracleInitialLoadSettings getInitialLoadSettings() {
+ return initialLoadSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private final UpdateOracleAdvisorSettings advisorSettings;
+
+ public UpdateOracleAdvisorSettings getAdvisorSettings() {
+ return advisorSettings;
+ }
+
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private final java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @return the value
+ */
+ public java.util.List getAdvancedParameters() {
+ return advancedParameters;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("UpdateOracleOfflineLogicalMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", dataTransferMediumDetails=")
+ .append(String.valueOf(this.dataTransferMediumDetails));
+ sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
+ sb.append(", advisorSettings=").append(String.valueOf(this.advisorSettings));
+ sb.append(", advancedParameters=").append(String.valueOf(this.advancedParameters));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof UpdateOracleOfflineLogicalMigrationSettings)) {
+ return false;
+ }
+
+ UpdateOracleOfflineLogicalMigrationSettings other =
+ (UpdateOracleOfflineLogicalMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.dataTransferMediumDetails, other.dataTransferMediumDetails)
+ && java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
+ && java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
+ && java.util.Objects.equals(this.advancedParameters, other.advancedParameters)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.dataTransferMediumDetails == null
+ ? 43
+ : this.dataTransferMediumDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.initialLoadSettings == null
+ ? 43
+ : this.initialLoadSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advisorSettings == null ? 43 : this.advisorSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advancedParameters == null
+ ? 43
+ : this.advancedParameters.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleOnlineLogicalMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleOnlineLogicalMigrationSettings.java
new file mode 100644
index 00000000000..0ad0c9db51b
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleOnlineLogicalMigrationSettings.java
@@ -0,0 +1,329 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Update settings for an online logical Oracle migration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = UpdateOracleOnlineLogicalMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class UpdateOracleOnlineLogicalMigrationSettings
+ extends UpdateOracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private UpdateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public Builder dataTransferMediumDetails(
+ UpdateOracleDataTransferMediumDetails dataTransferMediumDetails) {
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.__explicitlySet__.add("dataTransferMediumDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private UpdateOracleInitialLoadSettings initialLoadSettings;
+
+ public Builder initialLoadSettings(UpdateOracleInitialLoadSettings initialLoadSettings) {
+ this.initialLoadSettings = initialLoadSettings;
+ this.__explicitlySet__.add("initialLoadSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private UpdateOracleAdvisorSettings advisorSettings;
+
+ public Builder advisorSettings(UpdateOracleAdvisorSettings advisorSettings) {
+ this.advisorSettings = advisorSettings;
+ this.__explicitlySet__.add("advisorSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private UpdateGoldenGateHubDetails hubDetails;
+
+ public Builder hubDetails(UpdateGoldenGateHubDetails hubDetails) {
+ this.hubDetails = hubDetails;
+ this.__explicitlySet__.add("hubDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private UpdateOracleGgsDeploymentDetails ggsDetails;
+
+ public Builder ggsDetails(UpdateOracleGgsDeploymentDetails ggsDetails) {
+ this.ggsDetails = ggsDetails;
+ this.__explicitlySet__.add("ggsDetails");
+ return this;
+ }
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @param advancedParameters the value to set
+ * @return this builder
+ */
+ public Builder advancedParameters(
+ java.util.List advancedParameters) {
+ this.advancedParameters = advancedParameters;
+ this.__explicitlySet__.add("advancedParameters");
+ return this;
+ }
+ /** The OCID of the resource being updated. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being updated.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public UpdateOracleOnlineLogicalMigrationSettings build() {
+ UpdateOracleOnlineLogicalMigrationSettings model =
+ new UpdateOracleOnlineLogicalMigrationSettings(
+ this.dataTransferMediumDetails,
+ this.initialLoadSettings,
+ this.advisorSettings,
+ this.hubDetails,
+ this.ggsDetails,
+ this.advancedParameters,
+ this.sourceContainerDatabaseConnectionId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(UpdateOracleOnlineLogicalMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
+ this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
+ }
+ if (model.wasPropertyExplicitlySet("initialLoadSettings")) {
+ this.initialLoadSettings(model.getInitialLoadSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advisorSettings")) {
+ this.advisorSettings(model.getAdvisorSettings());
+ }
+ if (model.wasPropertyExplicitlySet("hubDetails")) {
+ this.hubDetails(model.getHubDetails());
+ }
+ if (model.wasPropertyExplicitlySet("ggsDetails")) {
+ this.ggsDetails(model.getGgsDetails());
+ }
+ if (model.wasPropertyExplicitlySet("advancedParameters")) {
+ this.advancedParameters(model.getAdvancedParameters());
+ }
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public UpdateOracleOnlineLogicalMigrationSettings(
+ UpdateOracleDataTransferMediumDetails dataTransferMediumDetails,
+ UpdateOracleInitialLoadSettings initialLoadSettings,
+ UpdateOracleAdvisorSettings advisorSettings,
+ UpdateGoldenGateHubDetails hubDetails,
+ UpdateOracleGgsDeploymentDetails ggsDetails,
+ java.util.List advancedParameters,
+ String sourceContainerDatabaseConnectionId) {
+ super();
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.initialLoadSettings = initialLoadSettings;
+ this.advisorSettings = advisorSettings;
+ this.hubDetails = hubDetails;
+ this.ggsDetails = ggsDetails;
+ this.advancedParameters = advancedParameters;
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private final UpdateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public UpdateOracleDataTransferMediumDetails getDataTransferMediumDetails() {
+ return dataTransferMediumDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private final UpdateOracleInitialLoadSettings initialLoadSettings;
+
+ public UpdateOracleInitialLoadSettings getInitialLoadSettings() {
+ return initialLoadSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private final UpdateOracleAdvisorSettings advisorSettings;
+
+ public UpdateOracleAdvisorSettings getAdvisorSettings() {
+ return advisorSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private final UpdateGoldenGateHubDetails hubDetails;
+
+ public UpdateGoldenGateHubDetails getHubDetails() {
+ return hubDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private final UpdateOracleGgsDeploymentDetails ggsDetails;
+
+ public UpdateOracleGgsDeploymentDetails getGgsDetails() {
+ return ggsDetails;
+ }
+
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private final java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @return the value
+ */
+ public java.util.List getAdvancedParameters() {
+ return advancedParameters;
+ }
+
+ /** The OCID of the resource being updated. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being updated.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("UpdateOracleOnlineLogicalMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", dataTransferMediumDetails=")
+ .append(String.valueOf(this.dataTransferMediumDetails));
+ sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
+ sb.append(", advisorSettings=").append(String.valueOf(this.advisorSettings));
+ sb.append(", hubDetails=").append(String.valueOf(this.hubDetails));
+ sb.append(", ggsDetails=").append(String.valueOf(this.ggsDetails));
+ sb.append(", advancedParameters=").append(String.valueOf(this.advancedParameters));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof UpdateOracleOnlineLogicalMigrationSettings)) {
+ return false;
+ }
+
+ UpdateOracleOnlineLogicalMigrationSettings other =
+ (UpdateOracleOnlineLogicalMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.dataTransferMediumDetails, other.dataTransferMediumDetails)
+ && java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
+ && java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
+ && java.util.Objects.equals(this.hubDetails, other.hubDetails)
+ && java.util.Objects.equals(this.ggsDetails, other.ggsDetails)
+ && java.util.Objects.equals(this.advancedParameters, other.advancedParameters)
+ && java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.dataTransferMediumDetails == null
+ ? 43
+ : this.dataTransferMediumDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.initialLoadSettings == null
+ ? 43
+ : this.initialLoadSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advisorSettings == null ? 43 : this.advisorSettings.hashCode());
+ result = (result * PRIME) + (this.hubDetails == null ? 43 : this.hubDetails.hashCode());
+ result = (result * PRIME) + (this.ggsDetails == null ? 43 : this.ggsDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advancedParameters == null
+ ? 43
+ : this.advancedParameters.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleOnlineStandbyMigrationSettings.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleOnlineStandbyMigrationSettings.java
new file mode 100644
index 00000000000..3d97b1e8934
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/model/UpdateOracleOnlineStandbyMigrationSettings.java
@@ -0,0 +1,374 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.model;
+
+/**
+ * Update settings for an online standby Oracle migration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = UpdateOracleOnlineStandbyMigrationSettings.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "migrationMethod")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class UpdateOracleOnlineStandbyMigrationSettings
+ extends UpdateOracleMigrationSettings {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private UpdateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public Builder dataTransferMediumDetails(
+ UpdateOracleDataTransferMediumDetails dataTransferMediumDetails) {
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.__explicitlySet__.add("dataTransferMediumDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private UpdateOracleInitialLoadSettings initialLoadSettings;
+
+ public Builder initialLoadSettings(UpdateOracleInitialLoadSettings initialLoadSettings) {
+ this.initialLoadSettings = initialLoadSettings;
+ this.__explicitlySet__.add("initialLoadSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private UpdateOracleAdvisorSettings advisorSettings;
+
+ public Builder advisorSettings(UpdateOracleAdvisorSettings advisorSettings) {
+ this.advisorSettings = advisorSettings;
+ this.__explicitlySet__.add("advisorSettings");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private UpdateGoldenGateHubDetails hubDetails;
+
+ public Builder hubDetails(UpdateGoldenGateHubDetails hubDetails) {
+ this.hubDetails = hubDetails;
+ this.__explicitlySet__.add("hubDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private UpdateOracleGgsDeploymentDetails ggsDetails;
+
+ public Builder ggsDetails(UpdateOracleGgsDeploymentDetails ggsDetails) {
+ this.ggsDetails = ggsDetails;
+ this.__explicitlySet__.add("ggsDetails");
+ return this;
+ }
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @param advancedParameters the value to set
+ * @return this builder
+ */
+ public Builder advancedParameters(
+ java.util.List advancedParameters) {
+ this.advancedParameters = advancedParameters;
+ this.__explicitlySet__.add("advancedParameters");
+ return this;
+ }
+ /** The OCID of the resource being updated. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being updated.
+ *
+ * @param sourceContainerDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceContainerDatabaseConnectionId(
+ String sourceContainerDatabaseConnectionId) {
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceContainerDatabaseConnectionId");
+ return this;
+ }
+ /** The OCID of the resource being updated. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being updated.
+ *
+ * @param sourceStandbyDatabaseConnectionId the value to set
+ * @return this builder
+ */
+ public Builder sourceStandbyDatabaseConnectionId(String sourceStandbyDatabaseConnectionId) {
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ this.__explicitlySet__.add("sourceStandbyDatabaseConnectionId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public UpdateOracleOnlineStandbyMigrationSettings build() {
+ UpdateOracleOnlineStandbyMigrationSettings model =
+ new UpdateOracleOnlineStandbyMigrationSettings(
+ this.dataTransferMediumDetails,
+ this.initialLoadSettings,
+ this.advisorSettings,
+ this.hubDetails,
+ this.ggsDetails,
+ this.advancedParameters,
+ this.sourceContainerDatabaseConnectionId,
+ this.sourceStandbyDatabaseConnectionId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(UpdateOracleOnlineStandbyMigrationSettings model) {
+ if (model.wasPropertyExplicitlySet("dataTransferMediumDetails")) {
+ this.dataTransferMediumDetails(model.getDataTransferMediumDetails());
+ }
+ if (model.wasPropertyExplicitlySet("initialLoadSettings")) {
+ this.initialLoadSettings(model.getInitialLoadSettings());
+ }
+ if (model.wasPropertyExplicitlySet("advisorSettings")) {
+ this.advisorSettings(model.getAdvisorSettings());
+ }
+ if (model.wasPropertyExplicitlySet("hubDetails")) {
+ this.hubDetails(model.getHubDetails());
+ }
+ if (model.wasPropertyExplicitlySet("ggsDetails")) {
+ this.ggsDetails(model.getGgsDetails());
+ }
+ if (model.wasPropertyExplicitlySet("advancedParameters")) {
+ this.advancedParameters(model.getAdvancedParameters());
+ }
+ if (model.wasPropertyExplicitlySet("sourceContainerDatabaseConnectionId")) {
+ this.sourceContainerDatabaseConnectionId(
+ model.getSourceContainerDatabaseConnectionId());
+ }
+ if (model.wasPropertyExplicitlySet("sourceStandbyDatabaseConnectionId")) {
+ this.sourceStandbyDatabaseConnectionId(
+ model.getSourceStandbyDatabaseConnectionId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public UpdateOracleOnlineStandbyMigrationSettings(
+ UpdateOracleDataTransferMediumDetails dataTransferMediumDetails,
+ UpdateOracleInitialLoadSettings initialLoadSettings,
+ UpdateOracleAdvisorSettings advisorSettings,
+ UpdateGoldenGateHubDetails hubDetails,
+ UpdateOracleGgsDeploymentDetails ggsDetails,
+ java.util.List advancedParameters,
+ String sourceContainerDatabaseConnectionId,
+ String sourceStandbyDatabaseConnectionId) {
+ super();
+ this.dataTransferMediumDetails = dataTransferMediumDetails;
+ this.initialLoadSettings = initialLoadSettings;
+ this.advisorSettings = advisorSettings;
+ this.hubDetails = hubDetails;
+ this.ggsDetails = ggsDetails;
+ this.advancedParameters = advancedParameters;
+ this.sourceContainerDatabaseConnectionId = sourceContainerDatabaseConnectionId;
+ this.sourceStandbyDatabaseConnectionId = sourceStandbyDatabaseConnectionId;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("dataTransferMediumDetails")
+ private final UpdateOracleDataTransferMediumDetails dataTransferMediumDetails;
+
+ public UpdateOracleDataTransferMediumDetails getDataTransferMediumDetails() {
+ return dataTransferMediumDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("initialLoadSettings")
+ private final UpdateOracleInitialLoadSettings initialLoadSettings;
+
+ public UpdateOracleInitialLoadSettings getInitialLoadSettings() {
+ return initialLoadSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("advisorSettings")
+ private final UpdateOracleAdvisorSettings advisorSettings;
+
+ public UpdateOracleAdvisorSettings getAdvisorSettings() {
+ return advisorSettings;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("hubDetails")
+ private final UpdateGoldenGateHubDetails hubDetails;
+
+ public UpdateGoldenGateHubDetails getHubDetails() {
+ return hubDetails;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("ggsDetails")
+ private final UpdateOracleGgsDeploymentDetails ggsDetails;
+
+ public UpdateOracleGgsDeploymentDetails getGgsDetails() {
+ return ggsDetails;
+ }
+
+ /** List of Migration Parameter objects. */
+ @com.fasterxml.jackson.annotation.JsonProperty("advancedParameters")
+ private final java.util.List advancedParameters;
+
+ /**
+ * List of Migration Parameter objects.
+ *
+ * @return the value
+ */
+ public java.util.List getAdvancedParameters() {
+ return advancedParameters;
+ }
+
+ /** The OCID of the resource being updated. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceContainerDatabaseConnectionId")
+ private final String sourceContainerDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being updated.
+ *
+ * @return the value
+ */
+ public String getSourceContainerDatabaseConnectionId() {
+ return sourceContainerDatabaseConnectionId;
+ }
+
+ /** The OCID of the resource being updated. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sourceStandbyDatabaseConnectionId")
+ private final String sourceStandbyDatabaseConnectionId;
+
+ /**
+ * The OCID of the resource being updated.
+ *
+ * @return the value
+ */
+ public String getSourceStandbyDatabaseConnectionId() {
+ return sourceStandbyDatabaseConnectionId;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("UpdateOracleOnlineStandbyMigrationSettings(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", dataTransferMediumDetails=")
+ .append(String.valueOf(this.dataTransferMediumDetails));
+ sb.append(", initialLoadSettings=").append(String.valueOf(this.initialLoadSettings));
+ sb.append(", advisorSettings=").append(String.valueOf(this.advisorSettings));
+ sb.append(", hubDetails=").append(String.valueOf(this.hubDetails));
+ sb.append(", ggsDetails=").append(String.valueOf(this.ggsDetails));
+ sb.append(", advancedParameters=").append(String.valueOf(this.advancedParameters));
+ sb.append(", sourceContainerDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceContainerDatabaseConnectionId));
+ sb.append(", sourceStandbyDatabaseConnectionId=")
+ .append(String.valueOf(this.sourceStandbyDatabaseConnectionId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof UpdateOracleOnlineStandbyMigrationSettings)) {
+ return false;
+ }
+
+ UpdateOracleOnlineStandbyMigrationSettings other =
+ (UpdateOracleOnlineStandbyMigrationSettings) o;
+ return java.util.Objects.equals(
+ this.dataTransferMediumDetails, other.dataTransferMediumDetails)
+ && java.util.Objects.equals(this.initialLoadSettings, other.initialLoadSettings)
+ && java.util.Objects.equals(this.advisorSettings, other.advisorSettings)
+ && java.util.Objects.equals(this.hubDetails, other.hubDetails)
+ && java.util.Objects.equals(this.ggsDetails, other.ggsDetails)
+ && java.util.Objects.equals(this.advancedParameters, other.advancedParameters)
+ && java.util.Objects.equals(
+ this.sourceContainerDatabaseConnectionId,
+ other.sourceContainerDatabaseConnectionId)
+ && java.util.Objects.equals(
+ this.sourceStandbyDatabaseConnectionId,
+ other.sourceStandbyDatabaseConnectionId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.dataTransferMediumDetails == null
+ ? 43
+ : this.dataTransferMediumDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.initialLoadSettings == null
+ ? 43
+ : this.initialLoadSettings.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advisorSettings == null ? 43 : this.advisorSettings.hashCode());
+ result = (result * PRIME) + (this.hubDetails == null ? 43 : this.hubDetails.hashCode());
+ result = (result * PRIME) + (this.ggsDetails == null ? 43 : this.ggsDetails.hashCode());
+ result =
+ (result * PRIME)
+ + (this.advancedParameters == null
+ ? 43
+ : this.advancedParameters.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceContainerDatabaseConnectionId == null
+ ? 43
+ : this.sourceContainerDatabaseConnectionId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sourceStandbyDatabaseConnectionId == null
+ ? 43
+ : this.sourceStandbyDatabaseConnectionId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/GetDataVerificationDetailRequest.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/GetDataVerificationDetailRequest.java
new file mode 100644
index 00000000000..9183099aa8b
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/GetDataVerificationDetailRequest.java
@@ -0,0 +1,246 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.requests;
+
+import com.oracle.bmc.databasemigration.model.*;
+/**
+ * Example: Click here to see how to use
+ * GetDataVerificationDetailRequest.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class GetDataVerificationDetailRequest
+ extends com.oracle.bmc.requests.BmcRequest {
+
+ /** The OCID of the migration */
+ private String migrationId;
+
+ /** The OCID of the migration */
+ public String getMigrationId() {
+ return migrationId;
+ }
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ private String ifMatch;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ public String getIfMatch() {
+ return ifMatch;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.requests.BmcRequest.Builder<
+ GetDataVerificationDetailRequest, java.lang.Void> {
+ private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null;
+ private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null;
+
+ /** The OCID of the migration */
+ private String migrationId = null;
+
+ /**
+ * The OCID of the migration
+ *
+ * @param migrationId the value to set
+ * @return this builder instance
+ */
+ public Builder migrationId(String migrationId) {
+ this.migrationId = migrationId;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId = null;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder instance
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ */
+ private String ifMatch = null;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ *
+ * @param ifMatch the value to set
+ * @return this builder instance
+ */
+ public Builder ifMatch(String ifMatch) {
+ this.ifMatch = ifMatch;
+ return this;
+ }
+
+ /**
+ * Set the invocation callback for the request to be built.
+ *
+ * @param invocationCallback the invocation callback to be set for the request
+ * @return this builder instance
+ */
+ public Builder invocationCallback(
+ com.oracle.bmc.http.client.RequestInterceptor invocationCallback) {
+ this.invocationCallback = invocationCallback;
+ return this;
+ }
+
+ /**
+ * Set the retry configuration for the request to be built.
+ *
+ * @param retryConfiguration the retry configuration to be used for the request
+ * @return this builder instance
+ */
+ public Builder retryConfiguration(
+ com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) {
+ this.retryConfiguration = retryConfiguration;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ public Builder copy(GetDataVerificationDetailRequest o) {
+ migrationId(o.getMigrationId());
+ opcRequestId(o.getOpcRequestId());
+ ifMatch(o.getIfMatch());
+ invocationCallback(o.getInvocationCallback());
+ retryConfiguration(o.getRetryConfiguration());
+ return this;
+ }
+
+ /**
+ * Build the instance of GetDataVerificationDetailRequest as configured by this builder
+ *
+ * Note that this method takes calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#buildWithoutInvocationCallback} does not.
+ *
+ *
This is the preferred method to build an instance.
+ *
+ * @return instance of GetDataVerificationDetailRequest
+ */
+ public GetDataVerificationDetailRequest build() {
+ GetDataVerificationDetailRequest request = buildWithoutInvocationCallback();
+ request.setInvocationCallback(invocationCallback);
+ request.setRetryConfiguration(retryConfiguration);
+ return request;
+ }
+
+ /**
+ * Build the instance of GetDataVerificationDetailRequest as configured by this builder
+ *
+ *
Note that this method does not take calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#build} does
+ *
+ * @return instance of GetDataVerificationDetailRequest
+ */
+ public GetDataVerificationDetailRequest buildWithoutInvocationCallback() {
+ GetDataVerificationDetailRequest request = new GetDataVerificationDetailRequest();
+ request.migrationId = migrationId;
+ request.opcRequestId = opcRequestId;
+ request.ifMatch = ifMatch;
+ return request;
+ // new GetDataVerificationDetailRequest(migrationId, opcRequestId, ifMatch);
+ }
+ }
+
+ /**
+ * Return an instance of {@link Builder} that allows you to modify request properties.
+ *
+ * @return instance of {@link Builder} that allows you to modify request properties.
+ */
+ public Builder toBuilder() {
+ return new Builder().migrationId(migrationId).opcRequestId(opcRequestId).ifMatch(ifMatch);
+ }
+
+ /**
+ * Return a new builder for this request object.
+ *
+ * @return builder for the request object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",migrationId=").append(String.valueOf(this.migrationId));
+ sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId));
+ sb.append(",ifMatch=").append(String.valueOf(this.ifMatch));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof GetDataVerificationDetailRequest)) {
+ return false;
+ }
+
+ GetDataVerificationDetailRequest other = (GetDataVerificationDetailRequest) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.migrationId, other.migrationId)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.ifMatch, other.ifMatch);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.migrationId == null ? 43 : this.migrationId.hashCode());
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/ListDataVerificationObjectStatusesRequest.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/ListDataVerificationObjectStatusesRequest.java
new file mode 100644
index 00000000000..32795536ca9
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/ListDataVerificationObjectStatusesRequest.java
@@ -0,0 +1,633 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.requests;
+
+import com.oracle.bmc.databasemigration.model.*;
+/**
+ * Example: Click here to see how to use
+ * ListDataVerificationObjectStatusesRequest.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class ListDataVerificationObjectStatusesRequest
+ extends com.oracle.bmc.requests.BmcRequest {
+
+ /** The OCID of the migration */
+ private String migrationId;
+
+ /** The OCID of the migration */
+ public String getMigrationId() {
+ return migrationId;
+ }
+ /** The ID of the compartment in which to list resources. */
+ private String compartmentId;
+
+ /** The ID of the compartment in which to list resources. */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ private String ifMatch;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ public String getIfMatch() {
+ return ifMatch;
+ }
+ /** A filter to return only resources that match the entire name given. */
+ private String name;
+
+ /** A filter to return only resources that match the entire name given. */
+ public String getName() {
+ return name;
+ }
+ /** A filter to return only results for a specific owner. */
+ private String owner;
+
+ /** A filter to return only results for a specific owner. */
+ public String getOwner() {
+ return owner;
+ }
+ /**
+ * A filter to return only results for a specific object type.
+ *
+ * The allowed values depend on the migration's {@code databaseCombination}: - Oracle
+ * migrations: {@code OracleDatabaseObjectTypes} - MySQL migrations: {@code
+ * MySqlDatabaseObjectTypes}
+ */
+ private String objectType;
+
+ /**
+ * A filter to return only results for a specific object type.
+ *
+ *
The allowed values depend on the migration's {@code databaseCombination}: - Oracle
+ * migrations: {@code OracleDatabaseObjectTypes} - MySQL migrations: {@code
+ * MySqlDatabaseObjectTypes}
+ */
+ public String getObjectType() {
+ return objectType;
+ }
+ /** Free-text filter applied by the service to relevant fields for the report. */
+ private String filter;
+
+ /** Free-text filter applied by the service to relevant fields for the report. */
+ public String getFilter() {
+ return filter;
+ }
+ /**
+ * Match filter for object status results.
+ *
+ *
When {@code true}, returns only rows where source and target match. When {@code false},
+ * returns only rows with mismatches. When omitted, returns all rows, ordered by mismatch first.
+ */
+ private Boolean isMatch;
+
+ /**
+ * Match filter for object status results.
+ *
+ *
When {@code true}, returns only rows where source and target match. When {@code false},
+ * returns only rows with mismatches. When omitted, returns all rows, ordered by mismatch first.
+ */
+ public Boolean getIsMatch() {
+ return isMatch;
+ }
+ /** The maximum number of items to return. */
+ private Integer limit;
+
+ /** The maximum number of items to return. */
+ public Integer getLimit() {
+ return limit;
+ }
+ /**
+ * The page token representing the page at which to start retrieving results. This is usually
+ * retrieved from a previous list call.
+ */
+ private String page;
+
+ /**
+ * The page token representing the page at which to start retrieving results. This is usually
+ * retrieved from a previous list call.
+ */
+ public String getPage() {
+ return page;
+ }
+ /**
+ * The field to sort by. Only one sort order may be provided. By default, non-matching object
+ * statuses are returned first, followed by matching statuses. Rows with the same match result
+ * are then sorted by owner, object type, and object name.
+ */
+ private SortBy sortBy;
+
+ /**
+ * The field to sort by. Only one sort order may be provided. By default, non-matching object
+ * statuses are returned first, followed by matching statuses. Rows with the same match result
+ * are then sorted by owner, object type, and object name.
+ */
+ public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum {
+ IsMatch("isMatch"),
+ Owner("owner"),
+ ObjectType("objectType"),
+ ObjectName("objectName"),
+ ;
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (SortBy v : SortBy.values()) {
+ map.put(v.getValue(), v);
+ }
+ }
+
+ SortBy(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static SortBy create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ throw new IllegalArgumentException("Invalid SortBy: " + key);
+ }
+ };
+
+ /**
+ * The field to sort by. Only one sort order may be provided. By default, non-matching object
+ * statuses are returned first, followed by matching statuses. Rows with the same match result
+ * are then sorted by owner, object type, and object name.
+ */
+ public SortBy getSortBy() {
+ return sortBy;
+ }
+ /** The sort order to use, either 'asc' or 'desc'. */
+ private com.oracle.bmc.databasemigration.model.SortOrders sortOrder;
+
+ /** The sort order to use, either 'asc' or 'desc'. */
+ public com.oracle.bmc.databasemigration.model.SortOrders getSortOrder() {
+ return sortOrder;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.requests.BmcRequest.Builder<
+ ListDataVerificationObjectStatusesRequest, java.lang.Void> {
+ private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null;
+ private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null;
+
+ /** The OCID of the migration */
+ private String migrationId = null;
+
+ /**
+ * The OCID of the migration
+ *
+ * @param migrationId the value to set
+ * @return this builder instance
+ */
+ public Builder migrationId(String migrationId) {
+ this.migrationId = migrationId;
+ return this;
+ }
+
+ /** The ID of the compartment in which to list resources. */
+ private String compartmentId = null;
+
+ /**
+ * The ID of the compartment in which to list resources.
+ *
+ * @param compartmentId the value to set
+ * @return this builder instance
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId = null;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder instance
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ */
+ private String ifMatch = null;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ *
+ * @param ifMatch the value to set
+ * @return this builder instance
+ */
+ public Builder ifMatch(String ifMatch) {
+ this.ifMatch = ifMatch;
+ return this;
+ }
+
+ /** A filter to return only resources that match the entire name given. */
+ private String name = null;
+
+ /**
+ * A filter to return only resources that match the entire name given.
+ *
+ * @param name the value to set
+ * @return this builder instance
+ */
+ public Builder name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /** A filter to return only results for a specific owner. */
+ private String owner = null;
+
+ /**
+ * A filter to return only results for a specific owner.
+ *
+ * @param owner the value to set
+ * @return this builder instance
+ */
+ public Builder owner(String owner) {
+ this.owner = owner;
+ return this;
+ }
+
+ /**
+ * A filter to return only results for a specific object type.
+ *
+ * The allowed values depend on the migration's {@code databaseCombination}: - Oracle
+ * migrations: {@code OracleDatabaseObjectTypes} - MySQL migrations: {@code
+ * MySqlDatabaseObjectTypes}
+ */
+ private String objectType = null;
+
+ /**
+ * A filter to return only results for a specific object type.
+ *
+ *
The allowed values depend on the migration's {@code databaseCombination}: - Oracle
+ * migrations: {@code OracleDatabaseObjectTypes} - MySQL migrations: {@code
+ * MySqlDatabaseObjectTypes}
+ *
+ * @param objectType the value to set
+ * @return this builder instance
+ */
+ public Builder objectType(String objectType) {
+ this.objectType = objectType;
+ return this;
+ }
+
+ /** Free-text filter applied by the service to relevant fields for the report. */
+ private String filter = null;
+
+ /**
+ * Free-text filter applied by the service to relevant fields for the report.
+ *
+ * @param filter the value to set
+ * @return this builder instance
+ */
+ public Builder filter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ /**
+ * Match filter for object status results.
+ *
+ *
When {@code true}, returns only rows where source and target match. When {@code
+ * false}, returns only rows with mismatches. When omitted, returns all rows, ordered by
+ * mismatch first.
+ */
+ private Boolean isMatch = null;
+
+ /**
+ * Match filter for object status results.
+ *
+ *
When {@code true}, returns only rows where source and target match. When {@code
+ * false}, returns only rows with mismatches. When omitted, returns all rows, ordered by
+ * mismatch first.
+ *
+ * @param isMatch the value to set
+ * @return this builder instance
+ */
+ public Builder isMatch(Boolean isMatch) {
+ this.isMatch = isMatch;
+ return this;
+ }
+
+ /** The maximum number of items to return. */
+ private Integer limit = null;
+
+ /**
+ * The maximum number of items to return.
+ *
+ * @param limit the value to set
+ * @return this builder instance
+ */
+ public Builder limit(Integer limit) {
+ this.limit = limit;
+ return this;
+ }
+
+ /**
+ * The page token representing the page at which to start retrieving results. This is
+ * usually retrieved from a previous list call.
+ */
+ private String page = null;
+
+ /**
+ * The page token representing the page at which to start retrieving results. This is
+ * usually retrieved from a previous list call.
+ *
+ * @param page the value to set
+ * @return this builder instance
+ */
+ public Builder page(String page) {
+ this.page = page;
+ return this;
+ }
+
+ /**
+ * The field to sort by. Only one sort order may be provided. By default, non-matching
+ * object statuses are returned first, followed by matching statuses. Rows with the same
+ * match result are then sorted by owner, object type, and object name.
+ */
+ private SortBy sortBy = null;
+
+ /**
+ * The field to sort by. Only one sort order may be provided. By default, non-matching
+ * object statuses are returned first, followed by matching statuses. Rows with the same
+ * match result are then sorted by owner, object type, and object name.
+ *
+ * @param sortBy the value to set
+ * @return this builder instance
+ */
+ public Builder sortBy(SortBy sortBy) {
+ this.sortBy = sortBy;
+ return this;
+ }
+
+ /** The sort order to use, either 'asc' or 'desc'. */
+ private com.oracle.bmc.databasemigration.model.SortOrders sortOrder = null;
+
+ /**
+ * The sort order to use, either 'asc' or 'desc'.
+ *
+ * @param sortOrder the value to set
+ * @return this builder instance
+ */
+ public Builder sortOrder(com.oracle.bmc.databasemigration.model.SortOrders sortOrder) {
+ this.sortOrder = sortOrder;
+ return this;
+ }
+
+ /**
+ * Set the invocation callback for the request to be built.
+ *
+ * @param invocationCallback the invocation callback to be set for the request
+ * @return this builder instance
+ */
+ public Builder invocationCallback(
+ com.oracle.bmc.http.client.RequestInterceptor invocationCallback) {
+ this.invocationCallback = invocationCallback;
+ return this;
+ }
+
+ /**
+ * Set the retry configuration for the request to be built.
+ *
+ * @param retryConfiguration the retry configuration to be used for the request
+ * @return this builder instance
+ */
+ public Builder retryConfiguration(
+ com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) {
+ this.retryConfiguration = retryConfiguration;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ public Builder copy(ListDataVerificationObjectStatusesRequest o) {
+ migrationId(o.getMigrationId());
+ compartmentId(o.getCompartmentId());
+ opcRequestId(o.getOpcRequestId());
+ ifMatch(o.getIfMatch());
+ name(o.getName());
+ owner(o.getOwner());
+ objectType(o.getObjectType());
+ filter(o.getFilter());
+ isMatch(o.getIsMatch());
+ limit(o.getLimit());
+ page(o.getPage());
+ sortBy(o.getSortBy());
+ sortOrder(o.getSortOrder());
+ invocationCallback(o.getInvocationCallback());
+ retryConfiguration(o.getRetryConfiguration());
+ return this;
+ }
+
+ /**
+ * Build the instance of ListDataVerificationObjectStatusesRequest as configured by this
+ * builder
+ *
+ *
Note that this method takes calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#buildWithoutInvocationCallback} does not.
+ *
+ *
This is the preferred method to build an instance.
+ *
+ * @return instance of ListDataVerificationObjectStatusesRequest
+ */
+ public ListDataVerificationObjectStatusesRequest build() {
+ ListDataVerificationObjectStatusesRequest request = buildWithoutInvocationCallback();
+ request.setInvocationCallback(invocationCallback);
+ request.setRetryConfiguration(retryConfiguration);
+ return request;
+ }
+
+ /**
+ * Build the instance of ListDataVerificationObjectStatusesRequest as configured by this
+ * builder
+ *
+ *
Note that this method does not take calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#build} does
+ *
+ * @return instance of ListDataVerificationObjectStatusesRequest
+ */
+ public ListDataVerificationObjectStatusesRequest buildWithoutInvocationCallback() {
+ ListDataVerificationObjectStatusesRequest request =
+ new ListDataVerificationObjectStatusesRequest();
+ request.migrationId = migrationId;
+ request.compartmentId = compartmentId;
+ request.opcRequestId = opcRequestId;
+ request.ifMatch = ifMatch;
+ request.name = name;
+ request.owner = owner;
+ request.objectType = objectType;
+ request.filter = filter;
+ request.isMatch = isMatch;
+ request.limit = limit;
+ request.page = page;
+ request.sortBy = sortBy;
+ request.sortOrder = sortOrder;
+ return request;
+ // new ListDataVerificationObjectStatusesRequest(migrationId, compartmentId,
+ // opcRequestId, ifMatch, name, owner, objectType, filter, isMatch, limit, page, sortBy,
+ // sortOrder);
+ }
+ }
+
+ /**
+ * Return an instance of {@link Builder} that allows you to modify request properties.
+ *
+ * @return instance of {@link Builder} that allows you to modify request properties.
+ */
+ public Builder toBuilder() {
+ return new Builder()
+ .migrationId(migrationId)
+ .compartmentId(compartmentId)
+ .opcRequestId(opcRequestId)
+ .ifMatch(ifMatch)
+ .name(name)
+ .owner(owner)
+ .objectType(objectType)
+ .filter(filter)
+ .isMatch(isMatch)
+ .limit(limit)
+ .page(page)
+ .sortBy(sortBy)
+ .sortOrder(sortOrder);
+ }
+
+ /**
+ * Return a new builder for this request object.
+ *
+ * @return builder for the request object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",migrationId=").append(String.valueOf(this.migrationId));
+ sb.append(",compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId));
+ sb.append(",ifMatch=").append(String.valueOf(this.ifMatch));
+ sb.append(",name=").append(String.valueOf(this.name));
+ sb.append(",owner=").append(String.valueOf(this.owner));
+ sb.append(",objectType=").append(String.valueOf(this.objectType));
+ sb.append(",filter=").append(String.valueOf(this.filter));
+ sb.append(",isMatch=").append(String.valueOf(this.isMatch));
+ sb.append(",limit=").append(String.valueOf(this.limit));
+ sb.append(",page=").append(String.valueOf(this.page));
+ sb.append(",sortBy=").append(String.valueOf(this.sortBy));
+ sb.append(",sortOrder=").append(String.valueOf(this.sortOrder));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ListDataVerificationObjectStatusesRequest)) {
+ return false;
+ }
+
+ ListDataVerificationObjectStatusesRequest other =
+ (ListDataVerificationObjectStatusesRequest) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.migrationId, other.migrationId)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.ifMatch, other.ifMatch)
+ && java.util.Objects.equals(this.name, other.name)
+ && java.util.Objects.equals(this.owner, other.owner)
+ && java.util.Objects.equals(this.objectType, other.objectType)
+ && java.util.Objects.equals(this.filter, other.filter)
+ && java.util.Objects.equals(this.isMatch, other.isMatch)
+ && java.util.Objects.equals(this.limit, other.limit)
+ && java.util.Objects.equals(this.page, other.page)
+ && java.util.Objects.equals(this.sortBy, other.sortBy)
+ && java.util.Objects.equals(this.sortOrder, other.sortOrder);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.migrationId == null ? 43 : this.migrationId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode());
+ result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode());
+ result = (result * PRIME) + (this.owner == null ? 43 : this.owner.hashCode());
+ result = (result * PRIME) + (this.objectType == null ? 43 : this.objectType.hashCode());
+ result = (result * PRIME) + (this.filter == null ? 43 : this.filter.hashCode());
+ result = (result * PRIME) + (this.isMatch == null ? 43 : this.isMatch.hashCode());
+ result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode());
+ result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode());
+ result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode());
+ result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/ListDataVerificationObjectTypeCountsRequest.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/ListDataVerificationObjectTypeCountsRequest.java
new file mode 100644
index 00000000000..a895e1641fb
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/ListDataVerificationObjectTypeCountsRequest.java
@@ -0,0 +1,610 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.requests;
+
+import com.oracle.bmc.databasemigration.model.*;
+/**
+ * Example: Click here to see how to use
+ * ListDataVerificationObjectTypeCountsRequest.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class ListDataVerificationObjectTypeCountsRequest
+ extends com.oracle.bmc.requests.BmcRequest {
+
+ /** The OCID of the migration */
+ private String migrationId;
+
+ /** The OCID of the migration */
+ public String getMigrationId() {
+ return migrationId;
+ }
+ /** The ID of the compartment in which to list resources. */
+ private String compartmentId;
+
+ /** The ID of the compartment in which to list resources. */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ private String ifMatch;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ public String getIfMatch() {
+ return ifMatch;
+ }
+ /** A filter to return only results for a specific schema/owner. */
+ private String schemaName;
+
+ /** A filter to return only results for a specific schema/owner. */
+ public String getSchemaName() {
+ return schemaName;
+ }
+ /**
+ * A filter to return only results for a specific object type.
+ *
+ * The allowed values depend on the migration's {@code databaseCombination}: - Oracle
+ * migrations: {@code OracleDatabaseObjectTypes} - MySQL migrations: {@code
+ * MySqlDatabaseObjectTypes}
+ */
+ private String objectType;
+
+ /**
+ * A filter to return only results for a specific object type.
+ *
+ *
The allowed values depend on the migration's {@code databaseCombination}: - Oracle
+ * migrations: {@code OracleDatabaseObjectTypes} - MySQL migrations: {@code
+ * MySqlDatabaseObjectTypes}
+ */
+ public String getObjectType() {
+ return objectType;
+ }
+ /** Free-text filter applied by the service to relevant fields for the report. */
+ private String filter;
+
+ /** Free-text filter applied by the service to relevant fields for the report. */
+ public String getFilter() {
+ return filter;
+ }
+ /**
+ * Minimum absolute deltaPercent threshold (magnitude) to return. The service filters results
+ * where {@code abs(deltaPercent) >= minAbsDeltaPercent}. Must be non-negative.
+ *
+ *
Note: This filter applies to the object type counts report, which uses {@code
+ * deltaPercent}. Table row count reports use {@code variancePercent} instead.
+ */
+ private Double minAbsDeltaPercent;
+
+ /**
+ * Minimum absolute deltaPercent threshold (magnitude) to return. The service filters results
+ * where {@code abs(deltaPercent) >= minAbsDeltaPercent}. Must be non-negative.
+ *
+ *
Note: This filter applies to the object type counts report, which uses {@code
+ * deltaPercent}. Table row count reports use {@code variancePercent} instead.
+ */
+ public Double getMinAbsDeltaPercent() {
+ return minAbsDeltaPercent;
+ }
+ /** The maximum number of items to return. */
+ private Integer limit;
+
+ /** The maximum number of items to return. */
+ public Integer getLimit() {
+ return limit;
+ }
+ /**
+ * The page token representing the page at which to start retrieving results. This is usually
+ * retrieved from a previous list call.
+ */
+ private String page;
+
+ /**
+ * The page token representing the page at which to start retrieving results. This is usually
+ * retrieved from a previous list call.
+ */
+ public String getPage() {
+ return page;
+ }
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for deltaPercent is
+ * descending.
+ */
+ private SortBy sortBy;
+
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for deltaPercent is
+ * descending.
+ */
+ public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum {
+ DeltaPercent("deltaPercent"),
+ SchemaName("schemaName"),
+ ObjectType("objectType"),
+ SourceObjectCount("sourceObjectCount"),
+ TargetObjectCount("targetObjectCount"),
+ SourceInvalidCount("sourceInvalidCount"),
+ TargetInvalidCount("targetInvalidCount"),
+ ;
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (SortBy v : SortBy.values()) {
+ map.put(v.getValue(), v);
+ }
+ }
+
+ SortBy(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static SortBy create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ throw new IllegalArgumentException("Invalid SortBy: " + key);
+ }
+ };
+
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for deltaPercent is
+ * descending.
+ */
+ public SortBy getSortBy() {
+ return sortBy;
+ }
+ /** The sort order to use, either 'asc' or 'desc'. */
+ private com.oracle.bmc.databasemigration.model.SortOrders sortOrder;
+
+ /** The sort order to use, either 'asc' or 'desc'. */
+ public com.oracle.bmc.databasemigration.model.SortOrders getSortOrder() {
+ return sortOrder;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.requests.BmcRequest.Builder<
+ ListDataVerificationObjectTypeCountsRequest, java.lang.Void> {
+ private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null;
+ private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null;
+
+ /** The OCID of the migration */
+ private String migrationId = null;
+
+ /**
+ * The OCID of the migration
+ *
+ * @param migrationId the value to set
+ * @return this builder instance
+ */
+ public Builder migrationId(String migrationId) {
+ this.migrationId = migrationId;
+ return this;
+ }
+
+ /** The ID of the compartment in which to list resources. */
+ private String compartmentId = null;
+
+ /**
+ * The ID of the compartment in which to list resources.
+ *
+ * @param compartmentId the value to set
+ * @return this builder instance
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId = null;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder instance
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ */
+ private String ifMatch = null;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ *
+ * @param ifMatch the value to set
+ * @return this builder instance
+ */
+ public Builder ifMatch(String ifMatch) {
+ this.ifMatch = ifMatch;
+ return this;
+ }
+
+ /** A filter to return only results for a specific schema/owner. */
+ private String schemaName = null;
+
+ /**
+ * A filter to return only results for a specific schema/owner.
+ *
+ * @param schemaName the value to set
+ * @return this builder instance
+ */
+ public Builder schemaName(String schemaName) {
+ this.schemaName = schemaName;
+ return this;
+ }
+
+ /**
+ * A filter to return only results for a specific object type.
+ *
+ * The allowed values depend on the migration's {@code databaseCombination}: - Oracle
+ * migrations: {@code OracleDatabaseObjectTypes} - MySQL migrations: {@code
+ * MySqlDatabaseObjectTypes}
+ */
+ private String objectType = null;
+
+ /**
+ * A filter to return only results for a specific object type.
+ *
+ *
The allowed values depend on the migration's {@code databaseCombination}: - Oracle
+ * migrations: {@code OracleDatabaseObjectTypes} - MySQL migrations: {@code
+ * MySqlDatabaseObjectTypes}
+ *
+ * @param objectType the value to set
+ * @return this builder instance
+ */
+ public Builder objectType(String objectType) {
+ this.objectType = objectType;
+ return this;
+ }
+
+ /** Free-text filter applied by the service to relevant fields for the report. */
+ private String filter = null;
+
+ /**
+ * Free-text filter applied by the service to relevant fields for the report.
+ *
+ * @param filter the value to set
+ * @return this builder instance
+ */
+ public Builder filter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ /**
+ * Minimum absolute deltaPercent threshold (magnitude) to return. The service filters
+ * results where {@code abs(deltaPercent) >= minAbsDeltaPercent}. Must be non-negative.
+ *
+ *
Note: This filter applies to the object type counts report, which uses {@code
+ * deltaPercent}. Table row count reports use {@code variancePercent} instead.
+ */
+ private Double minAbsDeltaPercent = null;
+
+ /**
+ * Minimum absolute deltaPercent threshold (magnitude) to return. The service filters
+ * results where {@code abs(deltaPercent) >= minAbsDeltaPercent}. Must be non-negative.
+ *
+ *
Note: This filter applies to the object type counts report, which uses {@code
+ * deltaPercent}. Table row count reports use {@code variancePercent} instead.
+ *
+ * @param minAbsDeltaPercent the value to set
+ * @return this builder instance
+ */
+ public Builder minAbsDeltaPercent(Double minAbsDeltaPercent) {
+ this.minAbsDeltaPercent = minAbsDeltaPercent;
+ return this;
+ }
+
+ /** The maximum number of items to return. */
+ private Integer limit = null;
+
+ /**
+ * The maximum number of items to return.
+ *
+ * @param limit the value to set
+ * @return this builder instance
+ */
+ public Builder limit(Integer limit) {
+ this.limit = limit;
+ return this;
+ }
+
+ /**
+ * The page token representing the page at which to start retrieving results. This is
+ * usually retrieved from a previous list call.
+ */
+ private String page = null;
+
+ /**
+ * The page token representing the page at which to start retrieving results. This is
+ * usually retrieved from a previous list call.
+ *
+ * @param page the value to set
+ * @return this builder instance
+ */
+ public Builder page(String page) {
+ this.page = page;
+ return this;
+ }
+
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for deltaPercent
+ * is descending.
+ */
+ private SortBy sortBy = null;
+
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for deltaPercent
+ * is descending.
+ *
+ * @param sortBy the value to set
+ * @return this builder instance
+ */
+ public Builder sortBy(SortBy sortBy) {
+ this.sortBy = sortBy;
+ return this;
+ }
+
+ /** The sort order to use, either 'asc' or 'desc'. */
+ private com.oracle.bmc.databasemigration.model.SortOrders sortOrder = null;
+
+ /**
+ * The sort order to use, either 'asc' or 'desc'.
+ *
+ * @param sortOrder the value to set
+ * @return this builder instance
+ */
+ public Builder sortOrder(com.oracle.bmc.databasemigration.model.SortOrders sortOrder) {
+ this.sortOrder = sortOrder;
+ return this;
+ }
+
+ /**
+ * Set the invocation callback for the request to be built.
+ *
+ * @param invocationCallback the invocation callback to be set for the request
+ * @return this builder instance
+ */
+ public Builder invocationCallback(
+ com.oracle.bmc.http.client.RequestInterceptor invocationCallback) {
+ this.invocationCallback = invocationCallback;
+ return this;
+ }
+
+ /**
+ * Set the retry configuration for the request to be built.
+ *
+ * @param retryConfiguration the retry configuration to be used for the request
+ * @return this builder instance
+ */
+ public Builder retryConfiguration(
+ com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) {
+ this.retryConfiguration = retryConfiguration;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ public Builder copy(ListDataVerificationObjectTypeCountsRequest o) {
+ migrationId(o.getMigrationId());
+ compartmentId(o.getCompartmentId());
+ opcRequestId(o.getOpcRequestId());
+ ifMatch(o.getIfMatch());
+ schemaName(o.getSchemaName());
+ objectType(o.getObjectType());
+ filter(o.getFilter());
+ minAbsDeltaPercent(o.getMinAbsDeltaPercent());
+ limit(o.getLimit());
+ page(o.getPage());
+ sortBy(o.getSortBy());
+ sortOrder(o.getSortOrder());
+ invocationCallback(o.getInvocationCallback());
+ retryConfiguration(o.getRetryConfiguration());
+ return this;
+ }
+
+ /**
+ * Build the instance of ListDataVerificationObjectTypeCountsRequest as configured by this
+ * builder
+ *
+ *
Note that this method takes calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#buildWithoutInvocationCallback} does not.
+ *
+ *
This is the preferred method to build an instance.
+ *
+ * @return instance of ListDataVerificationObjectTypeCountsRequest
+ */
+ public ListDataVerificationObjectTypeCountsRequest build() {
+ ListDataVerificationObjectTypeCountsRequest request = buildWithoutInvocationCallback();
+ request.setInvocationCallback(invocationCallback);
+ request.setRetryConfiguration(retryConfiguration);
+ return request;
+ }
+
+ /**
+ * Build the instance of ListDataVerificationObjectTypeCountsRequest as configured by this
+ * builder
+ *
+ *
Note that this method does not take calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#build} does
+ *
+ * @return instance of ListDataVerificationObjectTypeCountsRequest
+ */
+ public ListDataVerificationObjectTypeCountsRequest buildWithoutInvocationCallback() {
+ ListDataVerificationObjectTypeCountsRequest request =
+ new ListDataVerificationObjectTypeCountsRequest();
+ request.migrationId = migrationId;
+ request.compartmentId = compartmentId;
+ request.opcRequestId = opcRequestId;
+ request.ifMatch = ifMatch;
+ request.schemaName = schemaName;
+ request.objectType = objectType;
+ request.filter = filter;
+ request.minAbsDeltaPercent = minAbsDeltaPercent;
+ request.limit = limit;
+ request.page = page;
+ request.sortBy = sortBy;
+ request.sortOrder = sortOrder;
+ return request;
+ // new ListDataVerificationObjectTypeCountsRequest(migrationId, compartmentId,
+ // opcRequestId, ifMatch, schemaName, objectType, filter, minAbsDeltaPercent, limit,
+ // page, sortBy, sortOrder);
+ }
+ }
+
+ /**
+ * Return an instance of {@link Builder} that allows you to modify request properties.
+ *
+ * @return instance of {@link Builder} that allows you to modify request properties.
+ */
+ public Builder toBuilder() {
+ return new Builder()
+ .migrationId(migrationId)
+ .compartmentId(compartmentId)
+ .opcRequestId(opcRequestId)
+ .ifMatch(ifMatch)
+ .schemaName(schemaName)
+ .objectType(objectType)
+ .filter(filter)
+ .minAbsDeltaPercent(minAbsDeltaPercent)
+ .limit(limit)
+ .page(page)
+ .sortBy(sortBy)
+ .sortOrder(sortOrder);
+ }
+
+ /**
+ * Return a new builder for this request object.
+ *
+ * @return builder for the request object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",migrationId=").append(String.valueOf(this.migrationId));
+ sb.append(",compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId));
+ sb.append(",ifMatch=").append(String.valueOf(this.ifMatch));
+ sb.append(",schemaName=").append(String.valueOf(this.schemaName));
+ sb.append(",objectType=").append(String.valueOf(this.objectType));
+ sb.append(",filter=").append(String.valueOf(this.filter));
+ sb.append(",minAbsDeltaPercent=").append(String.valueOf(this.minAbsDeltaPercent));
+ sb.append(",limit=").append(String.valueOf(this.limit));
+ sb.append(",page=").append(String.valueOf(this.page));
+ sb.append(",sortBy=").append(String.valueOf(this.sortBy));
+ sb.append(",sortOrder=").append(String.valueOf(this.sortOrder));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ListDataVerificationObjectTypeCountsRequest)) {
+ return false;
+ }
+
+ ListDataVerificationObjectTypeCountsRequest other =
+ (ListDataVerificationObjectTypeCountsRequest) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.migrationId, other.migrationId)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.ifMatch, other.ifMatch)
+ && java.util.Objects.equals(this.schemaName, other.schemaName)
+ && java.util.Objects.equals(this.objectType, other.objectType)
+ && java.util.Objects.equals(this.filter, other.filter)
+ && java.util.Objects.equals(this.minAbsDeltaPercent, other.minAbsDeltaPercent)
+ && java.util.Objects.equals(this.limit, other.limit)
+ && java.util.Objects.equals(this.page, other.page)
+ && java.util.Objects.equals(this.sortBy, other.sortBy)
+ && java.util.Objects.equals(this.sortOrder, other.sortOrder);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.migrationId == null ? 43 : this.migrationId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode());
+ result = (result * PRIME) + (this.schemaName == null ? 43 : this.schemaName.hashCode());
+ result = (result * PRIME) + (this.objectType == null ? 43 : this.objectType.hashCode());
+ result = (result * PRIME) + (this.filter == null ? 43 : this.filter.hashCode());
+ result =
+ (result * PRIME)
+ + (this.minAbsDeltaPercent == null
+ ? 43
+ : this.minAbsDeltaPercent.hashCode());
+ result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode());
+ result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode());
+ result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode());
+ result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/ListDataVerificationTableRowCountsRequest.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/ListDataVerificationTableRowCountsRequest.java
new file mode 100644
index 00000000000..9e59a7a3453
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/ListDataVerificationTableRowCountsRequest.java
@@ -0,0 +1,588 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.requests;
+
+import com.oracle.bmc.databasemigration.model.*;
+/**
+ * Example: Click here to see how to use
+ * ListDataVerificationTableRowCountsRequest.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class ListDataVerificationTableRowCountsRequest
+ extends com.oracle.bmc.requests.BmcRequest {
+
+ /** The OCID of the migration */
+ private String migrationId;
+
+ /** The OCID of the migration */
+ public String getMigrationId() {
+ return migrationId;
+ }
+ /** The ID of the compartment in which to list resources. */
+ private String compartmentId;
+
+ /** The ID of the compartment in which to list resources. */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ private String ifMatch;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ public String getIfMatch() {
+ return ifMatch;
+ }
+ /** A filter to return only results for a specific owner. */
+ private String owner;
+
+ /** A filter to return only results for a specific owner. */
+ public String getOwner() {
+ return owner;
+ }
+ /** A filter to return only results for a specific table. */
+ private String tableName;
+
+ /** A filter to return only results for a specific table. */
+ public String getTableName() {
+ return tableName;
+ }
+ /** Free-text filter applied by the service to relevant fields for the report. */
+ private String filter;
+
+ /** Free-text filter applied by the service to relevant fields for the report. */
+ public String getFilter() {
+ return filter;
+ }
+ /**
+ * Minimum absolute deltaPercent threshold (magnitude) to return. The service filters results
+ * where {@code abs(deltaPercent) >= minAbsDeltaPercent}. Must be non-negative.
+ *
+ * Note: This filter applies to the object type counts report, which uses {@code
+ * deltaPercent}. Table row count reports use {@code variancePercent} instead.
+ */
+ private Double minAbsDeltaPercent;
+
+ /**
+ * Minimum absolute deltaPercent threshold (magnitude) to return. The service filters results
+ * where {@code abs(deltaPercent) >= minAbsDeltaPercent}. Must be non-negative.
+ *
+ *
Note: This filter applies to the object type counts report, which uses {@code
+ * deltaPercent}. Table row count reports use {@code variancePercent} instead.
+ */
+ public Double getMinAbsDeltaPercent() {
+ return minAbsDeltaPercent;
+ }
+ /** The maximum number of items to return. */
+ private Integer limit;
+
+ /** The maximum number of items to return. */
+ public Integer getLimit() {
+ return limit;
+ }
+ /**
+ * The page token representing the page at which to start retrieving results. This is usually
+ * retrieved from a previous list call.
+ */
+ private String page;
+
+ /**
+ * The page token representing the page at which to start retrieving results. This is usually
+ * retrieved from a previous list call.
+ */
+ public String getPage() {
+ return page;
+ }
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for variancePercent
+ * is descending.
+ */
+ private SortBy sortBy;
+
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for variancePercent
+ * is descending.
+ */
+ public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum {
+ VariancePercent("variancePercent"),
+ Owner("owner"),
+ TableName("tableName"),
+ TimeLastSourceStatisticsCollection("timeLastSourceStatisticsCollection"),
+ TimeLastTargetStatisticsCollection("timeLastTargetStatisticsCollection"),
+ SourceRowCount("sourceRowCount"),
+ TargetRowCount("targetRowCount"),
+ ;
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (SortBy v : SortBy.values()) {
+ map.put(v.getValue(), v);
+ }
+ }
+
+ SortBy(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static SortBy create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ throw new IllegalArgumentException("Invalid SortBy: " + key);
+ }
+ };
+
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for variancePercent
+ * is descending.
+ */
+ public SortBy getSortBy() {
+ return sortBy;
+ }
+ /** The sort order to use, either 'asc' or 'desc'. */
+ private com.oracle.bmc.databasemigration.model.SortOrders sortOrder;
+
+ /** The sort order to use, either 'asc' or 'desc'. */
+ public com.oracle.bmc.databasemigration.model.SortOrders getSortOrder() {
+ return sortOrder;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.requests.BmcRequest.Builder<
+ ListDataVerificationTableRowCountsRequest, java.lang.Void> {
+ private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null;
+ private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null;
+
+ /** The OCID of the migration */
+ private String migrationId = null;
+
+ /**
+ * The OCID of the migration
+ *
+ * @param migrationId the value to set
+ * @return this builder instance
+ */
+ public Builder migrationId(String migrationId) {
+ this.migrationId = migrationId;
+ return this;
+ }
+
+ /** The ID of the compartment in which to list resources. */
+ private String compartmentId = null;
+
+ /**
+ * The ID of the compartment in which to list resources.
+ *
+ * @param compartmentId the value to set
+ * @return this builder instance
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId = null;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder instance
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ */
+ private String ifMatch = null;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ *
+ * @param ifMatch the value to set
+ * @return this builder instance
+ */
+ public Builder ifMatch(String ifMatch) {
+ this.ifMatch = ifMatch;
+ return this;
+ }
+
+ /** A filter to return only results for a specific owner. */
+ private String owner = null;
+
+ /**
+ * A filter to return only results for a specific owner.
+ *
+ * @param owner the value to set
+ * @return this builder instance
+ */
+ public Builder owner(String owner) {
+ this.owner = owner;
+ return this;
+ }
+
+ /** A filter to return only results for a specific table. */
+ private String tableName = null;
+
+ /**
+ * A filter to return only results for a specific table.
+ *
+ * @param tableName the value to set
+ * @return this builder instance
+ */
+ public Builder tableName(String tableName) {
+ this.tableName = tableName;
+ return this;
+ }
+
+ /** Free-text filter applied by the service to relevant fields for the report. */
+ private String filter = null;
+
+ /**
+ * Free-text filter applied by the service to relevant fields for the report.
+ *
+ * @param filter the value to set
+ * @return this builder instance
+ */
+ public Builder filter(String filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ /**
+ * Minimum absolute deltaPercent threshold (magnitude) to return. The service filters
+ * results where {@code abs(deltaPercent) >= minAbsDeltaPercent}. Must be non-negative.
+ *
+ * Note: This filter applies to the object type counts report, which uses {@code
+ * deltaPercent}. Table row count reports use {@code variancePercent} instead.
+ */
+ private Double minAbsDeltaPercent = null;
+
+ /**
+ * Minimum absolute deltaPercent threshold (magnitude) to return. The service filters
+ * results where {@code abs(deltaPercent) >= minAbsDeltaPercent}. Must be non-negative.
+ *
+ *
Note: This filter applies to the object type counts report, which uses {@code
+ * deltaPercent}. Table row count reports use {@code variancePercent} instead.
+ *
+ * @param minAbsDeltaPercent the value to set
+ * @return this builder instance
+ */
+ public Builder minAbsDeltaPercent(Double minAbsDeltaPercent) {
+ this.minAbsDeltaPercent = minAbsDeltaPercent;
+ return this;
+ }
+
+ /** The maximum number of items to return. */
+ private Integer limit = null;
+
+ /**
+ * The maximum number of items to return.
+ *
+ * @param limit the value to set
+ * @return this builder instance
+ */
+ public Builder limit(Integer limit) {
+ this.limit = limit;
+ return this;
+ }
+
+ /**
+ * The page token representing the page at which to start retrieving results. This is
+ * usually retrieved from a previous list call.
+ */
+ private String page = null;
+
+ /**
+ * The page token representing the page at which to start retrieving results. This is
+ * usually retrieved from a previous list call.
+ *
+ * @param page the value to set
+ * @return this builder instance
+ */
+ public Builder page(String page) {
+ this.page = page;
+ return this;
+ }
+
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for
+ * variancePercent is descending.
+ */
+ private SortBy sortBy = null;
+
+ /**
+ * The field to sort by. Only one sort order may be provided. Default order for
+ * variancePercent is descending.
+ *
+ * @param sortBy the value to set
+ * @return this builder instance
+ */
+ public Builder sortBy(SortBy sortBy) {
+ this.sortBy = sortBy;
+ return this;
+ }
+
+ /** The sort order to use, either 'asc' or 'desc'. */
+ private com.oracle.bmc.databasemigration.model.SortOrders sortOrder = null;
+
+ /**
+ * The sort order to use, either 'asc' or 'desc'.
+ *
+ * @param sortOrder the value to set
+ * @return this builder instance
+ */
+ public Builder sortOrder(com.oracle.bmc.databasemigration.model.SortOrders sortOrder) {
+ this.sortOrder = sortOrder;
+ return this;
+ }
+
+ /**
+ * Set the invocation callback for the request to be built.
+ *
+ * @param invocationCallback the invocation callback to be set for the request
+ * @return this builder instance
+ */
+ public Builder invocationCallback(
+ com.oracle.bmc.http.client.RequestInterceptor invocationCallback) {
+ this.invocationCallback = invocationCallback;
+ return this;
+ }
+
+ /**
+ * Set the retry configuration for the request to be built.
+ *
+ * @param retryConfiguration the retry configuration to be used for the request
+ * @return this builder instance
+ */
+ public Builder retryConfiguration(
+ com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) {
+ this.retryConfiguration = retryConfiguration;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ public Builder copy(ListDataVerificationTableRowCountsRequest o) {
+ migrationId(o.getMigrationId());
+ compartmentId(o.getCompartmentId());
+ opcRequestId(o.getOpcRequestId());
+ ifMatch(o.getIfMatch());
+ owner(o.getOwner());
+ tableName(o.getTableName());
+ filter(o.getFilter());
+ minAbsDeltaPercent(o.getMinAbsDeltaPercent());
+ limit(o.getLimit());
+ page(o.getPage());
+ sortBy(o.getSortBy());
+ sortOrder(o.getSortOrder());
+ invocationCallback(o.getInvocationCallback());
+ retryConfiguration(o.getRetryConfiguration());
+ return this;
+ }
+
+ /**
+ * Build the instance of ListDataVerificationTableRowCountsRequest as configured by this
+ * builder
+ *
+ *
Note that this method takes calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#buildWithoutInvocationCallback} does not.
+ *
+ *
This is the preferred method to build an instance.
+ *
+ * @return instance of ListDataVerificationTableRowCountsRequest
+ */
+ public ListDataVerificationTableRowCountsRequest build() {
+ ListDataVerificationTableRowCountsRequest request = buildWithoutInvocationCallback();
+ request.setInvocationCallback(invocationCallback);
+ request.setRetryConfiguration(retryConfiguration);
+ return request;
+ }
+
+ /**
+ * Build the instance of ListDataVerificationTableRowCountsRequest as configured by this
+ * builder
+ *
+ *
Note that this method does not take calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#build} does
+ *
+ * @return instance of ListDataVerificationTableRowCountsRequest
+ */
+ public ListDataVerificationTableRowCountsRequest buildWithoutInvocationCallback() {
+ ListDataVerificationTableRowCountsRequest request =
+ new ListDataVerificationTableRowCountsRequest();
+ request.migrationId = migrationId;
+ request.compartmentId = compartmentId;
+ request.opcRequestId = opcRequestId;
+ request.ifMatch = ifMatch;
+ request.owner = owner;
+ request.tableName = tableName;
+ request.filter = filter;
+ request.minAbsDeltaPercent = minAbsDeltaPercent;
+ request.limit = limit;
+ request.page = page;
+ request.sortBy = sortBy;
+ request.sortOrder = sortOrder;
+ return request;
+ // new ListDataVerificationTableRowCountsRequest(migrationId, compartmentId,
+ // opcRequestId, ifMatch, owner, tableName, filter, minAbsDeltaPercent, limit, page,
+ // sortBy, sortOrder);
+ }
+ }
+
+ /**
+ * Return an instance of {@link Builder} that allows you to modify request properties.
+ *
+ * @return instance of {@link Builder} that allows you to modify request properties.
+ */
+ public Builder toBuilder() {
+ return new Builder()
+ .migrationId(migrationId)
+ .compartmentId(compartmentId)
+ .opcRequestId(opcRequestId)
+ .ifMatch(ifMatch)
+ .owner(owner)
+ .tableName(tableName)
+ .filter(filter)
+ .minAbsDeltaPercent(minAbsDeltaPercent)
+ .limit(limit)
+ .page(page)
+ .sortBy(sortBy)
+ .sortOrder(sortOrder);
+ }
+
+ /**
+ * Return a new builder for this request object.
+ *
+ * @return builder for the request object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",migrationId=").append(String.valueOf(this.migrationId));
+ sb.append(",compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId));
+ sb.append(",ifMatch=").append(String.valueOf(this.ifMatch));
+ sb.append(",owner=").append(String.valueOf(this.owner));
+ sb.append(",tableName=").append(String.valueOf(this.tableName));
+ sb.append(",filter=").append(String.valueOf(this.filter));
+ sb.append(",minAbsDeltaPercent=").append(String.valueOf(this.minAbsDeltaPercent));
+ sb.append(",limit=").append(String.valueOf(this.limit));
+ sb.append(",page=").append(String.valueOf(this.page));
+ sb.append(",sortBy=").append(String.valueOf(this.sortBy));
+ sb.append(",sortOrder=").append(String.valueOf(this.sortOrder));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ListDataVerificationTableRowCountsRequest)) {
+ return false;
+ }
+
+ ListDataVerificationTableRowCountsRequest other =
+ (ListDataVerificationTableRowCountsRequest) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.migrationId, other.migrationId)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.ifMatch, other.ifMatch)
+ && java.util.Objects.equals(this.owner, other.owner)
+ && java.util.Objects.equals(this.tableName, other.tableName)
+ && java.util.Objects.equals(this.filter, other.filter)
+ && java.util.Objects.equals(this.minAbsDeltaPercent, other.minAbsDeltaPercent)
+ && java.util.Objects.equals(this.limit, other.limit)
+ && java.util.Objects.equals(this.page, other.page)
+ && java.util.Objects.equals(this.sortBy, other.sortBy)
+ && java.util.Objects.equals(this.sortOrder, other.sortOrder);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.migrationId == null ? 43 : this.migrationId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode());
+ result = (result * PRIME) + (this.owner == null ? 43 : this.owner.hashCode());
+ result = (result * PRIME) + (this.tableName == null ? 43 : this.tableName.hashCode());
+ result = (result * PRIME) + (this.filter == null ? 43 : this.filter.hashCode());
+ result =
+ (result * PRIME)
+ + (this.minAbsDeltaPercent == null
+ ? 43
+ : this.minAbsDeltaPercent.hashCode());
+ result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode());
+ result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode());
+ result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode());
+ result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/RunDataVerificationRequest.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/RunDataVerificationRequest.java
new file mode 100644
index 00000000000..2bf3ae8e43f
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/requests/RunDataVerificationRequest.java
@@ -0,0 +1,364 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.requests;
+
+import com.oracle.bmc.databasemigration.model.*;
+/**
+ * Example: Click here to see how to use RunDataVerificationRequest.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class RunDataVerificationRequest
+ extends com.oracle.bmc.requests.BmcRequest<
+ com.oracle.bmc.databasemigration.model.RunDataVerificationDetails> {
+
+ /** The OCID of the migration */
+ private String migrationId;
+
+ /** The OCID of the migration */
+ public String getMigrationId() {
+ return migrationId;
+ }
+ /** Details for running Data Verification. */
+ private com.oracle.bmc.databasemigration.model.RunDataVerificationDetails
+ runDataVerificationDetails;
+
+ /** Details for running Data Verification. */
+ public com.oracle.bmc.databasemigration.model.RunDataVerificationDetails
+ getRunDataVerificationDetails() {
+ return runDataVerificationDetails;
+ }
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ private String ifMatch;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ public String getIfMatch() {
+ return ifMatch;
+ }
+ /**
+ * A token that uniquely identifies a request so it can be retried in case of a timeout or
+ * server error without risk of executing that same action again. Retry tokens expire after 24
+ * hours, but can be invalidated before then due to conflicting operations. For example, if a
+ * resource has been deleted and purged from the system, then a retry of the original creation
+ * request might be rejected.
+ */
+ private String opcRetryToken;
+
+ /**
+ * A token that uniquely identifies a request so it can be retried in case of a timeout or
+ * server error without risk of executing that same action again. Retry tokens expire after 24
+ * hours, but can be invalidated before then due to conflicting operations. For example, if a
+ * resource has been deleted and purged from the system, then a retry of the original creation
+ * request might be rejected.
+ */
+ public String getOpcRetryToken() {
+ return opcRetryToken;
+ }
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+
+ /**
+ * Alternative accessor for the body parameter.
+ *
+ * @return body parameter
+ */
+ @Override
+ @com.oracle.bmc.InternalSdk
+ public com.oracle.bmc.databasemigration.model.RunDataVerificationDetails getBody$() {
+ return runDataVerificationDetails;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.requests.BmcRequest.Builder<
+ RunDataVerificationRequest,
+ com.oracle.bmc.databasemigration.model.RunDataVerificationDetails> {
+ private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null;
+ private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null;
+
+ /** The OCID of the migration */
+ private String migrationId = null;
+
+ /**
+ * The OCID of the migration
+ *
+ * @param migrationId the value to set
+ * @return this builder instance
+ */
+ public Builder migrationId(String migrationId) {
+ this.migrationId = migrationId;
+ return this;
+ }
+
+ /** Details for running Data Verification. */
+ private com.oracle.bmc.databasemigration.model.RunDataVerificationDetails
+ runDataVerificationDetails = null;
+
+ /**
+ * Details for running Data Verification.
+ *
+ * @param runDataVerificationDetails the value to set
+ * @return this builder instance
+ */
+ public Builder runDataVerificationDetails(
+ com.oracle.bmc.databasemigration.model.RunDataVerificationDetails
+ runDataVerificationDetails) {
+ this.runDataVerificationDetails = runDataVerificationDetails;
+ return this;
+ }
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ */
+ private String ifMatch = null;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ *
+ * @param ifMatch the value to set
+ * @return this builder instance
+ */
+ public Builder ifMatch(String ifMatch) {
+ this.ifMatch = ifMatch;
+ return this;
+ }
+
+ /**
+ * A token that uniquely identifies a request so it can be retried in case of a timeout or
+ * server error without risk of executing that same action again. Retry tokens expire after
+ * 24 hours, but can be invalidated before then due to conflicting operations. For example,
+ * if a resource has been deleted and purged from the system, then a retry of the original
+ * creation request might be rejected.
+ */
+ private String opcRetryToken = null;
+
+ /**
+ * A token that uniquely identifies a request so it can be retried in case of a timeout or
+ * server error without risk of executing that same action again. Retry tokens expire after
+ * 24 hours, but can be invalidated before then due to conflicting operations. For example,
+ * if a resource has been deleted and purged from the system, then a retry of the original
+ * creation request might be rejected.
+ *
+ * @param opcRetryToken the value to set
+ * @return this builder instance
+ */
+ public Builder opcRetryToken(String opcRetryToken) {
+ this.opcRetryToken = opcRetryToken;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId = null;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder instance
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * Set the invocation callback for the request to be built.
+ *
+ * @param invocationCallback the invocation callback to be set for the request
+ * @return this builder instance
+ */
+ public Builder invocationCallback(
+ com.oracle.bmc.http.client.RequestInterceptor invocationCallback) {
+ this.invocationCallback = invocationCallback;
+ return this;
+ }
+
+ /**
+ * Set the retry configuration for the request to be built.
+ *
+ * @param retryConfiguration the retry configuration to be used for the request
+ * @return this builder instance
+ */
+ public Builder retryConfiguration(
+ com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) {
+ this.retryConfiguration = retryConfiguration;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ public Builder copy(RunDataVerificationRequest o) {
+ migrationId(o.getMigrationId());
+ runDataVerificationDetails(o.getRunDataVerificationDetails());
+ ifMatch(o.getIfMatch());
+ opcRetryToken(o.getOpcRetryToken());
+ opcRequestId(o.getOpcRequestId());
+ invocationCallback(o.getInvocationCallback());
+ retryConfiguration(o.getRetryConfiguration());
+ return this;
+ }
+
+ /**
+ * Build the instance of RunDataVerificationRequest as configured by this builder
+ *
+ *
Note that this method takes calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#buildWithoutInvocationCallback} does not.
+ *
+ *
This is the preferred method to build an instance.
+ *
+ * @return instance of RunDataVerificationRequest
+ */
+ public RunDataVerificationRequest build() {
+ RunDataVerificationRequest request = buildWithoutInvocationCallback();
+ request.setInvocationCallback(invocationCallback);
+ request.setRetryConfiguration(retryConfiguration);
+ return request;
+ }
+
+ /**
+ * Alternative setter for the body parameter.
+ *
+ * @param body the body parameter
+ * @return this builder instance
+ */
+ @com.oracle.bmc.InternalSdk
+ public Builder body$(
+ com.oracle.bmc.databasemigration.model.RunDataVerificationDetails body) {
+ runDataVerificationDetails(body);
+ return this;
+ }
+
+ /**
+ * Build the instance of RunDataVerificationRequest as configured by this builder
+ *
+ *
Note that this method does not take calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#build} does
+ *
+ * @return instance of RunDataVerificationRequest
+ */
+ public RunDataVerificationRequest buildWithoutInvocationCallback() {
+ RunDataVerificationRequest request = new RunDataVerificationRequest();
+ request.migrationId = migrationId;
+ request.runDataVerificationDetails = runDataVerificationDetails;
+ request.ifMatch = ifMatch;
+ request.opcRetryToken = opcRetryToken;
+ request.opcRequestId = opcRequestId;
+ return request;
+ // new RunDataVerificationRequest(migrationId, runDataVerificationDetails, ifMatch,
+ // opcRetryToken, opcRequestId);
+ }
+ }
+
+ /**
+ * Return an instance of {@link Builder} that allows you to modify request properties.
+ *
+ * @return instance of {@link Builder} that allows you to modify request properties.
+ */
+ public Builder toBuilder() {
+ return new Builder()
+ .migrationId(migrationId)
+ .runDataVerificationDetails(runDataVerificationDetails)
+ .ifMatch(ifMatch)
+ .opcRetryToken(opcRetryToken)
+ .opcRequestId(opcRequestId);
+ }
+
+ /**
+ * Return a new builder for this request object.
+ *
+ * @return builder for the request object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",migrationId=").append(String.valueOf(this.migrationId));
+ sb.append(",runDataVerificationDetails=")
+ .append(String.valueOf(this.runDataVerificationDetails));
+ sb.append(",ifMatch=").append(String.valueOf(this.ifMatch));
+ sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken));
+ sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof RunDataVerificationRequest)) {
+ return false;
+ }
+
+ RunDataVerificationRequest other = (RunDataVerificationRequest) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.migrationId, other.migrationId)
+ && java.util.Objects.equals(
+ this.runDataVerificationDetails, other.runDataVerificationDetails)
+ && java.util.Objects.equals(this.ifMatch, other.ifMatch)
+ && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.migrationId == null ? 43 : this.migrationId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.runDataVerificationDetails == null
+ ? 43
+ : this.runDataVerificationDetails.hashCode());
+ result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode());
+ result =
+ (result * PRIME)
+ + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode());
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/GetDataVerificationDetailResponse.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/GetDataVerificationDetailResponse.java
new file mode 100644
index 00000000000..effff4968d1
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/GetDataVerificationDetailResponse.java
@@ -0,0 +1,218 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.responses;
+
+import com.oracle.bmc.databasemigration.model.*;
+
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class GetDataVerificationDetailResponse extends com.oracle.bmc.responses.BmcResponse {
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @return the value
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+
+ /** For optimistic concurrency control. See {@code if-match}. */
+ private String etag;
+
+ /**
+ * For optimistic concurrency control. See {@code if-match}.
+ *
+ * @return the value
+ */
+ public String getEtag() {
+ return etag;
+ }
+
+ /** The returned {@code DataVerificationDetail} instance. */
+ private com.oracle.bmc.databasemigration.model.DataVerificationDetail dataVerificationDetail;
+
+ /**
+ * The returned {@code DataVerificationDetail} instance.
+ *
+ * @return the value
+ */
+ public com.oracle.bmc.databasemigration.model.DataVerificationDetail
+ getDataVerificationDetail() {
+ return dataVerificationDetail;
+ }
+
+ @java.beans.ConstructorProperties({
+ "__httpStatusCode__",
+ "headers",
+ "opcRequestId",
+ "etag",
+ "dataVerificationDetail"
+ })
+ private GetDataVerificationDetailResponse(
+ int __httpStatusCode__,
+ java.util.Map> headers,
+ String opcRequestId,
+ String etag,
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail dataVerificationDetail) {
+ super(__httpStatusCode__, headers);
+ this.opcRequestId = opcRequestId;
+ this.etag = etag;
+ this.dataVerificationDetail = dataVerificationDetail;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.responses.BmcResponse.Builder<
+ GetDataVerificationDetailResponse> {
+ private int __httpStatusCode__;
+
+ @Override
+ public Builder __httpStatusCode__(int __httpStatusCode__) {
+ this.__httpStatusCode__ = __httpStatusCode__;
+ return this;
+ }
+
+ private java.util.Map> headers;
+
+ @Override
+ public Builder headers(java.util.Map> headers) {
+ this.headers = headers;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /** For optimistic concurrency control. See {@code if-match}. */
+ private String etag;
+
+ /**
+ * For optimistic concurrency control. See {@code if-match}.
+ *
+ * @param etag the value to set
+ * @return this builder
+ */
+ public Builder etag(String etag) {
+ this.etag = etag;
+ return this;
+ }
+
+ /** The returned {@code DataVerificationDetail} instance. */
+ private com.oracle.bmc.databasemigration.model.DataVerificationDetail
+ dataVerificationDetail;
+
+ /**
+ * The returned {@code DataVerificationDetail} instance.
+ *
+ * @param dataVerificationDetail the value to set
+ * @return this builder
+ */
+ public Builder dataVerificationDetail(
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail
+ dataVerificationDetail) {
+ this.dataVerificationDetail = dataVerificationDetail;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ @Override
+ public Builder copy(GetDataVerificationDetailResponse o) {
+ __httpStatusCode__(o.get__httpStatusCode__());
+ headers(o.getHeaders());
+ opcRequestId(o.getOpcRequestId());
+ etag(o.getEtag());
+ dataVerificationDetail(o.getDataVerificationDetail());
+
+ return this;
+ }
+
+ /**
+ * Build the response object.
+ *
+ * @return the response object
+ */
+ @Override
+ public GetDataVerificationDetailResponse build() {
+ return new GetDataVerificationDetailResponse(
+ __httpStatusCode__, headers, opcRequestId, etag, dataVerificationDetail);
+ }
+ }
+
+ /**
+ * Return a new builder for this response object.
+ *
+ * @return builder for the response object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",opcRequestId=").append(String.valueOf(opcRequestId));
+ sb.append(",etag=").append(String.valueOf(etag));
+ sb.append(",dataVerificationDetail=").append(String.valueOf(dataVerificationDetail));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof GetDataVerificationDetailResponse)) {
+ return false;
+ }
+
+ GetDataVerificationDetailResponse other = (GetDataVerificationDetailResponse) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.etag, other.etag)
+ && java.util.Objects.equals(
+ this.dataVerificationDetail, other.dataVerificationDetail);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode());
+ result =
+ (result * PRIME)
+ + (this.dataVerificationDetail == null
+ ? 43
+ : this.dataVerificationDetail.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/ListDataVerificationObjectStatusesResponse.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/ListDataVerificationObjectStatusesResponse.java
new file mode 100644
index 00000000000..9867b78b8b8
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/ListDataVerificationObjectStatusesResponse.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.responses;
+
+import com.oracle.bmc.databasemigration.model.*;
+
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class ListDataVerificationObjectStatusesResponse
+ extends com.oracle.bmc.responses.BmcResponse {
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @return the value
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in the
+ * response, then a partial list might have been returned. Include this value as the {@code
+ * page} parameter for the subsequent GET request to get the next batch of items.
+ */
+ private String opcNextPage;
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in the
+ * response, then a partial list might have been returned. Include this value as the {@code
+ * page} parameter for the subsequent GET request to get the next batch of items.
+ *
+ * @return the value
+ */
+ public String getOpcNextPage() {
+ return opcNextPage;
+ }
+
+ /** The returned {@code DataVerificationObjectStatusCollection} instance. */
+ private com.oracle.bmc.databasemigration.model.DataVerificationObjectStatusCollection
+ dataVerificationObjectStatusCollection;
+
+ /**
+ * The returned {@code DataVerificationObjectStatusCollection} instance.
+ *
+ * @return the value
+ */
+ public com.oracle.bmc.databasemigration.model.DataVerificationObjectStatusCollection
+ getDataVerificationObjectStatusCollection() {
+ return dataVerificationObjectStatusCollection;
+ }
+
+ @java.beans.ConstructorProperties({
+ "__httpStatusCode__",
+ "headers",
+ "opcRequestId",
+ "opcNextPage",
+ "dataVerificationObjectStatusCollection"
+ })
+ private ListDataVerificationObjectStatusesResponse(
+ int __httpStatusCode__,
+ java.util.Map> headers,
+ String opcRequestId,
+ String opcNextPage,
+ com.oracle.bmc.databasemigration.model.DataVerificationObjectStatusCollection
+ dataVerificationObjectStatusCollection) {
+ super(__httpStatusCode__, headers);
+ this.opcRequestId = opcRequestId;
+ this.opcNextPage = opcNextPage;
+ this.dataVerificationObjectStatusCollection = dataVerificationObjectStatusCollection;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.responses.BmcResponse.Builder<
+ ListDataVerificationObjectStatusesResponse> {
+ private int __httpStatusCode__;
+
+ @Override
+ public Builder __httpStatusCode__(int __httpStatusCode__) {
+ this.__httpStatusCode__ = __httpStatusCode__;
+ return this;
+ }
+
+ private java.util.Map> headers;
+
+ @Override
+ public Builder headers(java.util.Map> headers) {
+ this.headers = headers;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in
+ * the response, then a partial list might have been returned. Include this value as the
+ * {@code page} parameter for the subsequent GET request to get the next batch of items.
+ */
+ private String opcNextPage;
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in
+ * the response, then a partial list might have been returned. Include this value as the
+ * {@code page} parameter for the subsequent GET request to get the next batch of items.
+ *
+ * @param opcNextPage the value to set
+ * @return this builder
+ */
+ public Builder opcNextPage(String opcNextPage) {
+ this.opcNextPage = opcNextPage;
+ return this;
+ }
+
+ /** The returned {@code DataVerificationObjectStatusCollection} instance. */
+ private com.oracle.bmc.databasemigration.model.DataVerificationObjectStatusCollection
+ dataVerificationObjectStatusCollection;
+
+ /**
+ * The returned {@code DataVerificationObjectStatusCollection} instance.
+ *
+ * @param dataVerificationObjectStatusCollection the value to set
+ * @return this builder
+ */
+ public Builder dataVerificationObjectStatusCollection(
+ com.oracle.bmc.databasemigration.model.DataVerificationObjectStatusCollection
+ dataVerificationObjectStatusCollection) {
+ this.dataVerificationObjectStatusCollection = dataVerificationObjectStatusCollection;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ @Override
+ public Builder copy(ListDataVerificationObjectStatusesResponse o) {
+ __httpStatusCode__(o.get__httpStatusCode__());
+ headers(o.getHeaders());
+ opcRequestId(o.getOpcRequestId());
+ opcNextPage(o.getOpcNextPage());
+ dataVerificationObjectStatusCollection(o.getDataVerificationObjectStatusCollection());
+
+ return this;
+ }
+
+ /**
+ * Build the response object.
+ *
+ * @return the response object
+ */
+ @Override
+ public ListDataVerificationObjectStatusesResponse build() {
+ return new ListDataVerificationObjectStatusesResponse(
+ __httpStatusCode__,
+ headers,
+ opcRequestId,
+ opcNextPage,
+ dataVerificationObjectStatusCollection);
+ }
+ }
+
+ /**
+ * Return a new builder for this response object.
+ *
+ * @return builder for the response object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",opcRequestId=").append(String.valueOf(opcRequestId));
+ sb.append(",opcNextPage=").append(String.valueOf(opcNextPage));
+ sb.append(",dataVerificationObjectStatusCollection=")
+ .append(String.valueOf(dataVerificationObjectStatusCollection));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ListDataVerificationObjectStatusesResponse)) {
+ return false;
+ }
+
+ ListDataVerificationObjectStatusesResponse other =
+ (ListDataVerificationObjectStatusesResponse) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.opcNextPage, other.opcNextPage)
+ && java.util.Objects.equals(
+ this.dataVerificationObjectStatusCollection,
+ other.dataVerificationObjectStatusCollection);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode());
+ result =
+ (result * PRIME)
+ + (this.dataVerificationObjectStatusCollection == null
+ ? 43
+ : this.dataVerificationObjectStatusCollection.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/ListDataVerificationObjectTypeCountsResponse.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/ListDataVerificationObjectTypeCountsResponse.java
new file mode 100644
index 00000000000..13ee9afda0f
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/ListDataVerificationObjectTypeCountsResponse.java
@@ -0,0 +1,242 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.responses;
+
+import com.oracle.bmc.databasemigration.model.*;
+
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class ListDataVerificationObjectTypeCountsResponse
+ extends com.oracle.bmc.responses.BmcResponse {
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @return the value
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in the
+ * response, then a partial list might have been returned. Include this value as the {@code
+ * page} parameter for the subsequent GET request to get the next batch of items.
+ */
+ private String opcNextPage;
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in the
+ * response, then a partial list might have been returned. Include this value as the {@code
+ * page} parameter for the subsequent GET request to get the next batch of items.
+ *
+ * @return the value
+ */
+ public String getOpcNextPage() {
+ return opcNextPage;
+ }
+
+ /** The returned {@code DataVerificationObjectTypeCountCollection} instance. */
+ private com.oracle.bmc.databasemigration.model.DataVerificationObjectTypeCountCollection
+ dataVerificationObjectTypeCountCollection;
+
+ /**
+ * The returned {@code DataVerificationObjectTypeCountCollection} instance.
+ *
+ * @return the value
+ */
+ public com.oracle.bmc.databasemigration.model.DataVerificationObjectTypeCountCollection
+ getDataVerificationObjectTypeCountCollection() {
+ return dataVerificationObjectTypeCountCollection;
+ }
+
+ @java.beans.ConstructorProperties({
+ "__httpStatusCode__",
+ "headers",
+ "opcRequestId",
+ "opcNextPage",
+ "dataVerificationObjectTypeCountCollection"
+ })
+ private ListDataVerificationObjectTypeCountsResponse(
+ int __httpStatusCode__,
+ java.util.Map> headers,
+ String opcRequestId,
+ String opcNextPage,
+ com.oracle.bmc.databasemigration.model.DataVerificationObjectTypeCountCollection
+ dataVerificationObjectTypeCountCollection) {
+ super(__httpStatusCode__, headers);
+ this.opcRequestId = opcRequestId;
+ this.opcNextPage = opcNextPage;
+ this.dataVerificationObjectTypeCountCollection = dataVerificationObjectTypeCountCollection;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.responses.BmcResponse.Builder<
+ ListDataVerificationObjectTypeCountsResponse> {
+ private int __httpStatusCode__;
+
+ @Override
+ public Builder __httpStatusCode__(int __httpStatusCode__) {
+ this.__httpStatusCode__ = __httpStatusCode__;
+ return this;
+ }
+
+ private java.util.Map> headers;
+
+ @Override
+ public Builder headers(java.util.Map> headers) {
+ this.headers = headers;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in
+ * the response, then a partial list might have been returned. Include this value as the
+ * {@code page} parameter for the subsequent GET request to get the next batch of items.
+ */
+ private String opcNextPage;
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in
+ * the response, then a partial list might have been returned. Include this value as the
+ * {@code page} parameter for the subsequent GET request to get the next batch of items.
+ *
+ * @param opcNextPage the value to set
+ * @return this builder
+ */
+ public Builder opcNextPage(String opcNextPage) {
+ this.opcNextPage = opcNextPage;
+ return this;
+ }
+
+ /** The returned {@code DataVerificationObjectTypeCountCollection} instance. */
+ private com.oracle.bmc.databasemigration.model.DataVerificationObjectTypeCountCollection
+ dataVerificationObjectTypeCountCollection;
+
+ /**
+ * The returned {@code DataVerificationObjectTypeCountCollection} instance.
+ *
+ * @param dataVerificationObjectTypeCountCollection the value to set
+ * @return this builder
+ */
+ public Builder dataVerificationObjectTypeCountCollection(
+ com.oracle.bmc.databasemigration.model.DataVerificationObjectTypeCountCollection
+ dataVerificationObjectTypeCountCollection) {
+ this.dataVerificationObjectTypeCountCollection =
+ dataVerificationObjectTypeCountCollection;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ @Override
+ public Builder copy(ListDataVerificationObjectTypeCountsResponse o) {
+ __httpStatusCode__(o.get__httpStatusCode__());
+ headers(o.getHeaders());
+ opcRequestId(o.getOpcRequestId());
+ opcNextPage(o.getOpcNextPage());
+ dataVerificationObjectTypeCountCollection(
+ o.getDataVerificationObjectTypeCountCollection());
+
+ return this;
+ }
+
+ /**
+ * Build the response object.
+ *
+ * @return the response object
+ */
+ @Override
+ public ListDataVerificationObjectTypeCountsResponse build() {
+ return new ListDataVerificationObjectTypeCountsResponse(
+ __httpStatusCode__,
+ headers,
+ opcRequestId,
+ opcNextPage,
+ dataVerificationObjectTypeCountCollection);
+ }
+ }
+
+ /**
+ * Return a new builder for this response object.
+ *
+ * @return builder for the response object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",opcRequestId=").append(String.valueOf(opcRequestId));
+ sb.append(",opcNextPage=").append(String.valueOf(opcNextPage));
+ sb.append(",dataVerificationObjectTypeCountCollection=")
+ .append(String.valueOf(dataVerificationObjectTypeCountCollection));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ListDataVerificationObjectTypeCountsResponse)) {
+ return false;
+ }
+
+ ListDataVerificationObjectTypeCountsResponse other =
+ (ListDataVerificationObjectTypeCountsResponse) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.opcNextPage, other.opcNextPage)
+ && java.util.Objects.equals(
+ this.dataVerificationObjectTypeCountCollection,
+ other.dataVerificationObjectTypeCountCollection);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode());
+ result =
+ (result * PRIME)
+ + (this.dataVerificationObjectTypeCountCollection == null
+ ? 43
+ : this.dataVerificationObjectTypeCountCollection.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/ListDataVerificationTableRowCountsResponse.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/ListDataVerificationTableRowCountsResponse.java
new file mode 100644
index 00000000000..b0a7449be43
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/ListDataVerificationTableRowCountsResponse.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.responses;
+
+import com.oracle.bmc.databasemigration.model.*;
+
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class ListDataVerificationTableRowCountsResponse
+ extends com.oracle.bmc.responses.BmcResponse {
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @return the value
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in the
+ * response, then a partial list might have been returned. Include this value as the {@code
+ * page} parameter for the subsequent GET request to get the next batch of items.
+ */
+ private String opcNextPage;
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in the
+ * response, then a partial list might have been returned. Include this value as the {@code
+ * page} parameter for the subsequent GET request to get the next batch of items.
+ *
+ * @return the value
+ */
+ public String getOpcNextPage() {
+ return opcNextPage;
+ }
+
+ /** The returned {@code DataVerificationTableRowCountCollection} instance. */
+ private com.oracle.bmc.databasemigration.model.DataVerificationTableRowCountCollection
+ dataVerificationTableRowCountCollection;
+
+ /**
+ * The returned {@code DataVerificationTableRowCountCollection} instance.
+ *
+ * @return the value
+ */
+ public com.oracle.bmc.databasemigration.model.DataVerificationTableRowCountCollection
+ getDataVerificationTableRowCountCollection() {
+ return dataVerificationTableRowCountCollection;
+ }
+
+ @java.beans.ConstructorProperties({
+ "__httpStatusCode__",
+ "headers",
+ "opcRequestId",
+ "opcNextPage",
+ "dataVerificationTableRowCountCollection"
+ })
+ private ListDataVerificationTableRowCountsResponse(
+ int __httpStatusCode__,
+ java.util.Map> headers,
+ String opcRequestId,
+ String opcNextPage,
+ com.oracle.bmc.databasemigration.model.DataVerificationTableRowCountCollection
+ dataVerificationTableRowCountCollection) {
+ super(__httpStatusCode__, headers);
+ this.opcRequestId = opcRequestId;
+ this.opcNextPage = opcNextPage;
+ this.dataVerificationTableRowCountCollection = dataVerificationTableRowCountCollection;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.responses.BmcResponse.Builder<
+ ListDataVerificationTableRowCountsResponse> {
+ private int __httpStatusCode__;
+
+ @Override
+ public Builder __httpStatusCode__(int __httpStatusCode__) {
+ this.__httpStatusCode__ = __httpStatusCode__;
+ return this;
+ }
+
+ private java.util.Map> headers;
+
+ @Override
+ public Builder headers(java.util.Map> headers) {
+ this.headers = headers;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in
+ * the response, then a partial list might have been returned. Include this value as the
+ * {@code page} parameter for the subsequent GET request to get the next batch of items.
+ */
+ private String opcNextPage;
+
+ /**
+ * For pagination of a list of items. When paging through a list, if this header appears in
+ * the response, then a partial list might have been returned. Include this value as the
+ * {@code page} parameter for the subsequent GET request to get the next batch of items.
+ *
+ * @param opcNextPage the value to set
+ * @return this builder
+ */
+ public Builder opcNextPage(String opcNextPage) {
+ this.opcNextPage = opcNextPage;
+ return this;
+ }
+
+ /** The returned {@code DataVerificationTableRowCountCollection} instance. */
+ private com.oracle.bmc.databasemigration.model.DataVerificationTableRowCountCollection
+ dataVerificationTableRowCountCollection;
+
+ /**
+ * The returned {@code DataVerificationTableRowCountCollection} instance.
+ *
+ * @param dataVerificationTableRowCountCollection the value to set
+ * @return this builder
+ */
+ public Builder dataVerificationTableRowCountCollection(
+ com.oracle.bmc.databasemigration.model.DataVerificationTableRowCountCollection
+ dataVerificationTableRowCountCollection) {
+ this.dataVerificationTableRowCountCollection = dataVerificationTableRowCountCollection;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ @Override
+ public Builder copy(ListDataVerificationTableRowCountsResponse o) {
+ __httpStatusCode__(o.get__httpStatusCode__());
+ headers(o.getHeaders());
+ opcRequestId(o.getOpcRequestId());
+ opcNextPage(o.getOpcNextPage());
+ dataVerificationTableRowCountCollection(o.getDataVerificationTableRowCountCollection());
+
+ return this;
+ }
+
+ /**
+ * Build the response object.
+ *
+ * @return the response object
+ */
+ @Override
+ public ListDataVerificationTableRowCountsResponse build() {
+ return new ListDataVerificationTableRowCountsResponse(
+ __httpStatusCode__,
+ headers,
+ opcRequestId,
+ opcNextPage,
+ dataVerificationTableRowCountCollection);
+ }
+ }
+
+ /**
+ * Return a new builder for this response object.
+ *
+ * @return builder for the response object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",opcRequestId=").append(String.valueOf(opcRequestId));
+ sb.append(",opcNextPage=").append(String.valueOf(opcNextPage));
+ sb.append(",dataVerificationTableRowCountCollection=")
+ .append(String.valueOf(dataVerificationTableRowCountCollection));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ListDataVerificationTableRowCountsResponse)) {
+ return false;
+ }
+
+ ListDataVerificationTableRowCountsResponse other =
+ (ListDataVerificationTableRowCountsResponse) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.opcNextPage, other.opcNextPage)
+ && java.util.Objects.equals(
+ this.dataVerificationTableRowCountCollection,
+ other.dataVerificationTableRowCountCollection);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode());
+ result =
+ (result * PRIME)
+ + (this.dataVerificationTableRowCountCollection == null
+ ? 43
+ : this.dataVerificationTableRowCountCollection.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/RunDataVerificationResponse.java b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/RunDataVerificationResponse.java
new file mode 100644
index 00000000000..e56b1ab3bdd
--- /dev/null
+++ b/bmc-databasemigration/src/main/java/com/oracle/bmc/databasemigration/responses/RunDataVerificationResponse.java
@@ -0,0 +1,217 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.databasemigration.responses;
+
+import com.oracle.bmc.databasemigration.model.*;
+
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20230518")
+public class RunDataVerificationResponse extends com.oracle.bmc.responses.BmcResponse {
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @return the value
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+
+ /** For optimistic concurrency control. See {@code if-match}. */
+ private String etag;
+
+ /**
+ * For optimistic concurrency control. See {@code if-match}.
+ *
+ * @return the value
+ */
+ public String getEtag() {
+ return etag;
+ }
+
+ /** The returned {@code DataVerificationDetail} instance. */
+ private com.oracle.bmc.databasemigration.model.DataVerificationDetail dataVerificationDetail;
+
+ /**
+ * The returned {@code DataVerificationDetail} instance.
+ *
+ * @return the value
+ */
+ public com.oracle.bmc.databasemigration.model.DataVerificationDetail
+ getDataVerificationDetail() {
+ return dataVerificationDetail;
+ }
+
+ @java.beans.ConstructorProperties({
+ "__httpStatusCode__",
+ "headers",
+ "opcRequestId",
+ "etag",
+ "dataVerificationDetail"
+ })
+ private RunDataVerificationResponse(
+ int __httpStatusCode__,
+ java.util.Map> headers,
+ String opcRequestId,
+ String etag,
+ com.oracle.bmc.databasemigration.model.DataVerificationDetail dataVerificationDetail) {
+ super(__httpStatusCode__, headers);
+ this.opcRequestId = opcRequestId;
+ this.etag = etag;
+ this.dataVerificationDetail = dataVerificationDetail;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.responses.BmcResponse.Builder