map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (ComputeModel v : ComputeModel.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ ComputeModel(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static ComputeModel create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'ComputeModel', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /**
+ * The compute model of the Autonomous Database. This is required if using the {@code
+ * computeCount} parameter. If using {@code cpuCoreCount} then it is an error to specify {@code
+ * computeModel} to a non-null value. ECPU compute model is the recommended model and OCPU
+ * compute model is legacy.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("computeModel")
+ private final ComputeModel computeModel;
+
+ /**
+ * The compute model of the Autonomous Database. This is required if using the {@code
+ * computeCount} parameter. If using {@code cpuCoreCount} then it is an error to specify {@code
+ * computeModel} to a non-null value. ECPU compute model is the recommended model and OCPU
+ * compute model is legacy.
+ *
+ * @return the value
+ */
+ public ComputeModel getComputeModel() {
+ return computeModel;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -1527,6 +1629,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", exascaleDbStorageVaultId=")
.append(String.valueOf(this.exascaleDbStorageVaultId));
sb.append(", storageManagementType=").append(String.valueOf(this.storageManagementType));
+ sb.append(", computeModel=").append(String.valueOf(this.computeModel));
sb.append(")");
return sb.toString();
}
@@ -1581,6 +1684,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(
this.exascaleDbStorageVaultId, other.exascaleDbStorageVaultId)
&& java.util.Objects.equals(this.storageManagementType, other.storageManagementType)
+ && java.util.Objects.equals(this.computeModel, other.computeModel)
&& super.equals(other);
}
@@ -1691,6 +1795,7 @@ public int hashCode() {
+ (this.storageManagementType == null
? 43
: this.storageManagementType.hashCode());
+ result = (result * PRIME) + (this.computeModel == null ? 43 : this.computeModel.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListFlexComponentsRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListFlexComponentsRequest.java
index 197e5064159..53a87bebaeb 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListFlexComponentsRequest.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListFlexComponentsRequest.java
@@ -39,6 +39,19 @@ public String getCompartmentId() {
public String getName() {
return name;
}
+ /**
+ * A filter to return only resources that belong to the entire shape name given. The match is
+ * not case sensitive.
+ */
+ private String shape;
+
+ /**
+ * A filter to return only resources that belong to the entire shape name given. The match is
+ * not case sensitive.
+ */
+ public String getShape() {
+ return shape;
+ }
/** The sort order to use, either ascending ({@code ASC}) or descending ({@code DESC}). */
private SortOrder sortOrder;
@@ -186,6 +199,24 @@ public Builder name(String name) {
return this;
}
+ /**
+ * A filter to return only resources that belong to the entire shape name given. The match
+ * is not case sensitive.
+ */
+ private String shape = null;
+
+ /**
+ * A filter to return only resources that belong to the entire shape name given. The match
+ * is not case sensitive.
+ *
+ * @param shape the value to set
+ * @return this builder instance
+ */
+ public Builder shape(String shape) {
+ this.shape = shape;
+ return this;
+ }
+
/** The sort order to use, either ascending ({@code ASC}) or descending ({@code DESC}). */
private SortOrder sortOrder = null;
@@ -278,6 +309,7 @@ public Builder retryConfiguration(
public Builder copy(ListFlexComponentsRequest o) {
compartmentId(o.getCompartmentId());
name(o.getName());
+ shape(o.getShape());
sortOrder(o.getSortOrder());
sortBy(o.getSortBy());
limit(o.getLimit());
@@ -318,12 +350,14 @@ public ListFlexComponentsRequest buildWithoutInvocationCallback() {
ListFlexComponentsRequest request = new ListFlexComponentsRequest();
request.compartmentId = compartmentId;
request.name = name;
+ request.shape = shape;
request.sortOrder = sortOrder;
request.sortBy = sortBy;
request.limit = limit;
request.page = page;
return request;
- // new ListFlexComponentsRequest(compartmentId, name, sortOrder, sortBy, limit, page);
+ // new ListFlexComponentsRequest(compartmentId, name, shape, sortOrder, sortBy, limit,
+ // page);
}
}
@@ -336,6 +370,7 @@ public Builder toBuilder() {
return new Builder()
.compartmentId(compartmentId)
.name(name)
+ .shape(shape)
.sortOrder(sortOrder)
.sortBy(sortBy)
.limit(limit)
@@ -358,6 +393,7 @@ public String toString() {
sb.append("super=").append(super.toString());
sb.append(",compartmentId=").append(String.valueOf(this.compartmentId));
sb.append(",name=").append(String.valueOf(this.name));
+ sb.append(",shape=").append(String.valueOf(this.shape));
sb.append(",sortOrder=").append(String.valueOf(this.sortOrder));
sb.append(",sortBy=").append(String.valueOf(this.sortBy));
sb.append(",limit=").append(String.valueOf(this.limit));
@@ -379,6 +415,7 @@ public boolean equals(Object o) {
return super.equals(o)
&& java.util.Objects.equals(this.compartmentId, other.compartmentId)
&& java.util.Objects.equals(this.name, other.name)
+ && java.util.Objects.equals(this.shape, other.shape)
&& java.util.Objects.equals(this.sortOrder, other.sortOrder)
&& java.util.Objects.equals(this.sortBy, other.sortBy)
&& java.util.Objects.equals(this.limit, other.limit)
@@ -393,6 +430,7 @@ public int hashCode() {
(result * PRIME)
+ (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode());
+ result = (result * PRIME) + (this.shape == null ? 43 : this.shape.hashCode());
result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode());
result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode());
result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode());
diff --git a/bmc-database/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-database/reflect-config.json b/bmc-database/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-database/reflect-config.json
index 68ce4531416..698ff09d765 100644
--- a/bmc-database/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-database/reflect-config.json
+++ b/bmc-database/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-database/reflect-config.json
@@ -2228,6 +2228,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.CloudExadataInfrastructure$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.CloudExadataInfrastructureSummary",
@@ -2248,6 +2254,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.CloudExadataInfrastructureSummary$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.CloudExadataInfrastructureUnallocatedResources",
@@ -2294,6 +2306,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.CloudVmCluster$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.CloudVmClusterSummary",
@@ -2326,6 +2344,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.CloudVmClusterSummary$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.CompleteExternalBackupJobDetails",
@@ -4654,6 +4678,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.DbServer$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.DbServerDetails",
@@ -4722,6 +4752,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.DbServerSummary$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.DbSystem",
@@ -4820,6 +4856,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.DbSystemShapeSummary$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.DbSystemStoragePerformanceSummary",
@@ -5351,6 +5393,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.ExadataInfrastructure$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.ExadataInfrastructureContact",
@@ -5397,6 +5445,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.ExadataInfrastructureSummary$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.ExadataInfrastructureUnAllocatedResources",
@@ -6275,6 +6329,12 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.FlexComponentSummary$HardwareType",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.GenerateAutonomousDatabaseWalletDetails",
@@ -9272,6 +9332,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.VmCluster$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.VmClusterNetwork",
@@ -9358,6 +9424,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.database.model.VmClusterSummary$ComputeModel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.database.model.VmClusterUpdate",
diff --git a/bmc-databasemanagement/pom.xml b/bmc-databasemanagement/pom.xml
index 86a40a817d5..e15d30f683c 100644
--- a/bmc-databasemanagement/pom.xml
+++ b/bmc-databasemanagement/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.55.3
+ 3.56.0
../pom.xml
oci-java-sdk-databasemanagement
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.55.3
+ 3.56.0
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagement.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagement.java
index 67578cff15f..af8257cce90 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagement.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagement.java
@@ -340,6 +340,25 @@ ChangeSqlPlanBaselinesAttributesResponse changeSqlPlanBaselinesAttributes(
CheckExternalExadataStorageConnectorResponse checkExternalExadataStorageConnector(
CheckExternalExadataStorageConnectorRequest request);
+ /**
+ * Check the status of the external database connection specified in this connector. This
+ * operation will refresh the connectionStatus and timeConnectionStatusLastUpdated fields.
+ *
+ * @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
+ * CheckExternalMySqlDatabaseConnectorConnectionStatus API.
+ */
+ CheckExternalMySqlDatabaseConnectorConnectionStatusResponse
+ checkExternalMySqlDatabaseConnectorConnectionStatus(
+ CheckExternalMySqlDatabaseConnectorConnectionStatusRequest request);
+
/**
* Configures automatic capture filters to capture only those statements that match the filter
* criteria.
@@ -479,6 +498,40 @@ CreateExternalExadataInfrastructureResponse createExternalExadataInfrastructure(
CreateExternalExadataStorageConnectorResponse createExternalExadataStorageConnector(
CreateExternalExadataStorageConnectorRequest request);
+ /**
+ * Creates an external MySQL database.
+ *
+ * @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
+ * CreateExternalMySqlDatabase API.
+ */
+ CreateExternalMySqlDatabaseResponse createExternalMySqlDatabase(
+ CreateExternalMySqlDatabaseRequest request);
+
+ /**
+ * Creates an external MySQL connector resource.
+ *
+ * @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
+ * CreateExternalMySqlDatabaseConnector API.
+ */
+ CreateExternalMySqlDatabaseConnectorResponse createExternalMySqlDatabaseConnector(
+ CreateExternalMySqlDatabaseConnectorRequest request);
+
/**
* Creates a job to be executed on a Managed Database or Managed Database Group. Only one of the
* parameters, managedDatabaseId or managedDatabaseGroupId should be provided as input in
@@ -647,6 +700,41 @@ DeleteExternalExadataInfrastructureResponse deleteExternalExadataInfrastructure(
DeleteExternalExadataStorageConnectorResponse deleteExternalExadataStorageConnector(
DeleteExternalExadataStorageConnectorRequest request);
+ /**
+ * Deletes the Oracle Cloud Infrastructure resource representing an external MySQL database.
+ *
+ * @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 will not retry by default, users
+ * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to
+ * enable retries for it. 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
+ * DeleteExternalMySqlDatabase API.
+ */
+ DeleteExternalMySqlDatabaseResponse deleteExternalMySqlDatabase(
+ DeleteExternalMySqlDatabaseRequest request);
+
+ /**
+ * Deletes the Oracle Cloud Infrastructure resource representing an external MySQL database
+ * connector.
+ *
+ * @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 will not retry by default, users
+ * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to
+ * enable retries for it. 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
+ * DeleteExternalMySqlDatabaseConnector API.
+ */
+ DeleteExternalMySqlDatabaseConnectorResponse deleteExternalMySqlDatabaseConnector(
+ DeleteExternalMySqlDatabaseConnectorRequest request);
+
/**
* Deletes the job specified by jobId.
*
@@ -862,6 +950,23 @@ DisableExternalDbSystemStackMonitoringResponse disableExternalDbSystemStackMonit
disableExternalExadataInfrastructureManagement(
DisableExternalExadataInfrastructureManagementRequest request);
+ /**
+ * Disables Database Management for an external MySQL Database.
+ *
+ * @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
+ * DisableExternalMySqlDatabaseManagement API.
+ */
+ DisableExternalMySqlDatabaseManagementResponse disableExternalMySqlDatabaseManagement(
+ DisableExternalMySqlDatabaseManagementRequest request);
+
/**
* Disables a Database Management feature for the specified external non-container database.
*
@@ -1184,6 +1289,23 @@ EnableExternalDbSystemStackMonitoringResponse enableExternalDbSystemStackMonitor
enableExternalExadataInfrastructureManagement(
EnableExternalExadataInfrastructureManagementRequest request);
+ /**
+ * Enables Database Management for an external MySQL Database.
+ *
+ * @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
+ * EnableExternalMySqlDatabaseManagement API.
+ */
+ EnableExternalMySqlDatabaseManagementResponse enableExternalMySqlDatabaseManagement(
+ EnableExternalMySqlDatabaseManagementRequest request);
+
/**
* Enables Database Management feature for the specified external non-container database.
*
@@ -1346,6 +1468,65 @@ EnableSqlPlanBaselinesUsageResponse enableSqlPlanBaselinesUsage(
*/
GetClusterCacheMetricResponse getClusterCacheMetric(GetClusterCacheMetricRequest request);
+ /**
+ * Gets the fleet of container databases (CDBs) and their backup details and metrics, in a
+ * compartment or Database Group. The databaseHostedIn query parameter must be provided to list
+ * either cloud or external databases. Either the CompartmentId or the ManagedDatabaseGroupId
+ * query parameters must be provided to retrieve the HA and backup metrics.
+ *
+ * @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
+ * GetDatabaseFleetBackupMetrics API.
+ */
+ GetDatabaseFleetBackupMetricsResponse getDatabaseFleetBackupMetrics(
+ GetDatabaseFleetBackupMetricsRequest request);
+
+ /**
+ * Gets the fleet of Oracle Data Guard-enabled container databases (CDBs) along with Data Guard
+ * metrics and standby databases, in a compartment or Database Group. Either the CompartmentId
+ * or the ManagedDatabaseGroupId query parameters must be provided to retrieve the list of
+ * databases and Data Guard metrics.
+ *
+ * @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
+ * GetDatabaseFleetDataguardMetrics API.
+ */
+ GetDatabaseFleetDataguardMetricsResponse getDatabaseFleetDataguardMetrics(
+ GetDatabaseFleetDataguardMetricsRequest request);
+
+ /**
+ * Gets the fleet of container databases (CDBs) and their HA and backup metrics in a compartment
+ * or in a Database Group. Either the CompartmentId or the ManagedDatabaseGroupId query
+ * parameters must be provided to retrieve the HA and backup metrics.
+ *
+ * @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
+ * GetDatabaseFleetHaOverviewMetrics API.
+ */
+ GetDatabaseFleetHaOverviewMetricsResponse getDatabaseFleetHaOverviewMetrics(
+ GetDatabaseFleetHaOverviewMetricsRequest request);
+
/**
* Gets the health metrics for a fleet of databases in a compartment or in a Managed Database
* Group. Either the CompartmentId or the ManagedDatabaseGroupId query parameters must be
@@ -1365,6 +1546,23 @@ EnableSqlPlanBaselinesUsageResponse enableSqlPlanBaselinesUsage(
GetDatabaseFleetHealthMetricsResponse getDatabaseFleetHealthMetrics(
GetDatabaseFleetHealthMetricsRequest request);
+ /**
+ * Gets HA and backup details with metrics and backup history for a single database.
+ *
+ * @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
+ * GetDatabaseHaBackupDetails API.
+ */
+ GetDatabaseHaBackupDetailsResponse getDatabaseHaBackupDetails(
+ GetDatabaseHaBackupDetailsRequest request);
+
/**
* Gets a summary of the activity and resource usage metrics like DB Time, CPU, User I/O, Wait,
* Storage, and Memory for a Managed Database.
@@ -1671,6 +1869,40 @@ GetExternalExadataStorageServerResponse getExternalExadataStorageServer(
*/
GetExternalListenerResponse getExternalListener(GetExternalListenerRequest request);
+ /**
+ * Retrieves the external MySQL database information.
+ *
+ * @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
+ * GetExternalMySqlDatabase API.
+ */
+ GetExternalMySqlDatabaseResponse getExternalMySqlDatabase(
+ GetExternalMySqlDatabaseRequest request);
+
+ /**
+ * Retrieves the MySQL database connector.
+ *
+ * @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
+ * GetExternalMySqlDatabaseConnector API.
+ */
+ GetExternalMySqlDatabaseConnectorResponse getExternalMySqlDatabaseConnector(
+ GetExternalMySqlDatabaseConnectorRequest request);
+
/**
* Get the IORM plan from the specific Exadata storage server.
*
@@ -2453,6 +2685,23 @@ ListExternalListenerServicesResponse listExternalListenerServices(
*/
ListExternalListenersResponse listExternalListeners(ListExternalListenersRequest request);
+ /**
+ * Gets the list of External MySQL Databases.
+ *
+ * @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 will not retry by default, users
+ * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to
+ * enable retries for it. 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
+ * ListExternalMySqlDatabases API.
+ */
+ ListExternalMySqlDatabasesResponse listExternalMySqlDatabases(
+ ListExternalMySqlDatabasesRequest request);
+
/**
* Gets the job execution for a specific ID or the list of job executions for a job, job run,
* Managed Database or Managed Database Group in a specific compartment. Only one of the
@@ -2553,6 +2802,23 @@ ListManagedDatabaseGroupsResponse listManagedDatabaseGroups(
*/
ListManagedDatabasesResponse listManagedDatabases(ListManagedDatabasesRequest request);
+ /**
+ * Gets the list of External MySQL Database connectors.
+ *
+ * @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 will not retry by default, users
+ * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to
+ * enable retries for it. 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
+ * ListMySqlDatabaseConnectors API.
+ */
+ ListMySqlDatabaseConnectorsResponse listMySqlDatabaseConnectors(
+ ListMySqlDatabaseConnectorsRequest request);
+
/**
* Gets a single named credential specified by the name or all the named credentials in a
* specific compartment.
@@ -3673,6 +3939,40 @@ UpdateExternalExadataStorageServerResponse updateExternalExadataStorageServer(
*/
UpdateExternalListenerResponse updateExternalListener(UpdateExternalListenerRequest request);
+ /**
+ * Updates the External Mysql Database.
+ *
+ * @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 will not retry by default, users
+ * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to
+ * enable retries for it. 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
+ * UpdateExternalMysqlDatabase API.
+ */
+ UpdateExternalMysqlDatabaseResponse updateExternalMysqlDatabase(
+ UpdateExternalMysqlDatabaseRequest request);
+
+ /**
+ * Updates the External Mysql Database Connector.
+ *
+ * @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 will not retry by default, users
+ * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to
+ * enable retries for it. 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
+ * UpdateExternalMysqlDatabaseConnector API.
+ */
+ UpdateExternalMysqlDatabaseConnectorResponse updateExternalMysqlDatabaseConnector(
+ UpdateExternalMysqlDatabaseConnectorRequest request);
+
/**
* Updates the details for the recurring scheduled job specified by jobId. Note that
* non-recurring (one time) jobs cannot be updated.
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementAsync.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementAsync.java
index 06ee6882ba3..82dbb2f1117 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementAsync.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementAsync.java
@@ -341,6 +341,25 @@ java.util.concurrent.Future changeSpaceBudget(
CheckExternalExadataStorageConnectorResponse>
handler);
+ /**
+ * Check the status of the external database connection specified in this connector. This
+ * operation will refresh the connectionStatus and timeConnectionStatusLastUpdated fields.
+ *
+ * @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
+ checkExternalMySqlDatabaseConnectorConnectionStatus(
+ CheckExternalMySqlDatabaseConnectorConnectionStatusRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CheckExternalMySqlDatabaseConnectorConnectionStatusRequest,
+ CheckExternalMySqlDatabaseConnectorConnectionStatusResponse>
+ handler);
+
/**
* Configures automatic capture filters to capture only those statements that match the filter
* criteria.
@@ -487,6 +506,40 @@ java.util.concurrent.Future createExternalDbSyst
CreateExternalExadataStorageConnectorResponse>
handler);
+ /**
+ * Creates an external MySQL database.
+ *
+ * @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 createExternalMySqlDatabase(
+ CreateExternalMySqlDatabaseRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateExternalMySqlDatabaseRequest, CreateExternalMySqlDatabaseResponse>
+ handler);
+
+ /**
+ * Creates an external MySQL connector resource.
+ *
+ * @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
+ createExternalMySqlDatabaseConnector(
+ CreateExternalMySqlDatabaseConnectorRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateExternalMySqlDatabaseConnectorRequest,
+ CreateExternalMySqlDatabaseConnectorResponse>
+ handler);
+
/**
* Creates a job to be executed on a Managed Database or Managed Database Group. Only one of the
* parameters, managedDatabaseId or managedDatabaseGroupId should be provided as input in
@@ -657,6 +710,41 @@ java.util.concurrent.Future deleteExternalDbSyst
DeleteExternalExadataStorageConnectorResponse>
handler);
+ /**
+ * Deletes the Oracle Cloud Infrastructure resource representing an external MySQL database.
+ *
+ * @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 deleteExternalMySqlDatabase(
+ DeleteExternalMySqlDatabaseRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteExternalMySqlDatabaseRequest, DeleteExternalMySqlDatabaseResponse>
+ handler);
+
+ /**
+ * Deletes the Oracle Cloud Infrastructure resource representing an external MySQL database
+ * connector.
+ *
+ * @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
+ deleteExternalMySqlDatabaseConnector(
+ DeleteExternalMySqlDatabaseConnectorRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteExternalMySqlDatabaseConnectorRequest,
+ DeleteExternalMySqlDatabaseConnectorResponse>
+ handler);
+
/**
* Deletes the job specified by jobId.
*
@@ -875,6 +963,24 @@ java.util.concurrent.Future deletePreferredCr
DisableExternalExadataInfrastructureManagementResponse>
handler);
+ /**
+ * Disables Database Management for an external MySQL Database.
+ *
+ * @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
+ disableExternalMySqlDatabaseManagement(
+ DisableExternalMySqlDatabaseManagementRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DisableExternalMySqlDatabaseManagementRequest,
+ DisableExternalMySqlDatabaseManagementResponse>
+ handler);
+
/**
* Disables a Database Management feature for the specified external non-container database.
*
@@ -1205,6 +1311,24 @@ java.util.concurrent.Future dropTablespace(
EnableExternalExadataInfrastructureManagementResponse>
handler);
+ /**
+ * Enables Database Management for an external MySQL Database.
+ *
+ * @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
+ enableExternalMySqlDatabaseManagement(
+ EnableExternalMySqlDatabaseManagementRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ EnableExternalMySqlDatabaseManagementRequest,
+ EnableExternalMySqlDatabaseManagementResponse>
+ handler);
+
/**
* Enables Database Management feature for the specified external non-container database.
*
@@ -1367,6 +1491,68 @@ java.util.concurrent.Future getClusterCacheMetric
GetClusterCacheMetricRequest, GetClusterCacheMetricResponse>
handler);
+ /**
+ * Gets the fleet of container databases (CDBs) and their backup details and metrics, in a
+ * compartment or Database Group. The databaseHostedIn query parameter must be provided to list
+ * either cloud or external databases. Either the CompartmentId or the ManagedDatabaseGroupId
+ * query parameters must be provided to retrieve the HA and backup metrics.
+ *
+ * @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
+ getDatabaseFleetBackupMetrics(
+ GetDatabaseFleetBackupMetricsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetDatabaseFleetBackupMetricsRequest,
+ GetDatabaseFleetBackupMetricsResponse>
+ handler);
+
+ /**
+ * Gets the fleet of Oracle Data Guard-enabled container databases (CDBs) along with Data Guard
+ * metrics and standby databases, in a compartment or Database Group. Either the CompartmentId
+ * or the ManagedDatabaseGroupId query parameters must be provided to retrieve the list of
+ * databases and Data Guard metrics.
+ *
+ * @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
+ getDatabaseFleetDataguardMetrics(
+ GetDatabaseFleetDataguardMetricsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetDatabaseFleetDataguardMetricsRequest,
+ GetDatabaseFleetDataguardMetricsResponse>
+ handler);
+
+ /**
+ * Gets the fleet of container databases (CDBs) and their HA and backup metrics in a compartment
+ * or in a Database Group. Either the CompartmentId or the ManagedDatabaseGroupId query
+ * parameters must be provided to retrieve the HA and backup metrics.
+ *
+ * @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
+ getDatabaseFleetHaOverviewMetrics(
+ GetDatabaseFleetHaOverviewMetricsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetDatabaseFleetHaOverviewMetricsRequest,
+ GetDatabaseFleetHaOverviewMetricsResponse>
+ handler);
+
/**
* Gets the health metrics for a fleet of databases in a compartment or in a Managed Database
* Group. Either the CompartmentId or the ManagedDatabaseGroupId query parameters must be
@@ -1387,6 +1573,22 @@ java.util.concurrent.Future getClusterCacheMetric
GetDatabaseFleetHealthMetricsResponse>
handler);
+ /**
+ * Gets HA and backup details with metrics and backup history for a single database.
+ *
+ * @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 getDatabaseHaBackupDetails(
+ GetDatabaseHaBackupDetailsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetDatabaseHaBackupDetailsRequest, GetDatabaseHaBackupDetailsResponse>
+ handler);
+
/**
* Gets a summary of the activity and resource usage metrics like DB Time, CPU, User I/O, Wait,
* Storage, and Memory for a Managed Database.
@@ -1697,6 +1899,40 @@ java.util.concurrent.Future getExternalListener(
GetExternalListenerRequest, GetExternalListenerResponse>
handler);
+ /**
+ * Retrieves the external MySQL database information.
+ *
+ * @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 getExternalMySqlDatabase(
+ GetExternalMySqlDatabaseRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetExternalMySqlDatabaseRequest, GetExternalMySqlDatabaseResponse>
+ handler);
+
+ /**
+ * Retrieves the MySQL database connector.
+ *
+ * @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
+ getExternalMySqlDatabaseConnector(
+ GetExternalMySqlDatabaseConnectorRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetExternalMySqlDatabaseConnectorRequest,
+ GetExternalMySqlDatabaseConnectorResponse>
+ handler);
+
/**
* Get the IORM plan from the specific Exadata storage server.
*
@@ -2476,6 +2712,22 @@ java.util.concurrent.Future listExternalListeners
ListExternalListenersRequest, ListExternalListenersResponse>
handler);
+ /**
+ * Gets the list of External MySQL Databases.
+ *
+ * @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 listExternalMySqlDatabases(
+ ListExternalMySqlDatabasesRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListExternalMySqlDatabasesRequest, ListExternalMySqlDatabasesResponse>
+ handler);
+
/**
* Gets the job execution for a specific ID or the list of job executions for a job, job run,
* Managed Database or Managed Database Group in a specific compartment. Only one of the
@@ -2573,6 +2825,22 @@ java.util.concurrent.Future listManagedDatabases(
ListManagedDatabasesRequest, ListManagedDatabasesResponse>
handler);
+ /**
+ * Gets the list of External MySQL Database connectors.
+ *
+ * @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 listMySqlDatabaseConnectors(
+ ListMySqlDatabaseConnectorsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListMySqlDatabaseConnectorsRequest, ListMySqlDatabaseConnectorsResponse>
+ handler);
+
/**
* Gets a single named credential specified by the name or all the named credentials in a
* specific compartment.
@@ -3703,6 +3971,40 @@ java.util.concurrent.Future updateExternalListen
UpdateExternalListenerRequest, UpdateExternalListenerResponse>
handler);
+ /**
+ * Updates the External Mysql Database.
+ *
+ * @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 updateExternalMysqlDatabase(
+ UpdateExternalMysqlDatabaseRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UpdateExternalMysqlDatabaseRequest, UpdateExternalMysqlDatabaseResponse>
+ handler);
+
+ /**
+ * Updates the External Mysql Database Connector.
+ *
+ * @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
+ updateExternalMysqlDatabaseConnector(
+ UpdateExternalMysqlDatabaseConnectorRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UpdateExternalMysqlDatabaseConnectorRequest,
+ UpdateExternalMysqlDatabaseConnectorResponse>
+ handler);
+
/**
* Updates the details for the recurring scheduled job specified by jobId. Note that
* non-recurring (one time) jobs cannot be updated.
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementAsyncClient.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementAsyncClient.java
index 301bd1952d9..467b7d53a44 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementAsyncClient.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementAsyncClient.java
@@ -678,6 +678,49 @@ public java.util.concurrent.Future changeSpaceBudget(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ checkExternalMySqlDatabaseConnectorConnectionStatus(
+ CheckExternalMySqlDatabaseConnectorConnectionStatusRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ CheckExternalMySqlDatabaseConnectorConnectionStatusRequest,
+ CheckExternalMySqlDatabaseConnectorConnectionStatusResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseConnectorId(),
+ "externalMySqlDatabaseConnectorId must not be blank");
+
+ return clientCall(
+ request,
+ CheckExternalMySqlDatabaseConnectorConnectionStatusResponse::builder)
+ .logger(LOG, "checkExternalMySqlDatabaseConnectorConnectionStatus")
+ .serviceDetails(
+ "DbManagement",
+ "CheckExternalMySqlDatabaseConnectorConnectionStatus",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseConnector/CheckExternalMySqlDatabaseConnectorConnectionStatus")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(CheckExternalMySqlDatabaseConnectorConnectionStatusRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendPathParam(request.getExternalMySqlDatabaseConnectorId())
+ .appendPathParam("actions")
+ .appendPathParam("checkConnectionStatus")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ CheckExternalMySqlDatabaseConnectorConnectionStatusResponse.Builder
+ ::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ CheckExternalMySqlDatabaseConnectorConnectionStatusResponse.Builder
+ ::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
configureAutomaticCaptureFilters(
@@ -994,6 +1037,95 @@ public java.util.concurrent.Future createExterna
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ createExternalMySqlDatabase(
+ CreateExternalMySqlDatabaseRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ CreateExternalMySqlDatabaseRequest,
+ CreateExternalMySqlDatabaseResponse>
+ handler) {
+ Objects.requireNonNull(
+ request.getCreateExternalMySqlDatabaseDetails(),
+ "createExternalMySqlDatabaseDetails is required");
+
+ return clientCall(request, CreateExternalMySqlDatabaseResponse::builder)
+ .logger(LOG, "createExternalMySqlDatabase")
+ .serviceDetails(
+ "DbManagement",
+ "CreateExternalMySqlDatabase",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/CreateExternalMySqlDatabase")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(CreateExternalMySqlDatabaseRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabase.class,
+ CreateExternalMySqlDatabaseResponse.Builder::externalMySqlDatabase)
+ .handleResponseHeaderString(
+ "etag", CreateExternalMySqlDatabaseResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id", CreateExternalMySqlDatabaseResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "location", CreateExternalMySqlDatabaseResponse.Builder::location)
+ .handleResponseHeaderString(
+ "content-location",
+ CreateExternalMySqlDatabaseResponse.Builder::contentLocation)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ createExternalMySqlDatabaseConnector(
+ CreateExternalMySqlDatabaseConnectorRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ CreateExternalMySqlDatabaseConnectorRequest,
+ CreateExternalMySqlDatabaseConnectorResponse>
+ handler) {
+ Objects.requireNonNull(
+ request.getCreateExternalMySqlDatabaseConnectorDetails(),
+ "createExternalMySqlDatabaseConnectorDetails is required");
+
+ Objects.requireNonNull(
+ request.getIsTestConnectionParam(), "isTestConnectionParam is required");
+
+ return clientCall(request, CreateExternalMySqlDatabaseConnectorResponse::builder)
+ .logger(LOG, "createExternalMySqlDatabaseConnector")
+ .serviceDetails(
+ "DbManagement",
+ "CreateExternalMySqlDatabaseConnector",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseConnector/CreateExternalMySqlDatabaseConnector")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(CreateExternalMySqlDatabaseConnectorRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendQueryParam("isTestConnectionParam", request.getIsTestConnectionParam())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseConnector
+ .class,
+ CreateExternalMySqlDatabaseConnectorResponse.Builder
+ ::externalMySqlDatabaseConnector)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ CreateExternalMySqlDatabaseConnectorResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "location", CreateExternalMySqlDatabaseConnectorResponse.Builder::location)
+ .handleResponseHeaderString(
+ "content-location",
+ CreateExternalMySqlDatabaseConnectorResponse.Builder::contentLocation)
+ .handleResponseHeaderString(
+ "etag", CreateExternalMySqlDatabaseConnectorResponse.Builder::etag)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future createJob(
CreateJobRequest request,
@@ -1335,6 +1467,76 @@ public java.util.concurrent.Future deleteExterna
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ deleteExternalMySqlDatabase(
+ DeleteExternalMySqlDatabaseRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ DeleteExternalMySqlDatabaseRequest,
+ DeleteExternalMySqlDatabaseResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+
+ return clientCall(request, DeleteExternalMySqlDatabaseResponse::builder)
+ .logger(LOG, "deleteExternalMySqlDatabase")
+ .serviceDetails(
+ "DbManagement",
+ "DeleteExternalMySqlDatabase",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/DeleteExternalMySqlDatabase")
+ .method(com.oracle.bmc.http.client.Method.DELETE)
+ .requestBuilder(DeleteExternalMySqlDatabaseRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleResponseHeaderString(
+ "opc-request-id", DeleteExternalMySqlDatabaseResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DeleteExternalMySqlDatabaseResponse.Builder::opcWorkRequestId)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ deleteExternalMySqlDatabaseConnector(
+ DeleteExternalMySqlDatabaseConnectorRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ DeleteExternalMySqlDatabaseConnectorRequest,
+ DeleteExternalMySqlDatabaseConnectorResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseConnectorId(),
+ "externalMySqlDatabaseConnectorId must not be blank");
+
+ return clientCall(request, DeleteExternalMySqlDatabaseConnectorResponse::builder)
+ .logger(LOG, "deleteExternalMySqlDatabaseConnector")
+ .serviceDetails(
+ "DbManagement",
+ "DeleteExternalMySqlDatabaseConnector",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseConnector/DeleteExternalMySqlDatabaseConnector")
+ .method(com.oracle.bmc.http.client.Method.DELETE)
+ .requestBuilder(DeleteExternalMySqlDatabaseConnectorRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendPathParam(request.getExternalMySqlDatabaseConnectorId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DeleteExternalMySqlDatabaseConnectorResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ DeleteExternalMySqlDatabaseConnectorResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future deleteJob(
DeleteJobRequest request,
@@ -1771,6 +1973,44 @@ public java.util.concurrent.Future deletePref
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ disableExternalMySqlDatabaseManagement(
+ DisableExternalMySqlDatabaseManagementRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ DisableExternalMySqlDatabaseManagementRequest,
+ DisableExternalMySqlDatabaseManagementResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+
+ return clientCall(request, DisableExternalMySqlDatabaseManagementResponse::builder)
+ .logger(LOG, "disableExternalMySqlDatabaseManagement")
+ .serviceDetails(
+ "DbManagement",
+ "DisableExternalMySqlDatabaseManagement",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/DisableExternalMySqlDatabaseManagement")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(DisableExternalMySqlDatabaseManagementRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .appendPathParam("actions")
+ .appendPathParam("disableDatabaseManagement")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DisableExternalMySqlDatabaseManagementResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ DisableExternalMySqlDatabaseManagementResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
disableExternalNonContainerDatabaseManagementFeature(
@@ -2428,6 +2668,48 @@ public java.util.concurrent.Future dropTablespace(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ enableExternalMySqlDatabaseManagement(
+ EnableExternalMySqlDatabaseManagementRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ EnableExternalMySqlDatabaseManagementRequest,
+ EnableExternalMySqlDatabaseManagementResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+ Objects.requireNonNull(
+ request.getEnableExternalDatabaseManagementDetails(),
+ "enableExternalDatabaseManagementDetails is required");
+
+ return clientCall(request, EnableExternalMySqlDatabaseManagementResponse::builder)
+ .logger(LOG, "enableExternalMySqlDatabaseManagement")
+ .serviceDetails(
+ "DbManagement",
+ "EnableExternalMySqlDatabaseManagement",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/EnableExternalMySqlDatabaseManagement")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(EnableExternalMySqlDatabaseManagementRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .appendPathParam("actions")
+ .appendPathParam("enableDatabaseManagement")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ EnableExternalMySqlDatabaseManagementResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ EnableExternalMySqlDatabaseManagementResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
enableExternalNonContainerDatabaseManagementFeature(
@@ -2804,6 +3086,184 @@ public java.util.concurrent.Future getClusterCach
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ getDatabaseFleetBackupMetrics(
+ GetDatabaseFleetBackupMetricsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetDatabaseFleetBackupMetricsRequest,
+ GetDatabaseFleetBackupMetricsResponse>
+ handler) {
+ Objects.requireNonNull(request.getDatabaseHostedIn(), "databaseHostedIn is required");
+
+ Objects.requireNonNull(request.getStartTime(), "startTime is required");
+
+ Objects.requireNonNull(request.getEndTime(), "endTime is required");
+
+ return clientCall(request, GetDatabaseFleetBackupMetricsResponse::builder)
+ .logger(LOG, "getDatabaseFleetBackupMetrics")
+ .serviceDetails(
+ "DbManagement",
+ "GetDatabaseFleetBackupMetrics",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/DatabaseFleetBackupMetrics/GetDatabaseFleetBackupMetrics")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDatabaseFleetBackupMetricsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("databaseFleetBackupMetrics")
+ .appendEnumQueryParam("databaseHostedIn", request.getDatabaseHostedIn())
+ .appendQueryParam("managedDatabaseGroupId", request.getManagedDatabaseGroupId())
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("startTime", request.getStartTime())
+ .appendQueryParam("endTime", request.getEndTime())
+ .appendQueryParam("filterByMetricNames", request.getFilterByMetricNames())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendListQueryParam(
+ "definedTagEquals",
+ request.getDefinedTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagEquals",
+ request.getFreeformTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "definedTagExists",
+ request.getDefinedTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagExists",
+ request.getFreeformTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.DatabaseFleetBackupMetrics.class,
+ GetDatabaseFleetBackupMetricsResponse.Builder::databaseFleetBackupMetrics)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetDatabaseFleetBackupMetricsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", GetDatabaseFleetBackupMetricsResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ getDatabaseFleetDataguardMetrics(
+ GetDatabaseFleetDataguardMetricsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetDatabaseFleetDataguardMetricsRequest,
+ GetDatabaseFleetDataguardMetricsResponse>
+ handler) {
+
+ return clientCall(request, GetDatabaseFleetDataguardMetricsResponse::builder)
+ .logger(LOG, "getDatabaseFleetDataguardMetrics")
+ .serviceDetails(
+ "DbManagement",
+ "GetDatabaseFleetDataguardMetrics",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/DatabaseFleetDataguardMetrics/GetDatabaseFleetDataguardMetrics")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDatabaseFleetDataguardMetricsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("databaseFleetDataguardMetrics")
+ .appendQueryParam("managedDatabaseGroupId", request.getManagedDatabaseGroupId())
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("filterByMetricNames", request.getFilterByMetricNames())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendListQueryParam(
+ "definedTagEquals",
+ request.getDefinedTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagEquals",
+ request.getFreeformTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "definedTagExists",
+ request.getDefinedTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagExists",
+ request.getFreeformTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.DatabaseFleetDataguardMetrics.class,
+ GetDatabaseFleetDataguardMetricsResponse.Builder
+ ::databaseFleetDataguardMetrics)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetDatabaseFleetDataguardMetricsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ GetDatabaseFleetDataguardMetricsResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ getDatabaseFleetHaOverviewMetrics(
+ GetDatabaseFleetHaOverviewMetricsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetDatabaseFleetHaOverviewMetricsRequest,
+ GetDatabaseFleetHaOverviewMetricsResponse>
+ handler) {
+
+ return clientCall(request, GetDatabaseFleetHaOverviewMetricsResponse::builder)
+ .logger(LOG, "getDatabaseFleetHaOverviewMetrics")
+ .serviceDetails(
+ "DbManagement",
+ "GetDatabaseFleetHaOverviewMetrics",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/DatabaseFleetHaOverviewMetrics/GetDatabaseFleetHaOverviewMetrics")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDatabaseFleetHaOverviewMetricsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("databaseFleetHaOverviewMetrics")
+ .appendQueryParam("managedDatabaseGroupId", request.getManagedDatabaseGroupId())
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("filterByMetricNames", request.getFilterByMetricNames())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendListQueryParam(
+ "definedTagEquals",
+ request.getDefinedTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagEquals",
+ request.getFreeformTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "definedTagExists",
+ request.getDefinedTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagExists",
+ request.getFreeformTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.DatabaseFleetHaOverviewMetrics
+ .class,
+ GetDatabaseFleetHaOverviewMetricsResponse.Builder
+ ::databaseFleetHaOverviewMetrics)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetDatabaseFleetHaOverviewMetricsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ GetDatabaseFleetHaOverviewMetricsResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
getDatabaseFleetHealthMetrics(
@@ -2871,6 +3331,40 @@ public java.util.concurrent.Future getClusterCach
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ getDatabaseHaBackupDetails(
+ GetDatabaseHaBackupDetailsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetDatabaseHaBackupDetailsRequest,
+ GetDatabaseHaBackupDetailsResponse>
+ handler) {
+
+ Validate.notBlank(request.getManagedDatabaseId(), "managedDatabaseId must not be blank");
+
+ return clientCall(request, GetDatabaseHaBackupDetailsResponse::builder)
+ .logger(LOG, "getDatabaseHaBackupDetails")
+ .serviceDetails(
+ "DbManagement",
+ "GetDatabaseHaBackupDetails",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/DatabaseHaBackupDetails/GetDatabaseHaBackupDetails")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDatabaseHaBackupDetailsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("managedDatabases")
+ .appendPathParam(request.getManagedDatabaseId())
+ .appendPathParam("haBackupDetails")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("opc-named-credential-id", request.getOpcNamedCredentialId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.DatabaseHaBackupDetails.class,
+ GetDatabaseHaBackupDetailsResponse.Builder::databaseHaBackupDetails)
+ .handleResponseHeaderString(
+ "opc-request-id", GetDatabaseHaBackupDetailsResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future getDatabaseHomeMetrics(
GetDatabaseHomeMetricsRequest request,
@@ -3499,6 +3993,77 @@ public java.util.concurrent.Future getExternalListe
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future getExternalMySqlDatabase(
+ GetExternalMySqlDatabaseRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetExternalMySqlDatabaseRequest, GetExternalMySqlDatabaseResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+
+ return clientCall(request, GetExternalMySqlDatabaseResponse::builder)
+ .logger(LOG, "getExternalMySqlDatabase")
+ .serviceDetails(
+ "DbManagement",
+ "GetExternalMySqlDatabase",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/GetExternalMySqlDatabase")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetExternalMySqlDatabaseRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabase.class,
+ GetExternalMySqlDatabaseResponse.Builder::externalMySqlDatabase)
+ .handleResponseHeaderString(
+ "opc-request-id", GetExternalMySqlDatabaseResponse.Builder::opcRequestId)
+ .handleResponseHeaderString("etag", GetExternalMySqlDatabaseResponse.Builder::etag)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ getExternalMySqlDatabaseConnector(
+ GetExternalMySqlDatabaseConnectorRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetExternalMySqlDatabaseConnectorRequest,
+ GetExternalMySqlDatabaseConnectorResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseConnectorId(),
+ "externalMySqlDatabaseConnectorId must not be blank");
+
+ return clientCall(request, GetExternalMySqlDatabaseConnectorResponse::builder)
+ .logger(LOG, "getExternalMySqlDatabaseConnector")
+ .serviceDetails(
+ "DbManagement",
+ "GetExternalMySqlDatabaseConnector",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/GetExternalMySqlDatabaseConnector")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetExternalMySqlDatabaseConnectorRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendPathParam(request.getExternalMySqlDatabaseConnectorId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseConnector
+ .class,
+ GetExternalMySqlDatabaseConnectorResponse.Builder
+ ::externalMySqlDatabaseConnector)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetExternalMySqlDatabaseConnectorResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "etag", GetExternalMySqlDatabaseConnectorResponse.Builder::etag)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future getIormPlan(
GetIormPlanRequest request,
@@ -5289,6 +5854,45 @@ public java.util.concurrent.Future listExternalLi
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ listExternalMySqlDatabases(
+ ListExternalMySqlDatabasesRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListExternalMySqlDatabasesRequest,
+ ListExternalMySqlDatabasesResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListExternalMySqlDatabasesResponse::builder)
+ .logger(LOG, "listExternalMySqlDatabases")
+ .serviceDetails(
+ "DbManagement",
+ "ListExternalMySqlDatabases",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseCollection/ListExternalMySqlDatabases")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListExternalMySqlDatabasesRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("name", request.getName())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseCollection
+ .class,
+ ListExternalMySqlDatabasesResponse.Builder::externalMySqlDatabaseCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListExternalMySqlDatabasesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListExternalMySqlDatabasesResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future listJobExecutions(
ListJobExecutionsRequest request,
@@ -5490,6 +6094,45 @@ public java.util.concurrent.Future listManagedData
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ listMySqlDatabaseConnectors(
+ ListMySqlDatabaseConnectorsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListMySqlDatabaseConnectorsRequest,
+ ListMySqlDatabaseConnectorsResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListMySqlDatabaseConnectorsResponse::builder)
+ .logger(LOG, "listMySqlDatabaseConnectors")
+ .serviceDetails(
+ "DbManagement",
+ "ListMySqlDatabaseConnectors",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/MySqlConnectorCollection/ListMySqlDatabaseConnectors")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListMySqlDatabaseConnectorsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendQueryParam("externalDatabaseId", request.getExternalDatabaseId())
+ .appendQueryParam("name", request.getName())
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.MySqlConnectorCollection.class,
+ ListMySqlDatabaseConnectorsResponse.Builder::mySqlConnectorCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListMySqlDatabaseConnectorsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListMySqlDatabaseConnectorsResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future listNamedCredentials(
ListNamedCredentialsRequest request,
@@ -8213,6 +8856,93 @@ public java.util.concurrent.Future updateExterna
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ updateExternalMysqlDatabase(
+ UpdateExternalMysqlDatabaseRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ UpdateExternalMysqlDatabaseRequest,
+ UpdateExternalMysqlDatabaseResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+ Objects.requireNonNull(
+ request.getUpdateExternalMySqlDatabaseDetails(),
+ "updateExternalMySqlDatabaseDetails is required");
+
+ return clientCall(request, UpdateExternalMysqlDatabaseResponse::builder)
+ .logger(LOG, "updateExternalMysqlDatabase")
+ .serviceDetails(
+ "DbManagement",
+ "UpdateExternalMysqlDatabase",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/UpdateExternalMysqlDatabase")
+ .method(com.oracle.bmc.http.client.Method.PUT)
+ .requestBuilder(UpdateExternalMysqlDatabaseRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabase.class,
+ UpdateExternalMysqlDatabaseResponse.Builder::externalMySqlDatabase)
+ .handleResponseHeaderString(
+ "opc-request-id", UpdateExternalMysqlDatabaseResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "etag", UpdateExternalMysqlDatabaseResponse.Builder::etag)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ updateExternalMysqlDatabaseConnector(
+ UpdateExternalMysqlDatabaseConnectorRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ UpdateExternalMysqlDatabaseConnectorRequest,
+ UpdateExternalMysqlDatabaseConnectorResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseConnectorId(),
+ "externalMySqlDatabaseConnectorId must not be blank");
+ Objects.requireNonNull(
+ request.getUpdateExternalMySqlDatabaseConnectorDetails(),
+ "updateExternalMySqlDatabaseConnectorDetails is required");
+
+ return clientCall(request, UpdateExternalMysqlDatabaseConnectorResponse::builder)
+ .logger(LOG, "updateExternalMysqlDatabaseConnector")
+ .serviceDetails(
+ "DbManagement",
+ "UpdateExternalMysqlDatabaseConnector",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseConnector/UpdateExternalMysqlDatabaseConnector")
+ .method(com.oracle.bmc.http.client.Method.PUT)
+ .requestBuilder(UpdateExternalMysqlDatabaseConnectorRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendPathParam(request.getExternalMySqlDatabaseConnectorId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseConnector
+ .class,
+ UpdateExternalMysqlDatabaseConnectorResponse.Builder
+ ::externalMySqlDatabaseConnector)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ UpdateExternalMysqlDatabaseConnectorResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ UpdateExternalMysqlDatabaseConnectorResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "etag", UpdateExternalMysqlDatabaseConnectorResponse.Builder::etag)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future updateJob(
UpdateJobRequest request,
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementClient.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementClient.java
index d91fa094330..9c7e047b873 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementClient.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementClient.java
@@ -648,6 +648,46 @@ public CheckExternalExadataStorageConnectorResponse checkExternalExadataStorageC
.callSync();
}
+ @Override
+ public CheckExternalMySqlDatabaseConnectorConnectionStatusResponse
+ checkExternalMySqlDatabaseConnectorConnectionStatus(
+ CheckExternalMySqlDatabaseConnectorConnectionStatusRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseConnectorId(),
+ "externalMySqlDatabaseConnectorId must not be blank");
+
+ return clientCall(
+ request,
+ CheckExternalMySqlDatabaseConnectorConnectionStatusResponse::builder)
+ .logger(LOG, "checkExternalMySqlDatabaseConnectorConnectionStatus")
+ .serviceDetails(
+ "DbManagement",
+ "CheckExternalMySqlDatabaseConnectorConnectionStatus",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseConnector/CheckExternalMySqlDatabaseConnectorConnectionStatus")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(CheckExternalMySqlDatabaseConnectorConnectionStatusRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendPathParam(request.getExternalMySqlDatabaseConnectorId())
+ .appendPathParam("actions")
+ .appendPathParam("checkConnectionStatus")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ CheckExternalMySqlDatabaseConnectorConnectionStatusResponse.Builder
+ ::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ CheckExternalMySqlDatabaseConnectorConnectionStatusResponse.Builder
+ ::opcRequestId)
+ .callSync();
+ }
+
@Override
public ConfigureAutomaticCaptureFiltersResponse configureAutomaticCaptureFilters(
ConfigureAutomaticCaptureFiltersRequest request) {
@@ -931,6 +971,87 @@ public CreateExternalExadataStorageConnectorResponse createExternalExadataStorag
.callSync();
}
+ @Override
+ public CreateExternalMySqlDatabaseResponse createExternalMySqlDatabase(
+ CreateExternalMySqlDatabaseRequest request) {
+ Objects.requireNonNull(
+ request.getCreateExternalMySqlDatabaseDetails(),
+ "createExternalMySqlDatabaseDetails is required");
+
+ return clientCall(request, CreateExternalMySqlDatabaseResponse::builder)
+ .logger(LOG, "createExternalMySqlDatabase")
+ .serviceDetails(
+ "DbManagement",
+ "CreateExternalMySqlDatabase",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/CreateExternalMySqlDatabase")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(CreateExternalMySqlDatabaseRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabase.class,
+ CreateExternalMySqlDatabaseResponse.Builder::externalMySqlDatabase)
+ .handleResponseHeaderString(
+ "etag", CreateExternalMySqlDatabaseResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id", CreateExternalMySqlDatabaseResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "location", CreateExternalMySqlDatabaseResponse.Builder::location)
+ .handleResponseHeaderString(
+ "content-location",
+ CreateExternalMySqlDatabaseResponse.Builder::contentLocation)
+ .callSync();
+ }
+
+ @Override
+ public CreateExternalMySqlDatabaseConnectorResponse createExternalMySqlDatabaseConnector(
+ CreateExternalMySqlDatabaseConnectorRequest request) {
+ Objects.requireNonNull(
+ request.getCreateExternalMySqlDatabaseConnectorDetails(),
+ "createExternalMySqlDatabaseConnectorDetails is required");
+
+ Objects.requireNonNull(
+ request.getIsTestConnectionParam(), "isTestConnectionParam is required");
+
+ return clientCall(request, CreateExternalMySqlDatabaseConnectorResponse::builder)
+ .logger(LOG, "createExternalMySqlDatabaseConnector")
+ .serviceDetails(
+ "DbManagement",
+ "CreateExternalMySqlDatabaseConnector",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseConnector/CreateExternalMySqlDatabaseConnector")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(CreateExternalMySqlDatabaseConnectorRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendQueryParam("isTestConnectionParam", request.getIsTestConnectionParam())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseConnector
+ .class,
+ CreateExternalMySqlDatabaseConnectorResponse.Builder
+ ::externalMySqlDatabaseConnector)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ CreateExternalMySqlDatabaseConnectorResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "location", CreateExternalMySqlDatabaseConnectorResponse.Builder::location)
+ .handleResponseHeaderString(
+ "content-location",
+ CreateExternalMySqlDatabaseConnectorResponse.Builder::contentLocation)
+ .handleResponseHeaderString(
+ "etag", CreateExternalMySqlDatabaseConnectorResponse.Builder::etag)
+ .callSync();
+ }
+
@Override
public CreateJobResponse createJob(CreateJobRequest request) {
Objects.requireNonNull(request.getCreateJobDetails(), "createJobDetails is required");
@@ -1229,6 +1350,66 @@ public DeleteExternalExadataStorageConnectorResponse deleteExternalExadataStorag
.callSync();
}
+ @Override
+ public DeleteExternalMySqlDatabaseResponse deleteExternalMySqlDatabase(
+ DeleteExternalMySqlDatabaseRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+
+ return clientCall(request, DeleteExternalMySqlDatabaseResponse::builder)
+ .logger(LOG, "deleteExternalMySqlDatabase")
+ .serviceDetails(
+ "DbManagement",
+ "DeleteExternalMySqlDatabase",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/DeleteExternalMySqlDatabase")
+ .method(com.oracle.bmc.http.client.Method.DELETE)
+ .requestBuilder(DeleteExternalMySqlDatabaseRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleResponseHeaderString(
+ "opc-request-id", DeleteExternalMySqlDatabaseResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DeleteExternalMySqlDatabaseResponse.Builder::opcWorkRequestId)
+ .callSync();
+ }
+
+ @Override
+ public DeleteExternalMySqlDatabaseConnectorResponse deleteExternalMySqlDatabaseConnector(
+ DeleteExternalMySqlDatabaseConnectorRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseConnectorId(),
+ "externalMySqlDatabaseConnectorId must not be blank");
+
+ return clientCall(request, DeleteExternalMySqlDatabaseConnectorResponse::builder)
+ .logger(LOG, "deleteExternalMySqlDatabaseConnector")
+ .serviceDetails(
+ "DbManagement",
+ "DeleteExternalMySqlDatabaseConnector",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseConnector/DeleteExternalMySqlDatabaseConnector")
+ .method(com.oracle.bmc.http.client.Method.DELETE)
+ .requestBuilder(DeleteExternalMySqlDatabaseConnectorRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendPathParam(request.getExternalMySqlDatabaseConnectorId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DeleteExternalMySqlDatabaseConnectorResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ DeleteExternalMySqlDatabaseConnectorResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public DeleteJobResponse deleteJob(DeleteJobRequest request) {
@@ -1621,6 +1802,40 @@ public DisableExternalDbSystemStackMonitoringResponse disableExternalDbSystemSta
.callSync();
}
+ @Override
+ public DisableExternalMySqlDatabaseManagementResponse disableExternalMySqlDatabaseManagement(
+ DisableExternalMySqlDatabaseManagementRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+
+ return clientCall(request, DisableExternalMySqlDatabaseManagementResponse::builder)
+ .logger(LOG, "disableExternalMySqlDatabaseManagement")
+ .serviceDetails(
+ "DbManagement",
+ "DisableExternalMySqlDatabaseManagement",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/DisableExternalMySqlDatabaseManagement")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(DisableExternalMySqlDatabaseManagementRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .appendPathParam("actions")
+ .appendPathParam("disableDatabaseManagement")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DisableExternalMySqlDatabaseManagementResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ DisableExternalMySqlDatabaseManagementResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public DisableExternalNonContainerDatabaseManagementFeatureResponse
disableExternalNonContainerDatabaseManagementFeature(
@@ -2218,6 +2433,44 @@ public EnableExternalDbSystemStackMonitoringResponse enableExternalDbSystemStack
.callSync();
}
+ @Override
+ public EnableExternalMySqlDatabaseManagementResponse enableExternalMySqlDatabaseManagement(
+ EnableExternalMySqlDatabaseManagementRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+ Objects.requireNonNull(
+ request.getEnableExternalDatabaseManagementDetails(),
+ "enableExternalDatabaseManagementDetails is required");
+
+ return clientCall(request, EnableExternalMySqlDatabaseManagementResponse::builder)
+ .logger(LOG, "enableExternalMySqlDatabaseManagement")
+ .serviceDetails(
+ "DbManagement",
+ "EnableExternalMySqlDatabaseManagement",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/EnableExternalMySqlDatabaseManagement")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(EnableExternalMySqlDatabaseManagementRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .appendPathParam("actions")
+ .appendPathParam("enableDatabaseManagement")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ EnableExternalMySqlDatabaseManagementResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ EnableExternalMySqlDatabaseManagementResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public EnableExternalNonContainerDatabaseManagementFeatureResponse
enableExternalNonContainerDatabaseManagementFeature(
@@ -2561,6 +2814,172 @@ public GetClusterCacheMetricResponse getClusterCacheMetric(
.callSync();
}
+ @Override
+ public GetDatabaseFleetBackupMetricsResponse getDatabaseFleetBackupMetrics(
+ GetDatabaseFleetBackupMetricsRequest request) {
+ Objects.requireNonNull(request.getDatabaseHostedIn(), "databaseHostedIn is required");
+
+ Objects.requireNonNull(request.getStartTime(), "startTime is required");
+
+ Objects.requireNonNull(request.getEndTime(), "endTime is required");
+
+ return clientCall(request, GetDatabaseFleetBackupMetricsResponse::builder)
+ .logger(LOG, "getDatabaseFleetBackupMetrics")
+ .serviceDetails(
+ "DbManagement",
+ "GetDatabaseFleetBackupMetrics",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/DatabaseFleetBackupMetrics/GetDatabaseFleetBackupMetrics")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDatabaseFleetBackupMetricsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("databaseFleetBackupMetrics")
+ .appendEnumQueryParam("databaseHostedIn", request.getDatabaseHostedIn())
+ .appendQueryParam("managedDatabaseGroupId", request.getManagedDatabaseGroupId())
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("startTime", request.getStartTime())
+ .appendQueryParam("endTime", request.getEndTime())
+ .appendQueryParam("filterByMetricNames", request.getFilterByMetricNames())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendListQueryParam(
+ "definedTagEquals",
+ request.getDefinedTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagEquals",
+ request.getFreeformTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "definedTagExists",
+ request.getDefinedTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagExists",
+ request.getFreeformTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.DatabaseFleetBackupMetrics.class,
+ GetDatabaseFleetBackupMetricsResponse.Builder::databaseFleetBackupMetrics)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetDatabaseFleetBackupMetricsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", GetDatabaseFleetBackupMetricsResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
+ @Override
+ public GetDatabaseFleetDataguardMetricsResponse getDatabaseFleetDataguardMetrics(
+ GetDatabaseFleetDataguardMetricsRequest request) {
+
+ return clientCall(request, GetDatabaseFleetDataguardMetricsResponse::builder)
+ .logger(LOG, "getDatabaseFleetDataguardMetrics")
+ .serviceDetails(
+ "DbManagement",
+ "GetDatabaseFleetDataguardMetrics",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/DatabaseFleetDataguardMetrics/GetDatabaseFleetDataguardMetrics")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDatabaseFleetDataguardMetricsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("databaseFleetDataguardMetrics")
+ .appendQueryParam("managedDatabaseGroupId", request.getManagedDatabaseGroupId())
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("filterByMetricNames", request.getFilterByMetricNames())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendListQueryParam(
+ "definedTagEquals",
+ request.getDefinedTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagEquals",
+ request.getFreeformTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "definedTagExists",
+ request.getDefinedTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagExists",
+ request.getFreeformTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.DatabaseFleetDataguardMetrics.class,
+ GetDatabaseFleetDataguardMetricsResponse.Builder
+ ::databaseFleetDataguardMetrics)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetDatabaseFleetDataguardMetricsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ GetDatabaseFleetDataguardMetricsResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
+ @Override
+ public GetDatabaseFleetHaOverviewMetricsResponse getDatabaseFleetHaOverviewMetrics(
+ GetDatabaseFleetHaOverviewMetricsRequest request) {
+
+ return clientCall(request, GetDatabaseFleetHaOverviewMetricsResponse::builder)
+ .logger(LOG, "getDatabaseFleetHaOverviewMetrics")
+ .serviceDetails(
+ "DbManagement",
+ "GetDatabaseFleetHaOverviewMetrics",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/DatabaseFleetHaOverviewMetrics/GetDatabaseFleetHaOverviewMetrics")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDatabaseFleetHaOverviewMetricsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("databaseFleetHaOverviewMetrics")
+ .appendQueryParam("managedDatabaseGroupId", request.getManagedDatabaseGroupId())
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("filterByMetricNames", request.getFilterByMetricNames())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendListQueryParam(
+ "definedTagEquals",
+ request.getDefinedTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagEquals",
+ request.getFreeformTagEquals(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "definedTagExists",
+ request.getDefinedTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "freeformTagExists",
+ request.getFreeformTagExists(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.DatabaseFleetHaOverviewMetrics
+ .class,
+ GetDatabaseFleetHaOverviewMetricsResponse.Builder
+ ::databaseFleetHaOverviewMetrics)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetDatabaseFleetHaOverviewMetricsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ GetDatabaseFleetHaOverviewMetricsResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
@Override
public GetDatabaseFleetHealthMetricsResponse getDatabaseFleetHealthMetrics(
GetDatabaseFleetHealthMetricsRequest request) {
@@ -2623,6 +3042,36 @@ public GetDatabaseFleetHealthMetricsResponse getDatabaseFleetHealthMetrics(
.callSync();
}
+ @Override
+ public GetDatabaseHaBackupDetailsResponse getDatabaseHaBackupDetails(
+ GetDatabaseHaBackupDetailsRequest request) {
+
+ Validate.notBlank(request.getManagedDatabaseId(), "managedDatabaseId must not be blank");
+
+ return clientCall(request, GetDatabaseHaBackupDetailsResponse::builder)
+ .logger(LOG, "getDatabaseHaBackupDetails")
+ .serviceDetails(
+ "DbManagement",
+ "GetDatabaseHaBackupDetails",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/DatabaseHaBackupDetails/GetDatabaseHaBackupDetails")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetDatabaseHaBackupDetailsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("managedDatabases")
+ .appendPathParam(request.getManagedDatabaseId())
+ .appendPathParam("haBackupDetails")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("opc-named-credential-id", request.getOpcNamedCredentialId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.DatabaseHaBackupDetails.class,
+ GetDatabaseHaBackupDetailsResponse.Builder::databaseHaBackupDetails)
+ .handleResponseHeaderString(
+ "opc-request-id", GetDatabaseHaBackupDetailsResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public GetDatabaseHomeMetricsResponse getDatabaseHomeMetrics(
GetDatabaseHomeMetricsRequest request) {
@@ -3186,6 +3635,71 @@ public GetExternalListenerResponse getExternalListener(GetExternalListenerReques
.callSync();
}
+ @Override
+ public GetExternalMySqlDatabaseResponse getExternalMySqlDatabase(
+ GetExternalMySqlDatabaseRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+
+ return clientCall(request, GetExternalMySqlDatabaseResponse::builder)
+ .logger(LOG, "getExternalMySqlDatabase")
+ .serviceDetails(
+ "DbManagement",
+ "GetExternalMySqlDatabase",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/GetExternalMySqlDatabase")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetExternalMySqlDatabaseRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabase.class,
+ GetExternalMySqlDatabaseResponse.Builder::externalMySqlDatabase)
+ .handleResponseHeaderString(
+ "opc-request-id", GetExternalMySqlDatabaseResponse.Builder::opcRequestId)
+ .handleResponseHeaderString("etag", GetExternalMySqlDatabaseResponse.Builder::etag)
+ .callSync();
+ }
+
+ @Override
+ public GetExternalMySqlDatabaseConnectorResponse getExternalMySqlDatabaseConnector(
+ GetExternalMySqlDatabaseConnectorRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseConnectorId(),
+ "externalMySqlDatabaseConnectorId must not be blank");
+
+ return clientCall(request, GetExternalMySqlDatabaseConnectorResponse::builder)
+ .logger(LOG, "getExternalMySqlDatabaseConnector")
+ .serviceDetails(
+ "DbManagement",
+ "GetExternalMySqlDatabaseConnector",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/GetExternalMySqlDatabaseConnector")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetExternalMySqlDatabaseConnectorRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendPathParam(request.getExternalMySqlDatabaseConnectorId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseConnector
+ .class,
+ GetExternalMySqlDatabaseConnectorResponse.Builder
+ ::externalMySqlDatabaseConnector)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetExternalMySqlDatabaseConnectorResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "etag", GetExternalMySqlDatabaseConnectorResponse.Builder::etag)
+ .callSync();
+ }
+
@Override
public GetIormPlanResponse getIormPlan(GetIormPlanRequest request) {
@@ -4821,6 +5335,40 @@ public ListExternalListenersResponse listExternalListeners(
.callSync();
}
+ @Override
+ public ListExternalMySqlDatabasesResponse listExternalMySqlDatabases(
+ ListExternalMySqlDatabasesRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListExternalMySqlDatabasesResponse::builder)
+ .logger(LOG, "listExternalMySqlDatabases")
+ .serviceDetails(
+ "DbManagement",
+ "ListExternalMySqlDatabases",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseCollection/ListExternalMySqlDatabases")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListExternalMySqlDatabasesRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("name", request.getName())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseCollection
+ .class,
+ ListExternalMySqlDatabasesResponse.Builder::externalMySqlDatabaseCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListExternalMySqlDatabasesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListExternalMySqlDatabasesResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
@Override
public ListJobExecutionsResponse listJobExecutions(ListJobExecutionsRequest request) {
Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
@@ -5005,6 +5553,40 @@ public ListManagedDatabasesResponse listManagedDatabases(ListManagedDatabasesReq
.callSync();
}
+ @Override
+ public ListMySqlDatabaseConnectorsResponse listMySqlDatabaseConnectors(
+ ListMySqlDatabaseConnectorsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListMySqlDatabaseConnectorsResponse::builder)
+ .logger(LOG, "listMySqlDatabaseConnectors")
+ .serviceDetails(
+ "DbManagement",
+ "ListMySqlDatabaseConnectors",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/MySqlConnectorCollection/ListMySqlDatabaseConnectors")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListMySqlDatabaseConnectorsRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendQueryParam("externalDatabaseId", request.getExternalDatabaseId())
+ .appendQueryParam("name", request.getName())
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("page", request.getPage())
+ .appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.MySqlConnectorCollection.class,
+ ListMySqlDatabaseConnectorsResponse.Builder::mySqlConnectorCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListMySqlDatabaseConnectorsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListMySqlDatabaseConnectorsResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
@Override
public ListNamedCredentialsResponse listNamedCredentials(ListNamedCredentialsRequest request) {
Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
@@ -7482,6 +8064,83 @@ public UpdateExternalListenerResponse updateExternalListener(
.callSync();
}
+ @Override
+ public UpdateExternalMysqlDatabaseResponse updateExternalMysqlDatabase(
+ UpdateExternalMysqlDatabaseRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+ Objects.requireNonNull(
+ request.getUpdateExternalMySqlDatabaseDetails(),
+ "updateExternalMySqlDatabaseDetails is required");
+
+ return clientCall(request, UpdateExternalMysqlDatabaseResponse::builder)
+ .logger(LOG, "updateExternalMysqlDatabase")
+ .serviceDetails(
+ "DbManagement",
+ "UpdateExternalMysqlDatabase",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/UpdateExternalMysqlDatabase")
+ .method(com.oracle.bmc.http.client.Method.PUT)
+ .requestBuilder(UpdateExternalMysqlDatabaseRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabase.class,
+ UpdateExternalMysqlDatabaseResponse.Builder::externalMySqlDatabase)
+ .handleResponseHeaderString(
+ "opc-request-id", UpdateExternalMysqlDatabaseResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "etag", UpdateExternalMysqlDatabaseResponse.Builder::etag)
+ .callSync();
+ }
+
+ @Override
+ public UpdateExternalMysqlDatabaseConnectorResponse updateExternalMysqlDatabaseConnector(
+ UpdateExternalMysqlDatabaseConnectorRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseConnectorId(),
+ "externalMySqlDatabaseConnectorId must not be blank");
+ Objects.requireNonNull(
+ request.getUpdateExternalMySqlDatabaseConnectorDetails(),
+ "updateExternalMySqlDatabaseConnectorDetails is required");
+
+ return clientCall(request, UpdateExternalMysqlDatabaseConnectorResponse::builder)
+ .logger(LOG, "updateExternalMysqlDatabaseConnector")
+ .serviceDetails(
+ "DbManagement",
+ "UpdateExternalMysqlDatabaseConnector",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabaseConnector/UpdateExternalMysqlDatabaseConnector")
+ .method(com.oracle.bmc.http.client.Method.PUT)
+ .requestBuilder(UpdateExternalMysqlDatabaseConnectorRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("externalMySqlDatabaseConnectors")
+ .appendPathParam(request.getExternalMySqlDatabaseConnectorId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseConnector
+ .class,
+ UpdateExternalMysqlDatabaseConnectorResponse.Builder
+ ::externalMySqlDatabaseConnector)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ UpdateExternalMysqlDatabaseConnectorResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ UpdateExternalMysqlDatabaseConnectorResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "etag", UpdateExternalMysqlDatabaseConnectorResponse.Builder::etag)
+ .callSync();
+ }
+
@Override
public UpdateJobResponse updateJob(UpdateJobRequest request) {
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementPaginators.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementPaginators.java
index 9dd3f2bc595..a9ee6fa416f 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementPaginators.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementPaginators.java
@@ -2954,6 +2954,133 @@ public ListExternalListenersResponse apply(
});
}
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listExternalMySqlDatabases 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 listExternalMySqlDatabasesResponseIterator(
+ final ListExternalMySqlDatabasesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListExternalMySqlDatabasesRequest.Builder,
+ ListExternalMySqlDatabasesRequest,
+ ListExternalMySqlDatabasesResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListExternalMySqlDatabasesRequest.Builder get() {
+ return ListExternalMySqlDatabasesRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListExternalMySqlDatabasesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListExternalMySqlDatabasesRequest.Builder>,
+ ListExternalMySqlDatabasesRequest>() {
+ @Override
+ public ListExternalMySqlDatabasesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListExternalMySqlDatabasesRequest.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<
+ ListExternalMySqlDatabasesRequest, ListExternalMySqlDatabasesResponse>() {
+ @Override
+ public ListExternalMySqlDatabasesResponse apply(
+ ListExternalMySqlDatabasesRequest request) {
+ return client.listExternalMySqlDatabases(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseSummary} objects contained in
+ * responses from the listExternalMySqlDatabases 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.databasemanagement.model.ExternalMySqlDatabaseSummary} objects contained
+ * in responses received from the service.
+ */
+ public Iterable
+ listExternalMySqlDatabasesRecordIterator(
+ final ListExternalMySqlDatabasesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListExternalMySqlDatabasesRequest.Builder,
+ ListExternalMySqlDatabasesRequest,
+ ListExternalMySqlDatabasesResponse,
+ com.oracle.bmc.databasemanagement.model.ExternalMySqlDatabaseSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListExternalMySqlDatabasesRequest.Builder get() {
+ return ListExternalMySqlDatabasesRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListExternalMySqlDatabasesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListExternalMySqlDatabasesRequest.Builder>,
+ ListExternalMySqlDatabasesRequest>() {
+ @Override
+ public ListExternalMySqlDatabasesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListExternalMySqlDatabasesRequest.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<
+ ListExternalMySqlDatabasesRequest, ListExternalMySqlDatabasesResponse>() {
+ @Override
+ public ListExternalMySqlDatabasesResponse apply(
+ ListExternalMySqlDatabasesRequest request) {
+ return client.listExternalMySqlDatabases(request);
+ }
+ },
+ new java.util.function.Function<
+ ListExternalMySqlDatabasesResponse,
+ java.util.List<
+ com.oracle.bmc.databasemanagement.model
+ .ExternalMySqlDatabaseSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.databasemanagement.model
+ .ExternalMySqlDatabaseSummary>
+ apply(ListExternalMySqlDatabasesResponse response) {
+ return response.getExternalMySqlDatabaseCollection().getItems();
+ }
+ });
+ }
+
/**
* Creates a new iterable which will iterate over the responses received from the
* listJobExecutions operation. This iterable will fetch more data from the server as needed.
@@ -3550,6 +3677,134 @@ public ListManagedDatabasesResponse apply(ListManagedDatabasesRequest request) {
});
}
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listMySqlDatabaseConnectors 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
+ listMySqlDatabaseConnectorsResponseIterator(
+ final ListMySqlDatabaseConnectorsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListMySqlDatabaseConnectorsRequest.Builder,
+ ListMySqlDatabaseConnectorsRequest,
+ ListMySqlDatabaseConnectorsResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListMySqlDatabaseConnectorsRequest.Builder get() {
+ return ListMySqlDatabaseConnectorsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListMySqlDatabaseConnectorsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListMySqlDatabaseConnectorsRequest.Builder>,
+ ListMySqlDatabaseConnectorsRequest>() {
+ @Override
+ public ListMySqlDatabaseConnectorsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListMySqlDatabaseConnectorsRequest.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<
+ ListMySqlDatabaseConnectorsRequest, ListMySqlDatabaseConnectorsResponse>() {
+ @Override
+ public ListMySqlDatabaseConnectorsResponse apply(
+ ListMySqlDatabaseConnectorsRequest request) {
+ return client.listMySqlDatabaseConnectors(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.databasemanagement.model.MySqlDatabaseConnectorSummary} objects contained in
+ * responses from the listMySqlDatabaseConnectors 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.databasemanagement.model.MySqlDatabaseConnectorSummary} objects contained
+ * in responses received from the service.
+ */
+ public Iterable
+ listMySqlDatabaseConnectorsRecordIterator(
+ final ListMySqlDatabaseConnectorsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListMySqlDatabaseConnectorsRequest.Builder,
+ ListMySqlDatabaseConnectorsRequest,
+ ListMySqlDatabaseConnectorsResponse,
+ com.oracle.bmc.databasemanagement.model.MySqlDatabaseConnectorSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListMySqlDatabaseConnectorsRequest.Builder get() {
+ return ListMySqlDatabaseConnectorsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListMySqlDatabaseConnectorsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListMySqlDatabaseConnectorsRequest.Builder>,
+ ListMySqlDatabaseConnectorsRequest>() {
+ @Override
+ public ListMySqlDatabaseConnectorsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListMySqlDatabaseConnectorsRequest.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<
+ ListMySqlDatabaseConnectorsRequest, ListMySqlDatabaseConnectorsResponse>() {
+ @Override
+ public ListMySqlDatabaseConnectorsResponse apply(
+ ListMySqlDatabaseConnectorsRequest request) {
+ return client.listMySqlDatabaseConnectors(request);
+ }
+ },
+ new java.util.function.Function<
+ ListMySqlDatabaseConnectorsResponse,
+ java.util.List<
+ com.oracle.bmc.databasemanagement.model
+ .MySqlDatabaseConnectorSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.databasemanagement.model
+ .MySqlDatabaseConnectorSummary>
+ apply(ListMySqlDatabaseConnectorsResponse response) {
+ return response.getMySqlConnectorCollection().getItems();
+ }
+ });
+ }
+
/**
* Creates a new iterable which will iterate over the responses received from the
* listNamedCredentials operation. This iterable will fetch more data from the server as needed.
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementWaiters.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementWaiters.java
index fa6ccfcdf12..f14e13dd427 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementWaiters.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/DbManagementWaiters.java
@@ -1275,6 +1275,123 @@ public boolean test(GetExternalListenerResponse response) {
request);
}
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
+ *
+ * @param request the request to send
+ * @param targetState 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 com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter<
+ GetExternalMySqlDatabaseConnectorRequest,
+ GetExternalMySqlDatabaseConnectorResponse>
+ forExternalMySqlDatabaseConnector(
+ GetExternalMySqlDatabaseConnectorRequest request,
+ com.oracle.bmc.databasemanagement.model.LifecycleStates... 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 forExternalMySqlDatabaseConnector(
+ 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<
+ GetExternalMySqlDatabaseConnectorRequest,
+ GetExternalMySqlDatabaseConnectorResponse>
+ forExternalMySqlDatabaseConnector(
+ GetExternalMySqlDatabaseConnectorRequest request,
+ com.oracle.bmc.databasemanagement.model.LifecycleStates 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 forExternalMySqlDatabaseConnector(
+ 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 Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter<
+ GetExternalMySqlDatabaseConnectorRequest,
+ GetExternalMySqlDatabaseConnectorResponse>
+ forExternalMySqlDatabaseConnector(
+ GetExternalMySqlDatabaseConnectorRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.databasemanagement.model.LifecycleStates... 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 forExternalMySqlDatabaseConnector(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
+ // Helper method to create a new Waiter for ExternalMySqlDatabaseConnector.
+ private com.oracle.bmc.waiter.Waiter<
+ GetExternalMySqlDatabaseConnectorRequest,
+ GetExternalMySqlDatabaseConnectorResponse>
+ forExternalMySqlDatabaseConnector(
+ com.oracle.bmc.waiter.BmcGenericWaiter waiter,
+ final GetExternalMySqlDatabaseConnectorRequest request,
+ final com.oracle.bmc.databasemanagement.model.LifecycleStates... targetStates) {
+ final java.util.Set
+ 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<
+ GetExternalMySqlDatabaseConnectorRequest,
+ GetExternalMySqlDatabaseConnectorResponse>() {
+ @Override
+ public GetExternalMySqlDatabaseConnectorResponse apply(
+ GetExternalMySqlDatabaseConnectorRequest request) {
+ return client.getExternalMySqlDatabaseConnector(request);
+ }
+ },
+ new java.util.function.Predicate<
+ GetExternalMySqlDatabaseConnectorResponse>() {
+ @Override
+ public boolean test(
+ GetExternalMySqlDatabaseConnectorResponse response) {
+ return targetStatesSet.contains(
+ response.getExternalMySqlDatabaseConnector()
+ .getLifecycleState());
+ }
+ },
+ targetStatesSet.contains(
+ com.oracle.bmc.databasemanagement.model.LifecycleStates.Deleted)),
+ request);
+ }
+
/**
* Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
*
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabases.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabases.java
index 8dcca31c733..04223be7ee6 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabases.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabases.java
@@ -66,6 +66,42 @@ public interface ManagedMySqlDatabases extends AutoCloseable {
*/
void useRealmSpecificEndpointTemplate(boolean realmSpecificEndpointTemplateEnabled);
+ /**
+ * Disable an Associated Service for an external MySQL database resource. An Associated Service
+ * example is OPSI.
+ *
+ * @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
+ * DisableExternalMysqlAssociatedService API.
+ */
+ DisableExternalMysqlAssociatedServiceResponse disableExternalMysqlAssociatedService(
+ DisableExternalMysqlAssociatedServiceRequest request);
+
+ /**
+ * Enable an Associated Service for an external MySQL database resource. An Associated Service
+ * example is OPSI.
+ *
+ * @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
+ * EnableExternalMysqlAssociatedService API.
+ */
+ EnableExternalMysqlAssociatedServiceResponse enableExternalMysqlAssociatedService(
+ EnableExternalMysqlAssociatedServiceRequest request);
+
/**
* Gets the health metrics for a fleet of HeatWave clusters in a compartment.
*
@@ -183,6 +219,13 @@ ListManagedMySqlDatabasesResponse listManagedMySqlDatabases(
summarizeManagedMySqlDatabaseAvailabilityMetrics(
SummarizeManagedMySqlDatabaseAvailabilityMetricsRequest request);
+ /**
+ * Gets the pre-configured waiters available for resources for this service.
+ *
+ * @return The service waiters.
+ */
+ ManagedMySqlDatabasesWaiters getWaiters();
+
/**
* Gets the pre-configured paginators available for list operations in this service which may
* return multiple pages of data. These paginators provide an {@link java.lang.Iterable}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesAsync.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesAsync.java
index be61b63cce2..69a3719754a 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesAsync.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesAsync.java
@@ -63,6 +63,44 @@ public interface ManagedMySqlDatabasesAsync extends AutoCloseable {
*/
void useRealmSpecificEndpointTemplate(boolean realmSpecificEndpointTemplateEnabled);
+ /**
+ * Disable an Associated Service for an external MySQL database resource. An Associated Service
+ * example is OPSI.
+ *
+ * @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
+ disableExternalMysqlAssociatedService(
+ DisableExternalMysqlAssociatedServiceRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DisableExternalMysqlAssociatedServiceRequest,
+ DisableExternalMysqlAssociatedServiceResponse>
+ handler);
+
+ /**
+ * Enable an Associated Service for an external MySQL database resource. An Associated Service
+ * example is OPSI.
+ *
+ * @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
+ enableExternalMysqlAssociatedService(
+ EnableExternalMysqlAssociatedServiceRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ EnableExternalMysqlAssociatedServiceRequest,
+ EnableExternalMysqlAssociatedServiceResponse>
+ handler);
+
/**
* Gets the health metrics for a fleet of HeatWave clusters in a compartment.
*
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesAsyncClient.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesAsyncClient.java
index 47d1552bb25..82258bc9d97 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesAsyncClient.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesAsyncClient.java
@@ -95,6 +95,86 @@ public void setRegion(String regionId) {
super.setRegion(regionId);
}
+ @Override
+ public java.util.concurrent.Future
+ disableExternalMysqlAssociatedService(
+ DisableExternalMysqlAssociatedServiceRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ DisableExternalMysqlAssociatedServiceRequest,
+ DisableExternalMysqlAssociatedServiceResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+ Objects.requireNonNull(
+ request.getDisableExternalMysqlAssociatedServiceDetails(),
+ "disableExternalMysqlAssociatedServiceDetails is required");
+
+ return clientCall(request, DisableExternalMysqlAssociatedServiceResponse::builder)
+ .logger(LOG, "disableExternalMysqlAssociatedService")
+ .serviceDetails(
+ "ManagedMySqlDatabases",
+ "DisableExternalMysqlAssociatedService",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/DisableExternalMysqlAssociatedService")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(DisableExternalMysqlAssociatedServiceRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("internal")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .appendPathParam("actions")
+ .appendPathParam("disableAssociatedService")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-request-id",
+ DisableExternalMysqlAssociatedServiceResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ enableExternalMysqlAssociatedService(
+ EnableExternalMysqlAssociatedServiceRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ EnableExternalMysqlAssociatedServiceRequest,
+ EnableExternalMysqlAssociatedServiceResponse>
+ handler) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+ Objects.requireNonNull(
+ request.getEnableExternalMysqlAssociatedServiceDetails(),
+ "enableExternalMysqlAssociatedServiceDetails is required");
+
+ return clientCall(request, EnableExternalMysqlAssociatedServiceResponse::builder)
+ .logger(LOG, "enableExternalMysqlAssociatedService")
+ .serviceDetails(
+ "ManagedMySqlDatabases",
+ "EnableExternalMysqlAssociatedService",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/EnableExternalMysqlAssociatedService")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(EnableExternalMysqlAssociatedServiceRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("internal")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .appendPathParam("actions")
+ .appendPathParam("enableAssociatedService")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-request-id",
+ EnableExternalMysqlAssociatedServiceResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future getHeatWaveFleetMetric(
GetHeatWaveFleetMetricRequest request,
@@ -197,6 +277,9 @@ public java.util.concurrent.Future getMySqlFleetMet
request.getFilterByMySqlDeploymentTypeParam())
.appendEnumQueryParam(
"filterByMdsDeploymentType", request.getFilterByMdsDeploymentType())
+ .appendEnumQueryParam(
+ "filterByMySqlDatabaseTypeParam",
+ request.getFilterByMySqlDatabaseTypeParam())
.appendEnumQueryParam("filterByMySqlStatus", request.getFilterByMySqlStatus())
.appendQueryParam(
"filterByMySqlDatabaseVersion", request.getFilterByMySqlDatabaseVersion())
@@ -324,6 +407,9 @@ public java.util.concurrent.Future listManage
.appendQueryParam("compartmentId", request.getCompartmentId())
.appendQueryParam("page", request.getPage())
.appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam(
+ "filterByMySqlDatabaseTypeParam",
+ request.getFilterByMySqlDatabaseTypeParam())
.appendEnumQueryParam("sortBy", request.getSortBy())
.appendEnumQueryParam("sortOrder", request.getSortOrder())
.accept("application/json")
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesClient.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesClient.java
index 3c937e9405b..22fefa95111 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesClient.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesClient.java
@@ -26,17 +26,38 @@ public class ManagedMySqlDatabasesClient extends com.oracle.bmc.http.internal.Ba
private static final org.slf4j.Logger LOG =
org.slf4j.LoggerFactory.getLogger(ManagedMySqlDatabasesClient.class);
+ private final ManagedMySqlDatabasesWaiters waiters;
+
private final ManagedMySqlDatabasesPaginators paginators;
ManagedMySqlDatabasesClient(
com.oracle.bmc.common.ClientBuilderBase, ?> builder,
- com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider
- authenticationDetailsProvider) {
+ com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
+ java.util.concurrent.ExecutorService executorService) {
super(
builder,
authenticationDetailsProvider,
CircuitBreakerUtils.DEFAULT_CIRCUIT_BREAKER_CONFIGURATION);
+ if (executorService == null) {
+ // up to 50 (core) threads, time out after 60s idle, all daemon
+ java.util.concurrent.ThreadPoolExecutor threadPoolExecutor =
+ new java.util.concurrent.ThreadPoolExecutor(
+ 50,
+ 50,
+ 60L,
+ java.util.concurrent.TimeUnit.SECONDS,
+ new java.util.concurrent.LinkedBlockingQueue(),
+ com.oracle.bmc.internal.ClientThreadFactory.builder()
+ .isDaemon(true)
+ .nameFormat("ManagedMySqlDatabases-waiters-%d")
+ .build());
+ threadPoolExecutor.allowCoreThreadTimeOut(true);
+
+ executorService = threadPoolExecutor;
+ }
+ this.waiters = new ManagedMySqlDatabasesWaiters(executorService, this);
+
this.paginators = new ManagedMySqlDatabasesPaginators(this);
}
@@ -56,6 +77,8 @@ public static Builder builder() {
public static class Builder
extends com.oracle.bmc.common.RegionalClientBuilder<
Builder, ManagedMySqlDatabasesClient> {
+ private java.util.concurrent.ExecutorService executorService;
+
private Builder(com.oracle.bmc.Service service) {
super(service);
final String packageName = "databasemanagement";
@@ -65,6 +88,17 @@ private Builder(com.oracle.bmc.Service service) {
com.oracle.bmc.http.signing.SigningStrategy.STANDARD);
}
+ /**
+ * Set the ExecutorService for the client to be created.
+ *
+ * @param executorService executorService
+ * @return this builder
+ */
+ public Builder executorService(java.util.concurrent.ExecutorService executorService) {
+ this.executorService = executorService;
+ return this;
+ }
+
/**
* Build the client.
*
@@ -75,7 +109,8 @@ public ManagedMySqlDatabasesClient build(
@jakarta.annotation.Nonnull
com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider
authenticationDetailsProvider) {
- return new ManagedMySqlDatabasesClient(this, authenticationDetailsProvider);
+ return new ManagedMySqlDatabasesClient(
+ this, authenticationDetailsProvider, executorService);
}
}
@@ -89,6 +124,78 @@ public void setRegion(String regionId) {
super.setRegion(regionId);
}
+ @Override
+ public DisableExternalMysqlAssociatedServiceResponse disableExternalMysqlAssociatedService(
+ DisableExternalMysqlAssociatedServiceRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+ Objects.requireNonNull(
+ request.getDisableExternalMysqlAssociatedServiceDetails(),
+ "disableExternalMysqlAssociatedServiceDetails is required");
+
+ return clientCall(request, DisableExternalMysqlAssociatedServiceResponse::builder)
+ .logger(LOG, "disableExternalMysqlAssociatedService")
+ .serviceDetails(
+ "ManagedMySqlDatabases",
+ "DisableExternalMysqlAssociatedService",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/DisableExternalMysqlAssociatedService")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(DisableExternalMysqlAssociatedServiceRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("internal")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .appendPathParam("actions")
+ .appendPathParam("disableAssociatedService")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-request-id",
+ DisableExternalMysqlAssociatedServiceResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
+ @Override
+ public EnableExternalMysqlAssociatedServiceResponse enableExternalMysqlAssociatedService(
+ EnableExternalMysqlAssociatedServiceRequest request) {
+
+ Validate.notBlank(
+ request.getExternalMySqlDatabaseId(), "externalMySqlDatabaseId must not be blank");
+ Objects.requireNonNull(
+ request.getEnableExternalMysqlAssociatedServiceDetails(),
+ "enableExternalMysqlAssociatedServiceDetails is required");
+
+ return clientCall(request, EnableExternalMysqlAssociatedServiceResponse::builder)
+ .logger(LOG, "enableExternalMysqlAssociatedService")
+ .serviceDetails(
+ "ManagedMySqlDatabases",
+ "EnableExternalMysqlAssociatedService",
+ "https://docs.oracle.com/iaas/api/#/en/database-management/20201101/ExternalMySqlDatabase/EnableExternalMysqlAssociatedService")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(EnableExternalMysqlAssociatedServiceRequest::builder)
+ .basePath("/20201101")
+ .appendPathParam("internal")
+ .appendPathParam("externalMySqlDatabases")
+ .appendPathParam(request.getExternalMySqlDatabaseId())
+ .appendPathParam("actions")
+ .appendPathParam("enableAssociatedService")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-request-id",
+ EnableExternalMysqlAssociatedServiceResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public GetHeatWaveFleetMetricResponse getHeatWaveFleetMetric(
GetHeatWaveFleetMetricRequest request) {
@@ -181,6 +288,9 @@ public GetMySqlFleetMetricResponse getMySqlFleetMetric(GetMySqlFleetMetricReques
request.getFilterByMySqlDeploymentTypeParam())
.appendEnumQueryParam(
"filterByMdsDeploymentType", request.getFilterByMdsDeploymentType())
+ .appendEnumQueryParam(
+ "filterByMySqlDatabaseTypeParam",
+ request.getFilterByMySqlDatabaseTypeParam())
.appendEnumQueryParam("filterByMySqlStatus", request.getFilterByMySqlStatus())
.appendQueryParam(
"filterByMySqlDatabaseVersion", request.getFilterByMySqlDatabaseVersion())
@@ -298,6 +408,9 @@ public ListManagedMySqlDatabasesResponse listManagedMySqlDatabases(
.appendQueryParam("compartmentId", request.getCompartmentId())
.appendQueryParam("page", request.getPage())
.appendQueryParam("limit", request.getLimit())
+ .appendEnumQueryParam(
+ "filterByMySqlDatabaseTypeParam",
+ request.getFilterByMySqlDatabaseTypeParam())
.appendEnumQueryParam("sortBy", request.getSortBy())
.appendEnumQueryParam("sortOrder", request.getSortOrder())
.accept("application/json")
@@ -360,6 +473,11 @@ public ListManagedMySqlDatabasesResponse listManagedMySqlDatabases(
.callSync();
}
+ @Override
+ public ManagedMySqlDatabasesWaiters getWaiters() {
+ return waiters;
+ }
+
@Override
public ManagedMySqlDatabasesPaginators getPaginators() {
return paginators;
@@ -374,7 +492,7 @@ public ManagedMySqlDatabasesPaginators getPaginators() {
@Deprecated
public ManagedMySqlDatabasesClient(
com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider) {
- this(builder(), authenticationDetailsProvider);
+ this(builder(), authenticationDetailsProvider, null);
}
/**
@@ -388,7 +506,7 @@ public ManagedMySqlDatabasesClient(
public ManagedMySqlDatabasesClient(
com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider,
com.oracle.bmc.ClientConfiguration configuration) {
- this(builder().configuration(configuration), authenticationDetailsProvider);
+ this(builder().configuration(configuration), authenticationDetailsProvider, null);
}
/**
@@ -406,7 +524,8 @@ public ManagedMySqlDatabasesClient(
com.oracle.bmc.http.ClientConfigurator clientConfigurator) {
this(
builder().configuration(configuration).clientConfigurator(clientConfigurator),
- authenticationDetailsProvider);
+ authenticationDetailsProvider,
+ null);
}
/**
@@ -429,7 +548,8 @@ public ManagedMySqlDatabasesClient(
.configuration(configuration)
.clientConfigurator(clientConfigurator)
.requestSignerFactory(defaultRequestSignerFactory),
- authenticationDetailsProvider);
+ authenticationDetailsProvider,
+ null);
}
/**
@@ -455,7 +575,8 @@ public ManagedMySqlDatabasesClient(
.clientConfigurator(clientConfigurator)
.requestSignerFactory(defaultRequestSignerFactory)
.additionalClientConfigurators(additionalClientConfigurators),
- authenticationDetailsProvider);
+ authenticationDetailsProvider,
+ null);
}
/**
@@ -484,7 +605,8 @@ public ManagedMySqlDatabasesClient(
.requestSignerFactory(defaultRequestSignerFactory)
.additionalClientConfigurators(additionalClientConfigurators)
.endpoint(endpoint),
- authenticationDetailsProvider);
+ authenticationDetailsProvider,
+ null);
}
/**
@@ -521,6 +643,47 @@ public ManagedMySqlDatabasesClient(
.endpoint(endpoint)
.signingStrategyRequestSignerFactories(
signingStrategyRequestSignerFactories),
- authenticationDetailsProvider);
+ authenticationDetailsProvider,
+ null);
+ }
+
+ /**
+ * Create a new client instance.
+ *
+ * @param authenticationDetailsProvider The authentication details (see {@link Builder#build})
+ * @param configuration {@link Builder#configuration}
+ * @param clientConfigurator {@link Builder#clientConfigurator}
+ * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory}
+ * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators}
+ * @param endpoint {@link Builder#endpoint}
+ * @param signingStrategyRequestSignerFactories {@link
+ * Builder#signingStrategyRequestSignerFactories}
+ * @param executorService {@link Builder#executorService}
+ * @deprecated Use the {@link #builder() builder} instead.
+ */
+ @Deprecated
+ public ManagedMySqlDatabasesClient(
+ com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider,
+ com.oracle.bmc.ClientConfiguration configuration,
+ com.oracle.bmc.http.ClientConfigurator clientConfigurator,
+ com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory,
+ java.util.Map<
+ com.oracle.bmc.http.signing.SigningStrategy,
+ com.oracle.bmc.http.signing.RequestSignerFactory>
+ signingStrategyRequestSignerFactories,
+ java.util.List additionalClientConfigurators,
+ String endpoint,
+ java.util.concurrent.ExecutorService executorService) {
+ this(
+ builder()
+ .configuration(configuration)
+ .clientConfigurator(clientConfigurator)
+ .requestSignerFactory(defaultRequestSignerFactory)
+ .additionalClientConfigurators(additionalClientConfigurators)
+ .endpoint(endpoint)
+ .signingStrategyRequestSignerFactories(
+ signingStrategyRequestSignerFactories),
+ authenticationDetailsProvider,
+ executorService);
}
}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesWaiters.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesWaiters.java
new file mode 100644
index 00000000000..b0268004373
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/ManagedMySqlDatabasesWaiters.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement;
+
+import com.oracle.bmc.databasemanagement.requests.*;
+import com.oracle.bmc.databasemanagement.responses.*;
+
+/**
+ * Collection of helper methods to produce {@link com.oracle.bmc.waiter.Waiter}s for different
+ * resources of ManagedMySqlDatabases.
+ *
+ * The default configuration used is defined by {@link
+ * com.oracle.bmc.waiter.Waiters.Waiters#DEFAULT_POLLING_WAITER}.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20201101")
+public class ManagedMySqlDatabasesWaiters {
+ private final java.util.concurrent.ExecutorService executorService;
+ private final ManagedMySqlDatabases client;
+
+ public ManagedMySqlDatabasesWaiters(
+ java.util.concurrent.ExecutorService executorService, ManagedMySqlDatabases client) {
+ this.executorService = executorService;
+ this.client = client;
+ }
+
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
+ *
+ * @param request the request to send
+ * @param targetState 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 com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter<
+ GetManagedMySqlDatabaseRequest, GetManagedMySqlDatabaseResponse>
+ forManagedMySqlDatabase(
+ GetManagedMySqlDatabaseRequest request,
+ com.oracle.bmc.databasemanagement.model.LifecycleStates... 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 forManagedMySqlDatabase(
+ 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<
+ GetManagedMySqlDatabaseRequest, GetManagedMySqlDatabaseResponse>
+ forManagedMySqlDatabase(
+ GetManagedMySqlDatabaseRequest request,
+ com.oracle.bmc.databasemanagement.model.LifecycleStates 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 forManagedMySqlDatabase(
+ 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 Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter<
+ GetManagedMySqlDatabaseRequest, GetManagedMySqlDatabaseResponse>
+ forManagedMySqlDatabase(
+ GetManagedMySqlDatabaseRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.databasemanagement.model.LifecycleStates... 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 forManagedMySqlDatabase(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
+ // Helper method to create a new Waiter for ManagedMySqlDatabase.
+ private com.oracle.bmc.waiter.Waiter<
+ GetManagedMySqlDatabaseRequest, GetManagedMySqlDatabaseResponse>
+ forManagedMySqlDatabase(
+ com.oracle.bmc.waiter.BmcGenericWaiter waiter,
+ final GetManagedMySqlDatabaseRequest request,
+ final com.oracle.bmc.databasemanagement.model.LifecycleStates... targetStates) {
+ final java.util.Set
+ 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<
+ GetManagedMySqlDatabaseRequest, GetManagedMySqlDatabaseResponse>() {
+ @Override
+ public GetManagedMySqlDatabaseResponse apply(
+ GetManagedMySqlDatabaseRequest request) {
+ return client.getManagedMySqlDatabase(request);
+ }
+ },
+ new java.util.function.Predicate() {
+ @Override
+ public boolean test(GetManagedMySqlDatabaseResponse response) {
+ return targetStatesSet.contains(
+ response.getManagedMySqlDatabase().getLifecycleState());
+ }
+ },
+ targetStatesSet.contains(
+ com.oracle.bmc.databasemanagement.model.LifecycleStates.Deleted)),
+ request);
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AlertLogSummary.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AlertLogSummary.java
index 49ca5282f64..4f410a62007 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AlertLogSummary.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AlertLogSummary.java
@@ -196,6 +196,7 @@ public enum MessageLevel implements com.oracle.bmc.http.internal.BmcEnum {
Severe("SEVERE"),
Important("IMPORTANT"),
Normal("NORMAL"),
+ Other("OTHER"),
/**
* This value is used if a service returns a value for this enum that is not recognized by
@@ -259,6 +260,7 @@ public enum MessageType implements com.oracle.bmc.http.internal.BmcEnum {
Warning("WARNING"),
Notification("NOTIFICATION"),
Trace("TRACE"),
+ Other("OTHER"),
/**
* This value is used if a service returns a value for this enum that is not recognized by
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AttentionLogSummary.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AttentionLogSummary.java
index 98da11e5ae5..8489e7a4e02 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AttentionLogSummary.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AttentionLogSummary.java
@@ -285,6 +285,7 @@ public enum MessageUrgency implements com.oracle.bmc.http.internal.BmcEnum {
Soon("SOON"),
Deferrable("DEFERRABLE"),
Info("INFO"),
+ Other("OTHER"),
/**
* This value is used if a service returns a value for this enum that is not recognized by
@@ -348,6 +349,7 @@ public enum MessageType implements com.oracle.bmc.http.internal.BmcEnum {
Warning("WARNING"),
Notification("NOTIFICATION"),
Trace("TRACE"),
+ Other("OTHER"),
/**
* This value is used if a service returns a value for this enum that is not recognized by
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AwrDbSnapshotRangeSummary.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AwrDbSnapshotRangeSummary.java
index f0e6ecd8238..5f2c3c70a8b 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AwrDbSnapshotRangeSummary.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AwrDbSnapshotRangeSummary.java
@@ -26,6 +26,9 @@ public final class AwrDbSnapshotRangeSummary
@java.beans.ConstructorProperties({
"awrDbId",
"dbName",
+ "dbUniqueName",
+ "srcDbId",
+ "srcDbName",
"instanceList",
"timeDbStartup",
"timeFirstSnapshotBegin",
@@ -41,6 +44,9 @@ public final class AwrDbSnapshotRangeSummary
public AwrDbSnapshotRangeSummary(
String awrDbId,
String dbName,
+ String dbUniqueName,
+ String srcDbId,
+ String srcDbName,
java.util.List instanceList,
java.util.Date timeDbStartup,
java.util.Date timeFirstSnapshotBegin,
@@ -55,6 +61,9 @@ public AwrDbSnapshotRangeSummary(
super();
this.awrDbId = awrDbId;
this.dbName = dbName;
+ this.dbUniqueName = dbUniqueName;
+ this.srcDbId = srcDbId;
+ this.srcDbName = srcDbName;
this.instanceList = instanceList;
this.timeDbStartup = timeDbStartup;
this.timeFirstSnapshotBegin = timeFirstSnapshotBegin;
@@ -106,6 +115,51 @@ public Builder dbName(String dbName) {
this.__explicitlySet__.add("dbName");
return this;
}
+ /** The unique name of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private String dbUniqueName;
+
+ /**
+ * The unique name of the database.
+ *
+ * @param dbUniqueName the value to set
+ * @return this builder
+ */
+ public Builder dbUniqueName(String dbUniqueName) {
+ this.dbUniqueName = dbUniqueName;
+ this.__explicitlySet__.add("dbUniqueName");
+ return this;
+ }
+ /** The internal ID of the database where the AWR snapshot data was collected. */
+ @com.fasterxml.jackson.annotation.JsonProperty("srcDbId")
+ private String srcDbId;
+
+ /**
+ * The internal ID of the database where the AWR snapshot data was collected.
+ *
+ * @param srcDbId the value to set
+ * @return this builder
+ */
+ public Builder srcDbId(String srcDbId) {
+ this.srcDbId = srcDbId;
+ this.__explicitlySet__.add("srcDbId");
+ return this;
+ }
+ /** The name of the database where the AWR snapshot data was collected. */
+ @com.fasterxml.jackson.annotation.JsonProperty("srcDbName")
+ private String srcDbName;
+
+ /**
+ * The name of the database where the AWR snapshot data was collected.
+ *
+ * @param srcDbName the value to set
+ * @return this builder
+ */
+ public Builder srcDbName(String srcDbName) {
+ this.srcDbName = srcDbName;
+ this.__explicitlySet__.add("srcDbName");
+ return this;
+ }
/** The database instance numbers. */
@com.fasterxml.jackson.annotation.JsonProperty("instanceList")
private java.util.List instanceList;
@@ -304,6 +358,9 @@ public AwrDbSnapshotRangeSummary build() {
new AwrDbSnapshotRangeSummary(
this.awrDbId,
this.dbName,
+ this.dbUniqueName,
+ this.srcDbId,
+ this.srcDbName,
this.instanceList,
this.timeDbStartup,
this.timeFirstSnapshotBegin,
@@ -329,6 +386,15 @@ public Builder copy(AwrDbSnapshotRangeSummary model) {
if (model.wasPropertyExplicitlySet("dbName")) {
this.dbName(model.getDbName());
}
+ if (model.wasPropertyExplicitlySet("dbUniqueName")) {
+ this.dbUniqueName(model.getDbUniqueName());
+ }
+ if (model.wasPropertyExplicitlySet("srcDbId")) {
+ this.srcDbId(model.getSrcDbId());
+ }
+ if (model.wasPropertyExplicitlySet("srcDbName")) {
+ this.srcDbName(model.getSrcDbName());
+ }
if (model.wasPropertyExplicitlySet("instanceList")) {
this.instanceList(model.getInstanceList());
}
@@ -407,6 +473,45 @@ public String getDbName() {
return dbName;
}
+ /** The unique name of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private final String dbUniqueName;
+
+ /**
+ * The unique name of the database.
+ *
+ * @return the value
+ */
+ public String getDbUniqueName() {
+ return dbUniqueName;
+ }
+
+ /** The internal ID of the database where the AWR snapshot data was collected. */
+ @com.fasterxml.jackson.annotation.JsonProperty("srcDbId")
+ private final String srcDbId;
+
+ /**
+ * The internal ID of the database where the AWR snapshot data was collected.
+ *
+ * @return the value
+ */
+ public String getSrcDbId() {
+ return srcDbId;
+ }
+
+ /** The name of the database where the AWR snapshot data was collected. */
+ @com.fasterxml.jackson.annotation.JsonProperty("srcDbName")
+ private final String srcDbName;
+
+ /**
+ * The name of the database where the AWR snapshot data was collected.
+ *
+ * @return the value
+ */
+ public String getSrcDbName() {
+ return srcDbName;
+ }
+
/** The database instance numbers. */
@com.fasterxml.jackson.annotation.JsonProperty("instanceList")
private final java.util.List instanceList;
@@ -591,6 +696,9 @@ public String toString(boolean includeByteArrayContents) {
sb.append("super=").append(super.toString());
sb.append("awrDbId=").append(String.valueOf(this.awrDbId));
sb.append(", dbName=").append(String.valueOf(this.dbName));
+ sb.append(", dbUniqueName=").append(String.valueOf(this.dbUniqueName));
+ sb.append(", srcDbId=").append(String.valueOf(this.srcDbId));
+ sb.append(", srcDbName=").append(String.valueOf(this.srcDbName));
sb.append(", instanceList=").append(String.valueOf(this.instanceList));
sb.append(", timeDbStartup=").append(String.valueOf(this.timeDbStartup));
sb.append(", timeFirstSnapshotBegin=").append(String.valueOf(this.timeFirstSnapshotBegin));
@@ -618,6 +726,9 @@ public boolean equals(Object o) {
AwrDbSnapshotRangeSummary other = (AwrDbSnapshotRangeSummary) o;
return java.util.Objects.equals(this.awrDbId, other.awrDbId)
&& java.util.Objects.equals(this.dbName, other.dbName)
+ && java.util.Objects.equals(this.dbUniqueName, other.dbUniqueName)
+ && java.util.Objects.equals(this.srcDbId, other.srcDbId)
+ && java.util.Objects.equals(this.srcDbName, other.srcDbName)
&& java.util.Objects.equals(this.instanceList, other.instanceList)
&& java.util.Objects.equals(this.timeDbStartup, other.timeDbStartup)
&& java.util.Objects.equals(
@@ -639,6 +750,9 @@ public int hashCode() {
int result = 1;
result = (result * PRIME) + (this.awrDbId == null ? 43 : this.awrDbId.hashCode());
result = (result * PRIME) + (this.dbName == null ? 43 : this.dbName.hashCode());
+ result = (result * PRIME) + (this.dbUniqueName == null ? 43 : this.dbUniqueName.hashCode());
+ result = (result * PRIME) + (this.srcDbId == null ? 43 : this.srcDbId.hashCode());
+ result = (result * PRIME) + (this.srcDbName == null ? 43 : this.srcDbName.hashCode());
result = (result * PRIME) + (this.instanceList == null ? 43 : this.instanceList.hashCode());
result =
(result * PRIME)
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AwrDbSummary.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AwrDbSummary.java
index 71e3f8678f9..0467a894237 100644
--- a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AwrDbSummary.java
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/AwrDbSummary.java
@@ -24,6 +24,9 @@ public final class AwrDbSummary extends com.oracle.bmc.http.client.internal.Expl
@java.beans.ConstructorProperties({
"awrDbId",
"dbName",
+ "dbUniqueName",
+ "srcDbId",
+ "srcDbName",
"instanceList",
"timeDbStartup",
"timeFirstSnapshotBegin",
@@ -39,6 +42,9 @@ public final class AwrDbSummary extends com.oracle.bmc.http.client.internal.Expl
public AwrDbSummary(
String awrDbId,
String dbName,
+ String dbUniqueName,
+ String srcDbId,
+ String srcDbName,
java.util.List instanceList,
java.util.Date timeDbStartup,
java.util.Date timeFirstSnapshotBegin,
@@ -53,6 +59,9 @@ public AwrDbSummary(
super();
this.awrDbId = awrDbId;
this.dbName = dbName;
+ this.dbUniqueName = dbUniqueName;
+ this.srcDbId = srcDbId;
+ this.srcDbName = srcDbName;
this.instanceList = instanceList;
this.timeDbStartup = timeDbStartup;
this.timeFirstSnapshotBegin = timeFirstSnapshotBegin;
@@ -104,6 +113,51 @@ public Builder dbName(String dbName) {
this.__explicitlySet__.add("dbName");
return this;
}
+ /** The unique name of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private String dbUniqueName;
+
+ /**
+ * The unique name of the database.
+ *
+ * @param dbUniqueName the value to set
+ * @return this builder
+ */
+ public Builder dbUniqueName(String dbUniqueName) {
+ this.dbUniqueName = dbUniqueName;
+ this.__explicitlySet__.add("dbUniqueName");
+ return this;
+ }
+ /** The internal ID of the database where the AWR snapshot data was collected. */
+ @com.fasterxml.jackson.annotation.JsonProperty("srcDbId")
+ private String srcDbId;
+
+ /**
+ * The internal ID of the database where the AWR snapshot data was collected.
+ *
+ * @param srcDbId the value to set
+ * @return this builder
+ */
+ public Builder srcDbId(String srcDbId) {
+ this.srcDbId = srcDbId;
+ this.__explicitlySet__.add("srcDbId");
+ return this;
+ }
+ /** The name of the database where the AWR snapshot data was collected. */
+ @com.fasterxml.jackson.annotation.JsonProperty("srcDbName")
+ private String srcDbName;
+
+ /**
+ * The name of the database where the AWR snapshot data was collected.
+ *
+ * @param srcDbName the value to set
+ * @return this builder
+ */
+ public Builder srcDbName(String srcDbName) {
+ this.srcDbName = srcDbName;
+ this.__explicitlySet__.add("srcDbName");
+ return this;
+ }
/** The database instance numbers. */
@com.fasterxml.jackson.annotation.JsonProperty("instanceList")
private java.util.List instanceList;
@@ -302,6 +356,9 @@ public AwrDbSummary build() {
new AwrDbSummary(
this.awrDbId,
this.dbName,
+ this.dbUniqueName,
+ this.srcDbId,
+ this.srcDbName,
this.instanceList,
this.timeDbStartup,
this.timeFirstSnapshotBegin,
@@ -327,6 +384,15 @@ public Builder copy(AwrDbSummary model) {
if (model.wasPropertyExplicitlySet("dbName")) {
this.dbName(model.getDbName());
}
+ if (model.wasPropertyExplicitlySet("dbUniqueName")) {
+ this.dbUniqueName(model.getDbUniqueName());
+ }
+ if (model.wasPropertyExplicitlySet("srcDbId")) {
+ this.srcDbId(model.getSrcDbId());
+ }
+ if (model.wasPropertyExplicitlySet("srcDbName")) {
+ this.srcDbName(model.getSrcDbName());
+ }
if (model.wasPropertyExplicitlySet("instanceList")) {
this.instanceList(model.getInstanceList());
}
@@ -405,6 +471,45 @@ public String getDbName() {
return dbName;
}
+ /** The unique name of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private final String dbUniqueName;
+
+ /**
+ * The unique name of the database.
+ *
+ * @return the value
+ */
+ public String getDbUniqueName() {
+ return dbUniqueName;
+ }
+
+ /** The internal ID of the database where the AWR snapshot data was collected. */
+ @com.fasterxml.jackson.annotation.JsonProperty("srcDbId")
+ private final String srcDbId;
+
+ /**
+ * The internal ID of the database where the AWR snapshot data was collected.
+ *
+ * @return the value
+ */
+ public String getSrcDbId() {
+ return srcDbId;
+ }
+
+ /** The name of the database where the AWR snapshot data was collected. */
+ @com.fasterxml.jackson.annotation.JsonProperty("srcDbName")
+ private final String srcDbName;
+
+ /**
+ * The name of the database where the AWR snapshot data was collected.
+ *
+ * @return the value
+ */
+ public String getSrcDbName() {
+ return srcDbName;
+ }
+
/** The database instance numbers. */
@com.fasterxml.jackson.annotation.JsonProperty("instanceList")
private final java.util.List instanceList;
@@ -589,6 +694,9 @@ public String toString(boolean includeByteArrayContents) {
sb.append("super=").append(super.toString());
sb.append("awrDbId=").append(String.valueOf(this.awrDbId));
sb.append(", dbName=").append(String.valueOf(this.dbName));
+ sb.append(", dbUniqueName=").append(String.valueOf(this.dbUniqueName));
+ sb.append(", srcDbId=").append(String.valueOf(this.srcDbId));
+ sb.append(", srcDbName=").append(String.valueOf(this.srcDbName));
sb.append(", instanceList=").append(String.valueOf(this.instanceList));
sb.append(", timeDbStartup=").append(String.valueOf(this.timeDbStartup));
sb.append(", timeFirstSnapshotBegin=").append(String.valueOf(this.timeFirstSnapshotBegin));
@@ -616,6 +724,9 @@ public boolean equals(Object o) {
AwrDbSummary other = (AwrDbSummary) o;
return java.util.Objects.equals(this.awrDbId, other.awrDbId)
&& java.util.Objects.equals(this.dbName, other.dbName)
+ && java.util.Objects.equals(this.dbUniqueName, other.dbUniqueName)
+ && java.util.Objects.equals(this.srcDbId, other.srcDbId)
+ && java.util.Objects.equals(this.srcDbName, other.srcDbName)
&& java.util.Objects.equals(this.instanceList, other.instanceList)
&& java.util.Objects.equals(this.timeDbStartup, other.timeDbStartup)
&& java.util.Objects.equals(
@@ -637,6 +748,9 @@ public int hashCode() {
int result = 1;
result = (result * PRIME) + (this.awrDbId == null ? 43 : this.awrDbId.hashCode());
result = (result * PRIME) + (this.dbName == null ? 43 : this.dbName.hashCode());
+ result = (result * PRIME) + (this.dbUniqueName == null ? 43 : this.dbUniqueName.hashCode());
+ result = (result * PRIME) + (this.srcDbId == null ? 43 : this.srcDbId.hashCode());
+ result = (result * PRIME) + (this.srcDbName == null ? 43 : this.srcDbName.hashCode());
result = (result * PRIME) + (this.instanceList == null ? 43 : this.instanceList.hashCode());
result =
(result * PRIME)
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/BaseDatabaseHaDetails.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/BaseDatabaseHaDetails.java
new file mode 100644
index 00000000000..9f56dfffac4
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/BaseDatabaseHaDetails.java
@@ -0,0 +1,563 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * The common database details used by all HA metrics.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = BaseDatabaseHaDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class BaseDatabaseHaDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "dbId",
+ "compartmentId",
+ "databaseType",
+ "databaseSubType",
+ "deploymentType",
+ "databaseVersion",
+ "workloadType",
+ "databaseName",
+ "databaseId",
+ "dbUniqueName",
+ "dbRole"
+ })
+ public BaseDatabaseHaDetails(
+ String dbId,
+ String compartmentId,
+ DatabaseType databaseType,
+ DatabaseSubType databaseSubType,
+ DeploymentType deploymentType,
+ String databaseVersion,
+ WorkloadType workloadType,
+ String databaseName,
+ String databaseId,
+ String dbUniqueName,
+ DbRole dbRole) {
+ super();
+ this.dbId = dbId;
+ this.compartmentId = compartmentId;
+ this.databaseType = databaseType;
+ this.databaseSubType = databaseSubType;
+ this.deploymentType = deploymentType;
+ this.databaseVersion = databaseVersion;
+ this.workloadType = workloadType;
+ this.databaseName = databaseName;
+ this.databaseId = databaseId;
+ this.dbUniqueName = dbUniqueName;
+ this.dbRole = dbRole;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @param dbId the value to set
+ * @return this builder
+ */
+ public Builder dbId(String dbId) {
+ this.dbId = dbId;
+ this.__explicitlySet__.add("dbId");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @param databaseType the value to set
+ * @return this builder
+ */
+ public Builder databaseType(DatabaseType databaseType) {
+ this.databaseType = databaseType;
+ this.__explicitlySet__.add("databaseType");
+ return this;
+ }
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ *
+ * @param databaseSubType the value to set
+ * @return this builder
+ */
+ public Builder databaseSubType(DatabaseSubType databaseSubType) {
+ this.databaseSubType = databaseSubType;
+ this.__explicitlySet__.add("databaseSubType");
+ return this;
+ }
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @param deploymentType the value to set
+ * @return this builder
+ */
+ public Builder deploymentType(DeploymentType deploymentType) {
+ this.deploymentType = deploymentType;
+ this.__explicitlySet__.add("deploymentType");
+ return this;
+ }
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @param databaseVersion the value to set
+ * @return this builder
+ */
+ public Builder databaseVersion(String databaseVersion) {
+ this.databaseVersion = databaseVersion;
+ this.__explicitlySet__.add("databaseVersion");
+ return this;
+ }
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @param workloadType the value to set
+ * @return this builder
+ */
+ public Builder workloadType(WorkloadType workloadType) {
+ this.workloadType = workloadType;
+ this.__explicitlySet__.add("workloadType");
+ return this;
+ }
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @param databaseName the value to set
+ * @return this builder
+ */
+ public Builder databaseName(String databaseName) {
+ this.databaseName = databaseName;
+ this.__explicitlySet__.add("databaseName");
+ return this;
+ }
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @param databaseId the value to set
+ * @return this builder
+ */
+ public Builder databaseId(String databaseId) {
+ this.databaseId = databaseId;
+ this.__explicitlySet__.add("databaseId");
+ return this;
+ }
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @param dbUniqueName the value to set
+ * @return this builder
+ */
+ public Builder dbUniqueName(String dbUniqueName) {
+ this.dbUniqueName = dbUniqueName;
+ this.__explicitlySet__.add("dbUniqueName");
+ return this;
+ }
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @param dbRole the value to set
+ * @return this builder
+ */
+ public Builder dbRole(DbRole dbRole) {
+ this.dbRole = dbRole;
+ this.__explicitlySet__.add("dbRole");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public BaseDatabaseHaDetails build() {
+ BaseDatabaseHaDetails model =
+ new BaseDatabaseHaDetails(
+ this.dbId,
+ this.compartmentId,
+ this.databaseType,
+ this.databaseSubType,
+ this.deploymentType,
+ this.databaseVersion,
+ this.workloadType,
+ this.databaseName,
+ this.databaseId,
+ this.dbUniqueName,
+ this.dbRole);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(BaseDatabaseHaDetails model) {
+ if (model.wasPropertyExplicitlySet("dbId")) {
+ this.dbId(model.getDbId());
+ }
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("databaseType")) {
+ this.databaseType(model.getDatabaseType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseSubType")) {
+ this.databaseSubType(model.getDatabaseSubType());
+ }
+ if (model.wasPropertyExplicitlySet("deploymentType")) {
+ this.deploymentType(model.getDeploymentType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseVersion")) {
+ this.databaseVersion(model.getDatabaseVersion());
+ }
+ if (model.wasPropertyExplicitlySet("workloadType")) {
+ this.workloadType(model.getWorkloadType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseName")) {
+ this.databaseName(model.getDatabaseName());
+ }
+ if (model.wasPropertyExplicitlySet("databaseId")) {
+ this.databaseId(model.getDatabaseId());
+ }
+ if (model.wasPropertyExplicitlySet("dbUniqueName")) {
+ this.dbUniqueName(model.getDbUniqueName());
+ }
+ if (model.wasPropertyExplicitlySet("dbRole")) {
+ this.dbRole(model.getDbRole());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private final String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbId() {
+ return dbId;
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private final DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @return the value
+ */
+ public DatabaseType getDatabaseType() {
+ return databaseType;
+ }
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private final DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ *
+ * @return the value
+ */
+ public DatabaseSubType getDatabaseSubType() {
+ return databaseSubType;
+ }
+
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private final DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @return the value
+ */
+ public DeploymentType getDeploymentType() {
+ return deploymentType;
+ }
+
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private final String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @return the value
+ */
+ public String getDatabaseVersion() {
+ return databaseVersion;
+ }
+
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private final WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @return the value
+ */
+ public WorkloadType getWorkloadType() {
+ return workloadType;
+ }
+
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private final String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDatabaseName() {
+ return databaseName;
+ }
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private final String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @return the value
+ */
+ public String getDatabaseId() {
+ return databaseId;
+ }
+
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private final String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbUniqueName() {
+ return dbUniqueName;
+ }
+
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private final DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @return the value
+ */
+ public DbRole getDbRole() {
+ return dbRole;
+ }
+
+ @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("BaseDatabaseHaDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("dbId=").append(String.valueOf(this.dbId));
+ sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", databaseType=").append(String.valueOf(this.databaseType));
+ sb.append(", databaseSubType=").append(String.valueOf(this.databaseSubType));
+ sb.append(", deploymentType=").append(String.valueOf(this.deploymentType));
+ sb.append(", databaseVersion=").append(String.valueOf(this.databaseVersion));
+ sb.append(", workloadType=").append(String.valueOf(this.workloadType));
+ sb.append(", databaseName=").append(String.valueOf(this.databaseName));
+ sb.append(", databaseId=").append(String.valueOf(this.databaseId));
+ sb.append(", dbUniqueName=").append(String.valueOf(this.dbUniqueName));
+ sb.append(", dbRole=").append(String.valueOf(this.dbRole));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof BaseDatabaseHaDetails)) {
+ return false;
+ }
+
+ BaseDatabaseHaDetails other = (BaseDatabaseHaDetails) o;
+ return java.util.Objects.equals(this.dbId, other.dbId)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.databaseType, other.databaseType)
+ && java.util.Objects.equals(this.databaseSubType, other.databaseSubType)
+ && java.util.Objects.equals(this.deploymentType, other.deploymentType)
+ && java.util.Objects.equals(this.databaseVersion, other.databaseVersion)
+ && java.util.Objects.equals(this.workloadType, other.workloadType)
+ && java.util.Objects.equals(this.databaseName, other.databaseName)
+ && java.util.Objects.equals(this.databaseId, other.databaseId)
+ && java.util.Objects.equals(this.dbUniqueName, other.dbUniqueName)
+ && java.util.Objects.equals(this.dbRole, other.dbRole)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.dbId == null ? 43 : this.dbId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.databaseType == null ? 43 : this.databaseType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseSubType == null ? 43 : this.databaseSubType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.deploymentType == null ? 43 : this.deploymentType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseVersion == null ? 43 : this.databaseVersion.hashCode());
+ result = (result * PRIME) + (this.workloadType == null ? 43 : this.workloadType.hashCode());
+ result = (result * PRIME) + (this.databaseName == null ? 43 : this.databaseName.hashCode());
+ result = (result * PRIME) + (this.databaseId == null ? 43 : this.databaseId.hashCode());
+ result = (result * PRIME) + (this.dbUniqueName == null ? 43 : this.dbUniqueName.hashCode());
+ result = (result * PRIME) + (this.dbRole == null ? 43 : this.dbRole.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/CreateExternalMySqlDatabaseConnectorDetails.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/CreateExternalMySqlDatabaseConnectorDetails.java
new file mode 100644
index 00000000000..ae56f3ed19e
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/CreateExternalMySqlDatabaseConnectorDetails.java
@@ -0,0 +1,165 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * Details for creating an external database connector.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateExternalMySqlDatabaseConnectorDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateExternalMySqlDatabaseConnectorDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"compartmentId", "connectorDetails"})
+ public CreateExternalMySqlDatabaseConnectorDetails(
+ String compartmentId, CreateMySqlDatabaseConnectorDetails connectorDetails) {
+ super();
+ this.compartmentId = compartmentId;
+ this.connectorDetails = connectorDetails;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** OCID of compartment for the External MySQL Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * OCID of compartment for the External MySQL Database.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("connectorDetails")
+ private CreateMySqlDatabaseConnectorDetails connectorDetails;
+
+ public Builder connectorDetails(CreateMySqlDatabaseConnectorDetails connectorDetails) {
+ this.connectorDetails = connectorDetails;
+ this.__explicitlySet__.add("connectorDetails");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateExternalMySqlDatabaseConnectorDetails build() {
+ CreateExternalMySqlDatabaseConnectorDetails model =
+ new CreateExternalMySqlDatabaseConnectorDetails(
+ this.compartmentId, this.connectorDetails);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateExternalMySqlDatabaseConnectorDetails model) {
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("connectorDetails")) {
+ this.connectorDetails(model.getConnectorDetails());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** OCID of compartment for the External MySQL Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * OCID of compartment for the External MySQL Database.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("connectorDetails")
+ private final CreateMySqlDatabaseConnectorDetails connectorDetails;
+
+ public CreateMySqlDatabaseConnectorDetails getConnectorDetails() {
+ return connectorDetails;
+ }
+
+ @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("CreateExternalMySqlDatabaseConnectorDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", connectorDetails=").append(String.valueOf(this.connectorDetails));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateExternalMySqlDatabaseConnectorDetails)) {
+ return false;
+ }
+
+ CreateExternalMySqlDatabaseConnectorDetails other =
+ (CreateExternalMySqlDatabaseConnectorDetails) o;
+ return java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.connectorDetails, other.connectorDetails)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.connectorDetails == null ? 43 : this.connectorDetails.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/CreateExternalMySqlDatabaseDetails.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/CreateExternalMySqlDatabaseDetails.java
new file mode 100644
index 00000000000..c10e571b730
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/CreateExternalMySqlDatabaseDetails.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * Details for creating an external database.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateExternalMySqlDatabaseDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateExternalMySqlDatabaseDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"compartmentId", "dbName"})
+ public CreateExternalMySqlDatabaseDetails(String compartmentId, String dbName) {
+ super();
+ this.compartmentId = compartmentId;
+ this.dbName = dbName;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** OCID of compartment for the External MySQL Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * OCID of compartment for the External MySQL Database.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+ /** Name of the External MySQL Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbName")
+ private String dbName;
+
+ /**
+ * Name of the External MySQL Database.
+ *
+ * @param dbName the value to set
+ * @return this builder
+ */
+ public Builder dbName(String dbName) {
+ this.dbName = dbName;
+ this.__explicitlySet__.add("dbName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateExternalMySqlDatabaseDetails build() {
+ CreateExternalMySqlDatabaseDetails model =
+ new CreateExternalMySqlDatabaseDetails(this.compartmentId, this.dbName);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateExternalMySqlDatabaseDetails model) {
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("dbName")) {
+ this.dbName(model.getDbName());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** OCID of compartment for the External MySQL Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * OCID of compartment for the External MySQL Database.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ /** Name of the External MySQL Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbName")
+ private final String dbName;
+
+ /**
+ * Name of the External MySQL Database.
+ *
+ * @return the value
+ */
+ public String getDbName() {
+ return dbName;
+ }
+
+ @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("CreateExternalMySqlDatabaseDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", dbName=").append(String.valueOf(this.dbName));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateExternalMySqlDatabaseDetails)) {
+ return false;
+ }
+
+ CreateExternalMySqlDatabaseDetails other = (CreateExternalMySqlDatabaseDetails) o;
+ return java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.dbName, other.dbName)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.dbName == null ? 43 : this.dbName.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/CreateMySqlDatabaseConnectorDetails.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/CreateMySqlDatabaseConnectorDetails.java
new file mode 100644
index 00000000000..7f723d8af2b
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/CreateMySqlDatabaseConnectorDetails.java
@@ -0,0 +1,415 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * Create Details of external database connector.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateMySqlDatabaseConnectorDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateMySqlDatabaseConnectorDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "displayName",
+ "macsAgentId",
+ "hostName",
+ "port",
+ "networkProtocol",
+ "externalDatabaseId",
+ "credentialType",
+ "sslSecretId"
+ })
+ public CreateMySqlDatabaseConnectorDetails(
+ String displayName,
+ String macsAgentId,
+ String hostName,
+ Integer port,
+ MySqlNetworkProtocolType networkProtocol,
+ String externalDatabaseId,
+ MySqlCredType credentialType,
+ String sslSecretId) {
+ super();
+ this.displayName = displayName;
+ this.macsAgentId = macsAgentId;
+ this.hostName = hostName;
+ this.port = port;
+ this.networkProtocol = networkProtocol;
+ this.externalDatabaseId = externalDatabaseId;
+ this.credentialType = credentialType;
+ this.sslSecretId = sslSecretId;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** External MySQL Database Connector Name. */
+ @com.fasterxml.jackson.annotation.JsonProperty("displayName")
+ private String displayName;
+
+ /**
+ * External MySQL Database Connector Name.
+ *
+ * @param displayName the value to set
+ * @return this builder
+ */
+ public Builder displayName(String displayName) {
+ this.displayName = displayName;
+ this.__explicitlySet__.add("displayName");
+ return this;
+ }
+ /** Agent Id of the MACS agent. */
+ @com.fasterxml.jackson.annotation.JsonProperty("macsAgentId")
+ private String macsAgentId;
+
+ /**
+ * Agent Id of the MACS agent.
+ *
+ * @param macsAgentId the value to set
+ * @return this builder
+ */
+ public Builder macsAgentId(String macsAgentId) {
+ this.macsAgentId = macsAgentId;
+ this.__explicitlySet__.add("macsAgentId");
+ return this;
+ }
+ /** Host name for Connector. */
+ @com.fasterxml.jackson.annotation.JsonProperty("hostName")
+ private String hostName;
+
+ /**
+ * Host name for Connector.
+ *
+ * @param hostName the value to set
+ * @return this builder
+ */
+ public Builder hostName(String hostName) {
+ this.hostName = hostName;
+ this.__explicitlySet__.add("hostName");
+ return this;
+ }
+ /** Port number to connect to External MySQL Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("port")
+ private Integer port;
+
+ /**
+ * Port number to connect to External MySQL Database.
+ *
+ * @param port the value to set
+ * @return this builder
+ */
+ public Builder port(Integer port) {
+ this.port = port;
+ this.__explicitlySet__.add("port");
+ return this;
+ }
+ /**
+ * Protocol to be used to connect to External MySQL Database; TCP, TCP with SSL or Socket.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("networkProtocol")
+ private MySqlNetworkProtocolType networkProtocol;
+
+ /**
+ * Protocol to be used to connect to External MySQL Database; TCP, TCP with SSL or Socket.
+ *
+ * @param networkProtocol the value to set
+ * @return this builder
+ */
+ public Builder networkProtocol(MySqlNetworkProtocolType networkProtocol) {
+ this.networkProtocol = networkProtocol;
+ this.__explicitlySet__.add("networkProtocol");
+ return this;
+ }
+ /** OCID of MySQL Database resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("externalDatabaseId")
+ private String externalDatabaseId;
+
+ /**
+ * OCID of MySQL Database resource.
+ *
+ * @param externalDatabaseId the value to set
+ * @return this builder
+ */
+ public Builder externalDatabaseId(String externalDatabaseId) {
+ this.externalDatabaseId = externalDatabaseId;
+ this.__explicitlySet__.add("externalDatabaseId");
+ return this;
+ }
+ /** Type of the credential. */
+ @com.fasterxml.jackson.annotation.JsonProperty("credentialType")
+ private MySqlCredType credentialType;
+
+ /**
+ * Type of the credential.
+ *
+ * @param credentialType the value to set
+ * @return this builder
+ */
+ public Builder credentialType(MySqlCredType credentialType) {
+ this.credentialType = credentialType;
+ this.__explicitlySet__.add("credentialType");
+ return this;
+ }
+ /** If using existing SSL secret to connect, OCID for the secret resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sslSecretId")
+ private String sslSecretId;
+
+ /**
+ * If using existing SSL secret to connect, OCID for the secret resource.
+ *
+ * @param sslSecretId the value to set
+ * @return this builder
+ */
+ public Builder sslSecretId(String sslSecretId) {
+ this.sslSecretId = sslSecretId;
+ this.__explicitlySet__.add("sslSecretId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateMySqlDatabaseConnectorDetails build() {
+ CreateMySqlDatabaseConnectorDetails model =
+ new CreateMySqlDatabaseConnectorDetails(
+ this.displayName,
+ this.macsAgentId,
+ this.hostName,
+ this.port,
+ this.networkProtocol,
+ this.externalDatabaseId,
+ this.credentialType,
+ this.sslSecretId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateMySqlDatabaseConnectorDetails model) {
+ if (model.wasPropertyExplicitlySet("displayName")) {
+ this.displayName(model.getDisplayName());
+ }
+ if (model.wasPropertyExplicitlySet("macsAgentId")) {
+ this.macsAgentId(model.getMacsAgentId());
+ }
+ if (model.wasPropertyExplicitlySet("hostName")) {
+ this.hostName(model.getHostName());
+ }
+ if (model.wasPropertyExplicitlySet("port")) {
+ this.port(model.getPort());
+ }
+ if (model.wasPropertyExplicitlySet("networkProtocol")) {
+ this.networkProtocol(model.getNetworkProtocol());
+ }
+ if (model.wasPropertyExplicitlySet("externalDatabaseId")) {
+ this.externalDatabaseId(model.getExternalDatabaseId());
+ }
+ if (model.wasPropertyExplicitlySet("credentialType")) {
+ this.credentialType(model.getCredentialType());
+ }
+ if (model.wasPropertyExplicitlySet("sslSecretId")) {
+ this.sslSecretId(model.getSslSecretId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** External MySQL Database Connector Name. */
+ @com.fasterxml.jackson.annotation.JsonProperty("displayName")
+ private final String displayName;
+
+ /**
+ * External MySQL Database Connector Name.
+ *
+ * @return the value
+ */
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ /** Agent Id of the MACS agent. */
+ @com.fasterxml.jackson.annotation.JsonProperty("macsAgentId")
+ private final String macsAgentId;
+
+ /**
+ * Agent Id of the MACS agent.
+ *
+ * @return the value
+ */
+ public String getMacsAgentId() {
+ return macsAgentId;
+ }
+
+ /** Host name for Connector. */
+ @com.fasterxml.jackson.annotation.JsonProperty("hostName")
+ private final String hostName;
+
+ /**
+ * Host name for Connector.
+ *
+ * @return the value
+ */
+ public String getHostName() {
+ return hostName;
+ }
+
+ /** Port number to connect to External MySQL Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("port")
+ private final Integer port;
+
+ /**
+ * Port number to connect to External MySQL Database.
+ *
+ * @return the value
+ */
+ public Integer getPort() {
+ return port;
+ }
+
+ /** Protocol to be used to connect to External MySQL Database; TCP, TCP with SSL or Socket. */
+ @com.fasterxml.jackson.annotation.JsonProperty("networkProtocol")
+ private final MySqlNetworkProtocolType networkProtocol;
+
+ /**
+ * Protocol to be used to connect to External MySQL Database; TCP, TCP with SSL or Socket.
+ *
+ * @return the value
+ */
+ public MySqlNetworkProtocolType getNetworkProtocol() {
+ return networkProtocol;
+ }
+
+ /** OCID of MySQL Database resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("externalDatabaseId")
+ private final String externalDatabaseId;
+
+ /**
+ * OCID of MySQL Database resource.
+ *
+ * @return the value
+ */
+ public String getExternalDatabaseId() {
+ return externalDatabaseId;
+ }
+
+ /** Type of the credential. */
+ @com.fasterxml.jackson.annotation.JsonProperty("credentialType")
+ private final MySqlCredType credentialType;
+
+ /**
+ * Type of the credential.
+ *
+ * @return the value
+ */
+ public MySqlCredType getCredentialType() {
+ return credentialType;
+ }
+
+ /** If using existing SSL secret to connect, OCID for the secret resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sslSecretId")
+ private final String sslSecretId;
+
+ /**
+ * If using existing SSL secret to connect, OCID for the secret resource.
+ *
+ * @return the value
+ */
+ public String getSslSecretId() {
+ return sslSecretId;
+ }
+
+ @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("CreateMySqlDatabaseConnectorDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("displayName=").append(String.valueOf(this.displayName));
+ sb.append(", macsAgentId=").append(String.valueOf(this.macsAgentId));
+ sb.append(", hostName=").append(String.valueOf(this.hostName));
+ sb.append(", port=").append(String.valueOf(this.port));
+ sb.append(", networkProtocol=").append(String.valueOf(this.networkProtocol));
+ sb.append(", externalDatabaseId=").append(String.valueOf(this.externalDatabaseId));
+ sb.append(", credentialType=").append(String.valueOf(this.credentialType));
+ sb.append(", sslSecretId=").append(String.valueOf(this.sslSecretId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateMySqlDatabaseConnectorDetails)) {
+ return false;
+ }
+
+ CreateMySqlDatabaseConnectorDetails other = (CreateMySqlDatabaseConnectorDetails) o;
+ return java.util.Objects.equals(this.displayName, other.displayName)
+ && java.util.Objects.equals(this.macsAgentId, other.macsAgentId)
+ && java.util.Objects.equals(this.hostName, other.hostName)
+ && java.util.Objects.equals(this.port, other.port)
+ && java.util.Objects.equals(this.networkProtocol, other.networkProtocol)
+ && java.util.Objects.equals(this.externalDatabaseId, other.externalDatabaseId)
+ && java.util.Objects.equals(this.credentialType, other.credentialType)
+ && java.util.Objects.equals(this.sslSecretId, other.sslSecretId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode());
+ result = (result * PRIME) + (this.macsAgentId == null ? 43 : this.macsAgentId.hashCode());
+ result = (result * PRIME) + (this.hostName == null ? 43 : this.hostName.hashCode());
+ result = (result * PRIME) + (this.port == null ? 43 : this.port.hashCode());
+ result =
+ (result * PRIME)
+ + (this.networkProtocol == null ? 43 : this.networkProtocol.hashCode());
+ result =
+ (result * PRIME)
+ + (this.externalDatabaseId == null
+ ? 43
+ : this.externalDatabaseId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.credentialType == null ? 43 : this.credentialType.hashCode());
+ result = (result * PRIME) + (this.sslSecretId == null ? 43 : this.sslSecretId.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseBackupMetrics.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseBackupMetrics.java
new file mode 100644
index 00000000000..219fdc22834
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseBackupMetrics.java
@@ -0,0 +1,806 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * The details of the backup metrics for a single database.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DatabaseBackupMetrics.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DatabaseBackupMetrics
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "retentionPeriodInDays",
+ "isAutomaticBackupEnabled",
+ "timeSeriesMetrics",
+ "isDataguardEnabled",
+ "lastBackupSummary",
+ "metrics",
+ "dbId",
+ "compartmentId",
+ "databaseType",
+ "databaseSubType",
+ "deploymentType",
+ "databaseVersion",
+ "workloadType",
+ "databaseName",
+ "databaseId",
+ "dbUniqueName",
+ "dbRole"
+ })
+ public DatabaseBackupMetrics(
+ String retentionPeriodInDays,
+ Boolean isAutomaticBackupEnabled,
+ java.util.List timeSeriesMetrics,
+ Boolean isDataguardEnabled,
+ DatabaseBackupSummary lastBackupSummary,
+ java.util.List metrics,
+ String dbId,
+ String compartmentId,
+ DatabaseType databaseType,
+ DatabaseSubType databaseSubType,
+ DeploymentType deploymentType,
+ String databaseVersion,
+ WorkloadType workloadType,
+ String databaseName,
+ String databaseId,
+ String dbUniqueName,
+ DbRole dbRole) {
+ super();
+ this.retentionPeriodInDays = retentionPeriodInDays;
+ this.isAutomaticBackupEnabled = isAutomaticBackupEnabled;
+ this.timeSeriesMetrics = timeSeriesMetrics;
+ this.isDataguardEnabled = isDataguardEnabled;
+ this.lastBackupSummary = lastBackupSummary;
+ this.metrics = metrics;
+ this.dbId = dbId;
+ this.compartmentId = compartmentId;
+ this.databaseType = databaseType;
+ this.databaseSubType = databaseSubType;
+ this.deploymentType = deploymentType;
+ this.databaseVersion = databaseVersion;
+ this.workloadType = workloadType;
+ this.databaseName = databaseName;
+ this.databaseId = databaseId;
+ this.dbUniqueName = dbUniqueName;
+ this.dbRole = dbRole;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The retention period of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriodInDays")
+ private String retentionPeriodInDays;
+
+ /**
+ * The retention period of the database.
+ *
+ * @param retentionPeriodInDays the value to set
+ * @return this builder
+ */
+ public Builder retentionPeriodInDays(String retentionPeriodInDays) {
+ this.retentionPeriodInDays = retentionPeriodInDays;
+ this.__explicitlySet__.add("retentionPeriodInDays");
+ return this;
+ }
+ /**
+ * Indicates whether automatic backup is enabled or not. This is only applicable for cloud
+ * databases.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isAutomaticBackupEnabled")
+ private Boolean isAutomaticBackupEnabled;
+
+ /**
+ * Indicates whether automatic backup is enabled or not. This is only applicable for cloud
+ * databases.
+ *
+ * @param isAutomaticBackupEnabled the value to set
+ * @return this builder
+ */
+ public Builder isAutomaticBackupEnabled(Boolean isAutomaticBackupEnabled) {
+ this.isAutomaticBackupEnabled = isAutomaticBackupEnabled;
+ this.__explicitlySet__.add("isAutomaticBackupEnabled");
+ return this;
+ }
+ /** The array of metric values for different timestamps. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeSeriesMetrics")
+ private java.util.List timeSeriesMetrics;
+
+ /**
+ * The array of metric values for different timestamps.
+ *
+ * @param timeSeriesMetrics the value to set
+ * @return this builder
+ */
+ public Builder timeSeriesMetrics(
+ java.util.List timeSeriesMetrics) {
+ this.timeSeriesMetrics = timeSeriesMetrics;
+ this.__explicitlySet__.add("timeSeriesMetrics");
+ return this;
+ }
+ /** Indicates whether Data Guard is enabled for the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isDataguardEnabled")
+ private Boolean isDataguardEnabled;
+
+ /**
+ * Indicates whether Data Guard is enabled for the database.
+ *
+ * @param isDataguardEnabled the value to set
+ * @return this builder
+ */
+ public Builder isDataguardEnabled(Boolean isDataguardEnabled) {
+ this.isDataguardEnabled = isDataguardEnabled;
+ this.__explicitlySet__.add("isDataguardEnabled");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("lastBackupSummary")
+ private DatabaseBackupSummary lastBackupSummary;
+
+ public Builder lastBackupSummary(DatabaseBackupSummary lastBackupSummary) {
+ this.lastBackupSummary = lastBackupSummary;
+ this.__explicitlySet__.add("lastBackupSummary");
+ return this;
+ }
+ /** A list of database health metrics such as BackupDuration and BackupSize. */
+ @com.fasterxml.jackson.annotation.JsonProperty("metrics")
+ private java.util.List metrics;
+
+ /**
+ * A list of database health metrics such as BackupDuration and BackupSize.
+ *
+ * @param metrics the value to set
+ * @return this builder
+ */
+ public Builder metrics(java.util.List metrics) {
+ this.metrics = metrics;
+ this.__explicitlySet__.add("metrics");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @param dbId the value to set
+ * @return this builder
+ */
+ public Builder dbId(String dbId) {
+ this.dbId = dbId;
+ this.__explicitlySet__.add("dbId");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @param databaseType the value to set
+ * @return this builder
+ */
+ public Builder databaseType(DatabaseType databaseType) {
+ this.databaseType = databaseType;
+ this.__explicitlySet__.add("databaseType");
+ return this;
+ }
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ *
+ * @param databaseSubType the value to set
+ * @return this builder
+ */
+ public Builder databaseSubType(DatabaseSubType databaseSubType) {
+ this.databaseSubType = databaseSubType;
+ this.__explicitlySet__.add("databaseSubType");
+ return this;
+ }
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @param deploymentType the value to set
+ * @return this builder
+ */
+ public Builder deploymentType(DeploymentType deploymentType) {
+ this.deploymentType = deploymentType;
+ this.__explicitlySet__.add("deploymentType");
+ return this;
+ }
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @param databaseVersion the value to set
+ * @return this builder
+ */
+ public Builder databaseVersion(String databaseVersion) {
+ this.databaseVersion = databaseVersion;
+ this.__explicitlySet__.add("databaseVersion");
+ return this;
+ }
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @param workloadType the value to set
+ * @return this builder
+ */
+ public Builder workloadType(WorkloadType workloadType) {
+ this.workloadType = workloadType;
+ this.__explicitlySet__.add("workloadType");
+ return this;
+ }
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @param databaseName the value to set
+ * @return this builder
+ */
+ public Builder databaseName(String databaseName) {
+ this.databaseName = databaseName;
+ this.__explicitlySet__.add("databaseName");
+ return this;
+ }
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @param databaseId the value to set
+ * @return this builder
+ */
+ public Builder databaseId(String databaseId) {
+ this.databaseId = databaseId;
+ this.__explicitlySet__.add("databaseId");
+ return this;
+ }
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @param dbUniqueName the value to set
+ * @return this builder
+ */
+ public Builder dbUniqueName(String dbUniqueName) {
+ this.dbUniqueName = dbUniqueName;
+ this.__explicitlySet__.add("dbUniqueName");
+ return this;
+ }
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @param dbRole the value to set
+ * @return this builder
+ */
+ public Builder dbRole(DbRole dbRole) {
+ this.dbRole = dbRole;
+ this.__explicitlySet__.add("dbRole");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DatabaseBackupMetrics build() {
+ DatabaseBackupMetrics model =
+ new DatabaseBackupMetrics(
+ this.retentionPeriodInDays,
+ this.isAutomaticBackupEnabled,
+ this.timeSeriesMetrics,
+ this.isDataguardEnabled,
+ this.lastBackupSummary,
+ this.metrics,
+ this.dbId,
+ this.compartmentId,
+ this.databaseType,
+ this.databaseSubType,
+ this.deploymentType,
+ this.databaseVersion,
+ this.workloadType,
+ this.databaseName,
+ this.databaseId,
+ this.dbUniqueName,
+ this.dbRole);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DatabaseBackupMetrics model) {
+ if (model.wasPropertyExplicitlySet("retentionPeriodInDays")) {
+ this.retentionPeriodInDays(model.getRetentionPeriodInDays());
+ }
+ if (model.wasPropertyExplicitlySet("isAutomaticBackupEnabled")) {
+ this.isAutomaticBackupEnabled(model.getIsAutomaticBackupEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("timeSeriesMetrics")) {
+ this.timeSeriesMetrics(model.getTimeSeriesMetrics());
+ }
+ if (model.wasPropertyExplicitlySet("isDataguardEnabled")) {
+ this.isDataguardEnabled(model.getIsDataguardEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("lastBackupSummary")) {
+ this.lastBackupSummary(model.getLastBackupSummary());
+ }
+ if (model.wasPropertyExplicitlySet("metrics")) {
+ this.metrics(model.getMetrics());
+ }
+ if (model.wasPropertyExplicitlySet("dbId")) {
+ this.dbId(model.getDbId());
+ }
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("databaseType")) {
+ this.databaseType(model.getDatabaseType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseSubType")) {
+ this.databaseSubType(model.getDatabaseSubType());
+ }
+ if (model.wasPropertyExplicitlySet("deploymentType")) {
+ this.deploymentType(model.getDeploymentType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseVersion")) {
+ this.databaseVersion(model.getDatabaseVersion());
+ }
+ if (model.wasPropertyExplicitlySet("workloadType")) {
+ this.workloadType(model.getWorkloadType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseName")) {
+ this.databaseName(model.getDatabaseName());
+ }
+ if (model.wasPropertyExplicitlySet("databaseId")) {
+ this.databaseId(model.getDatabaseId());
+ }
+ if (model.wasPropertyExplicitlySet("dbUniqueName")) {
+ this.dbUniqueName(model.getDbUniqueName());
+ }
+ if (model.wasPropertyExplicitlySet("dbRole")) {
+ this.dbRole(model.getDbRole());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** The retention period of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriodInDays")
+ private final String retentionPeriodInDays;
+
+ /**
+ * The retention period of the database.
+ *
+ * @return the value
+ */
+ public String getRetentionPeriodInDays() {
+ return retentionPeriodInDays;
+ }
+
+ /**
+ * Indicates whether automatic backup is enabled or not. This is only applicable for cloud
+ * databases.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isAutomaticBackupEnabled")
+ private final Boolean isAutomaticBackupEnabled;
+
+ /**
+ * Indicates whether automatic backup is enabled or not. This is only applicable for cloud
+ * databases.
+ *
+ * @return the value
+ */
+ public Boolean getIsAutomaticBackupEnabled() {
+ return isAutomaticBackupEnabled;
+ }
+
+ /** The array of metric values for different timestamps. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeSeriesMetrics")
+ private final java.util.List timeSeriesMetrics;
+
+ /**
+ * The array of metric values for different timestamps.
+ *
+ * @return the value
+ */
+ public java.util.List getTimeSeriesMetrics() {
+ return timeSeriesMetrics;
+ }
+
+ /** Indicates whether Data Guard is enabled for the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isDataguardEnabled")
+ private final Boolean isDataguardEnabled;
+
+ /**
+ * Indicates whether Data Guard is enabled for the database.
+ *
+ * @return the value
+ */
+ public Boolean getIsDataguardEnabled() {
+ return isDataguardEnabled;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("lastBackupSummary")
+ private final DatabaseBackupSummary lastBackupSummary;
+
+ public DatabaseBackupSummary getLastBackupSummary() {
+ return lastBackupSummary;
+ }
+
+ /** A list of database health metrics such as BackupDuration and BackupSize. */
+ @com.fasterxml.jackson.annotation.JsonProperty("metrics")
+ private final java.util.List metrics;
+
+ /**
+ * A list of database health metrics such as BackupDuration and BackupSize.
+ *
+ * @return the value
+ */
+ public java.util.List getMetrics() {
+ return metrics;
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private final String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbId() {
+ return dbId;
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private final DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @return the value
+ */
+ public DatabaseType getDatabaseType() {
+ return databaseType;
+ }
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private final DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ *
+ * @return the value
+ */
+ public DatabaseSubType getDatabaseSubType() {
+ return databaseSubType;
+ }
+
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private final DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @return the value
+ */
+ public DeploymentType getDeploymentType() {
+ return deploymentType;
+ }
+
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private final String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @return the value
+ */
+ public String getDatabaseVersion() {
+ return databaseVersion;
+ }
+
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private final WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @return the value
+ */
+ public WorkloadType getWorkloadType() {
+ return workloadType;
+ }
+
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private final String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDatabaseName() {
+ return databaseName;
+ }
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private final String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @return the value
+ */
+ public String getDatabaseId() {
+ return databaseId;
+ }
+
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private final String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbUniqueName() {
+ return dbUniqueName;
+ }
+
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private final DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @return the value
+ */
+ public DbRole getDbRole() {
+ return dbRole;
+ }
+
+ @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("DatabaseBackupMetrics(");
+ sb.append("super=").append(super.toString());
+ sb.append("retentionPeriodInDays=").append(String.valueOf(this.retentionPeriodInDays));
+ sb.append(", isAutomaticBackupEnabled=")
+ .append(String.valueOf(this.isAutomaticBackupEnabled));
+ sb.append(", timeSeriesMetrics=").append(String.valueOf(this.timeSeriesMetrics));
+ sb.append(", isDataguardEnabled=").append(String.valueOf(this.isDataguardEnabled));
+ sb.append(", lastBackupSummary=").append(String.valueOf(this.lastBackupSummary));
+ sb.append(", metrics=").append(String.valueOf(this.metrics));
+ sb.append(", dbId=").append(String.valueOf(this.dbId));
+ sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", databaseType=").append(String.valueOf(this.databaseType));
+ sb.append(", databaseSubType=").append(String.valueOf(this.databaseSubType));
+ sb.append(", deploymentType=").append(String.valueOf(this.deploymentType));
+ sb.append(", databaseVersion=").append(String.valueOf(this.databaseVersion));
+ sb.append(", workloadType=").append(String.valueOf(this.workloadType));
+ sb.append(", databaseName=").append(String.valueOf(this.databaseName));
+ sb.append(", databaseId=").append(String.valueOf(this.databaseId));
+ sb.append(", dbUniqueName=").append(String.valueOf(this.dbUniqueName));
+ sb.append(", dbRole=").append(String.valueOf(this.dbRole));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DatabaseBackupMetrics)) {
+ return false;
+ }
+
+ DatabaseBackupMetrics other = (DatabaseBackupMetrics) o;
+ return java.util.Objects.equals(this.retentionPeriodInDays, other.retentionPeriodInDays)
+ && java.util.Objects.equals(
+ this.isAutomaticBackupEnabled, other.isAutomaticBackupEnabled)
+ && java.util.Objects.equals(this.timeSeriesMetrics, other.timeSeriesMetrics)
+ && java.util.Objects.equals(this.isDataguardEnabled, other.isDataguardEnabled)
+ && java.util.Objects.equals(this.lastBackupSummary, other.lastBackupSummary)
+ && java.util.Objects.equals(this.metrics, other.metrics)
+ && java.util.Objects.equals(this.dbId, other.dbId)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.databaseType, other.databaseType)
+ && java.util.Objects.equals(this.databaseSubType, other.databaseSubType)
+ && java.util.Objects.equals(this.deploymentType, other.deploymentType)
+ && java.util.Objects.equals(this.databaseVersion, other.databaseVersion)
+ && java.util.Objects.equals(this.workloadType, other.workloadType)
+ && java.util.Objects.equals(this.databaseName, other.databaseName)
+ && java.util.Objects.equals(this.databaseId, other.databaseId)
+ && java.util.Objects.equals(this.dbUniqueName, other.dbUniqueName)
+ && java.util.Objects.equals(this.dbRole, other.dbRole)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.retentionPeriodInDays == null
+ ? 43
+ : this.retentionPeriodInDays.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isAutomaticBackupEnabled == null
+ ? 43
+ : this.isAutomaticBackupEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeSeriesMetrics == null ? 43 : this.timeSeriesMetrics.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isDataguardEnabled == null
+ ? 43
+ : this.isDataguardEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.lastBackupSummary == null ? 43 : this.lastBackupSummary.hashCode());
+ result = (result * PRIME) + (this.metrics == null ? 43 : this.metrics.hashCode());
+ result = (result * PRIME) + (this.dbId == null ? 43 : this.dbId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.databaseType == null ? 43 : this.databaseType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseSubType == null ? 43 : this.databaseSubType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.deploymentType == null ? 43 : this.deploymentType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseVersion == null ? 43 : this.databaseVersion.hashCode());
+ result = (result * PRIME) + (this.workloadType == null ? 43 : this.workloadType.hashCode());
+ result = (result * PRIME) + (this.databaseName == null ? 43 : this.databaseName.hashCode());
+ result = (result * PRIME) + (this.databaseId == null ? 43 : this.databaseId.hashCode());
+ result = (result * PRIME) + (this.dbUniqueName == null ? 43 : this.dbUniqueName.hashCode());
+ result = (result * PRIME) + (this.dbRole == null ? 43 : this.dbRole.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseBackupSummary.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseBackupSummary.java
new file mode 100644
index 00000000000..883f13e9650
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseBackupSummary.java
@@ -0,0 +1,402 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * The summary of the High Availability (HA) and backup for a database.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DatabaseBackupSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DatabaseBackupSummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "backupStatus",
+ "timeBackupCompleted",
+ "backupDurationInSeconds",
+ "backupType",
+ "backupDestination",
+ "backupSizeInGBs"
+ })
+ public DatabaseBackupSummary(
+ String backupStatus,
+ java.util.Date timeBackupCompleted,
+ Integer backupDurationInSeconds,
+ String backupType,
+ BackupDestination backupDestination,
+ Float backupSizeInGBs) {
+ super();
+ this.backupStatus = backupStatus;
+ this.timeBackupCompleted = timeBackupCompleted;
+ this.backupDurationInSeconds = backupDurationInSeconds;
+ this.backupType = backupType;
+ this.backupDestination = backupDestination;
+ this.backupSizeInGBs = backupSizeInGBs;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The backup status of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupStatus")
+ private String backupStatus;
+
+ /**
+ * The backup status of the database.
+ *
+ * @param backupStatus the value to set
+ * @return this builder
+ */
+ public Builder backupStatus(String backupStatus) {
+ this.backupStatus = backupStatus;
+ this.__explicitlySet__.add("backupStatus");
+ return this;
+ }
+ /**
+ * The database backup completion date and time in UTC in ISO-8601 format, which is
+ * "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeBackupCompleted")
+ private java.util.Date timeBackupCompleted;
+
+ /**
+ * The database backup completion date and time in UTC in ISO-8601 format, which is
+ * "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
+ *
+ * @param timeBackupCompleted the value to set
+ * @return this builder
+ */
+ public Builder timeBackupCompleted(java.util.Date timeBackupCompleted) {
+ this.timeBackupCompleted = timeBackupCompleted;
+ this.__explicitlySet__.add("timeBackupCompleted");
+ return this;
+ }
+ /** The backup duration of the database in seconds. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupDurationInSeconds")
+ private Integer backupDurationInSeconds;
+
+ /**
+ * The backup duration of the database in seconds.
+ *
+ * @param backupDurationInSeconds the value to set
+ * @return this builder
+ */
+ public Builder backupDurationInSeconds(Integer backupDurationInSeconds) {
+ this.backupDurationInSeconds = backupDurationInSeconds;
+ this.__explicitlySet__.add("backupDurationInSeconds");
+ return this;
+ }
+ /** The backup type of the database (FULL/INCREMENTAL). */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupType")
+ private String backupType;
+
+ /**
+ * The backup type of the database (FULL/INCREMENTAL).
+ *
+ * @param backupType the value to set
+ * @return this builder
+ */
+ public Builder backupType(String backupType) {
+ this.backupType = backupType;
+ this.__explicitlySet__.add("backupType");
+ return this;
+ }
+ /** The backup destination of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupDestination")
+ private BackupDestination backupDestination;
+
+ /**
+ * The backup destination of the database.
+ *
+ * @param backupDestination the value to set
+ * @return this builder
+ */
+ public Builder backupDestination(BackupDestination backupDestination) {
+ this.backupDestination = backupDestination;
+ this.__explicitlySet__.add("backupDestination");
+ return this;
+ }
+ /** The backup size of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupSizeInGBs")
+ private Float backupSizeInGBs;
+
+ /**
+ * The backup size of the database.
+ *
+ * @param backupSizeInGBs the value to set
+ * @return this builder
+ */
+ public Builder backupSizeInGBs(Float backupSizeInGBs) {
+ this.backupSizeInGBs = backupSizeInGBs;
+ this.__explicitlySet__.add("backupSizeInGBs");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DatabaseBackupSummary build() {
+ DatabaseBackupSummary model =
+ new DatabaseBackupSummary(
+ this.backupStatus,
+ this.timeBackupCompleted,
+ this.backupDurationInSeconds,
+ this.backupType,
+ this.backupDestination,
+ this.backupSizeInGBs);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DatabaseBackupSummary model) {
+ if (model.wasPropertyExplicitlySet("backupStatus")) {
+ this.backupStatus(model.getBackupStatus());
+ }
+ if (model.wasPropertyExplicitlySet("timeBackupCompleted")) {
+ this.timeBackupCompleted(model.getTimeBackupCompleted());
+ }
+ if (model.wasPropertyExplicitlySet("backupDurationInSeconds")) {
+ this.backupDurationInSeconds(model.getBackupDurationInSeconds());
+ }
+ if (model.wasPropertyExplicitlySet("backupType")) {
+ this.backupType(model.getBackupType());
+ }
+ if (model.wasPropertyExplicitlySet("backupDestination")) {
+ this.backupDestination(model.getBackupDestination());
+ }
+ if (model.wasPropertyExplicitlySet("backupSizeInGBs")) {
+ this.backupSizeInGBs(model.getBackupSizeInGBs());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** The backup status of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupStatus")
+ private final String backupStatus;
+
+ /**
+ * The backup status of the database.
+ *
+ * @return the value
+ */
+ public String getBackupStatus() {
+ return backupStatus;
+ }
+
+ /**
+ * The database backup completion date and time in UTC in ISO-8601 format, which is
+ * "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeBackupCompleted")
+ private final java.util.Date timeBackupCompleted;
+
+ /**
+ * The database backup completion date and time in UTC in ISO-8601 format, which is
+ * "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeBackupCompleted() {
+ return timeBackupCompleted;
+ }
+
+ /** The backup duration of the database in seconds. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupDurationInSeconds")
+ private final Integer backupDurationInSeconds;
+
+ /**
+ * The backup duration of the database in seconds.
+ *
+ * @return the value
+ */
+ public Integer getBackupDurationInSeconds() {
+ return backupDurationInSeconds;
+ }
+
+ /** The backup type of the database (FULL/INCREMENTAL). */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupType")
+ private final String backupType;
+
+ /**
+ * The backup type of the database (FULL/INCREMENTAL).
+ *
+ * @return the value
+ */
+ public String getBackupType() {
+ return backupType;
+ }
+
+ /** The backup destination of the database. */
+ public enum BackupDestination implements com.oracle.bmc.http.internal.BmcEnum {
+ Disk("DISK"),
+ Tape("TAPE"),
+ Nfs("NFS"),
+ Local("LOCAL"),
+ Dbrs("DBRS"),
+ ObjectStore("OBJECT_STORE"),
+ RecoveryAppliance("RECOVERY_APPLIANCE"),
+
+ /**
+ * 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(BackupDestination.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (BackupDestination v : BackupDestination.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ BackupDestination(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static BackupDestination create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'BackupDestination', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** The backup destination of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupDestination")
+ private final BackupDestination backupDestination;
+
+ /**
+ * The backup destination of the database.
+ *
+ * @return the value
+ */
+ public BackupDestination getBackupDestination() {
+ return backupDestination;
+ }
+
+ /** The backup size of the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupSizeInGBs")
+ private final Float backupSizeInGBs;
+
+ /**
+ * The backup size of the database.
+ *
+ * @return the value
+ */
+ public Float getBackupSizeInGBs() {
+ return backupSizeInGBs;
+ }
+
+ @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("DatabaseBackupSummary(");
+ sb.append("super=").append(super.toString());
+ sb.append("backupStatus=").append(String.valueOf(this.backupStatus));
+ sb.append(", timeBackupCompleted=").append(String.valueOf(this.timeBackupCompleted));
+ sb.append(", backupDurationInSeconds=")
+ .append(String.valueOf(this.backupDurationInSeconds));
+ sb.append(", backupType=").append(String.valueOf(this.backupType));
+ sb.append(", backupDestination=").append(String.valueOf(this.backupDestination));
+ sb.append(", backupSizeInGBs=").append(String.valueOf(this.backupSizeInGBs));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DatabaseBackupSummary)) {
+ return false;
+ }
+
+ DatabaseBackupSummary other = (DatabaseBackupSummary) o;
+ return java.util.Objects.equals(this.backupStatus, other.backupStatus)
+ && java.util.Objects.equals(this.timeBackupCompleted, other.timeBackupCompleted)
+ && java.util.Objects.equals(
+ this.backupDurationInSeconds, other.backupDurationInSeconds)
+ && java.util.Objects.equals(this.backupType, other.backupType)
+ && java.util.Objects.equals(this.backupDestination, other.backupDestination)
+ && java.util.Objects.equals(this.backupSizeInGBs, other.backupSizeInGBs)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.backupStatus == null ? 43 : this.backupStatus.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeBackupCompleted == null
+ ? 43
+ : this.timeBackupCompleted.hashCode());
+ result =
+ (result * PRIME)
+ + (this.backupDurationInSeconds == null
+ ? 43
+ : this.backupDurationInSeconds.hashCode());
+ result = (result * PRIME) + (this.backupType == null ? 43 : this.backupType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.backupDestination == null ? 43 : this.backupDestination.hashCode());
+ result =
+ (result * PRIME)
+ + (this.backupSizeInGBs == null ? 43 : this.backupSizeInGBs.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseFleetBackupMetrics.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseFleetBackupMetrics.java
new file mode 100644
index 00000000000..8bd6c9d243c
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseFleetBackupMetrics.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * The details of the backup metrics for the fleet of databases.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DatabaseFleetBackupMetrics.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DatabaseFleetBackupMetrics
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"backupMetrics"})
+ public DatabaseFleetBackupMetrics(java.util.List backupMetrics) {
+ super();
+ this.backupMetrics = backupMetrics;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** A list of backup metrics for the databases present in the fleet. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupMetrics")
+ private java.util.List backupMetrics;
+
+ /**
+ * A list of backup metrics for the databases present in the fleet.
+ *
+ * @param backupMetrics the value to set
+ * @return this builder
+ */
+ public Builder backupMetrics(java.util.List backupMetrics) {
+ this.backupMetrics = backupMetrics;
+ this.__explicitlySet__.add("backupMetrics");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DatabaseFleetBackupMetrics build() {
+ DatabaseFleetBackupMetrics model = new DatabaseFleetBackupMetrics(this.backupMetrics);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DatabaseFleetBackupMetrics model) {
+ if (model.wasPropertyExplicitlySet("backupMetrics")) {
+ this.backupMetrics(model.getBackupMetrics());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** A list of backup metrics for the databases present in the fleet. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupMetrics")
+ private final java.util.List backupMetrics;
+
+ /**
+ * A list of backup metrics for the databases present in the fleet.
+ *
+ * @return the value
+ */
+ public java.util.List getBackupMetrics() {
+ return backupMetrics;
+ }
+
+ @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("DatabaseFleetBackupMetrics(");
+ sb.append("super=").append(super.toString());
+ sb.append("backupMetrics=").append(String.valueOf(this.backupMetrics));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DatabaseFleetBackupMetrics)) {
+ return false;
+ }
+
+ DatabaseFleetBackupMetrics other = (DatabaseFleetBackupMetrics) o;
+ return java.util.Objects.equals(this.backupMetrics, other.backupMetrics)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.backupMetrics == null ? 43 : this.backupMetrics.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseFleetDataguardMetrics.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseFleetDataguardMetrics.java
new file mode 100644
index 00000000000..383e878eddc
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseFleetDataguardMetrics.java
@@ -0,0 +1,137 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * The list of Oracle Data Guard-enabled databases in the fleet.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DatabaseFleetDataguardMetrics.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DatabaseFleetDataguardMetrics
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"dataguardMetrics"})
+ public DatabaseFleetDataguardMetrics(java.util.List dataguardMetrics) {
+ super();
+ this.dataguardMetrics = dataguardMetrics;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The Data Guard usage metrics for the Oracle Data Guard-enabled databases. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dataguardMetrics")
+ private java.util.List dataguardMetrics;
+
+ /**
+ * The Data Guard usage metrics for the Oracle Data Guard-enabled databases.
+ *
+ * @param dataguardMetrics the value to set
+ * @return this builder
+ */
+ public Builder dataguardMetrics(java.util.List dataguardMetrics) {
+ this.dataguardMetrics = dataguardMetrics;
+ this.__explicitlySet__.add("dataguardMetrics");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DatabaseFleetDataguardMetrics build() {
+ DatabaseFleetDataguardMetrics model =
+ new DatabaseFleetDataguardMetrics(this.dataguardMetrics);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DatabaseFleetDataguardMetrics model) {
+ if (model.wasPropertyExplicitlySet("dataguardMetrics")) {
+ this.dataguardMetrics(model.getDataguardMetrics());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** The Data Guard usage metrics for the Oracle Data Guard-enabled databases. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dataguardMetrics")
+ private final java.util.List dataguardMetrics;
+
+ /**
+ * The Data Guard usage metrics for the Oracle Data Guard-enabled databases.
+ *
+ * @return the value
+ */
+ public java.util.List getDataguardMetrics() {
+ return dataguardMetrics;
+ }
+
+ @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("DatabaseFleetDataguardMetrics(");
+ sb.append("super=").append(super.toString());
+ sb.append("dataguardMetrics=").append(String.valueOf(this.dataguardMetrics));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DatabaseFleetDataguardMetrics)) {
+ return false;
+ }
+
+ DatabaseFleetDataguardMetrics other = (DatabaseFleetDataguardMetrics) o;
+ return java.util.Objects.equals(this.dataguardMetrics, other.dataguardMetrics)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.dataguardMetrics == null ? 43 : this.dataguardMetrics.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseFleetHaOverviewMetrics.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseFleetHaOverviewMetrics.java
new file mode 100644
index 00000000000..56bb664ab32
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseFleetHaOverviewMetrics.java
@@ -0,0 +1,134 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * The details of the HA metrics for the fleet of databases.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DatabaseFleetHaOverviewMetrics.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DatabaseFleetHaOverviewMetrics
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"haMetrics"})
+ public DatabaseFleetHaOverviewMetrics(java.util.List haMetrics) {
+ super();
+ this.haMetrics = haMetrics;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** A list of the databases present in the fleet and their HA usage metrics. */
+ @com.fasterxml.jackson.annotation.JsonProperty("haMetrics")
+ private java.util.List haMetrics;
+
+ /**
+ * A list of the databases present in the fleet and their HA usage metrics.
+ *
+ * @param haMetrics the value to set
+ * @return this builder
+ */
+ public Builder haMetrics(java.util.List haMetrics) {
+ this.haMetrics = haMetrics;
+ this.__explicitlySet__.add("haMetrics");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DatabaseFleetHaOverviewMetrics build() {
+ DatabaseFleetHaOverviewMetrics model =
+ new DatabaseFleetHaOverviewMetrics(this.haMetrics);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DatabaseFleetHaOverviewMetrics model) {
+ if (model.wasPropertyExplicitlySet("haMetrics")) {
+ this.haMetrics(model.getHaMetrics());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** A list of the databases present in the fleet and their HA usage metrics. */
+ @com.fasterxml.jackson.annotation.JsonProperty("haMetrics")
+ private final java.util.List haMetrics;
+
+ /**
+ * A list of the databases present in the fleet and their HA usage metrics.
+ *
+ * @return the value
+ */
+ public java.util.List getHaMetrics() {
+ return haMetrics;
+ }
+
+ @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("DatabaseFleetHaOverviewMetrics(");
+ sb.append("super=").append(super.toString());
+ sb.append("haMetrics=").append(String.valueOf(this.haMetrics));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DatabaseFleetHaOverviewMetrics)) {
+ return false;
+ }
+
+ DatabaseFleetHaOverviewMetrics other = (DatabaseFleetHaOverviewMetrics) o;
+ return java.util.Objects.equals(this.haMetrics, other.haMetrics) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.haMetrics == null ? 43 : this.haMetrics.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseHaBackupDetails.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseHaBackupDetails.java
new file mode 100644
index 00000000000..e3fa39eec4a
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseHaBackupDetails.java
@@ -0,0 +1,801 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * The database HA and backup details.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DatabaseHaBackupDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DatabaseHaBackupDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "flashBackOn",
+ "flashBackTime",
+ "recoveryWindowGoalInDays",
+ "lastFullBackupSummary",
+ "backupHistory",
+ "metrics",
+ "dbId",
+ "compartmentId",
+ "databaseType",
+ "databaseSubType",
+ "deploymentType",
+ "databaseVersion",
+ "workloadType",
+ "databaseName",
+ "databaseId",
+ "dbUniqueName",
+ "dbRole"
+ })
+ public DatabaseHaBackupDetails(
+ String flashBackOn,
+ java.util.Date flashBackTime,
+ Integer recoveryWindowGoalInDays,
+ DatabaseBackupSummary lastFullBackupSummary,
+ java.util.List backupHistory,
+ java.util.List metrics,
+ String dbId,
+ String compartmentId,
+ DatabaseType databaseType,
+ DatabaseSubType databaseSubType,
+ DeploymentType deploymentType,
+ String databaseVersion,
+ WorkloadType workloadType,
+ String databaseName,
+ String databaseId,
+ String dbUniqueName,
+ DbRole dbRole) {
+ super();
+ this.flashBackOn = flashBackOn;
+ this.flashBackTime = flashBackTime;
+ this.recoveryWindowGoalInDays = recoveryWindowGoalInDays;
+ this.lastFullBackupSummary = lastFullBackupSummary;
+ this.backupHistory = backupHistory;
+ this.metrics = metrics;
+ this.dbId = dbId;
+ this.compartmentId = compartmentId;
+ this.databaseType = databaseType;
+ this.databaseSubType = databaseSubType;
+ this.deploymentType = deploymentType;
+ this.databaseVersion = databaseVersion;
+ this.workloadType = workloadType;
+ this.databaseName = databaseName;
+ this.databaseId = databaseId;
+ this.dbUniqueName = dbUniqueName;
+ this.dbRole = dbRole;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Indicates whether flashback is enabled for the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("flashBackOn")
+ private String flashBackOn;
+
+ /**
+ * Indicates whether flashback is enabled for the database.
+ *
+ * @param flashBackOn the value to set
+ * @return this builder
+ */
+ public Builder flashBackOn(String flashBackOn) {
+ this.flashBackOn = flashBackOn;
+ this.__explicitlySet__.add("flashBackOn");
+ return this;
+ }
+ /**
+ * The oldest flashback date and time in UTC in ISO-8601 format, which is
+ * "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("flashBackTime")
+ private java.util.Date flashBackTime;
+
+ /**
+ * The oldest flashback date and time in UTC in ISO-8601 format, which is
+ * "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
+ *
+ * @param flashBackTime the value to set
+ * @return this builder
+ */
+ public Builder flashBackTime(java.util.Date flashBackTime) {
+ this.flashBackTime = flashBackTime;
+ this.__explicitlySet__.add("flashBackTime");
+ return this;
+ }
+ /** The configured number of days intended to recover a protected database from a backup. */
+ @com.fasterxml.jackson.annotation.JsonProperty("recoveryWindowGoalInDays")
+ private Integer recoveryWindowGoalInDays;
+
+ /**
+ * The configured number of days intended to recover a protected database from a backup.
+ *
+ * @param recoveryWindowGoalInDays the value to set
+ * @return this builder
+ */
+ public Builder recoveryWindowGoalInDays(Integer recoveryWindowGoalInDays) {
+ this.recoveryWindowGoalInDays = recoveryWindowGoalInDays;
+ this.__explicitlySet__.add("recoveryWindowGoalInDays");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("lastFullBackupSummary")
+ private DatabaseBackupSummary lastFullBackupSummary;
+
+ public Builder lastFullBackupSummary(DatabaseBackupSummary lastFullBackupSummary) {
+ this.lastFullBackupSummary = lastFullBackupSummary;
+ this.__explicitlySet__.add("lastFullBackupSummary");
+ return this;
+ }
+ /** A list of database backups. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupHistory")
+ private java.util.List backupHistory;
+
+ /**
+ * A list of database backups.
+ *
+ * @param backupHistory the value to set
+ * @return this builder
+ */
+ public Builder backupHistory(java.util.List backupHistory) {
+ this.backupHistory = backupHistory;
+ this.__explicitlySet__.add("backupHistory");
+ return this;
+ }
+ /** A list of database backup metrics such as BackupSize and BackupDuration. */
+ @com.fasterxml.jackson.annotation.JsonProperty("metrics")
+ private java.util.List metrics;
+
+ /**
+ * A list of database backup metrics such as BackupSize and BackupDuration.
+ *
+ * @param metrics the value to set
+ * @return this builder
+ */
+ public Builder metrics(java.util.List metrics) {
+ this.metrics = metrics;
+ this.__explicitlySet__.add("metrics");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @param dbId the value to set
+ * @return this builder
+ */
+ public Builder dbId(String dbId) {
+ this.dbId = dbId;
+ this.__explicitlySet__.add("dbId");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @param databaseType the value to set
+ * @return this builder
+ */
+ public Builder databaseType(DatabaseType databaseType) {
+ this.databaseType = databaseType;
+ this.__explicitlySet__.add("databaseType");
+ return this;
+ }
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ *
+ * @param databaseSubType the value to set
+ * @return this builder
+ */
+ public Builder databaseSubType(DatabaseSubType databaseSubType) {
+ this.databaseSubType = databaseSubType;
+ this.__explicitlySet__.add("databaseSubType");
+ return this;
+ }
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @param deploymentType the value to set
+ * @return this builder
+ */
+ public Builder deploymentType(DeploymentType deploymentType) {
+ this.deploymentType = deploymentType;
+ this.__explicitlySet__.add("deploymentType");
+ return this;
+ }
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @param databaseVersion the value to set
+ * @return this builder
+ */
+ public Builder databaseVersion(String databaseVersion) {
+ this.databaseVersion = databaseVersion;
+ this.__explicitlySet__.add("databaseVersion");
+ return this;
+ }
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @param workloadType the value to set
+ * @return this builder
+ */
+ public Builder workloadType(WorkloadType workloadType) {
+ this.workloadType = workloadType;
+ this.__explicitlySet__.add("workloadType");
+ return this;
+ }
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @param databaseName the value to set
+ * @return this builder
+ */
+ public Builder databaseName(String databaseName) {
+ this.databaseName = databaseName;
+ this.__explicitlySet__.add("databaseName");
+ return this;
+ }
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @param databaseId the value to set
+ * @return this builder
+ */
+ public Builder databaseId(String databaseId) {
+ this.databaseId = databaseId;
+ this.__explicitlySet__.add("databaseId");
+ return this;
+ }
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @param dbUniqueName the value to set
+ * @return this builder
+ */
+ public Builder dbUniqueName(String dbUniqueName) {
+ this.dbUniqueName = dbUniqueName;
+ this.__explicitlySet__.add("dbUniqueName");
+ return this;
+ }
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @param dbRole the value to set
+ * @return this builder
+ */
+ public Builder dbRole(DbRole dbRole) {
+ this.dbRole = dbRole;
+ this.__explicitlySet__.add("dbRole");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DatabaseHaBackupDetails build() {
+ DatabaseHaBackupDetails model =
+ new DatabaseHaBackupDetails(
+ this.flashBackOn,
+ this.flashBackTime,
+ this.recoveryWindowGoalInDays,
+ this.lastFullBackupSummary,
+ this.backupHistory,
+ this.metrics,
+ this.dbId,
+ this.compartmentId,
+ this.databaseType,
+ this.databaseSubType,
+ this.deploymentType,
+ this.databaseVersion,
+ this.workloadType,
+ this.databaseName,
+ this.databaseId,
+ this.dbUniqueName,
+ this.dbRole);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DatabaseHaBackupDetails model) {
+ if (model.wasPropertyExplicitlySet("flashBackOn")) {
+ this.flashBackOn(model.getFlashBackOn());
+ }
+ if (model.wasPropertyExplicitlySet("flashBackTime")) {
+ this.flashBackTime(model.getFlashBackTime());
+ }
+ if (model.wasPropertyExplicitlySet("recoveryWindowGoalInDays")) {
+ this.recoveryWindowGoalInDays(model.getRecoveryWindowGoalInDays());
+ }
+ if (model.wasPropertyExplicitlySet("lastFullBackupSummary")) {
+ this.lastFullBackupSummary(model.getLastFullBackupSummary());
+ }
+ if (model.wasPropertyExplicitlySet("backupHistory")) {
+ this.backupHistory(model.getBackupHistory());
+ }
+ if (model.wasPropertyExplicitlySet("metrics")) {
+ this.metrics(model.getMetrics());
+ }
+ if (model.wasPropertyExplicitlySet("dbId")) {
+ this.dbId(model.getDbId());
+ }
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("databaseType")) {
+ this.databaseType(model.getDatabaseType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseSubType")) {
+ this.databaseSubType(model.getDatabaseSubType());
+ }
+ if (model.wasPropertyExplicitlySet("deploymentType")) {
+ this.deploymentType(model.getDeploymentType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseVersion")) {
+ this.databaseVersion(model.getDatabaseVersion());
+ }
+ if (model.wasPropertyExplicitlySet("workloadType")) {
+ this.workloadType(model.getWorkloadType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseName")) {
+ this.databaseName(model.getDatabaseName());
+ }
+ if (model.wasPropertyExplicitlySet("databaseId")) {
+ this.databaseId(model.getDatabaseId());
+ }
+ if (model.wasPropertyExplicitlySet("dbUniqueName")) {
+ this.dbUniqueName(model.getDbUniqueName());
+ }
+ if (model.wasPropertyExplicitlySet("dbRole")) {
+ this.dbRole(model.getDbRole());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Indicates whether flashback is enabled for the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("flashBackOn")
+ private final String flashBackOn;
+
+ /**
+ * Indicates whether flashback is enabled for the database.
+ *
+ * @return the value
+ */
+ public String getFlashBackOn() {
+ return flashBackOn;
+ }
+
+ /**
+ * The oldest flashback date and time in UTC in ISO-8601 format, which is
+ * "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("flashBackTime")
+ private final java.util.Date flashBackTime;
+
+ /**
+ * The oldest flashback date and time in UTC in ISO-8601 format, which is
+ * "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
+ *
+ * @return the value
+ */
+ public java.util.Date getFlashBackTime() {
+ return flashBackTime;
+ }
+
+ /** The configured number of days intended to recover a protected database from a backup. */
+ @com.fasterxml.jackson.annotation.JsonProperty("recoveryWindowGoalInDays")
+ private final Integer recoveryWindowGoalInDays;
+
+ /**
+ * The configured number of days intended to recover a protected database from a backup.
+ *
+ * @return the value
+ */
+ public Integer getRecoveryWindowGoalInDays() {
+ return recoveryWindowGoalInDays;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("lastFullBackupSummary")
+ private final DatabaseBackupSummary lastFullBackupSummary;
+
+ public DatabaseBackupSummary getLastFullBackupSummary() {
+ return lastFullBackupSummary;
+ }
+
+ /** A list of database backups. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupHistory")
+ private final java.util.List backupHistory;
+
+ /**
+ * A list of database backups.
+ *
+ * @return the value
+ */
+ public java.util.List getBackupHistory() {
+ return backupHistory;
+ }
+
+ /** A list of database backup metrics such as BackupSize and BackupDuration. */
+ @com.fasterxml.jackson.annotation.JsonProperty("metrics")
+ private final java.util.List metrics;
+
+ /**
+ * A list of database backup metrics such as BackupSize and BackupDuration.
+ *
+ * @return the value
+ */
+ public java.util.List getMetrics() {
+ return metrics;
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private final String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbId() {
+ return dbId;
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private final DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @return the value
+ */
+ public DatabaseType getDatabaseType() {
+ return databaseType;
+ }
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private final DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ *
+ * @return the value
+ */
+ public DatabaseSubType getDatabaseSubType() {
+ return databaseSubType;
+ }
+
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private final DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @return the value
+ */
+ public DeploymentType getDeploymentType() {
+ return deploymentType;
+ }
+
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private final String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @return the value
+ */
+ public String getDatabaseVersion() {
+ return databaseVersion;
+ }
+
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private final WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @return the value
+ */
+ public WorkloadType getWorkloadType() {
+ return workloadType;
+ }
+
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private final String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDatabaseName() {
+ return databaseName;
+ }
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private final String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @return the value
+ */
+ public String getDatabaseId() {
+ return databaseId;
+ }
+
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private final String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbUniqueName() {
+ return dbUniqueName;
+ }
+
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private final DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @return the value
+ */
+ public DbRole getDbRole() {
+ return dbRole;
+ }
+
+ @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("DatabaseHaBackupDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("flashBackOn=").append(String.valueOf(this.flashBackOn));
+ sb.append(", flashBackTime=").append(String.valueOf(this.flashBackTime));
+ sb.append(", recoveryWindowGoalInDays=")
+ .append(String.valueOf(this.recoveryWindowGoalInDays));
+ sb.append(", lastFullBackupSummary=").append(String.valueOf(this.lastFullBackupSummary));
+ sb.append(", backupHistory=").append(String.valueOf(this.backupHistory));
+ sb.append(", metrics=").append(String.valueOf(this.metrics));
+ sb.append(", dbId=").append(String.valueOf(this.dbId));
+ sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", databaseType=").append(String.valueOf(this.databaseType));
+ sb.append(", databaseSubType=").append(String.valueOf(this.databaseSubType));
+ sb.append(", deploymentType=").append(String.valueOf(this.deploymentType));
+ sb.append(", databaseVersion=").append(String.valueOf(this.databaseVersion));
+ sb.append(", workloadType=").append(String.valueOf(this.workloadType));
+ sb.append(", databaseName=").append(String.valueOf(this.databaseName));
+ sb.append(", databaseId=").append(String.valueOf(this.databaseId));
+ sb.append(", dbUniqueName=").append(String.valueOf(this.dbUniqueName));
+ sb.append(", dbRole=").append(String.valueOf(this.dbRole));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DatabaseHaBackupDetails)) {
+ return false;
+ }
+
+ DatabaseHaBackupDetails other = (DatabaseHaBackupDetails) o;
+ return java.util.Objects.equals(this.flashBackOn, other.flashBackOn)
+ && java.util.Objects.equals(this.flashBackTime, other.flashBackTime)
+ && java.util.Objects.equals(
+ this.recoveryWindowGoalInDays, other.recoveryWindowGoalInDays)
+ && java.util.Objects.equals(this.lastFullBackupSummary, other.lastFullBackupSummary)
+ && java.util.Objects.equals(this.backupHistory, other.backupHistory)
+ && java.util.Objects.equals(this.metrics, other.metrics)
+ && java.util.Objects.equals(this.dbId, other.dbId)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.databaseType, other.databaseType)
+ && java.util.Objects.equals(this.databaseSubType, other.databaseSubType)
+ && java.util.Objects.equals(this.deploymentType, other.deploymentType)
+ && java.util.Objects.equals(this.databaseVersion, other.databaseVersion)
+ && java.util.Objects.equals(this.workloadType, other.workloadType)
+ && java.util.Objects.equals(this.databaseName, other.databaseName)
+ && java.util.Objects.equals(this.databaseId, other.databaseId)
+ && java.util.Objects.equals(this.dbUniqueName, other.dbUniqueName)
+ && java.util.Objects.equals(this.dbRole, other.dbRole)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.flashBackOn == null ? 43 : this.flashBackOn.hashCode());
+ result =
+ (result * PRIME)
+ + (this.flashBackTime == null ? 43 : this.flashBackTime.hashCode());
+ result =
+ (result * PRIME)
+ + (this.recoveryWindowGoalInDays == null
+ ? 43
+ : this.recoveryWindowGoalInDays.hashCode());
+ result =
+ (result * PRIME)
+ + (this.lastFullBackupSummary == null
+ ? 43
+ : this.lastFullBackupSummary.hashCode());
+ result =
+ (result * PRIME)
+ + (this.backupHistory == null ? 43 : this.backupHistory.hashCode());
+ result = (result * PRIME) + (this.metrics == null ? 43 : this.metrics.hashCode());
+ result = (result * PRIME) + (this.dbId == null ? 43 : this.dbId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.databaseType == null ? 43 : this.databaseType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseSubType == null ? 43 : this.databaseSubType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.deploymentType == null ? 43 : this.deploymentType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseVersion == null ? 43 : this.databaseVersion.hashCode());
+ result = (result * PRIME) + (this.workloadType == null ? 43 : this.workloadType.hashCode());
+ result = (result * PRIME) + (this.databaseName == null ? 43 : this.databaseName.hashCode());
+ result = (result * PRIME) + (this.databaseId == null ? 43 : this.databaseId.hashCode());
+ result = (result * PRIME) + (this.dbUniqueName == null ? 43 : this.dbUniqueName.hashCode());
+ result = (result * PRIME) + (this.dbRole == null ? 43 : this.dbRole.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseHaMetrics.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseHaMetrics.java
new file mode 100644
index 00000000000..416f09eb8f3
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseHaMetrics.java
@@ -0,0 +1,671 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * The details of the HA metrics for a single database.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DatabaseHaMetrics.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DatabaseHaMetrics
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "isDataguardEnabled",
+ "lastBackupSummary",
+ "metrics",
+ "dbId",
+ "compartmentId",
+ "databaseType",
+ "databaseSubType",
+ "deploymentType",
+ "databaseVersion",
+ "workloadType",
+ "databaseName",
+ "databaseId",
+ "dbUniqueName",
+ "dbRole"
+ })
+ public DatabaseHaMetrics(
+ Boolean isDataguardEnabled,
+ DatabaseBackupSummary lastBackupSummary,
+ java.util.List metrics,
+ String dbId,
+ String compartmentId,
+ DatabaseType databaseType,
+ DatabaseSubType databaseSubType,
+ DeploymentType deploymentType,
+ String databaseVersion,
+ WorkloadType workloadType,
+ String databaseName,
+ String databaseId,
+ String dbUniqueName,
+ DbRole dbRole) {
+ super();
+ this.isDataguardEnabled = isDataguardEnabled;
+ this.lastBackupSummary = lastBackupSummary;
+ this.metrics = metrics;
+ this.dbId = dbId;
+ this.compartmentId = compartmentId;
+ this.databaseType = databaseType;
+ this.databaseSubType = databaseSubType;
+ this.deploymentType = deploymentType;
+ this.databaseVersion = databaseVersion;
+ this.workloadType = workloadType;
+ this.databaseName = databaseName;
+ this.databaseId = databaseId;
+ this.dbUniqueName = dbUniqueName;
+ this.dbRole = dbRole;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Indicates whether Data Guard is enabled for the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isDataguardEnabled")
+ private Boolean isDataguardEnabled;
+
+ /**
+ * Indicates whether Data Guard is enabled for the database.
+ *
+ * @param isDataguardEnabled the value to set
+ * @return this builder
+ */
+ public Builder isDataguardEnabled(Boolean isDataguardEnabled) {
+ this.isDataguardEnabled = isDataguardEnabled;
+ this.__explicitlySet__.add("isDataguardEnabled");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("lastBackupSummary")
+ private DatabaseBackupSummary lastBackupSummary;
+
+ public Builder lastBackupSummary(DatabaseBackupSummary lastBackupSummary) {
+ this.lastBackupSummary = lastBackupSummary;
+ this.__explicitlySet__.add("lastBackupSummary");
+ return this;
+ }
+ /** A list of database health metrics such as BackupDuration and BackupSize. */
+ @com.fasterxml.jackson.annotation.JsonProperty("metrics")
+ private java.util.List metrics;
+
+ /**
+ * A list of database health metrics such as BackupDuration and BackupSize.
+ *
+ * @param metrics the value to set
+ * @return this builder
+ */
+ public Builder metrics(java.util.List metrics) {
+ this.metrics = metrics;
+ this.__explicitlySet__.add("metrics");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @param dbId the value to set
+ * @return this builder
+ */
+ public Builder dbId(String dbId) {
+ this.dbId = dbId;
+ this.__explicitlySet__.add("dbId");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @param databaseType the value to set
+ * @return this builder
+ */
+ public Builder databaseType(DatabaseType databaseType) {
+ this.databaseType = databaseType;
+ this.__explicitlySet__.add("databaseType");
+ return this;
+ }
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ *
+ * @param databaseSubType the value to set
+ * @return this builder
+ */
+ public Builder databaseSubType(DatabaseSubType databaseSubType) {
+ this.databaseSubType = databaseSubType;
+ this.__explicitlySet__.add("databaseSubType");
+ return this;
+ }
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @param deploymentType the value to set
+ * @return this builder
+ */
+ public Builder deploymentType(DeploymentType deploymentType) {
+ this.deploymentType = deploymentType;
+ this.__explicitlySet__.add("deploymentType");
+ return this;
+ }
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @param databaseVersion the value to set
+ * @return this builder
+ */
+ public Builder databaseVersion(String databaseVersion) {
+ this.databaseVersion = databaseVersion;
+ this.__explicitlySet__.add("databaseVersion");
+ return this;
+ }
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @param workloadType the value to set
+ * @return this builder
+ */
+ public Builder workloadType(WorkloadType workloadType) {
+ this.workloadType = workloadType;
+ this.__explicitlySet__.add("workloadType");
+ return this;
+ }
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @param databaseName the value to set
+ * @return this builder
+ */
+ public Builder databaseName(String databaseName) {
+ this.databaseName = databaseName;
+ this.__explicitlySet__.add("databaseName");
+ return this;
+ }
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @param databaseId the value to set
+ * @return this builder
+ */
+ public Builder databaseId(String databaseId) {
+ this.databaseId = databaseId;
+ this.__explicitlySet__.add("databaseId");
+ return this;
+ }
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @param dbUniqueName the value to set
+ * @return this builder
+ */
+ public Builder dbUniqueName(String dbUniqueName) {
+ this.dbUniqueName = dbUniqueName;
+ this.__explicitlySet__.add("dbUniqueName");
+ return this;
+ }
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @param dbRole the value to set
+ * @return this builder
+ */
+ public Builder dbRole(DbRole dbRole) {
+ this.dbRole = dbRole;
+ this.__explicitlySet__.add("dbRole");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DatabaseHaMetrics build() {
+ DatabaseHaMetrics model =
+ new DatabaseHaMetrics(
+ this.isDataguardEnabled,
+ this.lastBackupSummary,
+ this.metrics,
+ this.dbId,
+ this.compartmentId,
+ this.databaseType,
+ this.databaseSubType,
+ this.deploymentType,
+ this.databaseVersion,
+ this.workloadType,
+ this.databaseName,
+ this.databaseId,
+ this.dbUniqueName,
+ this.dbRole);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DatabaseHaMetrics model) {
+ if (model.wasPropertyExplicitlySet("isDataguardEnabled")) {
+ this.isDataguardEnabled(model.getIsDataguardEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("lastBackupSummary")) {
+ this.lastBackupSummary(model.getLastBackupSummary());
+ }
+ if (model.wasPropertyExplicitlySet("metrics")) {
+ this.metrics(model.getMetrics());
+ }
+ if (model.wasPropertyExplicitlySet("dbId")) {
+ this.dbId(model.getDbId());
+ }
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("databaseType")) {
+ this.databaseType(model.getDatabaseType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseSubType")) {
+ this.databaseSubType(model.getDatabaseSubType());
+ }
+ if (model.wasPropertyExplicitlySet("deploymentType")) {
+ this.deploymentType(model.getDeploymentType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseVersion")) {
+ this.databaseVersion(model.getDatabaseVersion());
+ }
+ if (model.wasPropertyExplicitlySet("workloadType")) {
+ this.workloadType(model.getWorkloadType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseName")) {
+ this.databaseName(model.getDatabaseName());
+ }
+ if (model.wasPropertyExplicitlySet("databaseId")) {
+ this.databaseId(model.getDatabaseId());
+ }
+ if (model.wasPropertyExplicitlySet("dbUniqueName")) {
+ this.dbUniqueName(model.getDbUniqueName());
+ }
+ if (model.wasPropertyExplicitlySet("dbRole")) {
+ this.dbRole(model.getDbRole());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Indicates whether Data Guard is enabled for the database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isDataguardEnabled")
+ private final Boolean isDataguardEnabled;
+
+ /**
+ * Indicates whether Data Guard is enabled for the database.
+ *
+ * @return the value
+ */
+ public Boolean getIsDataguardEnabled() {
+ return isDataguardEnabled;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("lastBackupSummary")
+ private final DatabaseBackupSummary lastBackupSummary;
+
+ public DatabaseBackupSummary getLastBackupSummary() {
+ return lastBackupSummary;
+ }
+
+ /** A list of database health metrics such as BackupDuration and BackupSize. */
+ @com.fasterxml.jackson.annotation.JsonProperty("metrics")
+ private final java.util.List metrics;
+
+ /**
+ * A list of database health metrics such as BackupDuration and BackupSize.
+ *
+ * @return the value
+ */
+ public java.util.List getMetrics() {
+ return metrics;
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private final String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbId() {
+ return dbId;
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private final DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @return the value
+ */
+ public DatabaseType getDatabaseType() {
+ return databaseType;
+ }
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private final DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ *
+ * @return the value
+ */
+ public DatabaseSubType getDatabaseSubType() {
+ return databaseSubType;
+ }
+
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private final DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @return the value
+ */
+ public DeploymentType getDeploymentType() {
+ return deploymentType;
+ }
+
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private final String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @return the value
+ */
+ public String getDatabaseVersion() {
+ return databaseVersion;
+ }
+
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private final WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @return the value
+ */
+ public WorkloadType getWorkloadType() {
+ return workloadType;
+ }
+
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private final String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDatabaseName() {
+ return databaseName;
+ }
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private final String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @return the value
+ */
+ public String getDatabaseId() {
+ return databaseId;
+ }
+
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private final String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbUniqueName() {
+ return dbUniqueName;
+ }
+
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private final DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @return the value
+ */
+ public DbRole getDbRole() {
+ return dbRole;
+ }
+
+ @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("DatabaseHaMetrics(");
+ sb.append("super=").append(super.toString());
+ sb.append("isDataguardEnabled=").append(String.valueOf(this.isDataguardEnabled));
+ sb.append(", lastBackupSummary=").append(String.valueOf(this.lastBackupSummary));
+ sb.append(", metrics=").append(String.valueOf(this.metrics));
+ sb.append(", dbId=").append(String.valueOf(this.dbId));
+ sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", databaseType=").append(String.valueOf(this.databaseType));
+ sb.append(", databaseSubType=").append(String.valueOf(this.databaseSubType));
+ sb.append(", deploymentType=").append(String.valueOf(this.deploymentType));
+ sb.append(", databaseVersion=").append(String.valueOf(this.databaseVersion));
+ sb.append(", workloadType=").append(String.valueOf(this.workloadType));
+ sb.append(", databaseName=").append(String.valueOf(this.databaseName));
+ sb.append(", databaseId=").append(String.valueOf(this.databaseId));
+ sb.append(", dbUniqueName=").append(String.valueOf(this.dbUniqueName));
+ sb.append(", dbRole=").append(String.valueOf(this.dbRole));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DatabaseHaMetrics)) {
+ return false;
+ }
+
+ DatabaseHaMetrics other = (DatabaseHaMetrics) o;
+ return java.util.Objects.equals(this.isDataguardEnabled, other.isDataguardEnabled)
+ && java.util.Objects.equals(this.lastBackupSummary, other.lastBackupSummary)
+ && java.util.Objects.equals(this.metrics, other.metrics)
+ && java.util.Objects.equals(this.dbId, other.dbId)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.databaseType, other.databaseType)
+ && java.util.Objects.equals(this.databaseSubType, other.databaseSubType)
+ && java.util.Objects.equals(this.deploymentType, other.deploymentType)
+ && java.util.Objects.equals(this.databaseVersion, other.databaseVersion)
+ && java.util.Objects.equals(this.workloadType, other.workloadType)
+ && java.util.Objects.equals(this.databaseName, other.databaseName)
+ && java.util.Objects.equals(this.databaseId, other.databaseId)
+ && java.util.Objects.equals(this.dbUniqueName, other.dbUniqueName)
+ && java.util.Objects.equals(this.dbRole, other.dbRole)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.isDataguardEnabled == null
+ ? 43
+ : this.isDataguardEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.lastBackupSummary == null ? 43 : this.lastBackupSummary.hashCode());
+ result = (result * PRIME) + (this.metrics == null ? 43 : this.metrics.hashCode());
+ result = (result * PRIME) + (this.dbId == null ? 43 : this.dbId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.databaseType == null ? 43 : this.databaseType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseSubType == null ? 43 : this.databaseSubType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.deploymentType == null ? 43 : this.deploymentType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseVersion == null ? 43 : this.databaseVersion.hashCode());
+ result = (result * PRIME) + (this.workloadType == null ? 43 : this.workloadType.hashCode());
+ result = (result * PRIME) + (this.databaseName == null ? 43 : this.databaseName.hashCode());
+ result = (result * PRIME) + (this.databaseId == null ? 43 : this.databaseId.hashCode());
+ result = (result * PRIME) + (this.dbUniqueName == null ? 43 : this.dbUniqueName.hashCode());
+ result = (result * PRIME) + (this.dbRole == null ? 43 : this.dbRole.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseHostedIn.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseHostedIn.java
new file mode 100644
index 00000000000..4df2f72c3ed
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DatabaseHostedIn.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * Indicates whether the database is a cloud database (CLOUD) or an external database (EXTERNAL).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20201101")
+public enum DatabaseHostedIn implements com.oracle.bmc.http.internal.BmcEnum {
+ Cloud("CLOUD"),
+ External("EXTERNAL"),
+ ;
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (DatabaseHostedIn v : DatabaseHostedIn.values()) {
+ map.put(v.getValue(), v);
+ }
+ }
+
+ DatabaseHostedIn(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static DatabaseHostedIn create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ throw new IllegalArgumentException("Invalid DatabaseHostedIn: " + key);
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DataguardMetrics.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DataguardMetrics.java
new file mode 100644
index 00000000000..2d54ccff9ca
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DataguardMetrics.java
@@ -0,0 +1,721 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * The Data Guard usage metrics for a single database.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = DataguardMetrics.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DataguardMetrics
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "fastStartFailOver",
+ "protectionMode",
+ "metrics",
+ "standByDatabases",
+ "dbId",
+ "compartmentId",
+ "databaseType",
+ "databaseSubType",
+ "deploymentType",
+ "databaseVersion",
+ "workloadType",
+ "databaseName",
+ "databaseId",
+ "dbUniqueName",
+ "dbRole"
+ })
+ public DataguardMetrics(
+ String fastStartFailOver,
+ String protectionMode,
+ java.util.List metrics,
+ java.util.List standByDatabases,
+ String dbId,
+ String compartmentId,
+ DatabaseType databaseType,
+ DatabaseSubType databaseSubType,
+ DeploymentType deploymentType,
+ String databaseVersion,
+ WorkloadType workloadType,
+ String databaseName,
+ String databaseId,
+ String dbUniqueName,
+ DbRole dbRole) {
+ super();
+ this.fastStartFailOver = fastStartFailOver;
+ this.protectionMode = protectionMode;
+ this.metrics = metrics;
+ this.standByDatabases = standByDatabases;
+ this.dbId = dbId;
+ this.compartmentId = compartmentId;
+ this.databaseType = databaseType;
+ this.databaseSubType = databaseSubType;
+ this.deploymentType = deploymentType;
+ this.databaseVersion = databaseVersion;
+ this.workloadType = workloadType;
+ this.databaseName = databaseName;
+ this.databaseId = databaseId;
+ this.dbUniqueName = dbUniqueName;
+ this.dbRole = dbRole;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The Fast-Start Failover status of the primary database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("fastStartFailOver")
+ private String fastStartFailOver;
+
+ /**
+ * The Fast-Start Failover status of the primary database.
+ *
+ * @param fastStartFailOver the value to set
+ * @return this builder
+ */
+ public Builder fastStartFailOver(String fastStartFailOver) {
+ this.fastStartFailOver = fastStartFailOver;
+ this.__explicitlySet__.add("fastStartFailOver");
+ return this;
+ }
+ /** The protection mode of the primary Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("protectionMode")
+ private String protectionMode;
+
+ /**
+ * The protection mode of the primary Database.
+ *
+ * @param protectionMode the value to set
+ * @return this builder
+ */
+ public Builder protectionMode(String protectionMode) {
+ this.protectionMode = protectionMode;
+ this.__explicitlySet__.add("protectionMode");
+ return this;
+ }
+ /** A list of primary or standby database metrics. */
+ @com.fasterxml.jackson.annotation.JsonProperty("metrics")
+ private java.util.List metrics;
+
+ /**
+ * A list of primary or standby database metrics.
+ *
+ * @param metrics the value to set
+ * @return this builder
+ */
+ public Builder metrics(java.util.List metrics) {
+ this.metrics = metrics;
+ this.__explicitlySet__.add("metrics");
+ return this;
+ }
+ /** A list of standby databases and their metrics */
+ @com.fasterxml.jackson.annotation.JsonProperty("standByDatabases")
+ private java.util.List standByDatabases;
+
+ /**
+ * A list of standby databases and their metrics
+ *
+ * @param standByDatabases the value to set
+ * @return this builder
+ */
+ public Builder standByDatabases(
+ java.util.List standByDatabases) {
+ this.standByDatabases = standByDatabases;
+ this.__explicitlySet__.add("standByDatabases");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @param dbId the value to set
+ * @return this builder
+ */
+ public Builder dbId(String dbId) {
+ this.dbId = dbId;
+ this.__explicitlySet__.add("dbId");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @param databaseType the value to set
+ * @return this builder
+ */
+ public Builder databaseType(DatabaseType databaseType) {
+ this.databaseType = databaseType;
+ this.__explicitlySet__.add("databaseType");
+ return this;
+ }
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container
+ * Database, Pluggable Database, Non-container Database, Autonomous Database, or Autonomous
+ * Container Database.
+ *
+ * @param databaseSubType the value to set
+ * @return this builder
+ */
+ public Builder databaseSubType(DatabaseSubType databaseSubType) {
+ this.databaseSubType = databaseSubType;
+ this.__explicitlySet__.add("databaseSubType");
+ return this;
+ }
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @param deploymentType the value to set
+ * @return this builder
+ */
+ public Builder deploymentType(DeploymentType deploymentType) {
+ this.deploymentType = deploymentType;
+ this.__explicitlySet__.add("deploymentType");
+ return this;
+ }
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @param databaseVersion the value to set
+ * @return this builder
+ */
+ public Builder databaseVersion(String databaseVersion) {
+ this.databaseVersion = databaseVersion;
+ this.__explicitlySet__.add("databaseVersion");
+ return this;
+ }
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @param workloadType the value to set
+ * @return this builder
+ */
+ public Builder workloadType(WorkloadType workloadType) {
+ this.workloadType = workloadType;
+ this.__explicitlySet__.add("workloadType");
+ return this;
+ }
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @param databaseName the value to set
+ * @return this builder
+ */
+ public Builder databaseName(String databaseName) {
+ this.databaseName = databaseName;
+ this.__explicitlySet__.add("databaseName");
+ return this;
+ }
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @param databaseId the value to set
+ * @return this builder
+ */
+ public Builder databaseId(String databaseId) {
+ this.databaseId = databaseId;
+ this.__explicitlySet__.add("databaseId");
+ return this;
+ }
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @param dbUniqueName the value to set
+ * @return this builder
+ */
+ public Builder dbUniqueName(String dbUniqueName) {
+ this.dbUniqueName = dbUniqueName;
+ this.__explicitlySet__.add("dbUniqueName");
+ return this;
+ }
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @param dbRole the value to set
+ * @return this builder
+ */
+ public Builder dbRole(DbRole dbRole) {
+ this.dbRole = dbRole;
+ this.__explicitlySet__.add("dbRole");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DataguardMetrics build() {
+ DataguardMetrics model =
+ new DataguardMetrics(
+ this.fastStartFailOver,
+ this.protectionMode,
+ this.metrics,
+ this.standByDatabases,
+ this.dbId,
+ this.compartmentId,
+ this.databaseType,
+ this.databaseSubType,
+ this.deploymentType,
+ this.databaseVersion,
+ this.workloadType,
+ this.databaseName,
+ this.databaseId,
+ this.dbUniqueName,
+ this.dbRole);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DataguardMetrics model) {
+ if (model.wasPropertyExplicitlySet("fastStartFailOver")) {
+ this.fastStartFailOver(model.getFastStartFailOver());
+ }
+ if (model.wasPropertyExplicitlySet("protectionMode")) {
+ this.protectionMode(model.getProtectionMode());
+ }
+ if (model.wasPropertyExplicitlySet("metrics")) {
+ this.metrics(model.getMetrics());
+ }
+ if (model.wasPropertyExplicitlySet("standByDatabases")) {
+ this.standByDatabases(model.getStandByDatabases());
+ }
+ if (model.wasPropertyExplicitlySet("dbId")) {
+ this.dbId(model.getDbId());
+ }
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("databaseType")) {
+ this.databaseType(model.getDatabaseType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseSubType")) {
+ this.databaseSubType(model.getDatabaseSubType());
+ }
+ if (model.wasPropertyExplicitlySet("deploymentType")) {
+ this.deploymentType(model.getDeploymentType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseVersion")) {
+ this.databaseVersion(model.getDatabaseVersion());
+ }
+ if (model.wasPropertyExplicitlySet("workloadType")) {
+ this.workloadType(model.getWorkloadType());
+ }
+ if (model.wasPropertyExplicitlySet("databaseName")) {
+ this.databaseName(model.getDatabaseName());
+ }
+ if (model.wasPropertyExplicitlySet("databaseId")) {
+ this.databaseId(model.getDatabaseId());
+ }
+ if (model.wasPropertyExplicitlySet("dbUniqueName")) {
+ this.dbUniqueName(model.getDbUniqueName());
+ }
+ if (model.wasPropertyExplicitlySet("dbRole")) {
+ this.dbRole(model.getDbRole());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** The Fast-Start Failover status of the primary database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("fastStartFailOver")
+ private final String fastStartFailOver;
+
+ /**
+ * The Fast-Start Failover status of the primary database.
+ *
+ * @return the value
+ */
+ public String getFastStartFailOver() {
+ return fastStartFailOver;
+ }
+
+ /** The protection mode of the primary Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("protectionMode")
+ private final String protectionMode;
+
+ /**
+ * The protection mode of the primary Database.
+ *
+ * @return the value
+ */
+ public String getProtectionMode() {
+ return protectionMode;
+ }
+
+ /** A list of primary or standby database metrics. */
+ @com.fasterxml.jackson.annotation.JsonProperty("metrics")
+ private final java.util.List metrics;
+
+ /**
+ * A list of primary or standby database metrics.
+ *
+ * @return the value
+ */
+ public java.util.List getMetrics() {
+ return metrics;
+ }
+
+ /** A list of standby databases and their metrics */
+ @com.fasterxml.jackson.annotation.JsonProperty("standByDatabases")
+ private final java.util.List standByDatabases;
+
+ /**
+ * A list of standby databases and their metrics
+ *
+ * @return the value
+ */
+ public java.util.List getStandByDatabases() {
+ return standByDatabases;
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbId")
+ private final String dbId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbId() {
+ return dbId;
+ }
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
+ * compartment where the Managed Database resides.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ /** The type of Oracle Database installation. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseType")
+ private final DatabaseType databaseType;
+
+ /**
+ * The type of Oracle Database installation.
+ *
+ * @return the value
+ */
+ public DatabaseType getDatabaseType() {
+ return databaseType;
+ }
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseSubType")
+ private final DatabaseSubType databaseSubType;
+
+ /**
+ * The subtype of the Oracle Database. Indicates whether the database is a Container Database,
+ * Pluggable Database, Non-container Database, Autonomous Database, or Autonomous Container
+ * Database.
+ *
+ * @return the value
+ */
+ public DatabaseSubType getDatabaseSubType() {
+ return databaseSubType;
+ }
+
+ /** The infrastructure used to deploy the Oracle Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("deploymentType")
+ private final DeploymentType deploymentType;
+
+ /**
+ * The infrastructure used to deploy the Oracle Database.
+ *
+ * @return the value
+ */
+ public DeploymentType getDeploymentType() {
+ return deploymentType;
+ }
+
+ /** The Oracle Database version. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private final String databaseVersion;
+
+ /**
+ * The Oracle Database version.
+ *
+ * @return the value
+ */
+ public String getDatabaseVersion() {
+ return databaseVersion;
+ }
+
+ /** The workload type of the Autonomous Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("workloadType")
+ private final WorkloadType workloadType;
+
+ /**
+ * The workload type of the Autonomous Database.
+ *
+ * @return the value
+ */
+ public WorkloadType getWorkloadType() {
+ return workloadType;
+ }
+
+ /** The display name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private final String databaseName;
+
+ /**
+ * The display name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDatabaseName() {
+ return databaseName;
+ }
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseId")
+ private final String databaseId;
+
+ /**
+ * The database ID of the Managed Database. Every database had its own ID and that value is
+ * captured here.
+ *
+ * @return the value
+ */
+ public String getDatabaseId() {
+ return databaseId;
+ }
+
+ /** The database unique name of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
+ private final String dbUniqueName;
+
+ /**
+ * The database unique name of the Managed Database.
+ *
+ * @return the value
+ */
+ public String getDbUniqueName() {
+ return dbUniqueName;
+ }
+
+ /** The database role of the Managed Database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("dbRole")
+ private final DbRole dbRole;
+
+ /**
+ * The database role of the Managed Database.
+ *
+ * @return the value
+ */
+ public DbRole getDbRole() {
+ return dbRole;
+ }
+
+ @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("DataguardMetrics(");
+ sb.append("super=").append(super.toString());
+ sb.append("fastStartFailOver=").append(String.valueOf(this.fastStartFailOver));
+ sb.append(", protectionMode=").append(String.valueOf(this.protectionMode));
+ sb.append(", metrics=").append(String.valueOf(this.metrics));
+ sb.append(", standByDatabases=").append(String.valueOf(this.standByDatabases));
+ sb.append(", dbId=").append(String.valueOf(this.dbId));
+ sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", databaseType=").append(String.valueOf(this.databaseType));
+ sb.append(", databaseSubType=").append(String.valueOf(this.databaseSubType));
+ sb.append(", deploymentType=").append(String.valueOf(this.deploymentType));
+ sb.append(", databaseVersion=").append(String.valueOf(this.databaseVersion));
+ sb.append(", workloadType=").append(String.valueOf(this.workloadType));
+ sb.append(", databaseName=").append(String.valueOf(this.databaseName));
+ sb.append(", databaseId=").append(String.valueOf(this.databaseId));
+ sb.append(", dbUniqueName=").append(String.valueOf(this.dbUniqueName));
+ sb.append(", dbRole=").append(String.valueOf(this.dbRole));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DataguardMetrics)) {
+ return false;
+ }
+
+ DataguardMetrics other = (DataguardMetrics) o;
+ return java.util.Objects.equals(this.fastStartFailOver, other.fastStartFailOver)
+ && java.util.Objects.equals(this.protectionMode, other.protectionMode)
+ && java.util.Objects.equals(this.metrics, other.metrics)
+ && java.util.Objects.equals(this.standByDatabases, other.standByDatabases)
+ && java.util.Objects.equals(this.dbId, other.dbId)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.databaseType, other.databaseType)
+ && java.util.Objects.equals(this.databaseSubType, other.databaseSubType)
+ && java.util.Objects.equals(this.deploymentType, other.deploymentType)
+ && java.util.Objects.equals(this.databaseVersion, other.databaseVersion)
+ && java.util.Objects.equals(this.workloadType, other.workloadType)
+ && java.util.Objects.equals(this.databaseName, other.databaseName)
+ && java.util.Objects.equals(this.databaseId, other.databaseId)
+ && java.util.Objects.equals(this.dbUniqueName, other.dbUniqueName)
+ && java.util.Objects.equals(this.dbRole, other.dbRole)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.fastStartFailOver == null ? 43 : this.fastStartFailOver.hashCode());
+ result =
+ (result * PRIME)
+ + (this.protectionMode == null ? 43 : this.protectionMode.hashCode());
+ result = (result * PRIME) + (this.metrics == null ? 43 : this.metrics.hashCode());
+ result =
+ (result * PRIME)
+ + (this.standByDatabases == null ? 43 : this.standByDatabases.hashCode());
+ result = (result * PRIME) + (this.dbId == null ? 43 : this.dbId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.databaseType == null ? 43 : this.databaseType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseSubType == null ? 43 : this.databaseSubType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.deploymentType == null ? 43 : this.deploymentType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseVersion == null ? 43 : this.databaseVersion.hashCode());
+ result = (result * PRIME) + (this.workloadType == null ? 43 : this.workloadType.hashCode());
+ result = (result * PRIME) + (this.databaseName == null ? 43 : this.databaseName.hashCode());
+ result = (result * PRIME) + (this.databaseId == null ? 43 : this.databaseId.hashCode());
+ result = (result * PRIME) + (this.dbUniqueName == null ? 43 : this.dbUniqueName.hashCode());
+ result = (result * PRIME) + (this.dbRole == null ? 43 : this.dbRole.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DisableExternalMysqlAssociatedServiceDetails.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DisableExternalMysqlAssociatedServiceDetails.java
new file mode 100644
index 00000000000..b04dd975fa8
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/DisableExternalMysqlAssociatedServiceDetails.java
@@ -0,0 +1,212 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * Details to disable an eMysql Associated Service.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = DisableExternalMysqlAssociatedServiceDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class DisableExternalMysqlAssociatedServiceDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"serviceResourceId", "connectorId", "serviceName"})
+ public DisableExternalMysqlAssociatedServiceDetails(
+ String serviceResourceId,
+ String connectorId,
+ ExternalMysqlAssociatedServiceName serviceName) {
+ super();
+ this.serviceResourceId = serviceResourceId;
+ this.connectorId = connectorId;
+ this.serviceName = serviceName;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** OCID of the Service Resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serviceResourceId")
+ private String serviceResourceId;
+
+ /**
+ * OCID of the Service Resource.
+ *
+ * @param serviceResourceId the value to set
+ * @return this builder
+ */
+ public Builder serviceResourceId(String serviceResourceId) {
+ this.serviceResourceId = serviceResourceId;
+ this.__explicitlySet__.add("serviceResourceId");
+ return this;
+ }
+ /** OCID of the External MySQL Database connector. */
+ @com.fasterxml.jackson.annotation.JsonProperty("connectorId")
+ private String connectorId;
+
+ /**
+ * OCID of the External MySQL Database connector.
+ *
+ * @param connectorId the value to set
+ * @return this builder
+ */
+ public Builder connectorId(String connectorId) {
+ this.connectorId = connectorId;
+ this.__explicitlySet__.add("connectorId");
+ return this;
+ }
+ /** Name of the Associated Service. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serviceName")
+ private ExternalMysqlAssociatedServiceName serviceName;
+
+ /**
+ * Name of the Associated Service.
+ *
+ * @param serviceName the value to set
+ * @return this builder
+ */
+ public Builder serviceName(ExternalMysqlAssociatedServiceName serviceName) {
+ this.serviceName = serviceName;
+ this.__explicitlySet__.add("serviceName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public DisableExternalMysqlAssociatedServiceDetails build() {
+ DisableExternalMysqlAssociatedServiceDetails model =
+ new DisableExternalMysqlAssociatedServiceDetails(
+ this.serviceResourceId, this.connectorId, this.serviceName);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(DisableExternalMysqlAssociatedServiceDetails model) {
+ if (model.wasPropertyExplicitlySet("serviceResourceId")) {
+ this.serviceResourceId(model.getServiceResourceId());
+ }
+ if (model.wasPropertyExplicitlySet("connectorId")) {
+ this.connectorId(model.getConnectorId());
+ }
+ if (model.wasPropertyExplicitlySet("serviceName")) {
+ this.serviceName(model.getServiceName());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** OCID of the Service Resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serviceResourceId")
+ private final String serviceResourceId;
+
+ /**
+ * OCID of the Service Resource.
+ *
+ * @return the value
+ */
+ public String getServiceResourceId() {
+ return serviceResourceId;
+ }
+
+ /** OCID of the External MySQL Database connector. */
+ @com.fasterxml.jackson.annotation.JsonProperty("connectorId")
+ private final String connectorId;
+
+ /**
+ * OCID of the External MySQL Database connector.
+ *
+ * @return the value
+ */
+ public String getConnectorId() {
+ return connectorId;
+ }
+
+ /** Name of the Associated Service. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serviceName")
+ private final ExternalMysqlAssociatedServiceName serviceName;
+
+ /**
+ * Name of the Associated Service.
+ *
+ * @return the value
+ */
+ public ExternalMysqlAssociatedServiceName getServiceName() {
+ return serviceName;
+ }
+
+ @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("DisableExternalMysqlAssociatedServiceDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("serviceResourceId=").append(String.valueOf(this.serviceResourceId));
+ sb.append(", connectorId=").append(String.valueOf(this.connectorId));
+ sb.append(", serviceName=").append(String.valueOf(this.serviceName));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof DisableExternalMysqlAssociatedServiceDetails)) {
+ return false;
+ }
+
+ DisableExternalMysqlAssociatedServiceDetails other =
+ (DisableExternalMysqlAssociatedServiceDetails) o;
+ return java.util.Objects.equals(this.serviceResourceId, other.serviceResourceId)
+ && java.util.Objects.equals(this.connectorId, other.connectorId)
+ && java.util.Objects.equals(this.serviceName, other.serviceName)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.serviceResourceId == null ? 43 : this.serviceResourceId.hashCode());
+ result = (result * PRIME) + (this.connectorId == null ? 43 : this.connectorId.hashCode());
+ result = (result * PRIME) + (this.serviceName == null ? 43 : this.serviceName.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/EnableExternalDatabaseManagementDetails.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/EnableExternalDatabaseManagementDetails.java
new file mode 100644
index 00000000000..4feea8f8610
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/EnableExternalDatabaseManagementDetails.java
@@ -0,0 +1,134 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * Detail to enable or disable database management.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = EnableExternalDatabaseManagementDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class EnableExternalDatabaseManagementDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"connectorId"})
+ public EnableExternalDatabaseManagementDetails(String connectorId) {
+ super();
+ this.connectorId = connectorId;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** OCID of External MySQL Database connector. */
+ @com.fasterxml.jackson.annotation.JsonProperty("connectorId")
+ private String connectorId;
+
+ /**
+ * OCID of External MySQL Database connector.
+ *
+ * @param connectorId the value to set
+ * @return this builder
+ */
+ public Builder connectorId(String connectorId) {
+ this.connectorId = connectorId;
+ this.__explicitlySet__.add("connectorId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public EnableExternalDatabaseManagementDetails build() {
+ EnableExternalDatabaseManagementDetails model =
+ new EnableExternalDatabaseManagementDetails(this.connectorId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(EnableExternalDatabaseManagementDetails model) {
+ if (model.wasPropertyExplicitlySet("connectorId")) {
+ this.connectorId(model.getConnectorId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** OCID of External MySQL Database connector. */
+ @com.fasterxml.jackson.annotation.JsonProperty("connectorId")
+ private final String connectorId;
+
+ /**
+ * OCID of External MySQL Database connector.
+ *
+ * @return the value
+ */
+ public String getConnectorId() {
+ return connectorId;
+ }
+
+ @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("EnableExternalDatabaseManagementDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("connectorId=").append(String.valueOf(this.connectorId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof EnableExternalDatabaseManagementDetails)) {
+ return false;
+ }
+
+ EnableExternalDatabaseManagementDetails other = (EnableExternalDatabaseManagementDetails) o;
+ return java.util.Objects.equals(this.connectorId, other.connectorId) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.connectorId == null ? 43 : this.connectorId.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/EnableExternalMysqlAssociatedServiceDetails.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/EnableExternalMysqlAssociatedServiceDetails.java
new file mode 100644
index 00000000000..db105a8873b
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/EnableExternalMysqlAssociatedServiceDetails.java
@@ -0,0 +1,212 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * Details to enable an eMysql Associated Service.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = EnableExternalMysqlAssociatedServiceDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class EnableExternalMysqlAssociatedServiceDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"serviceResourceId", "connectorId", "serviceName"})
+ public EnableExternalMysqlAssociatedServiceDetails(
+ String serviceResourceId,
+ String connectorId,
+ ExternalMysqlAssociatedServiceName serviceName) {
+ super();
+ this.serviceResourceId = serviceResourceId;
+ this.connectorId = connectorId;
+ this.serviceName = serviceName;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** OCID of the Service Resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serviceResourceId")
+ private String serviceResourceId;
+
+ /**
+ * OCID of the Service Resource.
+ *
+ * @param serviceResourceId the value to set
+ * @return this builder
+ */
+ public Builder serviceResourceId(String serviceResourceId) {
+ this.serviceResourceId = serviceResourceId;
+ this.__explicitlySet__.add("serviceResourceId");
+ return this;
+ }
+ /** OCID of the External MySQL Database connector. */
+ @com.fasterxml.jackson.annotation.JsonProperty("connectorId")
+ private String connectorId;
+
+ /**
+ * OCID of the External MySQL Database connector.
+ *
+ * @param connectorId the value to set
+ * @return this builder
+ */
+ public Builder connectorId(String connectorId) {
+ this.connectorId = connectorId;
+ this.__explicitlySet__.add("connectorId");
+ return this;
+ }
+ /** Name of the Associated Service. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serviceName")
+ private ExternalMysqlAssociatedServiceName serviceName;
+
+ /**
+ * Name of the Associated Service.
+ *
+ * @param serviceName the value to set
+ * @return this builder
+ */
+ public Builder serviceName(ExternalMysqlAssociatedServiceName serviceName) {
+ this.serviceName = serviceName;
+ this.__explicitlySet__.add("serviceName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public EnableExternalMysqlAssociatedServiceDetails build() {
+ EnableExternalMysqlAssociatedServiceDetails model =
+ new EnableExternalMysqlAssociatedServiceDetails(
+ this.serviceResourceId, this.connectorId, this.serviceName);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(EnableExternalMysqlAssociatedServiceDetails model) {
+ if (model.wasPropertyExplicitlySet("serviceResourceId")) {
+ this.serviceResourceId(model.getServiceResourceId());
+ }
+ if (model.wasPropertyExplicitlySet("connectorId")) {
+ this.connectorId(model.getConnectorId());
+ }
+ if (model.wasPropertyExplicitlySet("serviceName")) {
+ this.serviceName(model.getServiceName());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** OCID of the Service Resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serviceResourceId")
+ private final String serviceResourceId;
+
+ /**
+ * OCID of the Service Resource.
+ *
+ * @return the value
+ */
+ public String getServiceResourceId() {
+ return serviceResourceId;
+ }
+
+ /** OCID of the External MySQL Database connector. */
+ @com.fasterxml.jackson.annotation.JsonProperty("connectorId")
+ private final String connectorId;
+
+ /**
+ * OCID of the External MySQL Database connector.
+ *
+ * @return the value
+ */
+ public String getConnectorId() {
+ return connectorId;
+ }
+
+ /** Name of the Associated Service. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serviceName")
+ private final ExternalMysqlAssociatedServiceName serviceName;
+
+ /**
+ * Name of the Associated Service.
+ *
+ * @return the value
+ */
+ public ExternalMysqlAssociatedServiceName getServiceName() {
+ return serviceName;
+ }
+
+ @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("EnableExternalMysqlAssociatedServiceDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("serviceResourceId=").append(String.valueOf(this.serviceResourceId));
+ sb.append(", connectorId=").append(String.valueOf(this.connectorId));
+ sb.append(", serviceName=").append(String.valueOf(this.serviceName));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof EnableExternalMysqlAssociatedServiceDetails)) {
+ return false;
+ }
+
+ EnableExternalMysqlAssociatedServiceDetails other =
+ (EnableExternalMysqlAssociatedServiceDetails) o;
+ return java.util.Objects.equals(this.serviceResourceId, other.serviceResourceId)
+ && java.util.Objects.equals(this.connectorId, other.connectorId)
+ && java.util.Objects.equals(this.serviceName, other.serviceName)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.serviceResourceId == null ? 43 : this.serviceResourceId.hashCode());
+ result = (result * PRIME) + (this.connectorId == null ? 43 : this.connectorId.hashCode());
+ result = (result * PRIME) + (this.serviceName == null ? 43 : this.serviceName.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/ExadataInfrastructureLifecycleStateValues.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/ExadataInfrastructureLifecycleStateValues.java
new file mode 100644
index 00000000000..4c8612fcd8d
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/ExadataInfrastructureLifecycleStateValues.java
@@ -0,0 +1,176 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * the lifecycle state values for the Exadata infrastructure.
+ * 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: 20201101")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = ExadataInfrastructureLifecycleStateValues.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class ExadataInfrastructureLifecycleStateValues
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"lifecycleState"})
+ public ExadataInfrastructureLifecycleStateValues(LifecycleState lifecycleState) {
+ super();
+ this.lifecycleState = lifecycleState;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The current lifecycle state of the database resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
+ private LifecycleState lifecycleState;
+
+ /**
+ * The current lifecycle state of the database resource.
+ *
+ * @param lifecycleState the value to set
+ * @return this builder
+ */
+ public Builder lifecycleState(LifecycleState lifecycleState) {
+ this.lifecycleState = lifecycleState;
+ this.__explicitlySet__.add("lifecycleState");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public ExadataInfrastructureLifecycleStateValues build() {
+ ExadataInfrastructureLifecycleStateValues model =
+ new ExadataInfrastructureLifecycleStateValues(this.lifecycleState);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(ExadataInfrastructureLifecycleStateValues model) {
+ if (model.wasPropertyExplicitlySet("lifecycleState")) {
+ this.lifecycleState(model.getLifecycleState());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** The current lifecycle state of the database resource. */
+ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum {
+ Creating("CREATING"),
+ Active("ACTIVE"),
+ Inactive("INACTIVE"),
+ Updating("UPDATING"),
+ Deleting("DELETING"),
+ Deleted("DELETED"),
+ Failed("FAILED"),
+ ;
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (LifecycleState v : LifecycleState.values()) {
+ 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);
+ }
+ throw new IllegalArgumentException("Invalid LifecycleState: " + key);
+ }
+ };
+ /** The current lifecycle state of the database resource. */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
+ private final LifecycleState lifecycleState;
+
+ /**
+ * The current lifecycle state of the database resource.
+ *
+ * @return the value
+ */
+ public LifecycleState getLifecycleState() {
+ return lifecycleState;
+ }
+
+ @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("ExadataInfrastructureLifecycleStateValues(");
+ sb.append("super=").append(super.toString());
+ sb.append("lifecycleState=").append(String.valueOf(this.lifecycleState));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ExadataInfrastructureLifecycleStateValues)) {
+ return false;
+ }
+
+ ExadataInfrastructureLifecycleStateValues other =
+ (ExadataInfrastructureLifecycleStateValues) o;
+ return java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/ExternalMySqlDatabase.java b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/ExternalMySqlDatabase.java
new file mode 100644
index 00000000000..a932ca37580
--- /dev/null
+++ b/bmc-databasemanagement/src/main/java/com/oracle/bmc/databasemanagement/model/ExternalMySqlDatabase.java
@@ -0,0 +1,261 @@
+/**
+ * Copyright (c) 2016, 2025, 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.databasemanagement.model;
+
+/**
+ * External database.