diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8a53bec528a..b99525ef875 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,32 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/).
+## Unreleased
+### Breaking Changes
+- Apache configurator add-ons now propagate `SSLInitializationException` when TLS initialization fails instead of silently registering a plaintext socket factory for `https`. Applications that require plaintext transport must explicitly provide a connection manager; see [PlainConnectionSocketFactoryExample.java](bmc-other-examples/bmc-jersey-examples/src/main/java/PlainConnectionSocketFactoryExample.java) and [PlainConnectionSocketFactoryExample.java](bmc-other-examples/bmc-jersey3-examples/src/main/java/PlainConnectionSocketFactoryExample.java) (Jersey 3).
+
+## 3.93.0 - 2026-07-28
+### Added
+- Support for retention locks for block backups in the Block Volume service
+- Support for Data Guard creation with Azure encryption keys and changing encryption key locations to Azure in the Database service
+- Support for registering and unregistering PKCS for Exadata Database Service on Dedicated Infrastructure VM clusters in the Database service
+- Support for Exadata DomU OS live updates in Exadata Cloud and Exadata Cloud@Customer in the Database service
+- Support for Oracle Base Database Cloud@Customer VM clusters in the Database service
+- Support for autonomous database and two-level approver groups in the Oracle API Access Control service
+- Support for creating virtual circuits with AWS as the provider in the Networking service
+- Support for listing available provider regions in the Networking service
+- Support for Oracle Exadata Exascale, Oracle Exadata Exascale at Azure, and Oracle Exadata Exascale at Google Cloud connection technology types in the GoldenGate service
+- Support for Google Cloud Managed Service for Apache Kafka connection technology types in the GoldenGate service
+- Support for AI model connections in the GoldenGate service
+- Support for listing supported AI models by provider, region, and tenancy in the GoldenGate service
+- Support for NEEDS_ATTENTION lifecycle state for connection resources in the GoldenGate service
+- Support for connectionType metadata and connectionTypeNotEqualTo filtering on connection assignment resources in the GoldenGate service
+- Support for H100_X16 and H100_X32 Dedicated AI Cluster shapes for model import in the Generative AI service
+
+### Breaking Changes
+- The field `compartmentId` has been made required in the requests `ListApiMetadataByEntityTypesRequest`, `ListApiMetadataRequest`, `ListPrivilegedApiControlsRequest`, `ListPrivilegedApiRequestsRequest`, and `ListWorkRequestsRequest` in the Oracle API Access Control service
+- The field `compartmentId` has been made required in the model `CreatePrivilegedApiRequestDetails` in the Oracle API Access Control service
+
## 3.92.1 - 2026-07-21
### Added
- Support for multiple FastConnect enhancements in the Networking service
@@ -31,7 +57,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/).
- The return type of method `public com.oracle.bmc.generativeai.model.HostedApplication$LifecycleState getLifecycleState()` has been changed to `com.oracle.bmc.generativeai.model.HostedApplicationBase$LifecycleState` in the model `com.oracle.bmc.generativeai.model.HostedApplicationSummary` in the Generative AI service
- The return type of method `public com.oracle.bmc.generativeai.model.HostedApplication$LifecycleState getLifecycleState()` has been changed to `com.oracle.bmc.generativeai.model.HostedApplicationBase$LifecycleState` in the request class `com.oracle.bmc.generativeai.requests.ListHostedApplicationsRequest` in the Generative AI service
-## 3.91.1 - 2026-06-07
+## 3.91.1 - 2026-07-07
### Added
- Support for DAC hardware shapes for self-hosted models in the Generative AI service
diff --git a/README.md b/README.md
index 45735435709..3e43c44fbc7 100644
--- a/README.md
+++ b/README.md
@@ -162,6 +162,7 @@ There were numerous changes to decouple the implementation from the choice of th
- Also consider using `com.oracle.bmc.http.client.jersey.apacheconfigurator.ApacheConfigurator from the `oci-java-sdk-addons-apache-configurator-jersey` add-on module; or `com.oracle.bmc.http.client.jersey3.apacheconfigurator.ApacheConfigurator` from the `oci-java-sdk-addons-apache-configurator-jersey3` add-on module.
- See [DisableNoConnectionReuseStrategyUsingApacheConfiguratorExample.java](https://github.com/oracle/oci-java-sdk/blob/v3.0.0/bmc-other-examples/bmc-jersey-examples/src/main/java/DisableNoConnectionReuseStrategyUsingApacheConfiguratorExample.java) and [DisableNoConnectionReuseStrategyUsingApacheConfiguratorExample.java](https://github.com/oracle/oci-java-sdk/blob/v3.0.0/bmc-other-examples/bmc-jersey3-examples/src/main/java/DisableNoConnectionReuseStrategyUsingApacheConfiguratorExample.java) (Jersey 3)
+ - If TLS initialization fails, these configurators now throw `SSLInitializationException`; they no longer map `https` routes to plaintext. Applications that intentionally require plaintext transport can provide an explicit connection manager, as shown in [PlainConnectionSocketFactoryExample.java](https://github.com/oracle/oci-java-sdk/blob/master/bmc-other-examples/bmc-jersey-examples/src/main/java/PlainConnectionSocketFactoryExample.java) and [PlainConnectionSocketFactoryExample.java](https://github.com/oracle/oci-java-sdk/blob/master/bmc-other-examples/bmc-jersey3-examples/src/main/java/PlainConnectionSocketFactoryExample.java) (Jersey 3).
### Circuit breaker changes
- The circuit breaker interface has been renamed from `com.oracle.bmc.circuitbreaker.JaxRsCircuitBreaker` to `com.oracle.bmc.circuitbreaker.OciCircuitBreaker`
diff --git a/bmc-accessgovernancecp/pom.xml b/bmc-accessgovernancecp/pom.xml
index 8e1aca9ea8e..2d79c59b041 100644
--- a/bmc-accessgovernancecp/pom.xml
+++ b/bmc-accessgovernancecp/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-accessgovernancecp
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-addons/bmc-adk/pom.xml b/bmc-addons/bmc-adk/pom.xml
index e9b6b548387..36df4d55f87 100644
--- a/bmc-addons/bmc-adk/pom.xml
+++ b/bmc-addons/bmc-adk/pom.xml
@@ -6,7 +6,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons
- 3.92.1
+ 3.93.0
oci-java-sdk-addons-adk
diff --git a/bmc-addons/bmc-aispeech-realtime/pom.xml b/bmc-addons/bmc-aispeech-realtime/pom.xml
index 3411571536c..599e692708e 100644
--- a/bmc-addons/bmc-aispeech-realtime/pom.xml
+++ b/bmc-addons/bmc-aispeech-realtime/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons
- 3.92.1
+ 3.93.0
../pom.xml
4.0.0
@@ -53,12 +53,12 @@
com.oracle.oci.sdk
oci-java-sdk-aispeech
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey
- 3.92.1
+ 3.93.0
compile
diff --git a/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml b/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml
index 495a022e11d..e406aaa8256 100644
--- a/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml
+++ b/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons
- 3.92.1
+ 3.93.0
../pom.xml
@@ -17,14 +17,14 @@
com.oracle.oci.sdk
oci-java-sdk-bom
- 3.92.1
+ 3.93.0
pom
import
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey
- 3.92.1
+ 3.93.0
pom
import
@@ -63,5 +63,20 @@
org.slf4j
slf4j-api
+
+ junit
+ junit
+ test
+
+
+ org.powermock
+ powermock-api-mockito2
+ test
+
+
+ org.powermock
+ powermock-module-junit4
+ test
+
-
\ No newline at end of file
+
diff --git a/bmc-addons/bmc-apache-configurator-jersey-addon/src/main/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfigurator.java b/bmc-addons/bmc-apache-configurator-jersey-addon/src/main/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfigurator.java
index a24433f1a1d..3988f5f9807 100644
--- a/bmc-addons/bmc-apache-configurator-jersey-addon/src/main/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfigurator.java
+++ b/bmc-addons/bmc-apache-configurator-jersey-addon/src/main/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfigurator.java
@@ -262,6 +262,18 @@ else if (!apacheConnectorProperties.isConnectionPooling()) {
}
}
+ /**
+ * Creates the connection socket factory registry.
+ *
+ *
SSL initialization failures are intentionally propagated. This configurator must not
+ * register a plaintext socket factory for the {@code https} scheme. Applications that require
+ * plaintext transport must explicitly provide a connection manager through {@link
+ * ApacheConnectorProperties}.
+ *
+ * @return the connection socket factory registry
+ * @throws org.apache.http.ssl.SSLInitializationException if the default SSL socket factory
+ * cannot be initialized
+ */
private Registry getRegistry() {
final RegistryBuilder registryBuilder =
RegistryBuilder.create()
@@ -284,10 +296,11 @@ private Registry getRegistry() {
.build();
}
} catch (SSLInitializationException e) {
- registry =
- registryBuilder
- .register("https", PlainConnectionSocketFactory.getSocketFactory())
- .build();
+ // Fail closed: never fall back to a plaintext socket factory for the "https" scheme.
+ LOG.info(
+ "Failed to initialize SSL context for the 'https' scheme; refusing to fall"
+ + " back to plain text");
+ throw e;
}
return registry;
}
diff --git a/bmc-addons/bmc-apache-configurator-jersey-addon/src/test/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfiguratorTest.java b/bmc-addons/bmc-apache-configurator-jersey-addon/src/test/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfiguratorTest.java
new file mode 100644
index 00000000000..25cfe70ed7b
--- /dev/null
+++ b/bmc-addons/bmc-apache-configurator-jersey-addon/src/test/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfiguratorTest.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.http.client.jersey.apacheconfigurator;
+
+import com.oracle.bmc.http.client.HttpClientBuilder;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.ssl.SSLInitializationException;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(SSLConnectionSocketFactory.class)
+public class ApacheConfiguratorTest {
+ @Test
+ public void sslInitializationExceptionPropagates() {
+ final SSLInitializationException expected =
+ new SSLInitializationException("Unable to initialize SSL", null);
+ PowerMockito.mockStatic(SSLConnectionSocketFactory.class);
+ PowerMockito.when(SSLConnectionSocketFactory.getSocketFactory()).thenThrow(expected);
+
+ try {
+ new ApacheConfigurator().customizeClient(mock(HttpClientBuilder.class));
+ fail("Expected SSLInitializationException");
+ } catch (SSLInitializationException actual) {
+ assertSame(expected, actual);
+ }
+ }
+}
diff --git a/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml b/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml
index 74cb7ae2e4d..81eb3372fd2 100644
--- a/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml
+++ b/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons
- 3.92.1
+ 3.93.0
../pom.xml
@@ -17,14 +17,14 @@
com.oracle.oci.sdk
oci-java-sdk-bom
- 3.92.1
+ 3.93.0
pom
import
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey3
- 3.92.1
+ 3.93.0
pom
import
@@ -63,5 +63,20 @@
org.slf4j
slf4j-api
+
+ junit
+ junit
+ test
+
+
+ org.powermock
+ powermock-api-mockito2
+ test
+
+
+ org.powermock
+ powermock-module-junit4
+ test
+
-
\ No newline at end of file
+
diff --git a/bmc-addons/bmc-apache-configurator-jersey3-addon/src/main/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfigurator.java b/bmc-addons/bmc-apache-configurator-jersey3-addon/src/main/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfigurator.java
index 282b4e3d760..1c45f333bd1 100644
--- a/bmc-addons/bmc-apache-configurator-jersey3-addon/src/main/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfigurator.java
+++ b/bmc-addons/bmc-apache-configurator-jersey3-addon/src/main/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfigurator.java
@@ -262,6 +262,18 @@ else if (!apacheConnectorProperties.isConnectionPooling()) {
}
}
+ /**
+ * Creates the connection socket factory registry.
+ *
+ * SSL initialization failures are intentionally propagated. This configurator must not
+ * register a plaintext socket factory for the {@code https} scheme. Applications that require
+ * plaintext transport must explicitly provide a connection manager through {@link
+ * ApacheConnectorProperties}.
+ *
+ * @return the connection socket factory registry
+ * @throws org.apache.http.ssl.SSLInitializationException if the default SSL socket factory
+ * cannot be initialized
+ */
private Registry getRegistry() {
final RegistryBuilder registryBuilder =
RegistryBuilder.create()
@@ -284,10 +296,11 @@ private Registry getRegistry() {
.build();
}
} catch (SSLInitializationException e) {
- registry =
- registryBuilder
- .register("https", PlainConnectionSocketFactory.getSocketFactory())
- .build();
+ // Fail closed: never fall back to a plaintext socket factory for the "https" scheme.
+ LOG.info(
+ "Failed to initialize SSL context for the 'https' scheme; refusing to fall"
+ + " back to plain text");
+ throw e;
}
return registry;
}
diff --git a/bmc-addons/bmc-apache-configurator-jersey3-addon/src/test/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfiguratorTest.java b/bmc-addons/bmc-apache-configurator-jersey3-addon/src/test/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfiguratorTest.java
new file mode 100644
index 00000000000..56969f1c1c1
--- /dev/null
+++ b/bmc-addons/bmc-apache-configurator-jersey3-addon/src/test/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfiguratorTest.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.http.client.jersey3.apacheconfigurator;
+
+import com.oracle.bmc.http.client.HttpClientBuilder;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.ssl.SSLInitializationException;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(SSLConnectionSocketFactory.class)
+public class ApacheConfiguratorTest {
+ @Test
+ public void sslInitializationExceptionPropagates() {
+ final SSLInitializationException expected =
+ new SSLInitializationException("Unable to initialize SSL", null);
+ PowerMockito.mockStatic(SSLConnectionSocketFactory.class);
+ PowerMockito.when(SSLConnectionSocketFactory.getSocketFactory()).thenThrow(expected);
+
+ try {
+ new ApacheConfigurator().customizeClient(mock(HttpClientBuilder.class));
+ fail("Expected SSLInitializationException");
+ } catch (SSLInitializationException actual) {
+ assertSame(expected, actual);
+ }
+ }
+}
diff --git a/bmc-addons/bmc-apache-connector-provider/pom.xml b/bmc-addons/bmc-apache-connector-provider/pom.xml
index 29d9e9db89d..c5ebac43aa8 100644
--- a/bmc-addons/bmc-apache-connector-provider/pom.xml
+++ b/bmc-addons/bmc-apache-connector-provider/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons
- 3.92.1
+ 3.93.0
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-addons/bmc-oke-workload-identity/pom.xml b/bmc-addons/bmc-oke-workload-identity/pom.xml
index bb10491bb37..769200f09c5 100644
--- a/bmc-addons/bmc-oke-workload-identity/pom.xml
+++ b/bmc-addons/bmc-oke-workload-identity/pom.xml
@@ -4,7 +4,7 @@
oci-java-sdk-addons
com.oracle.oci.sdk
- 3.92.1
+ 3.93.0
4.0.0
@@ -38,25 +38,25 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
compile
com.oracle.oci.sdk
oci-java-sdk-core
- 3.92.1
+ 3.93.0
test
com.oracle.oci.sdk
oci-java-sdk-identity
- 3.92.1
+ 3.93.0
test
com.oracle.oci.sdk
oci-java-sdk-keymanagement
- 3.92.1
+ 3.93.0
test
diff --git a/bmc-addons/bmc-resteasy-client-configurator/pom.xml b/bmc-addons/bmc-resteasy-client-configurator/pom.xml
index ed8ea03991f..1a1750d6ea0 100644
--- a/bmc-addons/bmc-resteasy-client-configurator/pom.xml
+++ b/bmc-addons/bmc-resteasy-client-configurator/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons
- 3.92.1
+ 3.93.0
../pom.xml
@@ -23,7 +23,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-addons/bmc-sasl-oke-workload-identity/pom.xml b/bmc-addons/bmc-sasl-oke-workload-identity/pom.xml
index 780b5d827a2..0c14c594f6f 100644
--- a/bmc-addons/bmc-sasl-oke-workload-identity/pom.xml
+++ b/bmc-addons/bmc-sasl-oke-workload-identity/pom.xml
@@ -4,7 +4,7 @@
oci-java-sdk-addons
com.oracle.oci.sdk
- 3.92.1
+ 3.93.0
../pom.xml
4.0.0
@@ -39,13 +39,13 @@
com.oracle.oci.sdk
oci-java-sdk-addons-sasl
- 3.92.1
+ 3.93.0
compile
com.oracle.oci.sdk
oci-java-sdk-addons-oke-workload-identity
- 3.92.1
+ 3.93.0
compile
diff --git a/bmc-addons/bmc-sasl/pom.xml b/bmc-addons/bmc-sasl/pom.xml
index fb48093a562..9016f25efd1 100644
--- a/bmc-addons/bmc-sasl/pom.xml
+++ b/bmc-addons/bmc-sasl/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons
- 3.92.1
+ 3.93.0
../pom.xml
@@ -61,7 +61,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
diff --git a/bmc-addons/bmc-sse-support-jersey3/pom.xml b/bmc-addons/bmc-sse-support-jersey3/pom.xml
index 9546983244a..7ca0861fb8e 100644
--- a/bmc-addons/bmc-sse-support-jersey3/pom.xml
+++ b/bmc-addons/bmc-sse-support-jersey3/pom.xml
@@ -5,7 +5,7 @@
oci-java-sdk-addons
com.oracle.oci.sdk
- 3.92.1
+ 3.93.0
../pom.xml
4.0.0
@@ -150,12 +150,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-generativeaiinference
- 3.92.1
+ 3.93.0
test
@@ -164,7 +164,7 @@
but the code in it needs it. -->
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey3
- 3.92.1
+ 3.93.0
diff --git a/bmc-addons/bmc-sse-support/pom.xml b/bmc-addons/bmc-sse-support/pom.xml
index 3e2d3f2ee86..1b352becdf1 100644
--- a/bmc-addons/bmc-sse-support/pom.xml
+++ b/bmc-addons/bmc-sse-support/pom.xml
@@ -5,7 +5,7 @@
oci-java-sdk-addons
com.oracle.oci.sdk
- 3.92.1
+ 3.93.0
../pom.xml
4.0.0
@@ -150,12 +150,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-generativeaiinference
- 3.92.1
+ 3.93.0
test
@@ -164,7 +164,7 @@
but the code in it needs it. -->
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey
- 3.92.1
+ 3.93.0
diff --git a/bmc-addons/pom.xml b/bmc-addons/pom.xml
index 761e6f7f346..1356dc0dbd8 100644
--- a/bmc-addons/pom.xml
+++ b/bmc-addons/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
diff --git a/bmc-adm/pom.xml b/bmc-adm/pom.xml
index b7d3757838f..c963464b270 100644
--- a/bmc-adm/pom.xml
+++ b/bmc-adm/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-adm
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-aidataplatform/pom.xml b/bmc-aidataplatform/pom.xml
index 00de1c3743f..3385bea307c 100644
--- a/bmc-aidataplatform/pom.xml
+++ b/bmc-aidataplatform/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-aidataplatform
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-aidocument/pom.xml b/bmc-aidocument/pom.xml
index d7825d0a5e4..1ba9ecbb449 100644
--- a/bmc-aidocument/pom.xml
+++ b/bmc-aidocument/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-aidocument
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-ailanguage/pom.xml b/bmc-ailanguage/pom.xml
index 92104d677fc..2a8bf61e7d3 100644
--- a/bmc-ailanguage/pom.xml
+++ b/bmc-ailanguage/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-ailanguage
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-aispeech/pom.xml b/bmc-aispeech/pom.xml
index 9d18785d09d..e7c63fa698c 100644
--- a/bmc-aispeech/pom.xml
+++ b/bmc-aispeech/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-aispeech
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-aivision/pom.xml b/bmc-aivision/pom.xml
index d7fc3db84ea..b2ece7095e5 100644
--- a/bmc-aivision/pom.xml
+++ b/bmc-aivision/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-aivision
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-analytics/pom.xml b/bmc-analytics/pom.xml
index 0600d2f499f..80ee6ada412 100644
--- a/bmc-analytics/pom.xml
+++ b/bmc-analytics/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-analytics
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-announcementsservice/pom.xml b/bmc-announcementsservice/pom.xml
index 25d463ec234..436277613fe 100644
--- a/bmc-announcementsservice/pom.xml
+++ b/bmc-announcementsservice/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-announcementsservice
@@ -16,7 +16,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-apiaccesscontrol/pom.xml b/bmc-apiaccesscontrol/pom.xml
index 9010ffc862e..de0fade9f89 100644
--- a/bmc-apiaccesscontrol/pom.xml
+++ b/bmc-apiaccesscontrol/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-apiaccesscontrol
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataAsyncClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataAsyncClient.java
index 058c6b6c372..91167ee7806 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataAsyncClient.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataAsyncClient.java
@@ -132,6 +132,7 @@ public java.util.concurrent.Future listApiMetadata(
final com.oracle.bmc.responses.AsyncHandler<
ListApiMetadataRequest, ListApiMetadataResponse>
handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListApiMetadataResponse::builder)
.logger(LOG, "listApiMetadata")
@@ -171,6 +172,7 @@ public java.util.concurrent.Future listApiMetadata(
ListApiMetadataByEntityTypesRequest,
ListApiMetadataByEntityTypesResponse>
handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListApiMetadataByEntityTypesResponse::builder)
.logger(LOG, "listApiMetadataByEntityTypes")
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataClient.java
index 6cad6b73471..e4a26992a87 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataClient.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataClient.java
@@ -153,6 +153,7 @@ public GetApiMetadataResponse getApiMetadata(GetApiMetadataRequest request) {
@Override
public ListApiMetadataResponse listApiMetadata(ListApiMetadataRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListApiMetadataResponse::builder)
.logger(LOG, "listApiMetadata")
@@ -188,6 +189,7 @@ public ListApiMetadataResponse listApiMetadata(ListApiMetadataRequest request) {
@Override
public ListApiMetadataByEntityTypesResponse listApiMetadataByEntityTypes(
ListApiMetadataByEntityTypesRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListApiMetadataByEntityTypesResponse::builder)
.logger(LOG, "listApiMetadataByEntityTypes")
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlAsyncClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlAsyncClient.java
index b7d6f7f4692..4399c061ea6 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlAsyncClient.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlAsyncClient.java
@@ -255,6 +255,7 @@ public java.util.concurrent.Future listPrivil
final com.oracle.bmc.responses.AsyncHandler<
ListPrivilegedApiControlsRequest, ListPrivilegedApiControlsResponse>
handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListPrivilegedApiControlsResponse::builder)
.logger(LOG, "listPrivilegedApiControls")
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlClient.java
index 951a1117e9a..ed51ed5ed59 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlClient.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlClient.java
@@ -267,6 +267,7 @@ public GetPrivilegedApiControlResponse getPrivilegedApiControl(
@Override
public ListPrivilegedApiControlsResponse listPrivilegedApiControls(
ListPrivilegedApiControlsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListPrivilegedApiControlsResponse::builder)
.logger(LOG, "listPrivilegedApiControls")
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsAsyncClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsAsyncClient.java
index 342fd46a7c7..0ff8aa9ab26 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsAsyncClient.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsAsyncClient.java
@@ -258,6 +258,7 @@ public java.util.concurrent.Future listPrivil
final com.oracle.bmc.responses.AsyncHandler<
ListPrivilegedApiRequestsRequest, ListPrivilegedApiRequestsResponse>
handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListPrivilegedApiRequestsResponse::builder)
.logger(LOG, "listPrivilegedApiRequests")
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsClient.java
index e6a487d75d0..b5aa5db8d59 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsClient.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsClient.java
@@ -272,6 +272,7 @@ public GetPrivilegedApiRequestResponse getPrivilegedApiRequest(
@Override
public ListPrivilegedApiRequestsResponse listPrivilegedApiRequests(
ListPrivilegedApiRequestsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListPrivilegedApiRequestsResponse::builder)
.logger(LOG, "listPrivilegedApiRequests")
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestAsyncClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestAsyncClient.java
index 6126053b145..85cf79f8032 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestAsyncClient.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestAsyncClient.java
@@ -238,6 +238,7 @@ public java.util.concurrent.Future listWorkRequests(
final com.oracle.bmc.responses.AsyncHandler<
ListWorkRequestsRequest, ListWorkRequestsResponse>
handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListWorkRequestsResponse::builder)
.logger(LOG, "listWorkRequests")
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestClient.java
index cfc07f8a74d..bcaf28ac343 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestClient.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestClient.java
@@ -251,6 +251,7 @@ public ListWorkRequestLogsResponse listWorkRequestLogs(ListWorkRequestLogsReques
@Override
public ListWorkRequestsResponse listWorkRequests(ListWorkRequestsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
return clientCall(request, ListWorkRequestsResponse::builder)
.logger(LOG, "listWorkRequests")
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadata.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadata.java
index e6ff58e9d4c..c34f0e89ff0 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadata.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadata.java
@@ -36,6 +36,7 @@ public final class ApiMetadata extends com.oracle.bmc.http.client.internal.Expli
"entityType",
"apiName",
"fields",
+ "attributes",
"timeCreated",
"timeUpdated",
"timeDeleted",
@@ -53,6 +54,7 @@ public ApiMetadata(
String entityType,
String apiName,
java.util.List fields,
+ java.util.List attributes,
java.util.Date timeCreated,
java.util.Date timeUpdated,
java.util.Date timeDeleted,
@@ -69,6 +71,7 @@ public ApiMetadata(
this.entityType = entityType;
this.apiName = apiName;
this.fields = fields;
+ this.attributes = attributes;
this.timeCreated = timeCreated;
this.timeUpdated = timeUpdated;
this.timeDeleted = timeDeleted;
@@ -175,12 +178,12 @@ public Builder apiName(String apiName) {
this.__explicitlySet__.add("apiName");
return this;
}
- /** List of the fields that is use while calling post or put for the data. */
+ /** deprecated; Use attributes field instead. */
@com.fasterxml.jackson.annotation.JsonProperty("fields")
private java.util.List fields;
/**
- * List of the fields that is use while calling post or put for the data.
+ * deprecated; Use attributes field instead.
*
* @param fields the value to set
* @return this builder
@@ -190,6 +193,21 @@ public Builder fields(java.util.List fields) {
this.__explicitlySet__.add("fields");
return this;
}
+ /** List of the fields that is use while calling post or put for the data. */
+ @com.fasterxml.jackson.annotation.JsonProperty("attributes")
+ private java.util.List attributes;
+
+ /**
+ * List of the fields that is use while calling post or put for the data.
+ *
+ * @param attributes the value to set
+ * @return this builder
+ */
+ public Builder attributes(java.util.List attributes) {
+ this.attributes = attributes;
+ this.__explicitlySet__.add("attributes");
+ return this;
+ }
/**
* The date and time the PrivilegedApiControl was created, in the format defined by [RFC
* 3339](https://tools.ietf.org/html/rfc3339).
@@ -381,6 +399,7 @@ public ApiMetadata build() {
this.entityType,
this.apiName,
this.fields,
+ this.attributes,
this.timeCreated,
this.timeUpdated,
this.timeDeleted,
@@ -418,6 +437,9 @@ public Builder copy(ApiMetadata model) {
if (model.wasPropertyExplicitlySet("fields")) {
this.fields(model.getFields());
}
+ if (model.wasPropertyExplicitlySet("attributes")) {
+ this.attributes(model.getAttributes());
+ }
if (model.wasPropertyExplicitlySet("timeCreated")) {
this.timeCreated(model.getTimeCreated());
}
@@ -537,12 +559,12 @@ public String getApiName() {
return apiName;
}
- /** List of the fields that is use while calling post or put for the data. */
+ /** deprecated; Use attributes field instead. */
@com.fasterxml.jackson.annotation.JsonProperty("fields")
private final java.util.List fields;
/**
- * List of the fields that is use while calling post or put for the data.
+ * deprecated; Use attributes field instead.
*
* @return the value
*/
@@ -550,6 +572,19 @@ public java.util.List getFields() {
return fields;
}
+ /** List of the fields that is use while calling post or put for the data. */
+ @com.fasterxml.jackson.annotation.JsonProperty("attributes")
+ private final java.util.List attributes;
+
+ /**
+ * List of the fields that is use while calling post or put for the data.
+ *
+ * @return the value
+ */
+ public java.util.List getAttributes() {
+ return attributes;
+ }
+
/**
* The date and time the PrivilegedApiControl was created, in the format defined by [RFC
* 3339](https://tools.ietf.org/html/rfc3339).
@@ -780,6 +815,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", entityType=").append(String.valueOf(this.entityType));
sb.append(", apiName=").append(String.valueOf(this.apiName));
sb.append(", fields=").append(String.valueOf(this.fields));
+ sb.append(", attributes=").append(String.valueOf(this.attributes));
sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated));
sb.append(", timeDeleted=").append(String.valueOf(this.timeDeleted));
@@ -809,6 +845,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.entityType, other.entityType)
&& java.util.Objects.equals(this.apiName, other.apiName)
&& java.util.Objects.equals(this.fields, other.fields)
+ && java.util.Objects.equals(this.attributes, other.attributes)
&& java.util.Objects.equals(this.timeCreated, other.timeCreated)
&& java.util.Objects.equals(this.timeUpdated, other.timeUpdated)
&& java.util.Objects.equals(this.timeDeleted, other.timeDeleted)
@@ -831,6 +868,7 @@ public int hashCode() {
result = (result * PRIME) + (this.entityType == null ? 43 : this.entityType.hashCode());
result = (result * PRIME) + (this.apiName == null ? 43 : this.apiName.hashCode());
result = (result * PRIME) + (this.fields == null ? 43 : this.fields.hashCode());
+ result = (result * PRIME) + (this.attributes == null ? 43 : this.attributes.hashCode());
result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode());
result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.hashCode());
result = (result * PRIME) + (this.timeDeleted == null ? 43 : this.timeDeleted.hashCode());
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadataByEntityTypeSummary.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadataByEntityTypeSummary.java
index b301173820a..33242a53bb7 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadataByEntityTypeSummary.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadataByEntityTypeSummary.java
@@ -24,6 +24,7 @@ public final class ApiMetadataByEntityTypeSummary
extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
@java.beans.ConstructorProperties({
+ "compartmentId",
"entityType",
"apiMetadatas",
"freeformTags",
@@ -31,12 +32,14 @@ public final class ApiMetadataByEntityTypeSummary
"systemTags"
})
public ApiMetadataByEntityTypeSummary(
+ String compartmentId,
String entityType,
java.util.List apiMetadatas,
java.util.Map freeformTags,
java.util.Map> definedTags,
java.util.Map> systemTags) {
super();
+ this.compartmentId = compartmentId;
this.entityType = entityType;
this.apiMetadatas = apiMetadatas;
this.freeformTags = freeformTags;
@@ -46,6 +49,21 @@ public ApiMetadataByEntityTypeSummary(
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
public static class Builder {
+ /** The OCID of the compartment that contains the Service Provider Action. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * The OCID of the compartment that contains the Service Provider Action.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
/** The entity Type to which the Api belongs to. */
@com.fasterxml.jackson.annotation.JsonProperty("entityType")
private String entityType;
@@ -155,6 +173,7 @@ public Builder systemTags(java.util.Map> s
public ApiMetadataByEntityTypeSummary build() {
ApiMetadataByEntityTypeSummary model =
new ApiMetadataByEntityTypeSummary(
+ this.compartmentId,
this.entityType,
this.apiMetadatas,
this.freeformTags,
@@ -168,6 +187,9 @@ public ApiMetadataByEntityTypeSummary build() {
@com.fasterxml.jackson.annotation.JsonIgnore
public Builder copy(ApiMetadataByEntityTypeSummary model) {
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
if (model.wasPropertyExplicitlySet("entityType")) {
this.entityType(model.getEntityType());
}
@@ -196,6 +218,19 @@ public Builder toBuilder() {
return new Builder().copy(this);
}
+ /** The OCID of the compartment that contains the Service Provider Action. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * The OCID of the compartment that contains the Service Provider Action.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
/** The entity Type to which the Api belongs to. */
@com.fasterxml.jackson.annotation.JsonProperty("entityType")
private final String entityType;
@@ -302,7 +337,8 @@ public String toString(boolean includeByteArrayContents) {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("ApiMetadataByEntityTypeSummary(");
sb.append("super=").append(super.toString());
- sb.append("entityType=").append(String.valueOf(this.entityType));
+ sb.append("compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", entityType=").append(String.valueOf(this.entityType));
sb.append(", apiMetadatas=").append(String.valueOf(this.apiMetadatas));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", definedTags=").append(String.valueOf(this.definedTags));
@@ -321,7 +357,8 @@ public boolean equals(Object o) {
}
ApiMetadataByEntityTypeSummary other = (ApiMetadataByEntityTypeSummary) o;
- return java.util.Objects.equals(this.entityType, other.entityType)
+ return java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.entityType, other.entityType)
&& java.util.Objects.equals(this.apiMetadatas, other.apiMetadatas)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.definedTags, other.definedTags)
@@ -333,6 +370,9 @@ public boolean equals(Object o) {
public int hashCode() {
final int PRIME = 59;
int result = 1;
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
result = (result * PRIME) + (this.entityType == null ? 43 : this.entityType.hashCode());
result = (result * PRIME) + (this.apiMetadatas == null ? 43 : this.apiMetadatas.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverDetail.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverDetail.java
index 14d754943f2..2f031fcd49d 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverDetail.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverDetail.java
@@ -26,6 +26,7 @@ public final class ApproverDetail
@java.beans.ConstructorProperties({
"approverId",
"approvalAction",
+ "approverGroupLevel",
"approvalComment",
"timeOfAuthorization",
"timeApprovedForAccess"
@@ -33,12 +34,14 @@ public final class ApproverDetail
public ApproverDetail(
String approverId,
String approvalAction,
+ Integer approverGroupLevel,
String approvalComment,
java.util.Date timeOfAuthorization,
java.util.Date timeApprovedForAccess) {
super();
this.approverId = approverId;
this.approvalAction = approvalAction;
+ this.approverGroupLevel = approverGroupLevel;
this.approvalComment = approvalComment;
this.timeOfAuthorization = timeOfAuthorization;
this.timeApprovedForAccess = timeApprovedForAccess;
@@ -76,6 +79,21 @@ public Builder approvalAction(String approvalAction) {
this.__explicitlySet__.add("approvalAction");
return this;
}
+ /** The group level at which the approver approved. */
+ @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevel")
+ private Integer approverGroupLevel;
+
+ /**
+ * The group level at which the approver approved.
+ *
+ * @param approverGroupLevel the value to set
+ * @return this builder
+ */
+ public Builder approverGroupLevel(Integer approverGroupLevel) {
+ this.approverGroupLevel = approverGroupLevel;
+ this.__explicitlySet__.add("approverGroupLevel");
+ return this;
+ }
/** Comment specified by the approver of the request. */
@com.fasterxml.jackson.annotation.JsonProperty("approvalComment")
private String approvalComment;
@@ -142,6 +160,7 @@ public ApproverDetail build() {
new ApproverDetail(
this.approverId,
this.approvalAction,
+ this.approverGroupLevel,
this.approvalComment,
this.timeOfAuthorization,
this.timeApprovedForAccess);
@@ -159,6 +178,9 @@ public Builder copy(ApproverDetail model) {
if (model.wasPropertyExplicitlySet("approvalAction")) {
this.approvalAction(model.getApprovalAction());
}
+ if (model.wasPropertyExplicitlySet("approverGroupLevel")) {
+ this.approverGroupLevel(model.getApproverGroupLevel());
+ }
if (model.wasPropertyExplicitlySet("approvalComment")) {
this.approvalComment(model.getApprovalComment());
}
@@ -207,6 +229,19 @@ public String getApprovalAction() {
return approvalAction;
}
+ /** The group level at which the approver approved. */
+ @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevel")
+ private final Integer approverGroupLevel;
+
+ /**
+ * The group level at which the approver approved.
+ *
+ * @return the value
+ */
+ public Integer getApproverGroupLevel() {
+ return approverGroupLevel;
+ }
+
/** Comment specified by the approver of the request. */
@com.fasterxml.jackson.annotation.JsonProperty("approvalComment")
private final String approvalComment;
@@ -275,6 +310,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append("super=").append(super.toString());
sb.append("approverId=").append(String.valueOf(this.approverId));
sb.append(", approvalAction=").append(String.valueOf(this.approvalAction));
+ sb.append(", approverGroupLevel=").append(String.valueOf(this.approverGroupLevel));
sb.append(", approvalComment=").append(String.valueOf(this.approvalComment));
sb.append(", timeOfAuthorization=").append(String.valueOf(this.timeOfAuthorization));
sb.append(", timeApprovedForAccess=").append(String.valueOf(this.timeApprovedForAccess));
@@ -294,6 +330,7 @@ public boolean equals(Object o) {
ApproverDetail other = (ApproverDetail) o;
return java.util.Objects.equals(this.approverId, other.approverId)
&& java.util.Objects.equals(this.approvalAction, other.approvalAction)
+ && java.util.Objects.equals(this.approverGroupLevel, other.approverGroupLevel)
&& java.util.Objects.equals(this.approvalComment, other.approvalComment)
&& java.util.Objects.equals(this.timeOfAuthorization, other.timeOfAuthorization)
&& java.util.Objects.equals(this.timeApprovedForAccess, other.timeApprovedForAccess)
@@ -308,6 +345,11 @@ public int hashCode() {
result =
(result * PRIME)
+ (this.approvalAction == null ? 43 : this.approvalAction.hashCode());
+ result =
+ (result * PRIME)
+ + (this.approverGroupLevel == null
+ ? 43
+ : this.approverGroupLevel.hashCode());
result =
(result * PRIME)
+ (this.approvalComment == null ? 43 : this.approvalComment.hashCode());
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverGroupLevel.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverGroupLevel.java
new file mode 100644
index 00000000000..8c7a97549ec
--- /dev/null
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverGroupLevel.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.apiaccesscontrol.model;
+
+/**
+ * It represents the group level detail for authorization
+ * 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: 20241130")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = ApproverGroupLevel.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class ApproverGroupLevel
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"groupId", "groupLevel"})
+ public ApproverGroupLevel(java.util.List groupId, Integer groupLevel) {
+ super();
+ this.groupId = groupId;
+ this.groupLevel = groupLevel;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** id of the group. */
+ @com.fasterxml.jackson.annotation.JsonProperty("groupId")
+ private java.util.List groupId;
+
+ /**
+ * id of the group.
+ *
+ * @param groupId the value to set
+ * @return this builder
+ */
+ public Builder groupId(java.util.List groupId) {
+ this.groupId = groupId;
+ this.__explicitlySet__.add("groupId");
+ return this;
+ }
+ /** level of the group. */
+ @com.fasterxml.jackson.annotation.JsonProperty("groupLevel")
+ private Integer groupLevel;
+
+ /**
+ * level of the group.
+ *
+ * @param groupLevel the value to set
+ * @return this builder
+ */
+ public Builder groupLevel(Integer groupLevel) {
+ this.groupLevel = groupLevel;
+ this.__explicitlySet__.add("groupLevel");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public ApproverGroupLevel build() {
+ ApproverGroupLevel model = new ApproverGroupLevel(this.groupId, this.groupLevel);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(ApproverGroupLevel model) {
+ if (model.wasPropertyExplicitlySet("groupId")) {
+ this.groupId(model.getGroupId());
+ }
+ if (model.wasPropertyExplicitlySet("groupLevel")) {
+ this.groupLevel(model.getGroupLevel());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** id of the group. */
+ @com.fasterxml.jackson.annotation.JsonProperty("groupId")
+ private final java.util.List groupId;
+
+ /**
+ * id of the group.
+ *
+ * @return the value
+ */
+ public java.util.List getGroupId() {
+ return groupId;
+ }
+
+ /** level of the group. */
+ @com.fasterxml.jackson.annotation.JsonProperty("groupLevel")
+ private final Integer groupLevel;
+
+ /**
+ * level of the group.
+ *
+ * @return the value
+ */
+ public Integer getGroupLevel() {
+ return groupLevel;
+ }
+
+ @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("ApproverGroupLevel(");
+ sb.append("super=").append(super.toString());
+ sb.append("groupId=").append(String.valueOf(this.groupId));
+ sb.append(", groupLevel=").append(String.valueOf(this.groupLevel));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ApproverGroupLevel)) {
+ return false;
+ }
+
+ ApproverGroupLevel other = (ApproverGroupLevel) o;
+ return java.util.Objects.equals(this.groupId, other.groupId)
+ && java.util.Objects.equals(this.groupLevel, other.groupLevel)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.groupId == null ? 43 : this.groupId.hashCode());
+ result = (result * PRIME) + (this.groupLevel == null ? 43 : this.groupLevel.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/CreatePrivilegedApiControlDetails.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/CreatePrivilegedApiControlDetails.java
index a49e7fc7bb9..de7b1500875 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/CreatePrivilegedApiControlDetails.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/CreatePrivilegedApiControlDetails.java
@@ -29,6 +29,7 @@ public final class CreatePrivilegedApiControlDetails
"compartmentId",
"notificationTopicId",
"approverGroupIdList",
+ "approverGroupLevelList",
"privilegedOperationList",
"resourceType",
"resources",
@@ -42,6 +43,7 @@ public CreatePrivilegedApiControlDetails(
String compartmentId,
String notificationTopicId,
java.util.List approverGroupIdList,
+ java.util.List approverGroupLevelList,
java.util.List privilegedOperationList,
String resourceType,
java.util.List resources,
@@ -54,6 +56,7 @@ public CreatePrivilegedApiControlDetails(
this.compartmentId = compartmentId;
this.notificationTopicId = notificationTopicId;
this.approverGroupIdList = approverGroupIdList;
+ this.approverGroupLevelList = approverGroupLevelList;
this.privilegedOperationList = privilegedOperationList;
this.resourceType = resourceType;
this.resources = resources;
@@ -114,14 +117,14 @@ public Builder compartmentId(String compartmentId) {
return this;
}
/**
- * The OCID of the OCI Notification topic to publish messages related to this Delegation
+ * The OCID of the OCI Notification topic to publish messages related to this Privileged Api
* Control.
*/
@com.fasterxml.jackson.annotation.JsonProperty("notificationTopicId")
private String notificationTopicId;
/**
- * The OCID of the OCI Notification topic to publish messages related to this Delegation
+ * The OCID of the OCI Notification topic to publish messages related to this Privileged Api
* Control.
*
* @param notificationTopicId the value to set
@@ -151,6 +154,26 @@ public Builder approverGroupIdList(java.util.List approverGroupIdList) {
this.__explicitlySet__.add("approverGroupIdList");
return this;
}
+ /**
+ * List of Group containing the levels at which the users belonging to the group can
+ * authorize.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList")
+ private java.util.List approverGroupLevelList;
+
+ /**
+ * List of Group containing the levels at which the users belonging to the group can
+ * authorize.
+ *
+ * @param approverGroupLevelList the value to set
+ * @return this builder
+ */
+ public Builder approverGroupLevelList(
+ java.util.List approverGroupLevelList) {
+ this.approverGroupLevelList = approverGroupLevelList;
+ this.__explicitlySet__.add("approverGroupLevelList");
+ return this;
+ }
/**
* List of privileged operator operations. If Privileged API Managment is enabled for a
* resource it will be validated whether the operation done by the operator is a part of
@@ -281,6 +304,7 @@ public CreatePrivilegedApiControlDetails build() {
this.compartmentId,
this.notificationTopicId,
this.approverGroupIdList,
+ this.approverGroupLevelList,
this.privilegedOperationList,
this.resourceType,
this.resources,
@@ -310,6 +334,9 @@ public Builder copy(CreatePrivilegedApiControlDetails model) {
if (model.wasPropertyExplicitlySet("approverGroupIdList")) {
this.approverGroupIdList(model.getApproverGroupIdList());
}
+ if (model.wasPropertyExplicitlySet("approverGroupLevelList")) {
+ this.approverGroupLevelList(model.getApproverGroupLevelList());
+ }
if (model.wasPropertyExplicitlySet("privilegedOperationList")) {
this.privilegedOperationList(model.getPrivilegedOperationList());
}
@@ -385,14 +412,14 @@ public String getCompartmentId() {
}
/**
- * The OCID of the OCI Notification topic to publish messages related to this Delegation
+ * The OCID of the OCI Notification topic to publish messages related to this Privileged Api
* Control.
*/
@com.fasterxml.jackson.annotation.JsonProperty("notificationTopicId")
private final String notificationTopicId;
/**
- * The OCID of the OCI Notification topic to publish messages related to this Delegation
+ * The OCID of the OCI Notification topic to publish messages related to this Privileged Api
* Control.
*
* @return the value
@@ -418,6 +445,21 @@ public java.util.List getApproverGroupIdList() {
return approverGroupIdList;
}
+ /**
+ * List of Group containing the levels at which the users belonging to the group can authorize.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList")
+ private final java.util.List approverGroupLevelList;
+
+ /**
+ * List of Group containing the levels at which the users belonging to the group can authorize.
+ *
+ * @return the value
+ */
+ public java.util.List getApproverGroupLevelList() {
+ return approverGroupLevelList;
+ }
+
/**
* List of privileged operator operations. If Privileged API Managment is enabled for a resource
* it will be validated whether the operation done by the operator is a part of privileged
@@ -542,6 +584,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
sb.append(", notificationTopicId=").append(String.valueOf(this.notificationTopicId));
sb.append(", approverGroupIdList=").append(String.valueOf(this.approverGroupIdList));
+ sb.append(", approverGroupLevelList=").append(String.valueOf(this.approverGroupLevelList));
sb.append(", privilegedOperationList=")
.append(String.valueOf(this.privilegedOperationList));
sb.append(", resourceType=").append(String.valueOf(this.resourceType));
@@ -568,6 +611,8 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.compartmentId, other.compartmentId)
&& java.util.Objects.equals(this.notificationTopicId, other.notificationTopicId)
&& java.util.Objects.equals(this.approverGroupIdList, other.approverGroupIdList)
+ && java.util.Objects.equals(
+ this.approverGroupLevelList, other.approverGroupLevelList)
&& java.util.Objects.equals(
this.privilegedOperationList, other.privilegedOperationList)
&& java.util.Objects.equals(this.resourceType, other.resourceType)
@@ -597,6 +642,11 @@ public int hashCode() {
+ (this.approverGroupIdList == null
? 43
: this.approverGroupIdList.hashCode());
+ result =
+ (result * PRIME)
+ + (this.approverGroupLevelList == null
+ ? 43
+ : this.approverGroupLevelList.hashCode());
result =
(result * PRIME)
+ (this.privilegedOperationList == null
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControl.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControl.java
index 429fafc2b4b..eb18e23e561 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControl.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControl.java
@@ -38,6 +38,7 @@ public final class PrivilegedApiControl
"description",
"notificationTopicId",
"approverGroupIdList",
+ "approverGroupLevelList",
"resourceType",
"resources",
"privilegedOperationList",
@@ -60,6 +61,7 @@ public PrivilegedApiControl(
String description,
String notificationTopicId,
java.util.List approverGroupIdList,
+ java.util.List approverGroupLevelList,
String resourceType,
java.util.List resources,
java.util.List privilegedOperationList,
@@ -81,6 +83,7 @@ public PrivilegedApiControl(
this.description = description;
this.notificationTopicId = notificationTopicId;
this.approverGroupIdList = approverGroupIdList;
+ this.approverGroupLevelList = approverGroupLevelList;
this.resourceType = resourceType;
this.resources = resources;
this.privilegedOperationList = privilegedOperationList;
@@ -205,6 +208,26 @@ public Builder approverGroupIdList(java.util.List approverGroupIdList) {
this.__explicitlySet__.add("approverGroupIdList");
return this;
}
+ /**
+ * List of Group containing the levels at which the users belonging to the group can
+ * authorize.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList")
+ private java.util.List approverGroupLevelList;
+
+ /**
+ * List of Group containing the levels at which the users belonging to the group can
+ * authorize.
+ *
+ * @param approverGroupLevelList the value to set
+ * @return this builder
+ */
+ public Builder approverGroupLevelList(
+ java.util.List approverGroupLevelList) {
+ this.approverGroupLevelList = approverGroupLevelList;
+ this.__explicitlySet__.add("approverGroupLevelList");
+ return this;
+ }
/** resourceType for which the PrivilegedApiControl is applicable */
@com.fasterxml.jackson.annotation.JsonProperty("resourceType")
private String resourceType;
@@ -276,18 +299,14 @@ public Builder numberOfApprovers(Integer numberOfApprovers) {
}
/**
* The date and time the PrivilegedApiControl was created, in the format defined by [RFC
- * 3339](https://tools.ietf.org/html/rfc3339).
- *
- * Example: {@code 2016-08-25T21:10:29.600Z}
+ * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z}
*/
@com.fasterxml.jackson.annotation.JsonProperty("timeCreated")
private java.util.Date timeCreated;
/**
* The date and time the PrivilegedApiControl was created, in the format defined by [RFC
- * 3339](https://tools.ietf.org/html/rfc3339).
- *
- *
Example: {@code 2016-08-25T21:10:29.600Z}
+ * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z}
*
* @param timeCreated the value to set
* @return this builder
@@ -500,6 +519,7 @@ public PrivilegedApiControl build() {
this.description,
this.notificationTopicId,
this.approverGroupIdList,
+ this.approverGroupLevelList,
this.resourceType,
this.resources,
this.privilegedOperationList,
@@ -540,6 +560,9 @@ public Builder copy(PrivilegedApiControl model) {
if (model.wasPropertyExplicitlySet("approverGroupIdList")) {
this.approverGroupIdList(model.getApproverGroupIdList());
}
+ if (model.wasPropertyExplicitlySet("approverGroupLevelList")) {
+ this.approverGroupLevelList(model.getApproverGroupLevelList());
+ }
if (model.wasPropertyExplicitlySet("resourceType")) {
this.resourceType(model.getResourceType());
}
@@ -689,6 +712,21 @@ public java.util.List getApproverGroupIdList() {
return approverGroupIdList;
}
+ /**
+ * List of Group containing the levels at which the users belonging to the group can authorize.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList")
+ private final java.util.List approverGroupLevelList;
+
+ /**
+ * List of Group containing the levels at which the users belonging to the group can authorize.
+ *
+ * @return the value
+ */
+ public java.util.List getApproverGroupLevelList() {
+ return approverGroupLevelList;
+ }
+
/** resourceType for which the PrivilegedApiControl is applicable */
@com.fasterxml.jackson.annotation.JsonProperty("resourceType")
private final String resourceType;
@@ -751,18 +789,14 @@ public Integer getNumberOfApprovers() {
/**
* The date and time the PrivilegedApiControl was created, in the format defined by [RFC
- * 3339](https://tools.ietf.org/html/rfc3339).
- *
- * Example: {@code 2016-08-25T21:10:29.600Z}
+ * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z}
*/
@com.fasterxml.jackson.annotation.JsonProperty("timeCreated")
private final java.util.Date timeCreated;
/**
* The date and time the PrivilegedApiControl was created, in the format defined by [RFC
- * 3339](https://tools.ietf.org/html/rfc3339).
- *
- *
Example: {@code 2016-08-25T21:10:29.600Z}
+ * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z}
*
* @return the value
*/
@@ -1009,6 +1043,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", description=").append(String.valueOf(this.description));
sb.append(", notificationTopicId=").append(String.valueOf(this.notificationTopicId));
sb.append(", approverGroupIdList=").append(String.valueOf(this.approverGroupIdList));
+ sb.append(", approverGroupLevelList=").append(String.valueOf(this.approverGroupLevelList));
sb.append(", resourceType=").append(String.valueOf(this.resourceType));
sb.append(", resources=").append(String.valueOf(this.resources));
sb.append(", privilegedOperationList=")
@@ -1044,6 +1079,8 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.description, other.description)
&& java.util.Objects.equals(this.notificationTopicId, other.notificationTopicId)
&& java.util.Objects.equals(this.approverGroupIdList, other.approverGroupIdList)
+ && java.util.Objects.equals(
+ this.approverGroupLevelList, other.approverGroupLevelList)
&& java.util.Objects.equals(this.resourceType, other.resourceType)
&& java.util.Objects.equals(this.resources, other.resources)
&& java.util.Objects.equals(
@@ -1082,6 +1119,11 @@ public int hashCode() {
+ (this.approverGroupIdList == null
? 43
: this.approverGroupIdList.hashCode());
+ result =
+ (result * PRIME)
+ + (this.approverGroupLevelList == null
+ ? 43
+ : this.approverGroupLevelList.hashCode());
result = (result * PRIME) + (this.resourceType == null ? 43 : this.resourceType.hashCode());
result = (result * PRIME) + (this.resources == null ? 43 : this.resources.hashCode());
result =
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControlSummary.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControlSummary.java
index b2055102aef..5eef26dea59 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControlSummary.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControlSummary.java
@@ -174,18 +174,14 @@ public Builder timeCreated(java.util.Date timeCreated) {
}
/**
* The date and time the PrivilegedApiControl was updated, in the format defined by [RFC
- * 3339](https://tools.ietf.org/html/rfc3339).
- *
- *
Example: {@code 2016-08-25T21:10:29.600Z}
+ * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z}
*/
@com.fasterxml.jackson.annotation.JsonProperty("timeUpdated")
private java.util.Date timeUpdated;
/**
* The date and time the PrivilegedApiControl was updated, in the format defined by [RFC
- * 3339](https://tools.ietf.org/html/rfc3339).
- *
- *
Example: {@code 2016-08-25T21:10:29.600Z}
+ * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z}
*
* @param timeUpdated the value to set
* @return this builder
@@ -496,18 +492,14 @@ public java.util.Date getTimeCreated() {
/**
* The date and time the PrivilegedApiControl was updated, in the format defined by [RFC
- * 3339](https://tools.ietf.org/html/rfc3339).
- *
- *
Example: {@code 2016-08-25T21:10:29.600Z}
+ * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z}
*/
@com.fasterxml.jackson.annotation.JsonProperty("timeUpdated")
private final java.util.Date timeUpdated;
/**
* The date and time the PrivilegedApiControl was updated, in the format defined by [RFC
- * 3339](https://tools.ietf.org/html/rfc3339).
- *
- *
Example: {@code 2016-08-25T21:10:29.600Z}
+ * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z}
*
* @return the value
*/
diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/UpdatePrivilegedApiControlDetails.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/UpdatePrivilegedApiControlDetails.java
index 01d379b6761..88686494146 100644
--- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/UpdatePrivilegedApiControlDetails.java
+++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/UpdatePrivilegedApiControlDetails.java
@@ -30,6 +30,7 @@ public final class UpdatePrivilegedApiControlDetails
"resources",
"notificationTopicId",
"approverGroupIdList",
+ "approverGroupLevelList",
"privilegedOperationList",
"numberOfApprovers",
"freeformTags",
@@ -42,6 +43,7 @@ public UpdatePrivilegedApiControlDetails(
java.util.List resources,
String notificationTopicId,
java.util.List approverGroupIdList,
+ java.util.List approverGroupLevelList,
java.util.List privilegedOperationList,
Integer numberOfApprovers,
java.util.Map freeformTags,
@@ -53,6 +55,7 @@ public UpdatePrivilegedApiControlDetails(
this.resources = resources;
this.notificationTopicId = notificationTopicId;
this.approverGroupIdList = approverGroupIdList;
+ this.approverGroupLevelList = approverGroupLevelList;
this.privilegedOperationList = privilegedOperationList;
this.numberOfApprovers = numberOfApprovers;
this.freeformTags = freeformTags;
@@ -122,14 +125,14 @@ public Builder resources(java.util.List resources) {
return this;
}
/**
- * The OCID of the OCI Notification topic to publish messages related to this Delegation
+ * The OCID of the OCI Notification topic to publish messages related to this Privileged Api
* Control.
*/
@com.fasterxml.jackson.annotation.JsonProperty("notificationTopicId")
private String notificationTopicId;
/**
- * The OCID of the OCI Notification topic to publish messages related to this Delegation
+ * The OCID of the OCI Notification topic to publish messages related to this Privileged Api
* Control.
*
* @param notificationTopicId the value to set
@@ -159,6 +162,26 @@ public Builder approverGroupIdList(java.util.List approverGroupIdList) {
this.__explicitlySet__.add("approverGroupIdList");
return this;
}
+ /**
+ * List of Group containing the levels at which the users belonging to the group can
+ * authorize.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList")
+ private java.util.List approverGroupLevelList;
+
+ /**
+ * List of Group containing the levels at which the users belonging to the group can
+ * authorize.
+ *
+ * @param approverGroupLevelList the value to set
+ * @return this builder
+ */
+ public Builder approverGroupLevelList(
+ java.util.List approverGroupLevelList) {
+ this.approverGroupLevelList = approverGroupLevelList;
+ this.__explicitlySet__.add("approverGroupLevelList");
+ return this;
+ }
/**
* List of privileged operator operations. If Privileged API Managment is enabled for a
* resource it will be validated whether the operation done by the operator is a part of
@@ -260,6 +283,7 @@ public UpdatePrivilegedApiControlDetails build() {
this.resources,
this.notificationTopicId,
this.approverGroupIdList,
+ this.approverGroupLevelList,
this.privilegedOperationList,
this.numberOfApprovers,
this.freeformTags,
@@ -290,6 +314,9 @@ public Builder copy(UpdatePrivilegedApiControlDetails model) {
if (model.wasPropertyExplicitlySet("approverGroupIdList")) {
this.approverGroupIdList(model.getApproverGroupIdList());
}
+ if (model.wasPropertyExplicitlySet("approverGroupLevelList")) {
+ this.approverGroupLevelList(model.getApproverGroupLevelList());
+ }
if (model.wasPropertyExplicitlySet("privilegedOperationList")) {
this.privilegedOperationList(model.getPrivilegedOperationList());
}
@@ -368,14 +395,14 @@ public java.util.List getResources() {
}
/**
- * The OCID of the OCI Notification topic to publish messages related to this Delegation
+ * The OCID of the OCI Notification topic to publish messages related to this Privileged Api
* Control.
*/
@com.fasterxml.jackson.annotation.JsonProperty("notificationTopicId")
private final String notificationTopicId;
/**
- * The OCID of the OCI Notification topic to publish messages related to this Delegation
+ * The OCID of the OCI Notification topic to publish messages related to this Privileged Api
* Control.
*
* @return the value
@@ -401,6 +428,21 @@ public java.util.List getApproverGroupIdList() {
return approverGroupIdList;
}
+ /**
+ * List of Group containing the levels at which the users belonging to the group can authorize.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList")
+ private final java.util.List approverGroupLevelList;
+
+ /**
+ * List of Group containing the levels at which the users belonging to the group can authorize.
+ *
+ * @return the value
+ */
+ public java.util.List getApproverGroupLevelList() {
+ return approverGroupLevelList;
+ }
+
/**
* List of privileged operator operations. If Privileged API Managment is enabled for a resource
* it will be validated whether the operation done by the operator is a part of privileged
@@ -500,6 +542,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", resources=").append(String.valueOf(this.resources));
sb.append(", notificationTopicId=").append(String.valueOf(this.notificationTopicId));
sb.append(", approverGroupIdList=").append(String.valueOf(this.approverGroupIdList));
+ sb.append(", approverGroupLevelList=").append(String.valueOf(this.approverGroupLevelList));
sb.append(", privilegedOperationList=")
.append(String.valueOf(this.privilegedOperationList));
sb.append(", numberOfApprovers=").append(String.valueOf(this.numberOfApprovers));
@@ -525,6 +568,8 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.resources, other.resources)
&& java.util.Objects.equals(this.notificationTopicId, other.notificationTopicId)
&& java.util.Objects.equals(this.approverGroupIdList, other.approverGroupIdList)
+ && java.util.Objects.equals(
+ this.approverGroupLevelList, other.approverGroupLevelList)
&& java.util.Objects.equals(
this.privilegedOperationList, other.privilegedOperationList)
&& java.util.Objects.equals(this.numberOfApprovers, other.numberOfApprovers)
@@ -551,6 +596,11 @@ public int hashCode() {
+ (this.approverGroupIdList == null
? 43
: this.approverGroupIdList.hashCode());
+ result =
+ (result * PRIME)
+ + (this.approverGroupLevelList == null
+ ? 43
+ : this.approverGroupLevelList.hashCode());
result =
(result * PRIME)
+ (this.privilegedOperationList == null
diff --git a/bmc-apiaccesscontrol/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-apiaccesscontrol/reflect-config.json b/bmc-apiaccesscontrol/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-apiaccesscontrol/reflect-config.json
index 2e8df67af7c..e86ca23e450 100644
--- a/bmc-apiaccesscontrol/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-apiaccesscontrol/reflect-config.json
+++ b/bmc-apiaccesscontrol/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-apiaccesscontrol/reflect-config.json
@@ -109,6 +109,20 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.apiaccesscontrol.model.ApproverGroupLevel",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.apiaccesscontrol.model.ApproverGroupLevel$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.apiaccesscontrol.model.ChangePrivilegedApiControlCompartmentDetails",
diff --git a/bmc-apigateway/pom.xml b/bmc-apigateway/pom.xml
index ac7fb7dc41f..0ea7be0e8f7 100644
--- a/bmc-apigateway/pom.xml
+++ b/bmc-apigateway/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-apigateway
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-apiplatform/pom.xml b/bmc-apiplatform/pom.xml
index 3208963ae5a..bec9e974e45 100644
--- a/bmc-apiplatform/pom.xml
+++ b/bmc-apiplatform/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-apiplatform
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-apmconfig/pom.xml b/bmc-apmconfig/pom.xml
index de739f4b33d..1b9761d22b1 100644
--- a/bmc-apmconfig/pom.xml
+++ b/bmc-apmconfig/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-apmconfig
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-apmcontrolplane/pom.xml b/bmc-apmcontrolplane/pom.xml
index ab2baf8b8b8..676295113cd 100644
--- a/bmc-apmcontrolplane/pom.xml
+++ b/bmc-apmcontrolplane/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-apmcontrolplane
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-apmsynthetics/pom.xml b/bmc-apmsynthetics/pom.xml
index 0fc759431ca..c0e810fe615 100644
--- a/bmc-apmsynthetics/pom.xml
+++ b/bmc-apmsynthetics/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-apmsynthetics
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-apmtraces/pom.xml b/bmc-apmtraces/pom.xml
index faec114060b..c01b79e68f3 100644
--- a/bmc-apmtraces/pom.xml
+++ b/bmc-apmtraces/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-apmtraces
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-appmgmtcontrol/pom.xml b/bmc-appmgmtcontrol/pom.xml
index d9741e1cd9c..254cb31496f 100644
--- a/bmc-appmgmtcontrol/pom.xml
+++ b/bmc-appmgmtcontrol/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-appmgmtcontrol
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-artifacts/pom.xml b/bmc-artifacts/pom.xml
index bf3a6f70cf9..de347987a64 100644
--- a/bmc-artifacts/pom.xml
+++ b/bmc-artifacts/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-artifacts
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-audit/pom.xml b/bmc-audit/pom.xml
index 58b482ff012..c6d6f83bf20 100644
--- a/bmc-audit/pom.xml
+++ b/bmc-audit/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
diff --git a/bmc-autoscaling/pom.xml b/bmc-autoscaling/pom.xml
index e9e73e54ca6..7b636806bd3 100644
--- a/bmc-autoscaling/pom.xml
+++ b/bmc-autoscaling/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-autoscaling
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-bastion/pom.xml b/bmc-bastion/pom.xml
index f7ea470a182..d1da6a90ac6 100644
--- a/bmc-bastion/pom.xml
+++ b/bmc-bastion/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-bastion
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-batch/pom.xml b/bmc-batch/pom.xml
index 56f27321c0c..9b362cb7a9b 100644
--- a/bmc-batch/pom.xml
+++ b/bmc-batch/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-batch
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-bds/pom.xml b/bmc-bds/pom.xml
index 4822c68a5c4..55c1530ed33 100644
--- a/bmc-bds/pom.xml
+++ b/bmc-bds/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-bds
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-blockchain/pom.xml b/bmc-blockchain/pom.xml
index ea0601f4c9a..2edb67fae80 100644
--- a/bmc-blockchain/pom.xml
+++ b/bmc-blockchain/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-blockchain
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-bom/pom.xml b/bmc-bom/pom.xml
index 3550e785521..0abe12e52e5 100644
--- a/bmc-bom/pom.xml
+++ b/bmc-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.oracle.oci.sdk
- 3.92.1
+ 3.93.0
oci-java-sdk-bom
pom
Oracle Cloud Infrastructure SDK - BOM
@@ -38,1117 +38,1117 @@
com.oracle.oci.sdk
oci-java-sdk-circuitbreaker
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-common-httpclient
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey3
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-enforcer-rules
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-shaded-full
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-audit
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-containerengine
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-core
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-database
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-dns
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-email
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-objectstorage-generated
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-objectstorage-extensions
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-filestorage
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-identity
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-loadbalancer
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-objectstorage
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-addons-apache-configurator-jersey
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-addons-apache-configurator-jersey3
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-addons-resteasy-client-configurator
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-addons-sasl
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-addons-oke-workload-identity
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-addons-sasl-oke-workload-identity
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-addons-aispeech-realtime
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-resourcesearch
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-addons-apache
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-keymanagement
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-announcementsservice
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-healthchecks
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-waas
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-streaming
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-resourcemanager
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-monitoring
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-ons
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-autoscaling
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-budget
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-limits
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-functions
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-events
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-oce
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-oda
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-analytics
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-integration
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-marketplace
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-apigateway
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-datacatalog
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-dataflow
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-datascience
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-nosql
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-secrets
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-vault
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-bds
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-encryption
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-cims
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-datasafe
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-mysql
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-dataintegration
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-ocvp
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-usageapi
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-blockchain
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-loggingingestion
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-logging
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-loganalytics
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-managementdashboard
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-sch
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-loggingsearch
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-managementagent
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-cloudguard
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-opsi
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-computeinstanceagent
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-optimizer
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-tenantmanagercontrolplane
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-rover
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-databasemanagement
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-artifacts
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-apmsynthetics
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-goldengate
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-apmcontrolplane
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-apmtraces
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-networkloadbalancer
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-vulnerabilityscanning
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-databasemigration
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-servicecatalog
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-ailanguage
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-operatoraccesscontrol
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-bastion
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-genericartifactscontent
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-jms
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-devops
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-datalabelingservice
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-datalabelingservicedataplane
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-apmconfig
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-waf
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-certificates
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-certificatesmanagement
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-usage
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-databasetools
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-servicemanagerproxy
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-appmgmtcontrol
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-ospgateway
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-identitydataplane
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-visualbuilder
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-osubusage
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-osubsubscription
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-osuborganizationsubscription
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-osubbillingschedule
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-dashboardservice
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-threatintelligence
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-aivision
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-aispeech
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-stackmonitoring
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-adm
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-licensemanager
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-onesubscription
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-governancerulescontrolplane
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-waa
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-networkfirewall
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-vnmonitoring
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-emwarehouse
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-lockbox
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-fusionapps
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-mediaservices
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-opa
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-opensearch
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-cloudmigrations
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-cloudbridge
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-disasterrecovery
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-containerinstances
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-aidocument
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-queue
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-recovery
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-vbsinst
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-identitydomains
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-accessgovernancecp
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-ocicontrolcenter
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-osmanagementhub
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-fleetsoftwareupdate
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-computecloudatcustomer
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-marketplacepublisher
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-redis
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-jmsjavadownloads
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-psql
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeai
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeaiinference
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-capacitymanagement
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-desktops
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-emaildataplane
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-clusterplacementgroups
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-resourcescheduler
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-demandsignal
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-fleetappsmanagement
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-delegateaccesscontrol
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeaiagent
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeaiagentruntime
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-securityattribute
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-zpr
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-dblm
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-mngdmac
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-lustrefilestorage
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-modeldeployment
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-distributeddatabase
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-apiaccesscontrol
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-wlms
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-addons-adk
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-dbmulticloud
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-apiplatform
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-managedkafka
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-aidataplatform
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-multicloud
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-resourceanalytics
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-jmsutils
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-iot
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-psa
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-dif
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-batch
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-marketplaceprivateoffer
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-gdp
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-limitsincrease
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeaidata
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-self
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-containerregistry
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-databasetoolsruntime
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-costad
- 3.92.1
+ 3.93.0
false
com.oracle.oci.sdk
oci-java-sdk-datacc
- 3.92.1
+ 3.93.0
false
diff --git a/bmc-budget/pom.xml b/bmc-budget/pom.xml
index 983ec787c0b..715bd71a0d4 100644
--- a/bmc-budget/pom.xml
+++ b/bmc-budget/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-budget
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-capacitymanagement/pom.xml b/bmc-capacitymanagement/pom.xml
index ef1fb3f2281..ceb0dbabd4f 100644
--- a/bmc-capacitymanagement/pom.xml
+++ b/bmc-capacitymanagement/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-capacitymanagement
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-certificates/pom.xml b/bmc-certificates/pom.xml
index 43b2901ecbf..3dd54c08862 100644
--- a/bmc-certificates/pom.xml
+++ b/bmc-certificates/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-certificates
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-certificatesmanagement/pom.xml b/bmc-certificatesmanagement/pom.xml
index 99dfd645288..60566a76f24 100644
--- a/bmc-certificatesmanagement/pom.xml
+++ b/bmc-certificatesmanagement/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-certificatesmanagement
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-cims/pom.xml b/bmc-cims/pom.xml
index b8b93d0147d..c9fe567c013 100644
--- a/bmc-cims/pom.xml
+++ b/bmc-cims/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-cims
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-circuitbreaker/pom.xml b/bmc-circuitbreaker/pom.xml
index c81fc06ffc8..8af8639d521 100644
--- a/bmc-circuitbreaker/pom.xml
+++ b/bmc-circuitbreaker/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-circuitbreaker
diff --git a/bmc-cloudbridge/pom.xml b/bmc-cloudbridge/pom.xml
index ae73ed96ba5..704ca83577d 100644
--- a/bmc-cloudbridge/pom.xml
+++ b/bmc-cloudbridge/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-cloudbridge
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-cloudguard/pom.xml b/bmc-cloudguard/pom.xml
index 1ea668bab48..3548e55a1b8 100644
--- a/bmc-cloudguard/pom.xml
+++ b/bmc-cloudguard/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-cloudguard
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-cloudmigrations/pom.xml b/bmc-cloudmigrations/pom.xml
index b94cb60077b..7a8accf22d5 100644
--- a/bmc-cloudmigrations/pom.xml
+++ b/bmc-cloudmigrations/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-cloudmigrations
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-clusterplacementgroups/pom.xml b/bmc-clusterplacementgroups/pom.xml
index 4a39784533e..b49996cb017 100644
--- a/bmc-clusterplacementgroups/pom.xml
+++ b/bmc-clusterplacementgroups/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-clusterplacementgroups
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/pom.xml b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/pom.xml
index eb8f5c0e6d3..d444594789c 100644
--- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/pom.xml
+++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-choices
- 3.92.1
+ 3.93.0
../pom.xml
@@ -93,7 +93,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons-apache-configurator-jersey
- 3.92.1
+ 3.93.0
@@ -102,7 +102,7 @@
com.oracle.oci.sdk
oci-java-sdk-common-httpclient
- 3.92.1
+ 3.93.0
org.glassfish.jersey.core
diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientBuilder.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientBuilder.java
index aacb10d8a24..685355fad63 100644
--- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientBuilder.java
+++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientBuilder.java
@@ -54,10 +54,15 @@
import java.security.KeyStore;
import java.time.Duration;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Locale;
import java.util.Map;
+import java.util.Set;
import java.util.stream.Collectors;
import static com.oracle.bmc.http.client.jersey.internal.IdleConnectionMonitor.DEFAULT_IDLE_CONNECTION_MONITOR_THREAD_WAIT_TIME_IN_SECONDS;
@@ -65,6 +70,11 @@
final class JerseyHttpClientBuilder implements HttpClientBuilder {
private static final Logger LOG = LoggerFactory.getLogger(JerseyHttpClientBuilder.class);
private static final int DEFAULT_MAX_ASYNC_THREADS = 50;
+ private static final String REDACTED_PROPERTY_VALUE = "";
+ private static final Set POSSIBLY_SENSITIVE_PROPERTY_KEY_SUBSTRINGS =
+ Collections.unmodifiableSet(
+ new HashSet<>(
+ Arrays.asList("password", "secret", "token", "credential", "auth")));
/** The default {@link ClientBuilderDecorator} simply calls {@link ClientBuilder#build()}. */
private static final ClientBuilderDecorator SIMPLE_DECORATOR =
@@ -397,7 +407,14 @@ public org.apache.http.impl.client.HttpClientBuilder configure(
collectedProperties =
client.getConfiguration().getProperties().entrySet().stream()
.sorted(Comparator.comparing(e -> e.getKey()))
- .map(e -> "['" + e.getKey() + "':'" + e.getValue() + "']")
+ .map(
+ e ->
+ "['"
+ + e.getKey()
+ + "':'"
+ + getPropertyValueForLogging(
+ e.getKey(), e.getValue())
+ + "']")
.collect(Collectors.joining(", "));
}
LOG.trace(
@@ -425,6 +442,15 @@ public org.apache.http.impl.client.HttpClientBuilder configure(
httpClientConnectionManager);
}
+ static Object getPropertyValueForLogging(String key, Object value) {
+ if (ClientProperties.PROXY_PASSWORD.equals(key)
+ || POSSIBLY_SENSITIVE_PROPERTY_KEY_SUBSTRINGS.stream()
+ .anyMatch(key.toLowerCase(Locale.ROOT)::contains)) {
+ return REDACTED_PROPERTY_VALUE;
+ }
+ return value;
+ }
+
private boolean shouldUseApacheConnector() {
return JerseyHttpProvider.isApacheDependencyPresent && useApacheConnector;
}
diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientTest.java
index c7841def7b4..01fb90717ac 100644
--- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientTest.java
+++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientTest.java
@@ -9,6 +9,7 @@
import com.oracle.bmc.http.client.jersey.internal.DaemonClientAsyncExecutorProvider;
import com.oracle.bmc.http.client.jersey.internal.IdleConnectionMonitor;
import org.apache.http.conn.HttpClientConnectionManager;
+import org.glassfish.jersey.client.ClientProperties;
import org.junit.Test;
import java.util.concurrent.ExecutorService;
@@ -17,6 +18,7 @@
import java.util.concurrent.TimeUnit;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@@ -25,6 +27,28 @@ public class JerseyHttpClientTest {
private static final long TEST_KEEP_ALIVE_SECONDS = 1L;
private static final long EXECUTOR_THREAD_TIMEOUT_WAIT_MILLIS = 5000L;
+ @Test
+ public void redactsSensitivePropertyValuesForTraceLogging() {
+ String value = "sensitive-value";
+ String[] sensitiveKeys = {
+ ClientProperties.PROXY_PASSWORD,
+ "proxyPassword",
+ "clientSecret",
+ "delegationToken",
+ "credentialProvider",
+ "authenticationMethod",
+ "MixedCaseToKeN"
+ };
+
+ for (String key : sensitiveKeys) {
+ assertEquals(
+ "", JerseyHttpClientBuilder.getPropertyValueForLogging(key, value));
+ }
+ assertEquals(
+ value,
+ JerseyHttpClientBuilder.getPropertyValueForLogging("request.timeout", value));
+ }
+
@Test
public void validateEnabledIdleConnectionMonitorThread() {
diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/pom.xml b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/pom.xml
index 19ae9d985b4..4ac8e6e203d 100644
--- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/pom.xml
+++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-choices
- 3.92.1
+ 3.93.0
../pom.xml
@@ -93,7 +93,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons-apache-configurator-jersey3
- 3.92.1
+ 3.93.0
@@ -102,7 +102,7 @@
com.oracle.oci.sdk
oci-java-sdk-common-httpclient
- 3.92.1
+ 3.93.0
jakarta.ws.rs
diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientBuilder.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientBuilder.java
index 4b401a38855..b73fad49bb3 100644
--- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientBuilder.java
+++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientBuilder.java
@@ -54,10 +54,15 @@
import java.security.KeyStore;
import java.time.Duration;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Locale;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
@@ -65,6 +70,11 @@
final class Jersey3HttpClientBuilder implements HttpClientBuilder {
private static final Logger LOG = LoggerFactory.getLogger(Jersey3HttpClientBuilder.class);
private static final int DEFAULT_MAX_ASYNC_THREADS = 50;
+ private static final String REDACTED_PROPERTY_VALUE = "";
+ private static final Set POSSIBLY_SENSITIVE_PROPERTY_KEY_SUBSTRINGS =
+ Collections.unmodifiableSet(
+ new HashSet<>(
+ Arrays.asList("password", "secret", "token", "credential", "auth")));
/** The default {@link ClientBuilderDecorator} simply calls {@link ClientBuilder#build()}. */
private static final ClientBuilderDecorator SIMPLE_DECORATOR =
@@ -398,7 +408,14 @@ public org.apache.http.impl.client.HttpClientBuilder configure(
collectedProperties =
client.getConfiguration().getProperties().entrySet().stream()
.sorted(Comparator.comparing(e -> e.getKey()))
- .map(e -> "['" + e.getKey() + "':'" + e.getValue() + "']")
+ .map(
+ e ->
+ "['"
+ + e.getKey()
+ + "':'"
+ + getPropertyValueForLogging(
+ e.getKey(), e.getValue())
+ + "']")
.collect(Collectors.joining(", "));
}
LOG.trace(
@@ -426,6 +443,15 @@ public org.apache.http.impl.client.HttpClientBuilder configure(
httpClientConnectionManager);
}
+ static Object getPropertyValueForLogging(String key, Object value) {
+ if (ClientProperties.PROXY_PASSWORD.equals(key)
+ || POSSIBLY_SENSITIVE_PROPERTY_KEY_SUBSTRINGS.stream()
+ .anyMatch(key.toLowerCase(Locale.ROOT)::contains)) {
+ return REDACTED_PROPERTY_VALUE;
+ }
+ return value;
+ }
+
private boolean shouldUseApacheConnector() {
return Jersey3HttpProvider.isApacheDependencyPresent && useApacheConnector;
}
diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientTest.java
index b72b7e3dee9..0d19c8ddaf3 100644
--- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientTest.java
+++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientTest.java
@@ -10,6 +10,7 @@
import com.oracle.bmc.http.client.jersey3.internal.DaemonClientAsyncExecutorProvider;
import com.oracle.bmc.http.client.jersey3.internal.IdleConnectionMonitor;
import org.apache.http.conn.HttpClientConnectionManager;
+import org.glassfish.jersey.client.ClientProperties;
import org.junit.Test;
import java.util.concurrent.ConcurrentHashMap;
@@ -29,6 +30,28 @@ public class Jersey3HttpClientTest {
private static final long TEST_KEEP_ALIVE_SECONDS = 1L;
private static final long EXECUTOR_THREAD_TIMEOUT_WAIT_MILLIS = 5000L;
+ @Test
+ public void redactsSensitivePropertyValuesForTraceLogging() {
+ String value = "sensitive-value";
+ String[] sensitiveKeys = {
+ ClientProperties.PROXY_PASSWORD,
+ "proxyPassword",
+ "clientSecret",
+ "delegationToken",
+ "credentialProvider",
+ "authenticationMethod",
+ "MixedCaseToKeN"
+ };
+
+ for (String key : sensitiveKeys) {
+ assertEquals(
+ "", Jersey3HttpClientBuilder.getPropertyValueForLogging(key, value));
+ }
+ assertEquals(
+ value,
+ Jersey3HttpClientBuilder.getPropertyValueForLogging("request.timeout", value));
+ }
+
@Test
public void validateEnabledIdleConnectionMonitorThread() {
diff --git a/bmc-common-httpclient-choices/pom.xml b/bmc-common-httpclient-choices/pom.xml
index 7b6b0152822..f5f0bb1d8ae 100644
--- a/bmc-common-httpclient-choices/pom.xml
+++ b/bmc-common-httpclient-choices/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
diff --git a/bmc-common-httpclient/pom.xml b/bmc-common-httpclient/pom.xml
index c314c8f12ba..7c928869f5f 100644
--- a/bmc-common-httpclient/pom.xml
+++ b/bmc-common-httpclient/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
diff --git a/bmc-common/pom.xml b/bmc-common/pom.xml
index 4ea1ffefa65..ec15a3e6dd0 100644
--- a/bmc-common/pom.xml
+++ b/bmc-common/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
@@ -87,12 +87,12 @@
com.oracle.oci.sdk
oci-java-sdk-circuitbreaker
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-common-httpclient
- 3.92.1
+ 3.93.0
@@ -137,7 +137,7 @@
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey
- 3.92.1
+ 3.93.0
test
diff --git a/bmc-common/src/main/java/com/oracle/bmc/auth/AbstractFederationClientAuthenticationDetailsProviderBuilder.java b/bmc-common/src/main/java/com/oracle/bmc/auth/AbstractFederationClientAuthenticationDetailsProviderBuilder.java
index 9ab39f8c243..ef3d5588620 100644
--- a/bmc-common/src/main/java/com/oracle/bmc/auth/AbstractFederationClientAuthenticationDetailsProviderBuilder.java
+++ b/bmc-common/src/main/java/com/oracle/bmc/auth/AbstractFederationClientAuthenticationDetailsProviderBuilder.java
@@ -12,7 +12,9 @@
import com.oracle.bmc.auth.internal.FederationClient;
import com.oracle.bmc.auth.internal.X509FederationClient;
import com.oracle.bmc.circuitbreaker.CircuitBreakerConfiguration;
+import com.oracle.bmc.http.ClientConfigurator;
import com.oracle.bmc.http.client.HttpClient;
+import com.oracle.bmc.http.client.HttpClientBuilder;
import com.oracle.bmc.http.client.HttpProvider;
import com.oracle.bmc.http.client.HttpResponse;
import com.oracle.bmc.http.client.Method;
@@ -104,6 +106,9 @@ public abstract class AbstractFederationClientAuthenticationDetailsProviderBuild
/** The leaf certificate, or null if detecting from instance metadata. */
protected X509CertificateSupplier leafCertificateSupplier;
+ /** Configurator for metadata service clients used to discover region and certificates. */
+ protected ClientConfigurator federationClientMetadataConfigurator;
+
/** Tenancy OCI, or null if detecting from instance metadata. */
protected String tenancyId;
@@ -174,6 +179,18 @@ public B leafCertificateSupplier(X509CertificateSupplier leafCertificateSupplier
return (B) this;
}
+ /**
+ * Configures the ClientConfigurator to set on the metadata service clients used by the
+ * federation flow to discover region information and fetch certificates, if any.
+ *
+ * @param clientConfigurator the metadata service client configurator
+ * @return this builder
+ */
+ public B federationClientMetadataConfigurator(ClientConfigurator clientConfigurator) {
+ this.federationClientMetadataConfigurator = clientConfigurator;
+ return (B) this;
+ }
+
/**
* Configures the tenancy id to use.
*
@@ -334,7 +351,8 @@ protected void autoDetectCertificatesUsingMetadataUrl() {
new URLBasedX509CertificateSupplier(
getMetadataResourceDetails("identity/cert.pem"),
getMetadataResourceDetails("identity/key.pem"),
- (char[]) null);
+ (char[]) null,
+ federationClientMetadataConfigurator);
}
if (tenancyId == null) {
@@ -352,7 +370,8 @@ protected void autoDetectCertificatesUsingMetadataUrl() {
new URLBasedX509CertificateSupplier(
getMetadataResourceDetails("identity/intermediate.pem"),
null,
- (char[]) null));
+ (char[]) null,
+ federationClientMetadataConfigurator));
}
} catch (MalformedURLException ex) {
throw new IllegalArgumentException("The metadata service url is invalid.", ex);
@@ -362,8 +381,7 @@ protected void autoDetectCertificatesUsingMetadataUrl() {
private R fetchRegion(Function> responseHandler) {
Throwable lastException = null;
try (HttpClient client =
- HttpProvider.getDefault()
- .newBuilder()
+ metadataServiceHttpClientBuilder()
.property(StandardClientProperties.ASYNC_POOL_SIZE, 1)
.property(
StandardClientProperties.CONNECT_TIMEOUT,
@@ -432,6 +450,14 @@ private R fetchRegion(Function> responseHan
}
}
+ private HttpClientBuilder metadataServiceHttpClientBuilder() {
+ HttpClientBuilder builder = HttpProvider.getDefault().newBuilder();
+ if (federationClientMetadataConfigurator != null) {
+ federationClientMetadataConfigurator.customizeClient(builder);
+ }
+ return builder;
+ }
+
/**
* Checks the V2 endpoint for both federation endpoint detection & certificates if necessary.
*/
diff --git a/bmc-common/src/main/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplier.java b/bmc-common/src/main/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplier.java
index d16ba21e131..9eb15892417 100644
--- a/bmc-common/src/main/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplier.java
+++ b/bmc-common/src/main/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplier.java
@@ -4,11 +4,21 @@
*/
package com.oracle.bmc.auth;
+import com.oracle.bmc.http.ClientConfigurator;
+import com.oracle.bmc.http.client.HttpClient;
+import com.oracle.bmc.http.client.HttpClientBuilder;
+import com.oracle.bmc.http.client.HttpProvider;
+import com.oracle.bmc.http.client.HttpRequest;
+import com.oracle.bmc.http.client.HttpResponse;
+import com.oracle.bmc.http.client.Method;
+import com.oracle.bmc.http.client.StandardClientProperties;
+import com.oracle.bmc.http.internal.SyncFutureWaiter;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
@@ -16,6 +26,7 @@
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.security.interfaces.RSAPrivateKey;
+import java.time.Duration;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
@@ -171,6 +182,9 @@ public String toString() {
/** The passphrase of private key. */
private final char[] privateKeyPassphraseCharacters;
+ /** Optional configurator for HTTP(S) resource fetches. */
+ private final ClientConfigurator clientConfigurator;
+
/**
* Constructor.
*
@@ -184,9 +198,32 @@ public URLBasedX509CertificateSupplier(
ResourceDetails certificateResourceDetails,
ResourceDetails privateKeyResourceDetails,
char[] privateKeyPassphraseCharacters) {
+ this(
+ certificateResourceDetails,
+ privateKeyResourceDetails,
+ privateKeyPassphraseCharacters,
+ null);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param certificateResourceDetails The certificate resource details
+ * @param privateKeyResourceDetails The private key resource details, may be null for
+ * intermediate certificates
+ * @param privateKeyPassphraseCharacters The private key passphrase, may be null for unencrypted
+ * private keys
+ * @param clientConfigurator optional configurator for the underlying HTTP(S) client
+ */
+ public URLBasedX509CertificateSupplier(
+ ResourceDetails certificateResourceDetails,
+ ResourceDetails privateKeyResourceDetails,
+ char[] privateKeyPassphraseCharacters,
+ ClientConfigurator clientConfigurator) {
this.certificateDetails = certificateResourceDetails;
this.privateKeyDetails = privateKeyResourceDetails;
this.privateKeyPassphraseCharacters = privateKeyPassphraseCharacters;
+ this.clientConfigurator = clientConfigurator;
refresh();
}
@@ -201,10 +238,28 @@ public URLBasedX509CertificateSupplier(
*/
public URLBasedX509CertificateSupplier(
URL certificateUrl, URL privateKeyUrl, char[] privateKeyPassphraseCharacters) {
+ this(certificateUrl, privateKeyUrl, privateKeyPassphraseCharacters, null);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param certificateUrl The certificate url
+ * @param privateKeyUrl The private key url, may be null for intermediate certificates
+ * @param privateKeyPassphraseCharacters The private key passphrase, may be null for unencrypted
+ * private keys
+ * @param clientConfigurator optional configurator for the underlying HTTP(S) client
+ */
+ public URLBasedX509CertificateSupplier(
+ URL certificateUrl,
+ URL privateKeyUrl,
+ char[] privateKeyPassphraseCharacters,
+ ClientConfigurator clientConfigurator) {
this(
ResourceDetails.builder().url(certificateUrl).build(),
ResourceDetails.builder().url(privateKeyUrl).build(),
- privateKeyPassphraseCharacters);
+ privateKeyPassphraseCharacters,
+ clientConfigurator);
}
/**
@@ -223,7 +278,8 @@ public URLBasedX509CertificateSupplier(
this(
certificateUrl,
privateKeyUrl,
- privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null);
+ privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null,
+ null);
}
/**
@@ -241,10 +297,11 @@ public X509Certificate getCertificate() {
/** A method to refresh the X509 certificate. */
@Override
public void refresh() {
- String rawCertificate = readRawCertificate(certificateDetails);
+ String rawCertificate = readRawCertificate(certificateDetails, clientConfigurator);
X509Certificate certificate = readCertificate(rawCertificate);
RSAPrivateKey privateKey =
- readPrivateKey(privateKeyDetails, privateKeyPassphraseCharacters);
+ readPrivateKey(
+ privateKeyDetails, privateKeyPassphraseCharacters, clientConfigurator);
if (EXPERIMENTAL_SUPPRESS_X509_WORKAROUND) {
this.certificateAndKeyPair.set(
new CertificateAndPrivateKeyPair(certificate, privateKey));
@@ -282,12 +339,32 @@ private static X509Certificate readCertificate(String certificate) {
}
}
- private static String readRawCertificate(final ResourceDetails certificateResourceDetails) {
+ /**
+ * Reads the raw X.509 certificate data from the configured certificate resource.
+ *
+ * The certificate is retrieved using {@link #readResource(ResourceDetails,
+ * ClientConfigurator)} and decoded as a UTF-8 string. The method will retry up to three times
+ * if an {@link IOException} occurs while reading the resource, waiting 30 seconds between each
+ * attempt. If all retry attempts fail, an {@link IllegalArgumentException} is thrown wrapping
+ * the last encountered exception.
+ *
+ * @param certificateResourceDetails details of the certificate resource to read from; must not
+ * be null
+ * @param clientConfigurator optional configurator used when the resource is fetched via
+ * HTTP(S); may be {@code null} if no HTTP client customization is required
+ * @return the raw certificate contents as a UTF-8 encoded string
+ * @throws IllegalArgumentException if the certificate cannot be read after all retry attempts
+ */
+ private static String readRawCertificate(
+ final ResourceDetails certificateResourceDetails,
+ final ClientConfigurator clientConfigurator) {
final int MAX_RETRIES = 3;
- IOException lastException = null;
+ Exception lastException = null;
for (int retry = 0; retry < MAX_RETRIES; retry++) {
- try (InputStream is = getResourceStream(certificateResourceDetails)) {
- return StreamUtils.toString(is, StandardCharsets.UTF_8);
+ try {
+ return new String(
+ readResource(certificateResourceDetails, clientConfigurator),
+ StandardCharsets.UTF_8);
} catch (IOException e) {
LOG.info("Attempt {} to open stream of certificate failed.", (retry + 1), e);
lastException = e;
@@ -306,6 +383,177 @@ private static String readRawCertificate(final ResourceDetails certificateResour
throw new IllegalArgumentException("Open stream of certificate failed.", lastException);
}
+ /**
+ * Reads the contents of the given resource into a byte array.
+ *
+ *
If a non-null {@link ClientConfigurator} is provided and the resource URL uses the {@code
+ * http} or {@code https} protocol, the resource will be fetched using the SDK's {@link
+ * HttpClient}, allowing customization of the underlying HTTP client. For all other protocols,
+ * or when no {@code ClientConfigurator} is supplied, the resource is read using a standard
+ * {@link URLConnection} obtained from {@link #getResourceStream(ResourceDetails)}.
+ *
+ * @param resourceDetails details of the resource to be read; must not be {@code null} and must
+ * contain a non-null URL
+ * @param clientConfigurator optional configurator used when the resource is fetched via
+ * HTTP(S); may be {@code null} if no HTTP client customization is required
+ * @return the full contents of the resource as a byte array
+ * @throws IOException if an I/O error occurs while opening or reading the resource
+ */
+ private static byte[] readResource(
+ @Nonnull final ResourceDetails resourceDetails,
+ final ClientConfigurator clientConfigurator)
+ throws IOException {
+ if (shouldUseHttpClient(resourceDetails, clientConfigurator)) {
+ return getResourceBytesUsingHttpClient(resourceDetails, clientConfigurator);
+ }
+ try (InputStream is = getResourceStream(resourceDetails)) {
+ return StreamUtils.toByteArray(is);
+ }
+ }
+
+ /**
+ * Determines whether the given resource should be fetched using the SDK {@link HttpClient}.
+ *
+ *
This method returns {@code true} only when:
+ *
+ *
+ * - a non-{@code null} {@link ClientConfigurator} is provided, and
+ *
- the resource URL is non-{@code null} and uses the {@code http} or {@code https}
+ * protocol (case-insensitive).
+ *
+ *
+ * If either the {@code clientConfigurator} is {@code null} or the resource URL is {@code
+ * null}, {@code false} is returned and the caller is expected to fall back to using a standard
+ * {@link URLConnection}-based access (see {@link #getResourceStream(ResourceDetails)}).
+ *
+ * @param resourceDetails details of the resource for which the HTTP client decision is made;
+ * must not be {@code null} and must contain the resource {@link URL}
+ * @param clientConfigurator optional configurator used to customize the underlying HTTP client;
+ * if {@code null}, the HTTP client will not be used
+ * @return {@code true} if the resource should be fetched using the SDK {@link HttpClient}
+ * (i.e., HTTP(S) URL and a non-{@code null} configurator); {@code false} otherwise
+ */
+ private static boolean shouldUseHttpClient(
+ @Nonnull final ResourceDetails resourceDetails,
+ final ClientConfigurator clientConfigurator) {
+ if (clientConfigurator == null || resourceDetails.getUrl() == null) {
+ return false;
+ }
+ String protocol = resourceDetails.getUrl().getProtocol();
+ return "http".equalsIgnoreCase(protocol) || "https".equalsIgnoreCase(protocol);
+ }
+
+ /**
+ * Fetches the contents of the given HTTP(S) resource using the SDK {@link HttpClient}.
+ *
+ *
The client is created via {@link HttpProvider#getDefault()} and configured with:
+ *
+ *
+ * - Base URI derived from {@link ResourceDetails#getUrl()},
+ *
- an async pool size of {@code 1},
+ *
- optional read and connect timeouts taken from the environment variables {@value
+ * #CERTIFICATE_URL_CONNECTION_READ_TIMEOUT_IN_MILLIS_VAR_NAME} and {@value
+ * #CERTIFICATE_URL_CONNECTION_TIMEOUT_IN_MILLIS_VAR_NAME}, and
+ *
- any additional customization supplied through the provided {@link ClientConfigurator}.
+ *
+ *
+ * A synchronous {@code GET} request is then executed against the resource URL. Any headers
+ * present in {@link ResourceDetails#getHeaders()} are added to the request. If the HTTP
+ * response status code is {@code 400} or greater, an {@link IOException} is thrown. Otherwise,
+ * the response body stream is fully consumed and returned as a byte array.
+ *
+ *
This method is intended to be invoked only when {@link
+ * #shouldUseHttpClient(ResourceDetails, ClientConfigurator)} has already determined that the
+ * resource should be fetched over HTTP(S) with a non-{@code null} configurator.
+ *
+ * @param resourceDetails details of the HTTP(S) resource to fetch; must not be {@code null} and
+ * must contain a non-{@code null} {@link URL}
+ * @param clientConfigurator configurator used to customize the underlying {@link HttpClient};
+ * must not be {@code null}
+ * @return the full contents of the HTTP(S) resource as a byte array
+ * @throws IOException if an error occurs while building the client, executing the request,
+ * receiving the response, or reading the response body, or if the response HTTP status is
+ * {@code 400} or greater
+ */
+ private static byte[] getResourceBytesUsingHttpClient(
+ @Nonnull final ResourceDetails resourceDetails,
+ final ClientConfigurator clientConfigurator)
+ throws IOException {
+ HttpClientBuilder builder =
+ HttpProvider.getDefault()
+ .newBuilder()
+ .baseUri(URI.create(resourceDetails.getUrl().toExternalForm()))
+ .property(StandardClientProperties.ASYNC_POOL_SIZE, 1);
+
+ if (CERTIFICATE_URL_CONNECTION_READ_TIMEOUT_IN_MILLIS != null) {
+ builder.property(
+ StandardClientProperties.READ_TIMEOUT,
+ Duration.ofMillis(
+ Integer.parseInt(CERTIFICATE_URL_CONNECTION_READ_TIMEOUT_IN_MILLIS)));
+ }
+ if (CERTIFICATE_URL_CONNECTION_TIMEOUT_IN_MILLIS != null) {
+ builder.property(
+ StandardClientProperties.CONNECT_TIMEOUT,
+ Duration.ofMillis(
+ Integer.parseInt(CERTIFICATE_URL_CONNECTION_TIMEOUT_IN_MILLIS)));
+ }
+ clientConfigurator.customizeClient(builder);
+
+ try (HttpClient client = builder.build()) {
+ SyncFutureWaiter waiter = new SyncFutureWaiter();
+ HttpRequest request = client.createRequest(Method.GET).offloadExecutor(waiter);
+ if (resourceDetails.getHeaders() != null) {
+ resourceDetails.getHeaders().forEach(request::header);
+ }
+ try (HttpResponse response = waitForResult(waiter, request.execute())) {
+ if (response.status() >= 400) {
+ throw new IOException(
+ "Open stream of certificate failed with HTTP status "
+ + response.status());
+ }
+ try (InputStream body = waitForResult(waiter, response.streamBody())) {
+ return StreamUtils.toByteArray(body);
+ }
+ }
+ }
+ }
+
+ /**
+ * Synchronously waits for the completion of the given {@link CompletionStage} using the
+ * provided {@link SyncFutureWaiter}, translating any failure into an {@link IOException}.
+ *
+ *
This method delegates to {@link SyncFutureWaiter#listenForResult(CompletionStage)} to
+ * block until the asynchronous operation represented by {@code stage} completes. If the
+ * operation completes normally, the computed result is returned. If it completes exceptionally,
+ * the underlying cause is unwrapped and:
+ *
+ *
+ * - re-thrown directly if it is already an {@link IOException}, or
+ *
- wrapped in a new {@link IOException} with a descriptive message.
+ *
+ *
+ * @param waiter the {@code SyncFutureWaiter} used to wait for and process the completion of
+ * {@code stage}; must not be {@code null}
+ * @param stage the asynchronous computation whose result is to be waited for; must not be
+ * {@code null}
+ * @param the type of the result produced by the {@code CompletionStage}
+ * @return the result produced by the completed {@code CompletionStage}
+ * @throws IOException if the {@code CompletionStage} completes exceptionally, or if waiting for
+ * its completion fails for any reason other than an {@link Error}
+ */
+ private static T waitForResult(
+ SyncFutureWaiter waiter, java.util.concurrent.CompletionStage stage)
+ throws IOException {
+ try {
+ return waiter.listenForResult(stage);
+ } catch (Throwable t) {
+ if (t instanceof IOException) {
+ throw (IOException) t;
+ }
+ throw new IOException("Failed to read HTTP resource", t);
+ }
+ }
+
private static InputStream getResourceStream(@Nonnull final ResourceDetails resourceDetails)
throws IOException {
if (resourceDetails == null) {
@@ -336,7 +584,9 @@ private static InputStream getResourceStream(@Nonnull final ResourceDetails reso
* @return the private key
*/
private static RSAPrivateKey readPrivateKey(
- final ResourceDetails privateKeyResourceDetails, char[] privateKeyPassphrase) {
+ final ResourceDetails privateKeyResourceDetails,
+ char[] privateKeyPassphrase,
+ final ClientConfigurator clientConfigurator) {
if (privateKeyResourceDetails == null || privateKeyResourceDetails.getUrl() == null) {
return null;
}
@@ -344,7 +594,9 @@ private static RSAPrivateKey readPrivateKey(
final int MAX_RETRIES = 3;
Exception lastException = null;
for (int retry = 0; retry < MAX_RETRIES; retry++) {
- try (InputStream inputStream = getResourceStream(privateKeyResourceDetails)) {
+ try (InputStream inputStream =
+ new ByteArrayInputStream(
+ readResource(privateKeyResourceDetails, clientConfigurator))) {
return new PEMFileRSAPrivateKeySupplier(inputStream, privateKeyPassphrase)
.supplyKey(null)
.orElse(null);
diff --git a/bmc-common/src/main/java/com/oracle/bmc/auth/internal/X509FederationClient.java b/bmc-common/src/main/java/com/oracle/bmc/auth/internal/X509FederationClient.java
index efc4a15995b..2171685b06f 100644
--- a/bmc-common/src/main/java/com/oracle/bmc/auth/internal/X509FederationClient.java
+++ b/bmc-common/src/main/java/com/oracle/bmc/auth/internal/X509FederationClient.java
@@ -14,6 +14,7 @@
import com.oracle.bmc.http.ClientConfigurator;
import com.oracle.bmc.http.Priorities;
import com.oracle.bmc.http.client.HttpClient;
+import com.oracle.bmc.http.client.HttpClientBuilder;
import com.oracle.bmc.http.client.HttpProvider;
import com.oracle.bmc.http.client.Method;
import com.oracle.bmc.http.client.Options;
@@ -198,7 +199,7 @@ public String get() {
}
};
- this.httpClient =
+ HttpClientBuilder clientBuilder =
HttpProvider.getDefault()
.newBuilder()
.baseUri(URI.create(federationEndpoint))
@@ -216,8 +217,16 @@ public String get() {
Collections.emptyMap()))
.registerRequestInterceptor(
Priorities.HEADER_DECORATOR, new ClientIdFilter())
- .registerRequestInterceptor(Priorities.USER, new LogHeadersFilter())
- .build();
+ .registerRequestInterceptor(Priorities.USER, new LogHeadersFilter());
+ if (clientConfigurator != null) {
+ clientConfigurator.customizeClient(clientBuilder);
+ }
+ if (additionalClientConfigurators != null) {
+ for (ClientConfigurator additionalClientConfigurator : additionalClientConfigurators) {
+ additionalClientConfigurator.customizeClient(clientBuilder);
+ }
+ }
+ this.httpClient = clientBuilder.build();
this.circuitBreaker =
CircuitBreakerHelper.makeCircuitBreaker(this.httpClient, circuitBreakerConfig);
}
@@ -409,7 +418,6 @@ FederationResponseWrapper makeCall(X509FederationRequest federationRequest) {
.appendPathPart("x509")
.handleBody(SecurityToken.class, (builder, token) -> builder.token = token)
.retryConfiguration(RETRY_CONFIGURATION)
- .clientConfigurator(clientConfigurator)
.circuitBreaker(circuitBreaker)
.accept("*/*")
.hasBody()
diff --git a/bmc-common/src/test/java/com/oracle/bmc/auth/TestAbstractFederationClientAuthenticationDetailsProviderBuilder.java b/bmc-common/src/test/java/com/oracle/bmc/auth/TestAbstractFederationClientAuthenticationDetailsProviderBuilder.java
index d4a243f90ba..29ff0b2c182 100644
--- a/bmc-common/src/test/java/com/oracle/bmc/auth/TestAbstractFederationClientAuthenticationDetailsProviderBuilder.java
+++ b/bmc-common/src/test/java/com/oracle/bmc/auth/TestAbstractFederationClientAuthenticationDetailsProviderBuilder.java
@@ -4,12 +4,24 @@
*/
package com.oracle.bmc.auth;
+import com.github.tomakehurst.wiremock.junit.WireMockRule;
import com.oracle.bmc.auth.internal.FederationClient;
import com.oracle.bmc.auth.internal.X509FederationClient;
+import com.oracle.bmc.http.ClientConfigurator;
+import org.junit.Rule;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.verify;
+import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -29,6 +41,10 @@ public FederationClient exposedCreateFederationClient(
return this.createFederationClient(sessionKeySupplier);
}
+ public String exposedAutoDetectEndpointUsingMetadataUrl() {
+ return this.autoDetectEndpointUsingMetadataUrl();
+ }
+
protected String getDisableDefaultCircuitBreakerOverride() {
return "true";
}
@@ -50,6 +66,10 @@ public FederationClient exposedCreateFederationClient(
return this.createFederationClient(sessionKeySupplier);
}
+ public String exposedAutoDetectEndpointUsingMetadataUrl() {
+ return this.autoDetectEndpointUsingMetadataUrl();
+ }
+
protected String getDisableDefaultCircuitBreakerOverride() {
return " "; // or whatever value you want for a specific test
}
@@ -59,6 +79,8 @@ protected String getDisableDefaultCircuitBreakerOverride() {
TestFederationClientBuilder builder;
TestFederationClientBuilderWithNoEnvVariableSet builderWithNoEnvVariableSet;
+ @Rule public WireMockRule mockMetadata = new WireMockRule(wireMockConfig().dynamicPort());
+
@Test
public void testCreateFederationClient_DefaultConfig() {
MockitoAnnotations.initMocks(this);
@@ -84,4 +106,32 @@ public void testCreateFederationClient_NoCircuitBreakerConfig() {
assertNotNull(client);
assertTrue(client instanceof X509FederationClient);
}
+
+ @Test
+ public void testMetadataClientConfiguratorUsedForRegionLookup() {
+ ClientConfigurator metadataConfigurator =
+ httpClientBuilder ->
+ httpClientBuilder.registerRequestInterceptor(
+ 0, request -> request.header("X-Test-Metadata", "configured"));
+
+ stubFor(
+ get(urlEqualTo("/opc/v2/instance/region"))
+ .withHeader("X-Test-Metadata", equalTo("configured"))
+ .willReturn(aResponse().withStatus(200).withBody("us-ashburn-1")));
+
+ builder = new TestFederationClientBuilder();
+ builder.metadataBaseUrl("http://localhost:" + mockMetadata.port() + "/opc/v2/")
+ .federationClientMetadataConfigurator(metadataConfigurator)
+ .detectEndpointRetries(0)
+ .timeoutForEachRetry(1);
+
+ String endpoint = builder.exposedAutoDetectEndpointUsingMetadataUrl();
+
+ assertNotNull(endpoint);
+ assertTrue(endpoint.contains("auth"));
+ verify(
+ 2,
+ getRequestedFor(urlEqualTo("/opc/v2/instance/region"))
+ .withHeader("X-Test-Metadata", equalTo("configured")));
+ }
}
diff --git a/bmc-common/src/test/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplierTest.java b/bmc-common/src/test/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplierTest.java
new file mode 100644
index 00000000000..ff933a7ee6f
--- /dev/null
+++ b/bmc-common/src/test/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplierTest.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.auth;
+
+import com.github.tomakehurst.wiremock.junit.WireMockRule;
+import com.oracle.bmc.http.ClientConfigurator;
+import org.junit.Rule;
+import org.junit.Test;
+
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.verify;
+import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
+import static org.junit.Assert.assertNotNull;
+
+public class URLBasedX509CertificateSupplierTest {
+
+ @Rule
+ public WireMockRule mockService =
+ new WireMockRule(
+ wireMockConfig().jettyAcceptors(10).containerThreads(25).dynamicPort());
+
+ @Test
+ public void testClientConfiguratorUsedForHttpResourceFetches() throws Exception {
+ String certificateBody =
+ new String(Files.readAllBytes(Paths.get("src/test/resources/cert.pem")));
+ String keyBody = new String(Files.readAllBytes(Paths.get("src/test/resources/key.pem")));
+
+ stubFor(
+ get(urlEqualTo("/cert.pem"))
+ .withHeader("X-Test-Configurator", equalTo("configured"))
+ .willReturn(aResponse().withStatus(200).withBody(certificateBody)));
+ stubFor(
+ get(urlEqualTo("/key.pem"))
+ .withHeader("X-Test-Configurator", equalTo("configured"))
+ .willReturn(aResponse().withStatus(200).withBody(keyBody)));
+
+ ClientConfigurator clientConfigurator =
+ httpClientBuilder ->
+ httpClientBuilder.registerRequestInterceptor(
+ 0, request -> request.header("X-Test-Configurator", "configured"));
+
+ URLBasedX509CertificateSupplier supplier =
+ new URLBasedX509CertificateSupplier(
+ new URL("http://localhost:" + mockService.port() + "/cert.pem"),
+ new URL("http://localhost:" + mockService.port() + "/key.pem"),
+ (char[]) null,
+ clientConfigurator);
+
+ assertNotNull(supplier.getCertificateAndKeyPair().getCertificate());
+ assertNotNull(supplier.getCertificateAndKeyPair().getPrivateKey());
+
+ verify(
+ getRequestedFor(urlEqualTo("/cert.pem"))
+ .withHeader("X-Test-Configurator", equalTo("configured")));
+ verify(
+ getRequestedFor(urlEqualTo("/key.pem"))
+ .withHeader("X-Test-Configurator", equalTo("configured")));
+ }
+}
diff --git a/bmc-common/src/test/java/com/oracle/bmc/auth/internal/X509FederationClientTest.java b/bmc-common/src/test/java/com/oracle/bmc/auth/internal/X509FederationClientTest.java
index 85a771df4bf..eab9f0f2cdf 100644
--- a/bmc-common/src/test/java/com/oracle/bmc/auth/internal/X509FederationClientTest.java
+++ b/bmc-common/src/test/java/com/oracle/bmc/auth/internal/X509FederationClientTest.java
@@ -226,6 +226,38 @@ public void constructorConfiguresAsyncCoreThreadTimeoutFromOptions() throws Exce
(Boolean) getFieldValue(executorProvider, "allowCoreThreadTimeOut"));
}
+ @Test
+ public void testX509ClientUsesAdditionalClientConfigurators() {
+ ClientConfigurator additionalConfigurator =
+ httpClientBuilder ->
+ httpClientBuilder.registerRequestInterceptor(
+ 0, request -> request.header("X-Test-Additional", "configured"));
+ clientUnderTest =
+ new X509FederationClient(
+ "http://localhost:" + mockService.port(),
+ "tenantId",
+ clientUnderTest.getLeafCertificateSupplier(),
+ mock(SessionKeySupplier.class),
+ Collections.emptySet(),
+ null,
+ Collections.singletonList(additionalConfigurator),
+ CircuitBreakerUtils.getDefaultAuthClientCircuitBreakerConfiguration());
+ stubFor(
+ post(urlEqualTo("/v1/x509"))
+ .withHeader("X-Test-Additional", equalTo("configured"))
+ .willReturn(
+ aResponse()
+ .withStatus(200)
+ .withHeader("Content-Type", "application/json")
+ .withBody("{\"token\" : \"abcdef\"}")));
+ X509FederationClient.FederationResponseWrapper responseWrapper =
+ clientUnderTest.makeCall(federationRequest);
+ assertEquals("abcdef", responseWrapper.token.getToken());
+ verify(
+ postRequestedFor(urlEqualTo("/v1/x509"))
+ .withHeader("X-Test-Additional", equalTo("configured")));
+ }
+
@Test
public void jacksonCanDeserializeSecurityToken() throws IOException {
final String strToken = "{\"token\" : \"abcdef\"}";
diff --git a/bmc-computecloudatcustomer/pom.xml b/bmc-computecloudatcustomer/pom.xml
index f81a72754c2..4c3c089c11e 100644
--- a/bmc-computecloudatcustomer/pom.xml
+++ b/bmc-computecloudatcustomer/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-computecloudatcustomer
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-computeinstanceagent/pom.xml b/bmc-computeinstanceagent/pom.xml
index e129b779ea6..f29a09114b4 100644
--- a/bmc-computeinstanceagent/pom.xml
+++ b/bmc-computeinstanceagent/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-computeinstanceagent
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-containerengine/pom.xml b/bmc-containerengine/pom.xml
index caa608727c5..a55e8b611ed 100644
--- a/bmc-containerengine/pom.xml
+++ b/bmc-containerengine/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
diff --git a/bmc-containerinstances/pom.xml b/bmc-containerinstances/pom.xml
index e0652338b63..a4d71e97279 100644
--- a/bmc-containerinstances/pom.xml
+++ b/bmc-containerinstances/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-containerinstances
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-containerregistry/pom.xml b/bmc-containerregistry/pom.xml
index 2a726cb0997..6528b7deaf4 100644
--- a/bmc-containerregistry/pom.xml
+++ b/bmc-containerregistry/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-containerregistry
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-core/pom.xml b/bmc-core/pom.xml
index 840f689c0a9..d4a742e4bf3 100644
--- a/bmc-core/pom.xml
+++ b/bmc-core/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
@@ -18,12 +18,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.92.1
+ 3.93.0
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java
index f5699690756..871b1f6a0e5 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java
@@ -4085,6 +4085,24 @@ ListNetworkSecurityGroupsResponse listNetworkSecurityGroups(
*/
ListPrivateIpsResponse listPrivateIps(ListPrivateIpsRequest request);
+ /**
+ * The operation lists available OCI's FastConnect MultiCloud Provider/Partner remote region
+ * names associated with an OCI region.
+ *
+ * @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
+ * ListProviderRemoteRegions API.
+ */
+ ListProviderRemoteRegionsResponse listProviderRemoteRegions(
+ ListProviderRemoteRegionsRequest request);
+
/**
* Lists the public IP pools in the specified compartment. You can filter the list using query
* parameters.
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java
index 0bae541f982..28137b4dfae 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java
@@ -4047,6 +4047,23 @@ java.util.concurrent.Future listPrivateIps(
com.oracle.bmc.responses.AsyncHandler
handler);
+ /**
+ * The operation lists available OCI's FastConnect MultiCloud Provider/Partner remote region
+ * names associated with an OCI region.
+ *
+ * @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 listProviderRemoteRegions(
+ ListProviderRemoteRegionsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListProviderRemoteRegionsRequest, ListProviderRemoteRegionsResponse>
+ handler);
+
/**
* Lists the public IP pools in the specified compartment. You can filter the list using query
* parameters.
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java
index d91fd5cc009..6d29670b7f0 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java
@@ -7397,6 +7397,45 @@ public java.util.concurrent.Future listPrivateIps(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future listProviderRemoteRegions(
+ ListProviderRemoteRegionsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListProviderRemoteRegionsRequest, ListProviderRemoteRegionsResponse>
+ handler) {
+
+ Validate.notBlank(request.getProviderServiceId(), "providerServiceId must not be blank");
+
+ java.util.Map requiredParametersMap = new java.util.HashMap<>();
+ requiredParametersMap.put("providerServiceId", request.getProviderServiceId());
+
+ return clientCall(request, ListProviderRemoteRegionsResponse::builder)
+ .logger(LOG, "listProviderRemoteRegions")
+ .serviceDetails(
+ "VirtualNetwork",
+ "ListProviderRemoteRegions",
+ "https://docs.oracle.com/iaas/api/#/en/iaas/20160918/ProviderRemoteRegionName/ListProviderRemoteRegions")
+ .requiredParametersMap(requiredParametersMap)
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListProviderRemoteRegionsRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("fastConnectProviderServices")
+ .appendPathParam(request.getProviderServiceId())
+ .appendPathParam("providerRemoteRegions")
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBodyList(
+ com.oracle.bmc.core.model.ProviderRemoteRegionName.class,
+ ListProviderRemoteRegionsResponse.Builder::items)
+ .handleResponseHeaderString(
+ "opc-next-page", ListProviderRemoteRegionsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-request-id", ListProviderRemoteRegionsResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future listPublicIpPools(
ListPublicIpPoolsRequest request,
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java
index c5aa2918296..98af79529df 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java
@@ -6730,6 +6730,43 @@ public ListPrivateIpsResponse listPrivateIps(ListPrivateIpsRequest request) {
.callSync();
}
+ @Override
+ public ListProviderRemoteRegionsResponse listProviderRemoteRegions(
+ ListProviderRemoteRegionsRequest request) {
+
+ Validate.notBlank(request.getProviderServiceId(), "providerServiceId must not be blank");
+
+ java.util.Map requiredParametersMap = new java.util.HashMap<>();
+ requiredParametersMap.put("providerServiceId", request.getProviderServiceId());
+
+ return clientCall(request, ListProviderRemoteRegionsResponse::builder)
+ .logger(LOG, "listProviderRemoteRegions")
+ .serviceDetails(
+ "VirtualNetwork",
+ "ListProviderRemoteRegions",
+ "https://docs.oracle.com/iaas/api/#/en/iaas/20160918/ProviderRemoteRegionName/ListProviderRemoteRegions")
+ .requiredParametersMap(requiredParametersMap)
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListProviderRemoteRegionsRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("fastConnectProviderServices")
+ .appendPathParam(request.getProviderServiceId())
+ .appendPathParam("providerRemoteRegions")
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBodyList(
+ com.oracle.bmc.core.model.ProviderRemoteRegionName.class,
+ ListProviderRemoteRegionsResponse.Builder::items)
+ .handleResponseHeaderString(
+ "opc-next-page", ListProviderRemoteRegionsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-request-id", ListProviderRemoteRegionsResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public ListPublicIpPoolsResponse listPublicIpPools(ListPublicIpPoolsRequest request) {
Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkPaginators.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkPaginators.java
index 138a7a9455d..fbdb7cc8fe4 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkPaginators.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkPaginators.java
@@ -3908,6 +3908,129 @@ public java.util.List apply(
});
}
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listProviderRemoteRegions 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 listProviderRemoteRegionsResponseIterator(
+ final ListProviderRemoteRegionsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListProviderRemoteRegionsRequest.Builder,
+ ListProviderRemoteRegionsRequest,
+ ListProviderRemoteRegionsResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListProviderRemoteRegionsRequest.Builder get() {
+ return ListProviderRemoteRegionsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListProviderRemoteRegionsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListProviderRemoteRegionsRequest.Builder>,
+ ListProviderRemoteRegionsRequest>() {
+ @Override
+ public ListProviderRemoteRegionsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListProviderRemoteRegionsRequest.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<
+ ListProviderRemoteRegionsRequest, ListProviderRemoteRegionsResponse>() {
+ @Override
+ public ListProviderRemoteRegionsResponse apply(
+ ListProviderRemoteRegionsRequest request) {
+ return client.listProviderRemoteRegions(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.core.model.ProviderRemoteRegionName} objects contained in responses from the
+ * listProviderRemoteRegions 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.core.model.ProviderRemoteRegionName} objects contained in responses
+ * received from the service.
+ */
+ public Iterable
+ listProviderRemoteRegionsRecordIterator(
+ final ListProviderRemoteRegionsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListProviderRemoteRegionsRequest.Builder,
+ ListProviderRemoteRegionsRequest,
+ ListProviderRemoteRegionsResponse,
+ com.oracle.bmc.core.model.ProviderRemoteRegionName>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListProviderRemoteRegionsRequest.Builder get() {
+ return ListProviderRemoteRegionsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListProviderRemoteRegionsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListProviderRemoteRegionsRequest.Builder>,
+ ListProviderRemoteRegionsRequest>() {
+ @Override
+ public ListProviderRemoteRegionsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListProviderRemoteRegionsRequest.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<
+ ListProviderRemoteRegionsRequest, ListProviderRemoteRegionsResponse>() {
+ @Override
+ public ListProviderRemoteRegionsResponse apply(
+ ListProviderRemoteRegionsRequest request) {
+ return client.listProviderRemoteRegions(request);
+ }
+ },
+ new java.util.function.Function<
+ ListProviderRemoteRegionsResponse,
+ java.util.List>() {
+ @Override
+ public java.util.List apply(
+ ListProviderRemoteRegionsResponse response) {
+ return response.getItems();
+ }
+ });
+ }
+
/**
* Creates a new iterable which will iterate over the responses received from the
* listPublicIpPools operation. This iterable will fetch more data from the server as needed.
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolumeBackup.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolumeBackup.java
index 52a1b1a9580..5f289bcb0e2 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolumeBackup.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolumeBackup.java
@@ -49,7 +49,13 @@ public final class BootVolumeBackup
"timeCreated",
"timeRequestReceived",
"type",
- "uniqueSizeInGBs"
+ "uniqueSizeInGBs",
+ "timeRetentionExpiresAt",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled",
+ "isIndefiniteRetentionEnabled",
+ "volumeGroupBackupId"
})
public BootVolumeBackup(
String bootVolumeId,
@@ -69,7 +75,13 @@ public BootVolumeBackup(
java.util.Date timeCreated,
java.util.Date timeRequestReceived,
Type type,
- Long uniqueSizeInGBs) {
+ Long uniqueSizeInGBs,
+ java.util.Date timeRetentionExpiresAt,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled,
+ Boolean isIndefiniteRetentionEnabled,
+ String volumeGroupBackupId) {
super();
this.bootVolumeId = bootVolumeId;
this.compartmentId = compartmentId;
@@ -89,6 +101,12 @@ public BootVolumeBackup(
this.timeRequestReceived = timeRequestReceived;
this.type = type;
this.uniqueSizeInGBs = uniqueSizeInGBs;
+ this.timeRetentionExpiresAt = timeRetentionExpiresAt;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.volumeGroupBackupId = volumeGroupBackupId;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -424,6 +442,124 @@ public Builder uniqueSizeInGBs(Long uniqueSizeInGBs) {
this.__explicitlySet__.add("uniqueSizeInGBs");
return this;
}
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire.
+ * This is an optional field. If it is not specified, it is set to null, no retention period
+ * will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt")
+ private java.util.Date timeRetentionExpiresAt;
+
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire.
+ * This is an optional field. If it is not specified, it is set to null, no retention period
+ * will be applied to the backups.
+ *
+ * @param timeRetentionExpiresAt the value to set
+ * @return this builder
+ */
+ public Builder timeRetentionExpiresAt(java.util.Date timeRetentionExpiresAt) {
+ this.timeRetentionExpiresAt = timeRetentionExpiresAt;
+ this.__explicitlySet__.add("timeRetentionExpiresAt");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ *
+ * @param isIndefiniteRetentionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) {
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.__explicitlySet__.add("isIndefiniteRetentionEnabled");
+ return this;
+ }
+ /**
+ * The OCID of the volume group backup associated with the backup. This is an optional
+ * field. If it is not present in the response, the backup does not belong to a volume
+ * group.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId")
+ private String volumeGroupBackupId;
+
+ /**
+ * The OCID of the volume group backup associated with the backup. This is an optional
+ * field. If it is not present in the response, the backup does not belong to a volume
+ * group.
+ *
+ * @param volumeGroupBackupId the value to set
+ * @return this builder
+ */
+ public Builder volumeGroupBackupId(String volumeGroupBackupId) {
+ this.volumeGroupBackupId = volumeGroupBackupId;
+ this.__explicitlySet__.add("volumeGroupBackupId");
+ return this;
+ }
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -448,7 +584,13 @@ public BootVolumeBackup build() {
this.timeCreated,
this.timeRequestReceived,
this.type,
- this.uniqueSizeInGBs);
+ this.uniqueSizeInGBs,
+ this.timeRetentionExpiresAt,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled,
+ this.isIndefiniteRetentionEnabled,
+ this.volumeGroupBackupId);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -511,6 +653,24 @@ public Builder copy(BootVolumeBackup model) {
if (model.wasPropertyExplicitlySet("uniqueSizeInGBs")) {
this.uniqueSizeInGBs(model.getUniqueSizeInGBs());
}
+ if (model.wasPropertyExplicitlySet("timeRetentionExpiresAt")) {
+ this.timeRetentionExpiresAt(model.getTimeRetentionExpiresAt());
+ }
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) {
+ this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("volumeGroupBackupId")) {
+ this.volumeGroupBackupId(model.getVolumeGroupBackupId());
+ }
return this;
}
}
@@ -958,6 +1118,110 @@ public Long getUniqueSizeInGBs() {
return uniqueSizeInGBs;
}
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire. This is
+ * an optional field. If it is not specified, it is set to null, no retention period will be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt")
+ private final java.util.Date timeRetentionExpiresAt;
+
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire. This is
+ * an optional field. If it is not specified, it is set to null, no retention period will be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeRetentionExpiresAt() {
+ return timeRetentionExpiresAt;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private final Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsIndefiniteRetentionEnabled() {
+ return isIndefiniteRetentionEnabled;
+ }
+
+ /**
+ * The OCID of the volume group backup associated with the backup. This is an optional field. If
+ * it is not present in the response, the backup does not belong to a volume group.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId")
+ private final String volumeGroupBackupId;
+
+ /**
+ * The OCID of the volume group backup associated with the backup. This is an optional field. If
+ * it is not present in the response, the backup does not belong to a volume group.
+ *
+ * @return the value
+ */
+ public String getVolumeGroupBackupId() {
+ return volumeGroupBackupId;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -992,6 +1256,14 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", timeRequestReceived=").append(String.valueOf(this.timeRequestReceived));
sb.append(", type=").append(String.valueOf(this.type));
sb.append(", uniqueSizeInGBs=").append(String.valueOf(this.uniqueSizeInGBs));
+ sb.append(", timeRetentionExpiresAt=").append(String.valueOf(this.timeRetentionExpiresAt));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
+ sb.append(", isIndefiniteRetentionEnabled=")
+ .append(String.valueOf(this.isIndefiniteRetentionEnabled));
+ sb.append(", volumeGroupBackupId=").append(String.valueOf(this.volumeGroupBackupId));
sb.append(")");
return sb.toString();
}
@@ -1025,6 +1297,16 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.timeRequestReceived, other.timeRequestReceived)
&& java.util.Objects.equals(this.type, other.type)
&& java.util.Objects.equals(this.uniqueSizeInGBs, other.uniqueSizeInGBs)
+ && java.util.Objects.equals(
+ this.timeRetentionExpiresAt, other.timeRetentionExpiresAt)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
+ && java.util.Objects.equals(
+ this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled)
+ && java.util.Objects.equals(this.volumeGroupBackupId, other.volumeGroupBackupId)
&& super.equals(other);
}
@@ -1066,6 +1348,34 @@ public int hashCode() {
result =
(result * PRIME)
+ (this.uniqueSizeInGBs == null ? 43 : this.uniqueSizeInGBs.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeRetentionExpiresAt == null
+ ? 43
+ : this.timeRetentionExpiresAt.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isIndefiniteRetentionEnabled == null
+ ? 43
+ : this.isIndefiniteRetentionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.volumeGroupBackupId == null
+ ? 43
+ : this.volumeGroupBackupId.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateBootVolumeBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateBootVolumeBackupDetails.java
index fcde0c4a1f2..b0c885b2487 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateBootVolumeBackupDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateBootVolumeBackupDetails.java
@@ -29,7 +29,11 @@ public final class CreateBootVolumeBackupDetails
"displayName",
"freeformTags",
"type",
- "kmsKeyId"
+ "kmsKeyId",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled",
+ "isIndefiniteRetentionEnabled"
})
public CreateBootVolumeBackupDetails(
String bootVolumeId,
@@ -37,7 +41,11 @@ public CreateBootVolumeBackupDetails(
String displayName,
java.util.Map freeformTags,
Type type,
- String kmsKeyId) {
+ String kmsKeyId,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled,
+ Boolean isIndefiniteRetentionEnabled) {
super();
this.bootVolumeId = bootVolumeId;
this.definedTags = definedTags;
@@ -45,6 +53,10 @@ public CreateBootVolumeBackupDetails(
this.freeformTags = freeformTags;
this.type = type;
this.kmsKeyId = kmsKeyId;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -175,6 +187,82 @@ public Builder kmsKeyId(String kmsKeyId) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ *
+ * @param isIndefiniteRetentionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) {
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.__explicitlySet__.add("isIndefiniteRetentionEnabled");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -186,7 +274,11 @@ public CreateBootVolumeBackupDetails build() {
this.displayName,
this.freeformTags,
this.type,
- this.kmsKeyId);
+ this.kmsKeyId,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled,
+ this.isIndefiniteRetentionEnabled);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -213,6 +305,18 @@ public Builder copy(CreateBootVolumeBackupDetails model) {
if (model.wasPropertyExplicitlySet("kmsKeyId")) {
this.kmsKeyId(model.getKmsKeyId());
}
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) {
+ this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled());
+ }
return this;
}
}
@@ -369,6 +473,74 @@ public String getKmsKeyId() {
return kmsKeyId;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private final Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsIndefiniteRetentionEnabled() {
+ return isIndefiniteRetentionEnabled;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -390,6 +562,12 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", type=").append(String.valueOf(this.type));
sb.append(", kmsKeyId=").append(String.valueOf(this.kmsKeyId));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
+ sb.append(", isIndefiniteRetentionEnabled=")
+ .append(String.valueOf(this.isIndefiniteRetentionEnabled));
sb.append(")");
return sb.toString();
}
@@ -410,6 +588,13 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.type, other.type)
&& java.util.Objects.equals(this.kmsKeyId, other.kmsKeyId)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
+ && java.util.Objects.equals(
+ this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled)
&& super.equals(other);
}
@@ -423,6 +608,24 @@ public int hashCode() {
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode());
result = (result * PRIME) + (this.kmsKeyId == null ? 43 : this.kmsKeyId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isIndefiniteRetentionEnabled == null
+ ? 43
+ : this.isIndefiniteRetentionEnabled.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDedicatedVmHostDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDedicatedVmHostDetails.java
index c5812b39385..2d4360b4078 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDedicatedVmHostDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDedicatedVmHostDetails.java
@@ -33,7 +33,8 @@ public final class CreateDedicatedVmHostDetails
"freeformTags",
"placementConstraintDetails",
"capacityConfig",
- "isMemoryEncryptionEnabled"
+ "isMemoryEncryptionEnabled",
+ "isBurstable"
})
public CreateDedicatedVmHostDetails(
String availabilityDomain,
@@ -45,7 +46,8 @@ public CreateDedicatedVmHostDetails(
java.util.Map freeformTags,
PlacementConstraintDetails placementConstraintDetails,
String capacityConfig,
- Boolean isMemoryEncryptionEnabled) {
+ Boolean isMemoryEncryptionEnabled,
+ Boolean isBurstable) {
super();
this.availabilityDomain = availabilityDomain;
this.compartmentId = compartmentId;
@@ -57,6 +59,7 @@ public CreateDedicatedVmHostDetails(
this.placementConstraintDetails = placementConstraintDetails;
this.capacityConfig = capacityConfig;
this.isMemoryEncryptionEnabled = isMemoryEncryptionEnabled;
+ this.isBurstable = isBurstable;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -279,6 +282,27 @@ public Builder isMemoryEncryptionEnabled(Boolean isMemoryEncryptionEnabled) {
this.__explicitlySet__.add("isMemoryEncryptionEnabled");
return this;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is restricted to running only
+ * Burstable VMs. If {@code true}, only Burstable VMs can be launched. If {@code false},
+ * Burstable VMs cannot be launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstable")
+ private Boolean isBurstable;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is restricted to running only
+ * Burstable VMs. If {@code true}, only Burstable VMs can be launched. If {@code false},
+ * Burstable VMs cannot be launched.
+ *
+ * @param isBurstable the value to set
+ * @return this builder
+ */
+ public Builder isBurstable(Boolean isBurstable) {
+ this.isBurstable = isBurstable;
+ this.__explicitlySet__.add("isBurstable");
+ return this;
+ }
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -295,7 +319,8 @@ public CreateDedicatedVmHostDetails build() {
this.freeformTags,
this.placementConstraintDetails,
this.capacityConfig,
- this.isMemoryEncryptionEnabled);
+ this.isMemoryEncryptionEnabled,
+ this.isBurstable);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -334,6 +359,9 @@ public Builder copy(CreateDedicatedVmHostDetails model) {
if (model.wasPropertyExplicitlySet("isMemoryEncryptionEnabled")) {
this.isMemoryEncryptionEnabled(model.getIsMemoryEncryptionEnabled());
}
+ if (model.wasPropertyExplicitlySet("isBurstable")) {
+ this.isBurstable(model.getIsBurstable());
+ }
return this;
}
}
@@ -541,6 +569,25 @@ public Boolean getIsMemoryEncryptionEnabled() {
return isMemoryEncryptionEnabled;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is restricted to running only
+ * Burstable VMs. If {@code true}, only Burstable VMs can be launched. If {@code false},
+ * Burstable VMs cannot be launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstable")
+ private final Boolean isBurstable;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is restricted to running only
+ * Burstable VMs. If {@code true}, only Burstable VMs can be launched. If {@code false},
+ * Burstable VMs cannot be launched.
+ *
+ * @return the value
+ */
+ public Boolean getIsBurstable() {
+ return isBurstable;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -568,6 +615,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", capacityConfig=").append(String.valueOf(this.capacityConfig));
sb.append(", isMemoryEncryptionEnabled=")
.append(String.valueOf(this.isMemoryEncryptionEnabled));
+ sb.append(", isBurstable=").append(String.valueOf(this.isBurstable));
sb.append(")");
return sb.toString();
}
@@ -594,6 +642,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.capacityConfig, other.capacityConfig)
&& java.util.Objects.equals(
this.isMemoryEncryptionEnabled, other.isMemoryEncryptionEnabled)
+ && java.util.Objects.equals(this.isBurstable, other.isBurstable)
&& super.equals(other);
}
@@ -631,6 +680,7 @@ public int hashCode() {
+ (this.isMemoryEncryptionEnabled == null
? 43
: this.isMemoryEncryptionEnabled.hashCode());
+ result = (result * PRIME) + (this.isBurstable == null ? 43 : this.isBurstable.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVirtualCircuitDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVirtualCircuitDetails.java
index 1353b426be2..d025b1ea679 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVirtualCircuitDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVirtualCircuitDetails.java
@@ -45,6 +45,8 @@ public final class CreateVirtualCircuitDetails
"region",
"type",
"ipMtu",
+ "providerRemoteRegion",
+ "remoteAccountId",
"trafficMode"
})
public CreateVirtualCircuitDetails(
@@ -69,6 +71,8 @@ public CreateVirtualCircuitDetails(
String region,
Type type,
VirtualCircuitIpMtu ipMtu,
+ String providerRemoteRegion,
+ String remoteAccountId,
TrafficMode trafficMode) {
super();
this.bandwidthShapeName = bandwidthShapeName;
@@ -92,6 +96,8 @@ public CreateVirtualCircuitDetails(
this.region = region;
this.type = type;
this.ipMtu = ipMtu;
+ this.providerRemoteRegion = providerRemoteRegion;
+ this.remoteAccountId = remoteAccountId;
this.trafficMode = trafficMode;
}
@@ -543,6 +549,42 @@ public Builder ipMtu(VirtualCircuitIpMtu ipMtu) {
this.__explicitlySet__.add("ipMtu");
return this;
}
+ /**
+ * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the
+ * OCI region. To get the list of associated provider remote region use the
+ * ListProviderRemoteRegions operation
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("providerRemoteRegion")
+ private String providerRemoteRegion;
+
+ /**
+ * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the
+ * OCI region. To get the list of associated provider remote region use the
+ * ListProviderRemoteRegions operation
+ *
+ * @param providerRemoteRegion the value to set
+ * @return this builder
+ */
+ public Builder providerRemoteRegion(String providerRemoteRegion) {
+ this.providerRemoteRegion = providerRemoteRegion;
+ this.__explicitlySet__.add("providerRemoteRegion");
+ return this;
+ }
+ /** Customer's account on Provider/Partner cloud (AWS, GCP or any other) */
+ @com.fasterxml.jackson.annotation.JsonProperty("remoteAccountId")
+ private String remoteAccountId;
+
+ /**
+ * Customer's account on Provider/Partner cloud (AWS, GCP or any other)
+ *
+ * @param remoteAccountId the value to set
+ * @return this builder
+ */
+ public Builder remoteAccountId(String remoteAccountId) {
+ this.remoteAccountId = remoteAccountId;
+ this.__explicitlySet__.add("remoteAccountId");
+ return this;
+ }
/**
* The traffic mode to be set with this Virtual Circuit. This controls whether the traffic
* is to be drained for the associated Virtual Circuit or not.
@@ -590,6 +632,8 @@ public CreateVirtualCircuitDetails build() {
this.region,
this.type,
this.ipMtu,
+ this.providerRemoteRegion,
+ this.remoteAccountId,
this.trafficMode);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
@@ -662,6 +706,12 @@ public Builder copy(CreateVirtualCircuitDetails model) {
if (model.wasPropertyExplicitlySet("ipMtu")) {
this.ipMtu(model.getIpMtu());
}
+ if (model.wasPropertyExplicitlySet("providerRemoteRegion")) {
+ this.providerRemoteRegion(model.getProviderRemoteRegion());
+ }
+ if (model.wasPropertyExplicitlySet("remoteAccountId")) {
+ this.remoteAccountId(model.getRemoteAccountId());
+ }
if (model.wasPropertyExplicitlySet("trafficMode")) {
this.trafficMode(model.getTrafficMode());
}
@@ -1184,6 +1234,38 @@ public VirtualCircuitIpMtu getIpMtu() {
return ipMtu;
}
+ /**
+ * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the OCI
+ * region. To get the list of associated provider remote region use the
+ * ListProviderRemoteRegions operation
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("providerRemoteRegion")
+ private final String providerRemoteRegion;
+
+ /**
+ * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the OCI
+ * region. To get the list of associated provider remote region use the
+ * ListProviderRemoteRegions operation
+ *
+ * @return the value
+ */
+ public String getProviderRemoteRegion() {
+ return providerRemoteRegion;
+ }
+
+ /** Customer's account on Provider/Partner cloud (AWS, GCP or any other) */
+ @com.fasterxml.jackson.annotation.JsonProperty("remoteAccountId")
+ private final String remoteAccountId;
+
+ /**
+ * Customer's account on Provider/Partner cloud (AWS, GCP or any other)
+ *
+ * @return the value
+ */
+ public String getRemoteAccountId() {
+ return remoteAccountId;
+ }
+
/**
* The traffic mode to be set with this Virtual Circuit. This controls whether the traffic is to
* be drained for the associated Virtual Circuit or not.
@@ -1273,6 +1355,8 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", region=").append(String.valueOf(this.region));
sb.append(", type=").append(String.valueOf(this.type));
sb.append(", ipMtu=").append(String.valueOf(this.ipMtu));
+ sb.append(", providerRemoteRegion=").append(String.valueOf(this.providerRemoteRegion));
+ sb.append(", remoteAccountId=").append(String.valueOf(this.remoteAccountId));
sb.append(", trafficMode=").append(String.valueOf(this.trafficMode));
sb.append(")");
return sb.toString();
@@ -1310,6 +1394,8 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.region, other.region)
&& java.util.Objects.equals(this.type, other.type)
&& java.util.Objects.equals(this.ipMtu, other.ipMtu)
+ && java.util.Objects.equals(this.providerRemoteRegion, other.providerRemoteRegion)
+ && java.util.Objects.equals(this.remoteAccountId, other.remoteAccountId)
&& java.util.Objects.equals(this.trafficMode, other.trafficMode)
&& super.equals(other);
}
@@ -1369,6 +1455,14 @@ public int hashCode() {
result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode());
result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode());
result = (result * PRIME) + (this.ipMtu == null ? 43 : this.ipMtu.hashCode());
+ result =
+ (result * PRIME)
+ + (this.providerRemoteRegion == null
+ ? 43
+ : this.providerRemoteRegion.hashCode());
+ result =
+ (result * PRIME)
+ + (this.remoteAccountId == null ? 43 : this.remoteAccountId.hashCode());
result = (result * PRIME) + (this.trafficMode == null ? 43 : this.trafficMode.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeBackupDetails.java
index 64a26d5b490..915166b8b38 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeBackupDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeBackupDetails.java
@@ -29,7 +29,11 @@ public final class CreateVolumeBackupDetails
"displayName",
"freeformTags",
"type",
- "volumeId"
+ "volumeId",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled",
+ "isIndefiniteRetentionEnabled"
})
public CreateVolumeBackupDetails(
String kmsKeyId,
@@ -37,7 +41,11 @@ public CreateVolumeBackupDetails(
String displayName,
java.util.Map freeformTags,
Type type,
- String volumeId) {
+ String volumeId,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled,
+ Boolean isIndefiniteRetentionEnabled) {
super();
this.kmsKeyId = kmsKeyId;
this.definedTags = definedTags;
@@ -45,6 +53,10 @@ public CreateVolumeBackupDetails(
this.freeformTags = freeformTags;
this.type = type;
this.volumeId = volumeId;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -175,6 +187,82 @@ public Builder volumeId(String volumeId) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ *
+ * @param isIndefiniteRetentionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) {
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.__explicitlySet__.add("isIndefiniteRetentionEnabled");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -186,7 +274,11 @@ public CreateVolumeBackupDetails build() {
this.displayName,
this.freeformTags,
this.type,
- this.volumeId);
+ this.volumeId,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled,
+ this.isIndefiniteRetentionEnabled);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -213,6 +305,18 @@ public Builder copy(CreateVolumeBackupDetails model) {
if (model.wasPropertyExplicitlySet("volumeId")) {
this.volumeId(model.getVolumeId());
}
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) {
+ this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled());
+ }
return this;
}
}
@@ -369,6 +473,74 @@ public String getVolumeId() {
return volumeId;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private final Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsIndefiniteRetentionEnabled() {
+ return isIndefiniteRetentionEnabled;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -390,6 +562,12 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", type=").append(String.valueOf(this.type));
sb.append(", volumeId=").append(String.valueOf(this.volumeId));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
+ sb.append(", isIndefiniteRetentionEnabled=")
+ .append(String.valueOf(this.isIndefiniteRetentionEnabled));
sb.append(")");
return sb.toString();
}
@@ -410,6 +588,13 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.type, other.type)
&& java.util.Objects.equals(this.volumeId, other.volumeId)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
+ && java.util.Objects.equals(
+ this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled)
&& super.equals(other);
}
@@ -423,6 +608,24 @@ public int hashCode() {
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode());
result = (result * PRIME) + (this.volumeId == null ? 43 : this.volumeId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isIndefiniteRetentionEnabled == null
+ ? 43
+ : this.isIndefiniteRetentionEnabled.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java
index cd69df301b5..4658b9c464d 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java
@@ -29,7 +29,11 @@ public final class CreateVolumeGroupBackupDetails
"displayName",
"freeformTags",
"type",
- "volumeGroupId"
+ "volumeGroupId",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled",
+ "isIndefiniteRetentionEnabled"
})
public CreateVolumeGroupBackupDetails(
String compartmentId,
@@ -37,7 +41,11 @@ public CreateVolumeGroupBackupDetails(
String displayName,
java.util.Map freeformTags,
Type type,
- String volumeGroupId) {
+ String volumeGroupId,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled,
+ Boolean isIndefiniteRetentionEnabled) {
super();
this.compartmentId = compartmentId;
this.definedTags = definedTags;
@@ -45,6 +53,10 @@ public CreateVolumeGroupBackupDetails(
this.freeformTags = freeformTags;
this.type = type;
this.volumeGroupId = volumeGroupId;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -171,6 +183,82 @@ public Builder volumeGroupId(String volumeGroupId) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ *
+ * @param isIndefiniteRetentionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) {
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.__explicitlySet__.add("isIndefiniteRetentionEnabled");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -182,7 +270,11 @@ public CreateVolumeGroupBackupDetails build() {
this.displayName,
this.freeformTags,
this.type,
- this.volumeGroupId);
+ this.volumeGroupId,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled,
+ this.isIndefiniteRetentionEnabled);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -209,6 +301,18 @@ public Builder copy(CreateVolumeGroupBackupDetails model) {
if (model.wasPropertyExplicitlySet("volumeGroupId")) {
this.volumeGroupId(model.getVolumeGroupId());
}
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) {
+ this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled());
+ }
return this;
}
}
@@ -361,6 +465,74 @@ public String getVolumeGroupId() {
return volumeGroupId;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private final Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsIndefiniteRetentionEnabled() {
+ return isIndefiniteRetentionEnabled;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -382,6 +554,12 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", type=").append(String.valueOf(this.type));
sb.append(", volumeGroupId=").append(String.valueOf(this.volumeGroupId));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
+ sb.append(", isIndefiniteRetentionEnabled=")
+ .append(String.valueOf(this.isIndefiniteRetentionEnabled));
sb.append(")");
return sb.toString();
}
@@ -402,6 +580,13 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.type, other.type)
&& java.util.Objects.equals(this.volumeGroupId, other.volumeGroupId)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
+ && java.util.Objects.equals(
+ this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled)
&& super.equals(other);
}
@@ -419,6 +604,24 @@ public int hashCode() {
result =
(result * PRIME)
+ (this.volumeGroupId == null ? 43 : this.volumeGroupId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isIndefiniteRetentionEnabled == null
+ ? 43
+ : this.isIndefiniteRetentionEnabled.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHost.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHost.java
index 77493e283a0..c773f68b6f3 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHost.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHost.java
@@ -35,6 +35,7 @@ public final class DedicatedVmHost
"id",
"capacityConfig",
"isMemoryEncryptionEnabled",
+ "isBurstable",
"lifecycleState",
"timeCreated",
"totalOcpus",
@@ -58,6 +59,7 @@ public DedicatedVmHost(
String id,
String capacityConfig,
Boolean isMemoryEncryptionEnabled,
+ Boolean isBurstable,
LifecycleState lifecycleState,
java.util.Date timeCreated,
Float totalOcpus,
@@ -80,6 +82,7 @@ public DedicatedVmHost(
this.id = id;
this.capacityConfig = capacityConfig;
this.isMemoryEncryptionEnabled = isMemoryEncryptionEnabled;
+ this.isBurstable = isBurstable;
this.lifecycleState = lifecycleState;
this.timeCreated = timeCreated;
this.totalOcpus = totalOcpus;
@@ -331,6 +334,27 @@ public Builder isMemoryEncryptionEnabled(Boolean isMemoryEncryptionEnabled) {
this.__explicitlySet__.add("isMemoryEncryptionEnabled");
return this;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs.
+ * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs
+ * cannot be launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstable")
+ private Boolean isBurstable;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs.
+ * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs
+ * cannot be launched.
+ *
+ * @param isBurstable the value to set
+ * @return this builder
+ */
+ public Builder isBurstable(Boolean isBurstable) {
+ this.isBurstable = isBurstable;
+ this.__explicitlySet__.add("isBurstable");
+ return this;
+ }
/** The current state of the dedicated VM host. */
@com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
private LifecycleState lifecycleState;
@@ -507,6 +531,7 @@ public DedicatedVmHost build() {
this.id,
this.capacityConfig,
this.isMemoryEncryptionEnabled,
+ this.isBurstable,
this.lifecycleState,
this.timeCreated,
this.totalOcpus,
@@ -558,6 +583,9 @@ public Builder copy(DedicatedVmHost model) {
if (model.wasPropertyExplicitlySet("isMemoryEncryptionEnabled")) {
this.isMemoryEncryptionEnabled(model.getIsMemoryEncryptionEnabled());
}
+ if (model.wasPropertyExplicitlySet("isBurstable")) {
+ this.isBurstable(model.getIsBurstable());
+ }
if (model.wasPropertyExplicitlySet("lifecycleState")) {
this.lifecycleState(model.getLifecycleState());
}
@@ -814,6 +842,25 @@ public Boolean getIsMemoryEncryptionEnabled() {
return isMemoryEncryptionEnabled;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If
+ * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be
+ * launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstable")
+ private final Boolean isBurstable;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If
+ * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be
+ * launched.
+ *
+ * @return the value
+ */
+ public Boolean getIsBurstable() {
+ return isBurstable;
+ }
+
/** The current state of the dedicated VM host. */
public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum {
Creating("CREATING"),
@@ -1030,6 +1077,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", capacityConfig=").append(String.valueOf(this.capacityConfig));
sb.append(", isMemoryEncryptionEnabled=")
.append(String.valueOf(this.isMemoryEncryptionEnabled));
+ sb.append(", isBurstable=").append(String.valueOf(this.isBurstable));
sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState));
sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
sb.append(", totalOcpus=").append(String.valueOf(this.totalOcpus));
@@ -1068,6 +1116,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.capacityConfig, other.capacityConfig)
&& java.util.Objects.equals(
this.isMemoryEncryptionEnabled, other.isMemoryEncryptionEnabled)
+ && java.util.Objects.equals(this.isBurstable, other.isBurstable)
&& java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
&& java.util.Objects.equals(this.timeCreated, other.timeCreated)
&& java.util.Objects.equals(this.totalOcpus, other.totalOcpus)
@@ -1118,6 +1167,7 @@ public int hashCode() {
+ (this.isMemoryEncryptionEnabled == null
? 43
: this.isMemoryEncryptionEnabled.hashCode());
+ result = (result * PRIME) + (this.isBurstable == null ? 43 : this.isBurstable.hashCode());
result =
(result * PRIME)
+ (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostInstanceSummary.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostInstanceSummary.java
index 7a1b3973fec..95f9386c8ab 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostInstanceSummary.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostInstanceSummary.java
@@ -28,6 +28,7 @@ public final class DedicatedVmHostInstanceSummary
"compartmentId",
"instanceId",
"isMemoryEncryptionEnabled",
+ "isBurstable",
"shape",
"timeCreated"
})
@@ -36,6 +37,7 @@ public DedicatedVmHostInstanceSummary(
String compartmentId,
String instanceId,
Boolean isMemoryEncryptionEnabled,
+ Boolean isBurstable,
String shape,
java.util.Date timeCreated) {
super();
@@ -43,6 +45,7 @@ public DedicatedVmHostInstanceSummary(
this.compartmentId = compartmentId;
this.instanceId = instanceId;
this.isMemoryEncryptionEnabled = isMemoryEncryptionEnabled;
+ this.isBurstable = isBurstable;
this.shape = shape;
this.timeCreated = timeCreated;
}
@@ -115,6 +118,27 @@ public Builder isMemoryEncryptionEnabled(Boolean isMemoryEncryptionEnabled) {
this.__explicitlySet__.add("isMemoryEncryptionEnabled");
return this;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs.
+ * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs
+ * cannot be launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstable")
+ private Boolean isBurstable;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs.
+ * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs
+ * cannot be launched.
+ *
+ * @param isBurstable the value to set
+ * @return this builder
+ */
+ public Builder isBurstable(Boolean isBurstable) {
+ this.isBurstable = isBurstable;
+ this.__explicitlySet__.add("isBurstable");
+ return this;
+ }
/** The shape of the VM instance. */
@com.fasterxml.jackson.annotation.JsonProperty("shape")
private String shape;
@@ -164,6 +188,7 @@ public DedicatedVmHostInstanceSummary build() {
this.compartmentId,
this.instanceId,
this.isMemoryEncryptionEnabled,
+ this.isBurstable,
this.shape,
this.timeCreated);
for (String explicitlySetProperty : this.__explicitlySet__) {
@@ -186,6 +211,9 @@ public Builder copy(DedicatedVmHostInstanceSummary model) {
if (model.wasPropertyExplicitlySet("isMemoryEncryptionEnabled")) {
this.isMemoryEncryptionEnabled(model.getIsMemoryEncryptionEnabled());
}
+ if (model.wasPropertyExplicitlySet("isBurstable")) {
+ this.isBurstable(model.getIsBurstable());
+ }
if (model.wasPropertyExplicitlySet("shape")) {
this.shape(model.getShape());
}
@@ -263,6 +291,25 @@ public Boolean getIsMemoryEncryptionEnabled() {
return isMemoryEncryptionEnabled;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If
+ * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be
+ * launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstable")
+ private final Boolean isBurstable;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If
+ * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be
+ * launched.
+ *
+ * @return the value
+ */
+ public Boolean getIsBurstable() {
+ return isBurstable;
+ }
+
/** The shape of the VM instance. */
@com.fasterxml.jackson.annotation.JsonProperty("shape")
private final String shape;
@@ -317,6 +364,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", instanceId=").append(String.valueOf(this.instanceId));
sb.append(", isMemoryEncryptionEnabled=")
.append(String.valueOf(this.isMemoryEncryptionEnabled));
+ sb.append(", isBurstable=").append(String.valueOf(this.isBurstable));
sb.append(", shape=").append(String.valueOf(this.shape));
sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
sb.append(")");
@@ -338,6 +386,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.instanceId, other.instanceId)
&& java.util.Objects.equals(
this.isMemoryEncryptionEnabled, other.isMemoryEncryptionEnabled)
+ && java.util.Objects.equals(this.isBurstable, other.isBurstable)
&& java.util.Objects.equals(this.shape, other.shape)
&& java.util.Objects.equals(this.timeCreated, other.timeCreated)
&& super.equals(other);
@@ -361,6 +410,7 @@ public int hashCode() {
+ (this.isMemoryEncryptionEnabled == null
? 43
: this.isMemoryEncryptionEnabled.hashCode());
+ result = (result * PRIME) + (this.isBurstable == null ? 43 : this.isBurstable.hashCode());
result = (result * PRIME) + (this.shape == null ? 43 : this.shape.hashCode());
result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode());
result = (result * PRIME) + super.hashCode();
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostSummary.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostSummary.java
index bc3bdd238aa..ec28e6c5067 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostSummary.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostSummary.java
@@ -32,6 +32,7 @@ public final class DedicatedVmHostSummary
"faultDomain",
"id",
"isMemoryEncryptionEnabled",
+ "isBurstable",
"lifecycleState",
"timeCreated",
"remainingOcpus",
@@ -49,6 +50,7 @@ public DedicatedVmHostSummary(
String faultDomain,
String id,
Boolean isMemoryEncryptionEnabled,
+ Boolean isBurstable,
LifecycleState lifecycleState,
java.util.Date timeCreated,
Float remainingOcpus,
@@ -65,6 +67,7 @@ public DedicatedVmHostSummary(
this.faultDomain = faultDomain;
this.id = id;
this.isMemoryEncryptionEnabled = isMemoryEncryptionEnabled;
+ this.isBurstable = isBurstable;
this.lifecycleState = lifecycleState;
this.timeCreated = timeCreated;
this.remainingOcpus = remainingOcpus;
@@ -228,6 +231,27 @@ public Builder isMemoryEncryptionEnabled(Boolean isMemoryEncryptionEnabled) {
this.__explicitlySet__.add("isMemoryEncryptionEnabled");
return this;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs.
+ * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs
+ * cannot be launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstable")
+ private Boolean isBurstable;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs.
+ * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs
+ * cannot be launched.
+ *
+ * @param isBurstable the value to set
+ * @return this builder
+ */
+ public Builder isBurstable(Boolean isBurstable) {
+ this.isBurstable = isBurstable;
+ this.__explicitlySet__.add("isBurstable");
+ return this;
+ }
/** The current state of the dedicated VM host. */
@com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
private LifecycleState lifecycleState;
@@ -370,6 +394,7 @@ public DedicatedVmHostSummary build() {
this.faultDomain,
this.id,
this.isMemoryEncryptionEnabled,
+ this.isBurstable,
this.lifecycleState,
this.timeCreated,
this.remainingOcpus,
@@ -407,6 +432,9 @@ public Builder copy(DedicatedVmHostSummary model) {
if (model.wasPropertyExplicitlySet("isMemoryEncryptionEnabled")) {
this.isMemoryEncryptionEnabled(model.getIsMemoryEncryptionEnabled());
}
+ if (model.wasPropertyExplicitlySet("isBurstable")) {
+ this.isBurstable(model.getIsBurstable());
+ }
if (model.wasPropertyExplicitlySet("lifecycleState")) {
this.lifecycleState(model.getLifecycleState());
}
@@ -581,6 +609,25 @@ public Boolean getIsMemoryEncryptionEnabled() {
return isMemoryEncryptionEnabled;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If
+ * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be
+ * launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstable")
+ private final Boolean isBurstable;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If
+ * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be
+ * launched.
+ *
+ * @return the value
+ */
+ public Boolean getIsBurstable() {
+ return isBurstable;
+ }
+
/** The current state of the dedicated VM host. */
public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum {
Creating("CREATING"),
@@ -766,6 +813,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", id=").append(String.valueOf(this.id));
sb.append(", isMemoryEncryptionEnabled=")
.append(String.valueOf(this.isMemoryEncryptionEnabled));
+ sb.append(", isBurstable=").append(String.valueOf(this.isBurstable));
sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState));
sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
sb.append(", remainingOcpus=").append(String.valueOf(this.remainingOcpus));
@@ -797,6 +845,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.id, other.id)
&& java.util.Objects.equals(
this.isMemoryEncryptionEnabled, other.isMemoryEncryptionEnabled)
+ && java.util.Objects.equals(this.isBurstable, other.isBurstable)
&& java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
&& java.util.Objects.equals(this.timeCreated, other.timeCreated)
&& java.util.Objects.equals(this.remainingOcpus, other.remainingOcpus)
@@ -834,6 +883,7 @@ public int hashCode() {
+ (this.isMemoryEncryptionEnabled == null
? 43
: this.isMemoryEncryptionEnabled.hashCode());
+ result = (result * PRIME) + (this.isBurstable == null ? 43 : this.isBurstable.hashCode());
result =
(result * PRIME)
+ (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/Instances.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/Instances.java
new file mode 100644
index 00000000000..79b1c829e20
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/Instances.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.core.model;
+
+/**
+ * SPLAT authorization alias for Compute instance operations that use the downstream instances
+ * resource kind.
+ * 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: 20160918")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = Instances.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class Instances extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ public Instances() {
+ super();
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public Instances build() {
+ Instances model = new Instances();
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(Instances model) {
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @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("Instances(");
+ sb.append("super=").append(super.toString());
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof Instances)) {
+ return false;
+ }
+
+ Instances other = (Instances) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/ProviderRemoteRegionName.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/ProviderRemoteRegionName.java
new file mode 100644
index 00000000000..9369a4742cb
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/ProviderRemoteRegionName.java
@@ -0,0 +1,191 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.core.model;
+
+/**
+ * A pair of OCI region and Provider remote region names for FastConnect MultiCloud interconnect.
+ *
+ * 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: 20160918")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = ProviderRemoteRegionName.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class ProviderRemoteRegionName
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"ociRegionName", "providerRegionName"})
+ public ProviderRemoteRegionName(String ociRegionName, String providerRegionName) {
+ super();
+ this.ociRegionName = ociRegionName;
+ this.providerRegionName = providerRegionName;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * The OCI region name associated with the provider remote region. Example: {@code
+ * us-ashburn-1}.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("ociRegionName")
+ private String ociRegionName;
+
+ /**
+ * The OCI region name associated with the provider remote region. Example: {@code
+ * us-ashburn-1}.
+ *
+ * @param ociRegionName the value to set
+ * @return this builder
+ */
+ public Builder ociRegionName(String ociRegionName) {
+ this.ociRegionName = ociRegionName;
+ this.__explicitlySet__.add("ociRegionName");
+ return this;
+ }
+ /**
+ * The provider remote region name associated with the OCI region. Example: {@code
+ * us-east-1}.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("providerRegionName")
+ private String providerRegionName;
+
+ /**
+ * The provider remote region name associated with the OCI region. Example: {@code
+ * us-east-1}.
+ *
+ * @param providerRegionName the value to set
+ * @return this builder
+ */
+ public Builder providerRegionName(String providerRegionName) {
+ this.providerRegionName = providerRegionName;
+ this.__explicitlySet__.add("providerRegionName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public ProviderRemoteRegionName build() {
+ ProviderRemoteRegionName model =
+ new ProviderRemoteRegionName(this.ociRegionName, this.providerRegionName);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(ProviderRemoteRegionName model) {
+ if (model.wasPropertyExplicitlySet("ociRegionName")) {
+ this.ociRegionName(model.getOciRegionName());
+ }
+ if (model.wasPropertyExplicitlySet("providerRegionName")) {
+ this.providerRegionName(model.getProviderRegionName());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /**
+ * The OCI region name associated with the provider remote region. Example: {@code
+ * us-ashburn-1}.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("ociRegionName")
+ private final String ociRegionName;
+
+ /**
+ * The OCI region name associated with the provider remote region. Example: {@code
+ * us-ashburn-1}.
+ *
+ * @return the value
+ */
+ public String getOciRegionName() {
+ return ociRegionName;
+ }
+
+ /**
+ * The provider remote region name associated with the OCI region. Example: {@code us-east-1}.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("providerRegionName")
+ private final String providerRegionName;
+
+ /**
+ * The provider remote region name associated with the OCI region. Example: {@code us-east-1}.
+ *
+ * @return the value
+ */
+ public String getProviderRegionName() {
+ return providerRegionName;
+ }
+
+ @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("ProviderRemoteRegionName(");
+ sb.append("super=").append(super.toString());
+ sb.append("ociRegionName=").append(String.valueOf(this.ociRegionName));
+ sb.append(", providerRegionName=").append(String.valueOf(this.providerRegionName));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ProviderRemoteRegionName)) {
+ return false;
+ }
+
+ ProviderRemoteRegionName other = (ProviderRemoteRegionName) o;
+ return java.util.Objects.equals(this.ociRegionName, other.ociRegionName)
+ && java.util.Objects.equals(this.providerRegionName, other.providerRegionName)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.ociRegionName == null ? 43 : this.ociRegionName.hashCode());
+ result =
+ (result * PRIME)
+ + (this.providerRegionName == null
+ ? 43
+ : this.providerRegionName.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/RetentionDuration.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/RetentionDuration.java
new file mode 100644
index 00000000000..9da92cad11f
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/RetentionDuration.java
@@ -0,0 +1,250 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.core.model;
+
+/**
+ * This field is used to define the retention period for backups. This is an optional field. If it
+ * is not specified, it is set to null, no retention period will be applied to the backups.
+ * 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: 20160918")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = RetentionDuration.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class RetentionDuration
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"retentionTimeUnit", "retentionTimeAmount"})
+ public RetentionDuration(RetentionTimeUnit retentionTimeUnit, Integer retentionTimeAmount) {
+ super();
+ this.retentionTimeUnit = retentionTimeUnit;
+ this.retentionTimeAmount = retentionTimeAmount;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * The value you can assign to the Time Unit property for this Duration may be either
+ * "YEARS" or "DAYS".
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionTimeUnit")
+ private RetentionTimeUnit retentionTimeUnit;
+
+ /**
+ * The value you can assign to the Time Unit property for this Duration may be either
+ * "YEARS" or "DAYS".
+ *
+ * @param retentionTimeUnit the value to set
+ * @return this builder
+ */
+ public Builder retentionTimeUnit(RetentionTimeUnit retentionTimeUnit) {
+ this.retentionTimeUnit = retentionTimeUnit;
+ this.__explicitlySet__.add("retentionTimeUnit");
+ return this;
+ }
+ /**
+ * The value to enter for the amount of retention time should be a numerical figure (such as
+ * 1, 7, 30, etc.) that corresponds to the period specified in the retention time unit
+ * property (such as YEARS, DAYS). The combination of these two properties determines the
+ * total length of the retention period.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionTimeAmount")
+ private Integer retentionTimeAmount;
+
+ /**
+ * The value to enter for the amount of retention time should be a numerical figure (such as
+ * 1, 7, 30, etc.) that corresponds to the period specified in the retention time unit
+ * property (such as YEARS, DAYS). The combination of these two properties determines the
+ * total length of the retention period.
+ *
+ * @param retentionTimeAmount the value to set
+ * @return this builder
+ */
+ public Builder retentionTimeAmount(Integer retentionTimeAmount) {
+ this.retentionTimeAmount = retentionTimeAmount;
+ this.__explicitlySet__.add("retentionTimeAmount");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public RetentionDuration build() {
+ RetentionDuration model =
+ new RetentionDuration(this.retentionTimeUnit, this.retentionTimeAmount);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(RetentionDuration model) {
+ if (model.wasPropertyExplicitlySet("retentionTimeUnit")) {
+ this.retentionTimeUnit(model.getRetentionTimeUnit());
+ }
+ if (model.wasPropertyExplicitlySet("retentionTimeAmount")) {
+ this.retentionTimeAmount(model.getRetentionTimeAmount());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /**
+ * The value you can assign to the Time Unit property for this Duration may be either "YEARS" or
+ * "DAYS".
+ */
+ public enum RetentionTimeUnit implements com.oracle.bmc.http.internal.BmcEnum {
+ Years("YEARS"),
+ Days("DAYS"),
+
+ /**
+ * 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(RetentionTimeUnit.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (RetentionTimeUnit v : RetentionTimeUnit.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ RetentionTimeUnit(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static RetentionTimeUnit create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'RetentionTimeUnit', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /**
+ * The value you can assign to the Time Unit property for this Duration may be either "YEARS" or
+ * "DAYS".
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionTimeUnit")
+ private final RetentionTimeUnit retentionTimeUnit;
+
+ /**
+ * The value you can assign to the Time Unit property for this Duration may be either "YEARS" or
+ * "DAYS".
+ *
+ * @return the value
+ */
+ public RetentionTimeUnit getRetentionTimeUnit() {
+ return retentionTimeUnit;
+ }
+
+ /**
+ * The value to enter for the amount of retention time should be a numerical figure (such as 1,
+ * 7, 30, etc.) that corresponds to the period specified in the retention time unit property
+ * (such as YEARS, DAYS). The combination of these two properties determines the total length of
+ * the retention period.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionTimeAmount")
+ private final Integer retentionTimeAmount;
+
+ /**
+ * The value to enter for the amount of retention time should be a numerical figure (such as 1,
+ * 7, 30, etc.) that corresponds to the period specified in the retention time unit property
+ * (such as YEARS, DAYS). The combination of these two properties determines the total length of
+ * the retention period.
+ *
+ * @return the value
+ */
+ public Integer getRetentionTimeAmount() {
+ return retentionTimeAmount;
+ }
+
+ @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("RetentionDuration(");
+ sb.append("super=").append(super.toString());
+ sb.append("retentionTimeUnit=").append(String.valueOf(this.retentionTimeUnit));
+ sb.append(", retentionTimeAmount=").append(String.valueOf(this.retentionTimeAmount));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof RetentionDuration)) {
+ return false;
+ }
+
+ RetentionDuration other = (RetentionDuration) o;
+ return java.util.Objects.equals(this.retentionTimeUnit, other.retentionTimeUnit)
+ && java.util.Objects.equals(this.retentionTimeAmount, other.retentionTimeAmount)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.retentionTimeUnit == null ? 43 : this.retentionTimeUnit.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionTimeAmount == null
+ ? 43
+ : this.retentionTimeAmount.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/SupportedCapabilities.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/SupportedCapabilities.java
index 6aaa12d6f08..b3226f8dfa1 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/SupportedCapabilities.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/SupportedCapabilities.java
@@ -24,10 +24,12 @@
public final class SupportedCapabilities
extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
- @java.beans.ConstructorProperties({"isMemoryEncryptionSupported"})
- public SupportedCapabilities(Boolean isMemoryEncryptionSupported) {
+ @java.beans.ConstructorProperties({"isMemoryEncryptionSupported", "isBurstableSupported"})
+ public SupportedCapabilities(
+ Boolean isMemoryEncryptionSupported, Boolean isBurstableSupported) {
super();
this.isMemoryEncryptionSupported = isMemoryEncryptionSupported;
+ this.isBurstableSupported = isBurstableSupported;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -51,13 +53,35 @@ public Builder isMemoryEncryptionSupported(Boolean isMemoryEncryptionSupported)
this.__explicitlySet__.add("isMemoryEncryptionSupported");
return this;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs.
+ * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs
+ * cannot be launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstableSupported")
+ private Boolean isBurstableSupported;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs.
+ * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs
+ * cannot be launched.
+ *
+ * @param isBurstableSupported the value to set
+ * @return this builder
+ */
+ public Builder isBurstableSupported(Boolean isBurstableSupported) {
+ this.isBurstableSupported = isBurstableSupported;
+ this.__explicitlySet__.add("isBurstableSupported");
+ return this;
+ }
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
public SupportedCapabilities build() {
SupportedCapabilities model =
- new SupportedCapabilities(this.isMemoryEncryptionSupported);
+ new SupportedCapabilities(
+ this.isMemoryEncryptionSupported, this.isBurstableSupported);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -69,6 +93,9 @@ public Builder copy(SupportedCapabilities model) {
if (model.wasPropertyExplicitlySet("isMemoryEncryptionSupported")) {
this.isMemoryEncryptionSupported(model.getIsMemoryEncryptionSupported());
}
+ if (model.wasPropertyExplicitlySet("isBurstableSupported")) {
+ this.isBurstableSupported(model.getIsBurstableSupported());
+ }
return this;
}
}
@@ -99,6 +126,25 @@ public Boolean getIsMemoryEncryptionSupported() {
return isMemoryEncryptionSupported;
}
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If
+ * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be
+ * launched.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isBurstableSupported")
+ private final Boolean isBurstableSupported;
+
+ /**
+ * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If
+ * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be
+ * launched.
+ *
+ * @return the value
+ */
+ public Boolean getIsBurstableSupported() {
+ return isBurstableSupported;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -116,6 +162,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append("super=").append(super.toString());
sb.append("isMemoryEncryptionSupported=")
.append(String.valueOf(this.isMemoryEncryptionSupported));
+ sb.append(", isBurstableSupported=").append(String.valueOf(this.isBurstableSupported));
sb.append(")");
return sb.toString();
}
@@ -132,6 +179,7 @@ public boolean equals(Object o) {
SupportedCapabilities other = (SupportedCapabilities) o;
return java.util.Objects.equals(
this.isMemoryEncryptionSupported, other.isMemoryEncryptionSupported)
+ && java.util.Objects.equals(this.isBurstableSupported, other.isBurstableSupported)
&& super.equals(other);
}
@@ -144,6 +192,11 @@ public int hashCode() {
+ (this.isMemoryEncryptionSupported == null
? 43
: this.isMemoryEncryptionSupported.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isBurstableSupported == null
+ ? 43
+ : this.isBurstableSupported.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateBootVolumeBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateBootVolumeBackupDetails.java
index a3123c3326a..400be8e065f 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateBootVolumeBackupDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateBootVolumeBackupDetails.java
@@ -23,17 +23,34 @@
public final class UpdateBootVolumeBackupDetails
extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
- @java.beans.ConstructorProperties({"definedTags", "displayName", "freeformTags", "kmsKeyId"})
+ @java.beans.ConstructorProperties({
+ "definedTags",
+ "displayName",
+ "freeformTags",
+ "kmsKeyId",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled",
+ "isIndefiniteRetentionEnabled"
+ })
public UpdateBootVolumeBackupDetails(
java.util.Map> definedTags,
String displayName,
java.util.Map freeformTags,
- String kmsKeyId) {
+ String kmsKeyId,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled,
+ Boolean isIndefiniteRetentionEnabled) {
super();
this.definedTags = definedTags;
this.displayName = displayName;
this.freeformTags = freeformTags;
this.kmsKeyId = kmsKeyId;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -134,13 +151,96 @@ public Builder kmsKeyId(String kmsKeyId) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ *
+ * @param isIndefiniteRetentionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) {
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.__explicitlySet__.add("isIndefiniteRetentionEnabled");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
public UpdateBootVolumeBackupDetails build() {
UpdateBootVolumeBackupDetails model =
new UpdateBootVolumeBackupDetails(
- this.definedTags, this.displayName, this.freeformTags, this.kmsKeyId);
+ this.definedTags,
+ this.displayName,
+ this.freeformTags,
+ this.kmsKeyId,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled,
+ this.isIndefiniteRetentionEnabled);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -161,6 +261,18 @@ public Builder copy(UpdateBootVolumeBackupDetails model) {
if (model.wasPropertyExplicitlySet("kmsKeyId")) {
this.kmsKeyId(model.getKmsKeyId());
}
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) {
+ this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled());
+ }
return this;
}
}
@@ -258,6 +370,74 @@ public String getKmsKeyId() {
return kmsKeyId;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private final Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsIndefiniteRetentionEnabled() {
+ return isIndefiniteRetentionEnabled;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -277,6 +457,12 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", displayName=").append(String.valueOf(this.displayName));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", kmsKeyId=").append(String.valueOf(this.kmsKeyId));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
+ sb.append(", isIndefiniteRetentionEnabled=")
+ .append(String.valueOf(this.isIndefiniteRetentionEnabled));
sb.append(")");
return sb.toString();
}
@@ -295,6 +481,13 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.displayName, other.displayName)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.kmsKeyId, other.kmsKeyId)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
+ && java.util.Objects.equals(
+ this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled)
&& super.equals(other);
}
@@ -306,6 +499,24 @@ public int hashCode() {
result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
result = (result * PRIME) + (this.kmsKeyId == null ? 43 : this.kmsKeyId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isIndefiniteRetentionEnabled == null
+ ? 43
+ : this.isIndefiniteRetentionEnabled.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeBackupDetails.java
index 4627efdc121..8e22ad11611 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeBackupDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeBackupDetails.java
@@ -23,17 +23,34 @@
public final class UpdateVolumeBackupDetails
extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
- @java.beans.ConstructorProperties({"definedTags", "displayName", "freeformTags", "kmsKeyId"})
+ @java.beans.ConstructorProperties({
+ "definedTags",
+ "displayName",
+ "freeformTags",
+ "kmsKeyId",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled",
+ "isIndefiniteRetentionEnabled"
+ })
public UpdateVolumeBackupDetails(
java.util.Map> definedTags,
String displayName,
java.util.Map freeformTags,
- String kmsKeyId) {
+ String kmsKeyId,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled,
+ Boolean isIndefiniteRetentionEnabled) {
super();
this.definedTags = definedTags;
this.displayName = displayName;
this.freeformTags = freeformTags;
this.kmsKeyId = kmsKeyId;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -134,13 +151,96 @@ public Builder kmsKeyId(String kmsKeyId) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ *
+ * @param isIndefiniteRetentionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) {
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.__explicitlySet__.add("isIndefiniteRetentionEnabled");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
public UpdateVolumeBackupDetails build() {
UpdateVolumeBackupDetails model =
new UpdateVolumeBackupDetails(
- this.definedTags, this.displayName, this.freeformTags, this.kmsKeyId);
+ this.definedTags,
+ this.displayName,
+ this.freeformTags,
+ this.kmsKeyId,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled,
+ this.isIndefiniteRetentionEnabled);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -161,6 +261,18 @@ public Builder copy(UpdateVolumeBackupDetails model) {
if (model.wasPropertyExplicitlySet("kmsKeyId")) {
this.kmsKeyId(model.getKmsKeyId());
}
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) {
+ this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled());
+ }
return this;
}
}
@@ -258,6 +370,74 @@ public String getKmsKeyId() {
return kmsKeyId;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private final Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsIndefiniteRetentionEnabled() {
+ return isIndefiniteRetentionEnabled;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -277,6 +457,12 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", displayName=").append(String.valueOf(this.displayName));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", kmsKeyId=").append(String.valueOf(this.kmsKeyId));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
+ sb.append(", isIndefiniteRetentionEnabled=")
+ .append(String.valueOf(this.isIndefiniteRetentionEnabled));
sb.append(")");
return sb.toString();
}
@@ -295,6 +481,13 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.displayName, other.displayName)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.kmsKeyId, other.kmsKeyId)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
+ && java.util.Objects.equals(
+ this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled)
&& super.equals(other);
}
@@ -306,6 +499,24 @@ public int hashCode() {
result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
result = (result * PRIME) + (this.kmsKeyId == null ? 43 : this.kmsKeyId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isIndefiniteRetentionEnabled == null
+ ? 43
+ : this.isIndefiniteRetentionEnabled.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java
index 1b09240d6c9..1bee7d31200 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java
@@ -23,15 +23,31 @@
public final class UpdateVolumeGroupBackupDetails
extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
- @java.beans.ConstructorProperties({"definedTags", "displayName", "freeformTags"})
+ @java.beans.ConstructorProperties({
+ "definedTags",
+ "displayName",
+ "freeformTags",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled",
+ "isIndefiniteRetentionEnabled"
+ })
public UpdateVolumeGroupBackupDetails(
java.util.Map> definedTags,
String displayName,
- java.util.Map freeformTags) {
+ java.util.Map freeformTags,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled,
+ Boolean isIndefiniteRetentionEnabled) {
super();
this.definedTags = definedTags;
this.displayName = displayName;
this.freeformTags = freeformTags;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -107,13 +123,95 @@ public Builder freeformTags(java.util.Map freeformTags) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ *
+ * @param isIndefiniteRetentionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) {
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.__explicitlySet__.add("isIndefiniteRetentionEnabled");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
public UpdateVolumeGroupBackupDetails build() {
UpdateVolumeGroupBackupDetails model =
new UpdateVolumeGroupBackupDetails(
- this.definedTags, this.displayName, this.freeformTags);
+ this.definedTags,
+ this.displayName,
+ this.freeformTags,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled,
+ this.isIndefiniteRetentionEnabled);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -131,6 +229,18 @@ public Builder copy(UpdateVolumeGroupBackupDetails model) {
if (model.wasPropertyExplicitlySet("freeformTags")) {
this.freeformTags(model.getFreeformTags());
}
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) {
+ this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled());
+ }
return this;
}
}
@@ -207,6 +317,74 @@ public java.util.Map getFreeformTags() {
return freeformTags;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private final Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsIndefiniteRetentionEnabled() {
+ return isIndefiniteRetentionEnabled;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -225,6 +403,12 @@ public String toString(boolean includeByteArrayContents) {
sb.append("definedTags=").append(String.valueOf(this.definedTags));
sb.append(", displayName=").append(String.valueOf(this.displayName));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
+ sb.append(", isIndefiniteRetentionEnabled=")
+ .append(String.valueOf(this.isIndefiniteRetentionEnabled));
sb.append(")");
return sb.toString();
}
@@ -242,6 +426,13 @@ public boolean equals(Object o) {
return java.util.Objects.equals(this.definedTags, other.definedTags)
&& java.util.Objects.equals(this.displayName, other.displayName)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
+ && java.util.Objects.equals(
+ this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled)
&& super.equals(other);
}
@@ -252,6 +443,24 @@ public int hashCode() {
result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode());
result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isIndefiniteRetentionEnabled == null
+ ? 43
+ : this.isIndefiniteRetentionEnabled.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VirtualCircuit.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VirtualCircuit.java
index 384dde1d27e..7a3f974ea40 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/VirtualCircuit.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VirtualCircuit.java
@@ -73,6 +73,9 @@ public final class VirtualCircuit
"timeCreated",
"type",
"ipMtu",
+ "providerRemoteRegion",
+ "sharedConnectionUuid",
+ "remoteAccountId",
"trafficMode",
"virtualCircuitRedundancyMetadata"
})
@@ -108,6 +111,9 @@ public VirtualCircuit(
java.util.Date timeCreated,
Type type,
VirtualCircuitIpMtu ipMtu,
+ String providerRemoteRegion,
+ String sharedConnectionUuid,
+ String remoteAccountId,
TrafficMode trafficMode,
VirtualCircuitRedundancyMetadata virtualCircuitRedundancyMetadata) {
super();
@@ -142,6 +148,9 @@ public VirtualCircuit(
this.timeCreated = timeCreated;
this.type = type;
this.ipMtu = ipMtu;
+ this.providerRemoteRegion = providerRemoteRegion;
+ this.sharedConnectionUuid = sharedConnectionUuid;
+ this.remoteAccountId = remoteAccountId;
this.trafficMode = trafficMode;
this.virtualCircuitRedundancyMetadata = virtualCircuitRedundancyMetadata;
}
@@ -749,6 +758,61 @@ public Builder ipMtu(VirtualCircuitIpMtu ipMtu) {
this.__explicitlySet__.add("ipMtu");
return this;
}
+ /**
+ * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the
+ * OCI region. To get the list of associated provider remote region use the
+ * ListProviderRemoteRegions operation
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("providerRemoteRegion")
+ private String providerRemoteRegion;
+
+ /**
+ * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the
+ * OCI region. To get the list of associated provider remote region use the
+ * ListProviderRemoteRegions operation
+ *
+ * @param providerRemoteRegion the value to set
+ * @return this builder
+ */
+ public Builder providerRemoteRegion(String providerRemoteRegion) {
+ this.providerRemoteRegion = providerRemoteRegion;
+ this.__explicitlySet__.add("providerRemoteRegion");
+ return this;
+ }
+ /**
+ * The Shared unique identifier for the connection between the multicloud interconnect
+ * providers
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("sharedConnectionUuid")
+ private String sharedConnectionUuid;
+
+ /**
+ * The Shared unique identifier for the connection between the multicloud interconnect
+ * providers
+ *
+ * @param sharedConnectionUuid the value to set
+ * @return this builder
+ */
+ public Builder sharedConnectionUuid(String sharedConnectionUuid) {
+ this.sharedConnectionUuid = sharedConnectionUuid;
+ this.__explicitlySet__.add("sharedConnectionUuid");
+ return this;
+ }
+ /** Customer's account on Provider/Partner cloud (AWS, GCP or any other) */
+ @com.fasterxml.jackson.annotation.JsonProperty("remoteAccountId")
+ private String remoteAccountId;
+
+ /**
+ * Customer's account on Provider/Partner cloud (AWS, GCP or any other)
+ *
+ * @param remoteAccountId the value to set
+ * @return this builder
+ */
+ public Builder remoteAccountId(String remoteAccountId) {
+ this.remoteAccountId = remoteAccountId;
+ this.__explicitlySet__.add("remoteAccountId");
+ return this;
+ }
/**
* The current traffic mode for the Virtual Circuit. This indicates whether the traffic is
* drained for the associated Virtual Circuit or not.
@@ -816,6 +880,9 @@ public VirtualCircuit build() {
this.timeCreated,
this.type,
this.ipMtu,
+ this.providerRemoteRegion,
+ this.sharedConnectionUuid,
+ this.remoteAccountId,
this.trafficMode,
this.virtualCircuitRedundancyMetadata);
for (String explicitlySetProperty : this.__explicitlySet__) {
@@ -919,6 +986,15 @@ public Builder copy(VirtualCircuit model) {
if (model.wasPropertyExplicitlySet("ipMtu")) {
this.ipMtu(model.getIpMtu());
}
+ if (model.wasPropertyExplicitlySet("providerRemoteRegion")) {
+ this.providerRemoteRegion(model.getProviderRemoteRegion());
+ }
+ if (model.wasPropertyExplicitlySet("sharedConnectionUuid")) {
+ this.sharedConnectionUuid(model.getSharedConnectionUuid());
+ }
+ if (model.wasPropertyExplicitlySet("remoteAccountId")) {
+ this.remoteAccountId(model.getRemoteAccountId());
+ }
if (model.wasPropertyExplicitlySet("trafficMode")) {
this.trafficMode(model.getTrafficMode());
}
@@ -1911,6 +1987,53 @@ public VirtualCircuitIpMtu getIpMtu() {
return ipMtu;
}
+ /**
+ * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the OCI
+ * region. To get the list of associated provider remote region use the
+ * ListProviderRemoteRegions operation
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("providerRemoteRegion")
+ private final String providerRemoteRegion;
+
+ /**
+ * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the OCI
+ * region. To get the list of associated provider remote region use the
+ * ListProviderRemoteRegions operation
+ *
+ * @return the value
+ */
+ public String getProviderRemoteRegion() {
+ return providerRemoteRegion;
+ }
+
+ /**
+ * The Shared unique identifier for the connection between the multicloud interconnect providers
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("sharedConnectionUuid")
+ private final String sharedConnectionUuid;
+
+ /**
+ * The Shared unique identifier for the connection between the multicloud interconnect providers
+ *
+ * @return the value
+ */
+ public String getSharedConnectionUuid() {
+ return sharedConnectionUuid;
+ }
+
+ /** Customer's account on Provider/Partner cloud (AWS, GCP or any other) */
+ @com.fasterxml.jackson.annotation.JsonProperty("remoteAccountId")
+ private final String remoteAccountId;
+
+ /**
+ * Customer's account on Provider/Partner cloud (AWS, GCP or any other)
+ *
+ * @return the value
+ */
+ public String getRemoteAccountId() {
+ return remoteAccountId;
+ }
+
/**
* The current traffic mode for the Virtual Circuit. This indicates whether the traffic is
* drained for the associated Virtual Circuit or not.
@@ -2030,6 +2153,9 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
sb.append(", type=").append(String.valueOf(this.type));
sb.append(", ipMtu=").append(String.valueOf(this.ipMtu));
+ sb.append(", providerRemoteRegion=").append(String.valueOf(this.providerRemoteRegion));
+ sb.append(", sharedConnectionUuid=").append(String.valueOf(this.sharedConnectionUuid));
+ sb.append(", remoteAccountId=").append(String.valueOf(this.remoteAccountId));
sb.append(", trafficMode=").append(String.valueOf(this.trafficMode));
sb.append(", virtualCircuitRedundancyMetadata=")
.append(String.valueOf(this.virtualCircuitRedundancyMetadata));
@@ -2079,6 +2205,9 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.timeCreated, other.timeCreated)
&& java.util.Objects.equals(this.type, other.type)
&& java.util.Objects.equals(this.ipMtu, other.ipMtu)
+ && java.util.Objects.equals(this.providerRemoteRegion, other.providerRemoteRegion)
+ && java.util.Objects.equals(this.sharedConnectionUuid, other.sharedConnectionUuid)
+ && java.util.Objects.equals(this.remoteAccountId, other.remoteAccountId)
&& java.util.Objects.equals(this.trafficMode, other.trafficMode)
&& java.util.Objects.equals(
this.virtualCircuitRedundancyMetadata,
@@ -2165,6 +2294,19 @@ public int hashCode() {
result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode());
result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode());
result = (result * PRIME) + (this.ipMtu == null ? 43 : this.ipMtu.hashCode());
+ result =
+ (result * PRIME)
+ + (this.providerRemoteRegion == null
+ ? 43
+ : this.providerRemoteRegion.hashCode());
+ result =
+ (result * PRIME)
+ + (this.sharedConnectionUuid == null
+ ? 43
+ : this.sharedConnectionUuid.hashCode());
+ result =
+ (result * PRIME)
+ + (this.remoteAccountId == null ? 43 : this.remoteAccountId.hashCode());
result = (result * PRIME) + (this.trafficMode == null ? 43 : this.trafficMode.hashCode());
result =
(result * PRIME)
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackup.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackup.java
index b933a3087ec..0160a37569d 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackup.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackup.java
@@ -50,7 +50,13 @@ public final class VolumeBackup extends com.oracle.bmc.http.client.internal.Expl
"type",
"uniqueSizeInGBs",
"uniqueSizeInMbs",
- "volumeId"
+ "volumeId",
+ "timeRetentionExpiresAt",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled",
+ "isIndefiniteRetentionEnabled",
+ "volumeGroupBackupId"
})
public VolumeBackup(
String compartmentId,
@@ -71,7 +77,13 @@ public VolumeBackup(
Type type,
Long uniqueSizeInGBs,
Long uniqueSizeInMbs,
- String volumeId) {
+ String volumeId,
+ java.util.Date timeRetentionExpiresAt,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled,
+ Boolean isIndefiniteRetentionEnabled,
+ String volumeGroupBackupId) {
super();
this.compartmentId = compartmentId;
this.definedTags = definedTags;
@@ -92,6 +104,12 @@ public VolumeBackup(
this.uniqueSizeInGBs = uniqueSizeInGBs;
this.uniqueSizeInMbs = uniqueSizeInMbs;
this.volumeId = volumeId;
+ this.timeRetentionExpiresAt = timeRetentionExpiresAt;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.volumeGroupBackupId = volumeGroupBackupId;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -454,6 +472,124 @@ public Builder volumeId(String volumeId) {
this.__explicitlySet__.add("volumeId");
return this;
}
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire.
+ * This is an optional field. If it is not specified, it is set to null, no retention period
+ * will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt")
+ private java.util.Date timeRetentionExpiresAt;
+
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire.
+ * This is an optional field. If it is not specified, it is set to null, no retention period
+ * will be applied to the backups.
+ *
+ * @param timeRetentionExpiresAt the value to set
+ * @return this builder
+ */
+ public Builder timeRetentionExpiresAt(java.util.Date timeRetentionExpiresAt) {
+ this.timeRetentionExpiresAt = timeRetentionExpiresAt;
+ this.__explicitlySet__.add("timeRetentionExpiresAt");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ *
+ * @param isIndefiniteRetentionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) {
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.__explicitlySet__.add("isIndefiniteRetentionEnabled");
+ return this;
+ }
+ /**
+ * The OCID of the volume group backup associated with the backup. This is an optional
+ * field. If it is not present in the response, the backup does not belong to a volume
+ * group.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId")
+ private String volumeGroupBackupId;
+
+ /**
+ * The OCID of the volume group backup associated with the backup. This is an optional
+ * field. If it is not present in the response, the backup does not belong to a volume
+ * group.
+ *
+ * @param volumeGroupBackupId the value to set
+ * @return this builder
+ */
+ public Builder volumeGroupBackupId(String volumeGroupBackupId) {
+ this.volumeGroupBackupId = volumeGroupBackupId;
+ this.__explicitlySet__.add("volumeGroupBackupId");
+ return this;
+ }
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -479,7 +615,13 @@ public VolumeBackup build() {
this.type,
this.uniqueSizeInGBs,
this.uniqueSizeInMbs,
- this.volumeId);
+ this.volumeId,
+ this.timeRetentionExpiresAt,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled,
+ this.isIndefiniteRetentionEnabled,
+ this.volumeGroupBackupId);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -545,6 +687,24 @@ public Builder copy(VolumeBackup model) {
if (model.wasPropertyExplicitlySet("volumeId")) {
this.volumeId(model.getVolumeId());
}
+ if (model.wasPropertyExplicitlySet("timeRetentionExpiresAt")) {
+ this.timeRetentionExpiresAt(model.getTimeRetentionExpiresAt());
+ }
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) {
+ this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("volumeGroupBackupId")) {
+ this.volumeGroupBackupId(model.getVolumeGroupBackupId());
+ }
return this;
}
}
@@ -1015,6 +1175,110 @@ public String getVolumeId() {
return volumeId;
}
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire. This is
+ * an optional field. If it is not specified, it is set to null, no retention period will be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt")
+ private final java.util.Date timeRetentionExpiresAt;
+
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire. This is
+ * an optional field. If it is not specified, it is set to null, no retention period will be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeRetentionExpiresAt() {
+ return timeRetentionExpiresAt;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private final Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsIndefiniteRetentionEnabled() {
+ return isIndefiniteRetentionEnabled;
+ }
+
+ /**
+ * The OCID of the volume group backup associated with the backup. This is an optional field. If
+ * it is not present in the response, the backup does not belong to a volume group.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId")
+ private final String volumeGroupBackupId;
+
+ /**
+ * The OCID of the volume group backup associated with the backup. This is an optional field. If
+ * it is not present in the response, the backup does not belong to a volume group.
+ *
+ * @return the value
+ */
+ public String getVolumeGroupBackupId() {
+ return volumeGroupBackupId;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -1049,6 +1313,14 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", uniqueSizeInGBs=").append(String.valueOf(this.uniqueSizeInGBs));
sb.append(", uniqueSizeInMbs=").append(String.valueOf(this.uniqueSizeInMbs));
sb.append(", volumeId=").append(String.valueOf(this.volumeId));
+ sb.append(", timeRetentionExpiresAt=").append(String.valueOf(this.timeRetentionExpiresAt));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
+ sb.append(", isIndefiniteRetentionEnabled=")
+ .append(String.valueOf(this.isIndefiniteRetentionEnabled));
+ sb.append(", volumeGroupBackupId=").append(String.valueOf(this.volumeGroupBackupId));
sb.append(")");
return sb.toString();
}
@@ -1082,6 +1354,16 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.uniqueSizeInGBs, other.uniqueSizeInGBs)
&& java.util.Objects.equals(this.uniqueSizeInMbs, other.uniqueSizeInMbs)
&& java.util.Objects.equals(this.volumeId, other.volumeId)
+ && java.util.Objects.equals(
+ this.timeRetentionExpiresAt, other.timeRetentionExpiresAt)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
+ && java.util.Objects.equals(
+ this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled)
+ && java.util.Objects.equals(this.volumeGroupBackupId, other.volumeGroupBackupId)
&& super.equals(other);
}
@@ -1126,6 +1408,34 @@ public int hashCode() {
(result * PRIME)
+ (this.uniqueSizeInMbs == null ? 43 : this.uniqueSizeInMbs.hashCode());
result = (result * PRIME) + (this.volumeId == null ? 43 : this.volumeId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeRetentionExpiresAt == null
+ ? 43
+ : this.timeRetentionExpiresAt.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isIndefiniteRetentionEnabled == null
+ ? 43
+ : this.isIndefiniteRetentionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.volumeGroupBackupId == null
+ ? 43
+ : this.volumeGroupBackupId.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackupSchedule.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackupSchedule.java
index d1cac28dba7..42736e93224 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackupSchedule.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackupSchedule.java
@@ -35,7 +35,10 @@ public final class VolumeBackupSchedule
"dayOfMonth",
"month",
"retentionSeconds",
- "timeZone"
+ "timeZone",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled"
})
public VolumeBackupSchedule(
BackupType backupType,
@@ -47,7 +50,10 @@ public VolumeBackupSchedule(
Integer dayOfMonth,
Month month,
Integer retentionSeconds,
- TimeZone timeZone) {
+ TimeZone timeZone,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled) {
super();
this.backupType = backupType;
this.offsetSeconds = offsetSeconds;
@@ -59,6 +65,9 @@ public VolumeBackupSchedule(
this.month = month;
this.retentionSeconds = retentionSeconds;
this.timeZone = timeZone;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -264,6 +273,59 @@ public Builder timeZone(TimeZone timeZone) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -279,7 +341,10 @@ public VolumeBackupSchedule build() {
this.dayOfMonth,
this.month,
this.retentionSeconds,
- this.timeZone);
+ this.timeZone,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -318,6 +383,15 @@ public Builder copy(VolumeBackupSchedule model) {
if (model.wasPropertyExplicitlySet("timeZone")) {
this.timeZone(model.getTimeZone());
}
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
return this;
}
}
@@ -826,6 +900,53 @@ public TimeZone getTimeZone() {
return timeZone;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -851,6 +972,10 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", month=").append(String.valueOf(this.month));
sb.append(", retentionSeconds=").append(String.valueOf(this.retentionSeconds));
sb.append(", timeZone=").append(String.valueOf(this.timeZone));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
sb.append(")");
return sb.toString();
}
@@ -875,6 +1000,11 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.month, other.month)
&& java.util.Objects.equals(this.retentionSeconds, other.retentionSeconds)
&& java.util.Objects.equals(this.timeZone, other.timeZone)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
&& super.equals(other);
}
@@ -896,6 +1026,19 @@ public int hashCode() {
(result * PRIME)
+ (this.retentionSeconds == null ? 43 : this.retentionSeconds.hashCode());
result = (result * PRIME) + (this.timeZone == null ? 43 : this.timeZone.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java
index fc5436caf55..59d418704cc 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java
@@ -51,7 +51,12 @@ public final class VolumeGroupBackup
"uniqueSizeInGbs",
"volumeBackupIds",
"volumeGroupId",
- "sourceVolumeGroupBackupId"
+ "sourceVolumeGroupBackupId",
+ "timeRetentionExpiresAt",
+ "retentionPeriod",
+ "isPreventDeletionEnabled",
+ "isRetentionLockEnabled",
+ "isIndefiniteRetentionEnabled"
})
public VolumeGroupBackup(
String compartmentId,
@@ -71,7 +76,12 @@ public VolumeGroupBackup(
Long uniqueSizeInGbs,
java.util.List volumeBackupIds,
String volumeGroupId,
- String sourceVolumeGroupBackupId) {
+ String sourceVolumeGroupBackupId,
+ java.util.Date timeRetentionExpiresAt,
+ RetentionDuration retentionPeriod,
+ Boolean isPreventDeletionEnabled,
+ Boolean isRetentionLockEnabled,
+ Boolean isIndefiniteRetentionEnabled) {
super();
this.compartmentId = compartmentId;
this.definedTags = definedTags;
@@ -91,6 +101,11 @@ public VolumeGroupBackup(
this.volumeBackupIds = volumeBackupIds;
this.volumeGroupId = volumeGroupId;
this.sourceVolumeGroupBackupId = sourceVolumeGroupBackupId;
+ this.timeRetentionExpiresAt = timeRetentionExpiresAt;
+ this.retentionPeriod = retentionPeriod;
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -432,6 +447,103 @@ public Builder sourceVolumeGroupBackupId(String sourceVolumeGroupBackupId) {
this.__explicitlySet__.add("sourceVolumeGroupBackupId");
return this;
}
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire.
+ * This is an optional field. If it is not specified, it is set to null, no retention period
+ * will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt")
+ private java.util.Date timeRetentionExpiresAt;
+
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire.
+ * This is an optional field. If it is not specified, it is set to null, no retention period
+ * will be applied to the backups.
+ *
+ * @param timeRetentionExpiresAt the value to set
+ * @return this builder
+ */
+ public Builder timeRetentionExpiresAt(java.util.Date timeRetentionExpiresAt) {
+ this.timeRetentionExpiresAt = timeRetentionExpiresAt;
+ this.__explicitlySet__.add("timeRetentionExpiresAt");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private RetentionDuration retentionPeriod;
+
+ public Builder retentionPeriod(RetentionDuration retentionPeriod) {
+ this.retentionPeriod = retentionPeriod;
+ this.__explicitlySet__.add("retentionPeriod");
+ return this;
+ }
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @param isPreventDeletionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) {
+ this.isPreventDeletionEnabled = isPreventDeletionEnabled;
+ this.__explicitlySet__.add("isPreventDeletionEnabled");
+ return this;
+ }
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to
+ * ensure data protection and regulatory compliance. This is an optional field. If it is not
+ * specified, it is set to null, no retention lock will be applied to the backups. This
+ * feature should be used in conjunction with the retention-period field.
+ *
+ * @param isRetentionLockEnabled the value to set
+ * @return this builder
+ */
+ public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) {
+ this.isRetentionLockEnabled = isRetentionLockEnabled;
+ this.__explicitlySet__.add("isRetentionLockEnabled");
+ return this;
+ }
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null,
+ * no legal hold will be applied to the backups.
+ *
+ * @param isIndefiniteRetentionEnabled the value to set
+ * @return this builder
+ */
+ public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) {
+ this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled;
+ this.__explicitlySet__.add("isIndefiniteRetentionEnabled");
+ return this;
+ }
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -456,7 +568,12 @@ public VolumeGroupBackup build() {
this.uniqueSizeInGbs,
this.volumeBackupIds,
this.volumeGroupId,
- this.sourceVolumeGroupBackupId);
+ this.sourceVolumeGroupBackupId,
+ this.timeRetentionExpiresAt,
+ this.retentionPeriod,
+ this.isPreventDeletionEnabled,
+ this.isRetentionLockEnabled,
+ this.isIndefiniteRetentionEnabled);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -519,6 +636,21 @@ public Builder copy(VolumeGroupBackup model) {
if (model.wasPropertyExplicitlySet("sourceVolumeGroupBackupId")) {
this.sourceVolumeGroupBackupId(model.getSourceVolumeGroupBackupId());
}
+ if (model.wasPropertyExplicitlySet("timeRetentionExpiresAt")) {
+ this.timeRetentionExpiresAt(model.getTimeRetentionExpiresAt());
+ }
+ if (model.wasPropertyExplicitlySet("retentionPeriod")) {
+ this.retentionPeriod(model.getRetentionPeriod());
+ }
+ if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) {
+ this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) {
+ this.isRetentionLockEnabled(model.getIsRetentionLockEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) {
+ this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled());
+ }
return this;
}
}
@@ -974,6 +1106,93 @@ public String getSourceVolumeGroupBackupId() {
return sourceVolumeGroupBackupId;
}
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire. This is
+ * an optional field. If it is not specified, it is set to null, no retention period will be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt")
+ private final java.util.Date timeRetentionExpiresAt;
+
+ /**
+ * The date and time when a backup\u2019s retention period ends and it is set to expire. This is
+ * an optional field. If it is not specified, it is set to null, no retention period will be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeRetentionExpiresAt() {
+ return timeRetentionExpiresAt;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod")
+ private final RetentionDuration retentionPeriod;
+
+ public RetentionDuration getRetentionPeriod() {
+ return retentionPeriod;
+ }
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled")
+ private final Boolean isPreventDeletionEnabled;
+
+ /**
+ * Prevent backups from being deleted during the configured retention period. This is an
+ * optional field. If it is not specified, it is set to null, prevent deletion will not be
+ * applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsPreventDeletionEnabled() {
+ return isPreventDeletionEnabled;
+ }
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled")
+ private final Boolean isRetentionLockEnabled;
+
+ /**
+ * feature that prevents deletion or alteration of backup data for a specified period to ensure
+ * data protection and regulatory compliance. This is an optional field. If it is not specified,
+ * it is set to null, no retention lock will be applied to the backups. This feature should be
+ * used in conjunction with the retention-period field.
+ *
+ * @return the value
+ */
+ public Boolean getIsRetentionLockEnabled() {
+ return isRetentionLockEnabled;
+ }
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled")
+ private final Boolean isIndefiniteRetentionEnabled;
+
+ /**
+ * feature that preserves backup data from modification or deletion to ensure it remains
+ * available for legal or regulatory investigations or litigation, regardless of standard
+ * retention policies. This is an optional field. If it is not specified, it is set to null, no
+ * legal hold will be applied to the backups.
+ *
+ * @return the value
+ */
+ public Boolean getIsIndefiniteRetentionEnabled() {
+ return isIndefiniteRetentionEnabled;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -1008,6 +1227,13 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", volumeGroupId=").append(String.valueOf(this.volumeGroupId));
sb.append(", sourceVolumeGroupBackupId=")
.append(String.valueOf(this.sourceVolumeGroupBackupId));
+ sb.append(", timeRetentionExpiresAt=").append(String.valueOf(this.timeRetentionExpiresAt));
+ sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod));
+ sb.append(", isPreventDeletionEnabled=")
+ .append(String.valueOf(this.isPreventDeletionEnabled));
+ sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled));
+ sb.append(", isIndefiniteRetentionEnabled=")
+ .append(String.valueOf(this.isIndefiniteRetentionEnabled));
sb.append(")");
return sb.toString();
}
@@ -1041,6 +1267,15 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.volumeGroupId, other.volumeGroupId)
&& java.util.Objects.equals(
this.sourceVolumeGroupBackupId, other.sourceVolumeGroupBackupId)
+ && java.util.Objects.equals(
+ this.timeRetentionExpiresAt, other.timeRetentionExpiresAt)
+ && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod)
+ && java.util.Objects.equals(
+ this.isPreventDeletionEnabled, other.isPreventDeletionEnabled)
+ && java.util.Objects.equals(
+ this.isRetentionLockEnabled, other.isRetentionLockEnabled)
+ && java.util.Objects.equals(
+ this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled)
&& super.equals(other);
}
@@ -1088,6 +1323,29 @@ public int hashCode() {
+ (this.sourceVolumeGroupBackupId == null
? 43
: this.sourceVolumeGroupBackupId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeRetentionExpiresAt == null
+ ? 43
+ : this.timeRetentionExpiresAt.hashCode());
+ result =
+ (result * PRIME)
+ + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isPreventDeletionEnabled == null
+ ? 43
+ : this.isPreventDeletionEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isRetentionLockEnabled == null
+ ? 43
+ : this.isRetentionLockEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isIndefiniteRetentionEnabled == null
+ ? 43
+ : this.isIndefiniteRetentionEnabled.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListProviderRemoteRegionsRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListProviderRemoteRegionsRequest.java
new file mode 100644
index 00000000000..fc01924045b
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListProviderRemoteRegionsRequest.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.core.requests;
+
+import com.oracle.bmc.core.model.*;
+/**
+ * Example: Click here to see how to use
+ * ListProviderRemoteRegionsRequest.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918")
+public class ListProviderRemoteRegionsRequest
+ extends com.oracle.bmc.requests.BmcRequest {
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * provider service.
+ */
+ private String providerServiceId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * provider service.
+ */
+ public String getProviderServiceId() {
+ return providerServiceId;
+ }
+ /**
+ * Unique identifier for the request. If you need to contact Oracle about a particular request,
+ * please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique identifier for the request. If you need to contact Oracle about a particular request,
+ * please provide the request ID.
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+ /**
+ * For list pagination. The maximum number of results per page, or items to return in a
+ * paginated "List" call. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ *
+ * Example: {@code 50}
+ */
+ private Integer limit;
+
+ /**
+ * For list pagination. The maximum number of results per page, or items to return in a
+ * paginated "List" call. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ *
+ *
Example: {@code 50}
+ */
+ public Integer getLimit() {
+ return limit;
+ }
+ /**
+ * For list pagination. The value of the {@code opc-next-page} response header from the previous
+ * "List" call. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ */
+ private String page;
+
+ /**
+ * For list pagination. The value of the {@code opc-next-page} response header from the previous
+ * "List" call. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ */
+ public String getPage() {
+ return page;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.requests.BmcRequest.Builder<
+ ListProviderRemoteRegionsRequest, java.lang.Void> {
+ private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null;
+ private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * provider service.
+ */
+ private String providerServiceId = null;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * provider service.
+ *
+ * @param providerServiceId the value to set
+ * @return this builder instance
+ */
+ public Builder providerServiceId(String providerServiceId) {
+ this.providerServiceId = providerServiceId;
+ return this;
+ }
+
+ /**
+ * Unique identifier for the request. If you need to contact Oracle about a particular
+ * request, please provide the request ID.
+ */
+ private String opcRequestId = null;
+
+ /**
+ * Unique identifier for the request. If you need to contact Oracle about a particular
+ * request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder instance
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * For list pagination. The maximum number of results per page, or items to return in a
+ * paginated "List" call. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ *
+ *
Example: {@code 50}
+ */
+ private Integer limit = null;
+
+ /**
+ * For list pagination. The maximum number of results per page, or items to return in a
+ * paginated "List" call. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ *
+ *
Example: {@code 50}
+ *
+ * @param limit the value to set
+ * @return this builder instance
+ */
+ public Builder limit(Integer limit) {
+ this.limit = limit;
+ return this;
+ }
+
+ /**
+ * For list pagination. The value of the {@code opc-next-page} response header from the
+ * previous "List" call. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ */
+ private String page = null;
+
+ /**
+ * For list pagination. The value of the {@code opc-next-page} response header from the
+ * previous "List" call. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ *
+ * @param page the value to set
+ * @return this builder instance
+ */
+ public Builder page(String page) {
+ this.page = page;
+ return this;
+ }
+
+ /**
+ * Set the invocation callback for the request to be built.
+ *
+ * @param invocationCallback the invocation callback to be set for the request
+ * @return this builder instance
+ */
+ public Builder invocationCallback(
+ com.oracle.bmc.http.client.RequestInterceptor invocationCallback) {
+ this.invocationCallback = invocationCallback;
+ return this;
+ }
+
+ /**
+ * Set the retry configuration for the request to be built.
+ *
+ * @param retryConfiguration the retry configuration to be used for the request
+ * @return this builder instance
+ */
+ public Builder retryConfiguration(
+ com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) {
+ this.retryConfiguration = retryConfiguration;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ public Builder copy(ListProviderRemoteRegionsRequest o) {
+ providerServiceId(o.getProviderServiceId());
+ opcRequestId(o.getOpcRequestId());
+ limit(o.getLimit());
+ page(o.getPage());
+ invocationCallback(o.getInvocationCallback());
+ retryConfiguration(o.getRetryConfiguration());
+ return this;
+ }
+
+ /**
+ * Build the instance of ListProviderRemoteRegionsRequest as configured by this builder
+ *
+ *
Note that this method takes calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#buildWithoutInvocationCallback} does not.
+ *
+ *
This is the preferred method to build an instance.
+ *
+ * @return instance of ListProviderRemoteRegionsRequest
+ */
+ public ListProviderRemoteRegionsRequest build() {
+ ListProviderRemoteRegionsRequest request = buildWithoutInvocationCallback();
+ request.setInvocationCallback(invocationCallback);
+ request.setRetryConfiguration(retryConfiguration);
+ return request;
+ }
+
+ /**
+ * Build the instance of ListProviderRemoteRegionsRequest as configured by this builder
+ *
+ *
Note that this method does not take calls to {@link
+ * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account,
+ * while the method {@link Builder#build} does
+ *
+ * @return instance of ListProviderRemoteRegionsRequest
+ */
+ public ListProviderRemoteRegionsRequest buildWithoutInvocationCallback() {
+ ListProviderRemoteRegionsRequest request = new ListProviderRemoteRegionsRequest();
+ request.providerServiceId = providerServiceId;
+ request.opcRequestId = opcRequestId;
+ request.limit = limit;
+ request.page = page;
+ return request;
+ // new ListProviderRemoteRegionsRequest(providerServiceId, opcRequestId, limit, page);
+ }
+ }
+
+ /**
+ * Return an instance of {@link Builder} that allows you to modify request properties.
+ *
+ * @return instance of {@link Builder} that allows you to modify request properties.
+ */
+ public Builder toBuilder() {
+ return new Builder()
+ .providerServiceId(providerServiceId)
+ .opcRequestId(opcRequestId)
+ .limit(limit)
+ .page(page);
+ }
+
+ /**
+ * Return a new builder for this request object.
+ *
+ * @return builder for the request object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",providerServiceId=").append(String.valueOf(this.providerServiceId));
+ sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId));
+ sb.append(",limit=").append(String.valueOf(this.limit));
+ sb.append(",page=").append(String.valueOf(this.page));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ListProviderRemoteRegionsRequest)) {
+ return false;
+ }
+
+ ListProviderRemoteRegionsRequest other = (ListProviderRemoteRegionsRequest) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.providerServiceId, other.providerServiceId)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.limit, other.limit)
+ && java.util.Objects.equals(this.page, other.page);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.providerServiceId == null ? 43 : this.providerServiceId.hashCode());
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode());
+ result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListProviderRemoteRegionsResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListProviderRemoteRegionsResponse.java
new file mode 100644
index 00000000000..2666ef8dda3
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListProviderRemoteRegionsResponse.java
@@ -0,0 +1,222 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.core.responses;
+
+import com.oracle.bmc.core.model.*;
+
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918")
+public class ListProviderRemoteRegionsResponse extends com.oracle.bmc.responses.BmcResponse {
+ /**
+ * For list pagination. When this header appears in the response, additional pages of results
+ * remain. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ */
+ private String opcNextPage;
+
+ /**
+ * For list pagination. When this header appears in the response, additional pages of results
+ * remain. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ *
+ * @return the value
+ */
+ public String getOpcNextPage() {
+ return opcNextPage;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @return the value
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+
+ /** A list of {@code com.oracle.bmc.core.model.ProviderRemoteRegionName} instances. */
+ private java.util.List items;
+
+ /**
+ * A list of {@code com.oracle.bmc.core.model.ProviderRemoteRegionName} instances.
+ *
+ * @return the value
+ */
+ public java.util.List getItems() {
+ return items;
+ }
+
+ @java.beans.ConstructorProperties({
+ "__httpStatusCode__",
+ "headers",
+ "opcNextPage",
+ "opcRequestId",
+ "items"
+ })
+ private ListProviderRemoteRegionsResponse(
+ int __httpStatusCode__,
+ java.util.Map> headers,
+ String opcNextPage,
+ String opcRequestId,
+ java.util.List items) {
+ super(__httpStatusCode__, headers);
+ this.opcNextPage = opcNextPage;
+ this.opcRequestId = opcRequestId;
+ this.items = items;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.responses.BmcResponse.Builder<
+ ListProviderRemoteRegionsResponse> {
+ private int __httpStatusCode__;
+
+ @Override
+ public Builder __httpStatusCode__(int __httpStatusCode__) {
+ this.__httpStatusCode__ = __httpStatusCode__;
+ return this;
+ }
+
+ private java.util.Map> headers;
+
+ @Override
+ public Builder headers(java.util.Map> headers) {
+ this.headers = headers;
+ return this;
+ }
+
+ /**
+ * For list pagination. When this header appears in the response, additional pages of
+ * results remain. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ */
+ private String opcNextPage;
+
+ /**
+ * For list pagination. When this header appears in the response, additional pages of
+ * results remain. For important details about how pagination works, see [List
+ * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
+ *
+ * @param opcNextPage the value to set
+ * @return this builder
+ */
+ public Builder opcNextPage(String opcNextPage) {
+ this.opcNextPage = opcNextPage;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ */
+ private String opcRequestId;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /** A list of {@code com.oracle.bmc.core.model.ProviderRemoteRegionName} instances. */
+ private java.util.List items;
+
+ /**
+ * A list of {@code com.oracle.bmc.core.model.ProviderRemoteRegionName} instances.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(
+ java.util.List items) {
+ this.items = items;
+ return this;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ @Override
+ public Builder copy(ListProviderRemoteRegionsResponse o) {
+ __httpStatusCode__(o.get__httpStatusCode__());
+ headers(o.getHeaders());
+ opcNextPage(o.getOpcNextPage());
+ opcRequestId(o.getOpcRequestId());
+ items(o.getItems());
+
+ return this;
+ }
+
+ /**
+ * Build the response object.
+ *
+ * @return the response object
+ */
+ @Override
+ public ListProviderRemoteRegionsResponse build() {
+ return new ListProviderRemoteRegionsResponse(
+ __httpStatusCode__, headers, opcNextPage, opcRequestId, items);
+ }
+ }
+
+ /**
+ * Return a new builder for this response object.
+ *
+ * @return builder for the response object
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ @Override
+ public String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("(");
+ sb.append("super=").append(super.toString());
+ sb.append(",opcNextPage=").append(String.valueOf(opcNextPage));
+ sb.append(",opcRequestId=").append(String.valueOf(opcRequestId));
+ sb.append(",items=").append(String.valueOf(items));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ListProviderRemoteRegionsResponse)) {
+ return false;
+ }
+
+ ListProviderRemoteRegionsResponse other = (ListProviderRemoteRegionsResponse) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.opcNextPage, other.opcNextPage)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.items, other.items);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode());
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-core/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-core/reflect-config.json b/bmc-core/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-core/reflect-config.json
index df75f8db51d..68f0ee4db01 100644
--- a/bmc-core/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-core/reflect-config.json
+++ b/bmc-core/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-core/reflect-config.json
@@ -7138,6 +7138,20 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.Instances",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.Instances$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.core.model.IntelIcelakeBmLaunchInstancePlatformConfig",
@@ -8465,6 +8479,20 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.ProviderRemoteRegionName",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.ProviderRemoteRegionName$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.core.model.PublicIp",
@@ -8751,6 +8779,26 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.RetentionDuration",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.RetentionDuration$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.RetentionDuration$RetentionTimeUnit",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.core.model.RouteRule",
diff --git a/bmc-costad/pom.xml b/bmc-costad/pom.xml
index 6adaadba681..e4c59b28ec8 100644
--- a/bmc-costad/pom.xml
+++ b/bmc-costad/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-costad
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-dashboardservice/pom.xml b/bmc-dashboardservice/pom.xml
index 68215090c9c..8d12208c472 100644
--- a/bmc-dashboardservice/pom.xml
+++ b/bmc-dashboardservice/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
oci-java-sdk-dashboardservice
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
\ No newline at end of file
diff --git a/bmc-database/pom.xml b/bmc-database/pom.xml
index f60d30fe084..5c73f418a85 100644
--- a/bmc-database/pom.xml
+++ b/bmc-database/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.92.1
+ 3.93.0
../pom.xml
@@ -18,12 +18,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.92.1
+ 3.93.0
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.92.1
+ 3.93.0
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/Database.java b/bmc-database/src/main/java/com/oracle/bmc/database/Database.java
index 0d71f55fbf6..3b854f18d0d 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/Database.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/Database.java
@@ -402,6 +402,24 @@ ChangeAutonomousVmClusterCompartmentResponse changeAutonomousVmClusterCompartmen
ChangeBackupDestinationCompartmentResponse changeBackupDestinationCompartment(
ChangeBackupDestinationCompartmentRequest request);
+ /**
+ * Moves a BaseDB-C@C VM cluster and its dependent resources to another compartment. Applies to
+ * Base Database Service on Cloud@Customer instances only.
+ *
+ * @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
+ * ChangeBaseccVmClusterCompartment API.
+ */
+ ChangeBaseccVmClusterCompartmentResponse changeBaseccVmClusterCompartment(
+ ChangeBaseccVmClusterCompartmentRequest request);
+
/**
* Moves an Autonomous Exadata VM cluster in the Oracle cloud and its dependent resources to
* another compartment. For Exadata Cloud@Customer systems, see {@link
@@ -1304,6 +1322,22 @@ CreateAutonomousVmClusterResponse createAutonomousVmCluster(
*/
CreateBackupDestinationResponse createBackupDestination(CreateBackupDestinationRequest request);
+ /**
+ * Creates a BaseDB-C@C VM cluster.
+ *
+ * @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
+ * CreateBaseccVmCluster API.
+ */
+ CreateBaseccVmClusterResponse createBaseccVmCluster(CreateBaseccVmClusterRequest request);
+
/**
* Creates an Autonomous Exadata VM cluster in the Oracle cloud. For Exadata Cloud@Customer
* systems, see {@link #createAutonomousVmCluster(CreateAutonomousVmClusterRequest)
@@ -1996,6 +2030,23 @@ DeleteAutonomousVmClusterResponse deleteAutonomousVmCluster(
*/
DeleteBackupDestinationResponse deleteBackupDestination(DeleteBackupDestinationRequest request);
+ /**
+ * Deletes the specified BaseDB-C@C VM cluster. Applies to Base Database Service on
+ * Cloud@Customer instances only.
+ *
+ * @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
+ * DeleteBaseccVmCluster API.
+ */
+ DeleteBaseccVmClusterResponse deleteBaseccVmCluster(DeleteBaseccVmClusterRequest request);
+
/**
* Deletes the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata
* Cloud@Customer systems, see {@link
@@ -3519,6 +3570,59 @@ GetAutonomousVmClusterResourceUsageResponse getAutonomousVmClusterResourceUsage(
*/
GetBackupDestinationResponse getBackupDestination(GetBackupDestinationRequest request);
+ /**
+ * Gets information about the BaseDB-C@C VM cluster. Applies to Base Database Service on
+ * Cloud@Customer instances only.
+ *
+ * @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 GetBaseccVmCluster
+ * API.
+ */
+ GetBaseccVmClusterResponse getBaseccVmCluster(GetBaseccVmClusterRequest request);
+
+ /**
+ * Gets information about a specified maintenance update package for a BaseDB-C@C VM cluster.
+ * Applies to Base Database Service on Cloud@Customer instances only.
+ *
+ * @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
+ * GetBaseccVmClusterUpdate API.
+ */
+ GetBaseccVmClusterUpdateResponse getBaseccVmClusterUpdate(
+ GetBaseccVmClusterUpdateRequest request);
+
+ /**
+ * Gets the maintenance update history details for the specified update history entry. Applies
+ * to Base Database Service on Cloud@Customer instances only.
+ *
+ * @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
+ * GetBaseccVmClusterUpdateHistoryEntry API.
+ */
+ GetBaseccVmClusterUpdateHistoryEntryResponse getBaseccVmClusterUpdateHistoryEntry(
+ GetBaseccVmClusterUpdateHistoryEntryRequest request);
+
/**
* Gets information about the specified Autonomous Exadata VM cluster in the Oracle cloud. For
* Exadata Cloud@Custustomer systems, see {@link
@@ -5043,6 +5147,59 @@ ListAutonomousVmClustersResponse listAutonomousVmClusters(
*/
ListBackupsResponse listBackups(ListBackupsRequest request);
+ /**
+ * Gets the history of the maintenance update actions performed on the specified BaseDB-C@C VM
+ * cluster. Applies to Base Database Service on Cloud@Customer instances only.
+ *
+ * @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
+ * ListBaseccVmClusterUpdateHistoryEntries API.
+ */
+ ListBaseccVmClusterUpdateHistoryEntriesResponse listBaseccVmClusterUpdateHistoryEntries(
+ ListBaseccVmClusterUpdateHistoryEntriesRequest request);
+
+ /**
+ * Lists the maintenance updates that can be applied to the specified BaseDB-C@C VM cluster.
+ * Applies to Base Database Service on Cloud@Customer instances only.
+ *
+ * @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
+ * ListBaseccVmClusterUpdates API.
+ */
+ ListBaseccVmClusterUpdatesResponse listBaseccVmClusterUpdates(
+ ListBaseccVmClusterUpdatesRequest request);
+
+ /**
+ * Lists the BaseDB-C@C VM clusters in the specified compartment. Applies to Base Database
+ * Service on Cloud@Customer instances only.
+ *
+ * @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
+ * ListBaseccVmClusters API.
+ */
+ ListBaseccVmClustersResponse listBaseccVmClusters(ListBaseccVmClustersRequest request);
+
/**
* Gets the list of resource usage details for all the Cloud Autonomous Container Database in
* the specified Cloud Autonomous Exadata VM cluster.
@@ -6454,6 +6611,23 @@ RegisterCloudAutonomousVmClusterPkcsResponse registerCloudAutonomousVmClusterPkc
RegisterCloudVmClusterPkcsResponse registerCloudVmClusterPkcs(
RegisterCloudVmClusterPkcsRequest request);
+ /**
+ * Install the PKCS11 driver for given keystore type
+ *
+ * @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
+ * RegisterExadbVmClusterPkcs API.
+ */
+ RegisterExadbVmClusterPkcsResponse registerExadbVmClusterPkcs(
+ RegisterExadbVmClusterPkcsRequest request);
+
/**
* Reinstates a disabled standby Autonomous Container Database (ACD), identified by the
* autonomousContainerDatabaseId parameter to an active standby ACD. For more information, see
@@ -7391,6 +7565,23 @@ UnregisterCloudAutonomousVmClusterPkcsResponse unregisterCloudAutonomousVmCluste
UnregisterCloudVmClusterPkcsResponse unregisterCloudVmClusterPkcs(
UnregisterCloudVmClusterPkcsRequest request);
+ /**
+ * Uninstall the PKCS11 driver for given keystore type
+ *
+ * @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
+ * UnregisterExadbVmClusterPkcs API.
+ */
+ UnregisterExadbVmClusterPkcsResponse unregisterExadbVmClusterPkcs(
+ UnregisterExadbVmClusterPkcsRequest request);
+
/**
* Updates the advanced cluster file system resource.
*
@@ -7608,6 +7799,23 @@ UpdateAutonomousVmClusterResponse updateAutonomousVmCluster(
*/
UpdateBackupDestinationResponse updateBackupDestination(UpdateBackupDestinationRequest request);
+ /**
+ * Updates the specified BaseDB-C@C VM cluster. Applies to Base Database Service on
+ * Cloud@Customer instances only.
+ *
+ * @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
+ * UpdateBaseccVmCluster API.
+ */
+ UpdateBaseccVmClusterResponse updateBaseccVmCluster(UpdateBaseccVmClusterRequest request);
+
/**
* Updates the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata
* Cloud@Customer systems, see {@link
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsync.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsync.java
index b5167d4c954..f4eb69111e3 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsync.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsync.java
@@ -410,6 +410,25 @@ java.util.concurrent.Future cancelExecutionWindow
ChangeBackupDestinationCompartmentResponse>
handler);
+ /**
+ * Moves a BaseDB-C@C VM cluster and its dependent resources to another compartment. Applies to
+ * Base Database Service on Cloud@Customer instances only.
+ *
+ * @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
+ changeBaseccVmClusterCompartment(
+ ChangeBaseccVmClusterCompartmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ChangeBaseccVmClusterCompartmentRequest,
+ ChangeBaseccVmClusterCompartmentResponse>
+ handler);
+
/**
* Moves an Autonomous Exadata VM cluster in the Oracle cloud and its dependent resources to
* another compartment. For Exadata Cloud@Customer systems, see {@link
@@ -1331,6 +1350,22 @@ java.util.concurrent.Future createBackupDestina
CreateBackupDestinationRequest, CreateBackupDestinationResponse>
handler);
+ /**
+ * Creates a BaseDB-C@C VM cluster.
+ *
+ * @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 createBaseccVmCluster(
+ CreateBaseccVmClusterRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateBaseccVmClusterRequest, CreateBaseccVmClusterResponse>
+ handler);
+
/**
* Creates an Autonomous Exadata VM cluster in the Oracle cloud. For Exadata Cloud@Customer
* systems, see {@link #createAutonomousVmCluster(CreateAutonomousVmClusterRequest, Consumer,
@@ -2030,6 +2065,23 @@ java.util.concurrent.Future deleteBackupDestina
DeleteBackupDestinationRequest, DeleteBackupDestinationResponse>
handler);
+ /**
+ * Deletes the specified BaseDB-C@C VM cluster. Applies to Base Database Service on
+ * Cloud@Customer instances only.
+ *
+ * @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 deleteBaseccVmCluster(
+ DeleteBaseccVmClusterRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteBaseccVmClusterRequest, DeleteBaseccVmClusterResponse>
+ handler);
+
/**
* Deletes the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata
* Cloud@Customer systems, see {@link
@@ -3570,6 +3622,59 @@ java.util.concurrent.Future getBackupDestination(
GetBackupDestinationRequest, GetBackupDestinationResponse>
handler);
+ /**
+ * Gets information about the BaseDB-C@C VM cluster. Applies to Base Database Service on
+ * Cloud@Customer instances only.
+ *
+ * @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 getBaseccVmCluster(
+ GetBaseccVmClusterRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetBaseccVmClusterRequest, GetBaseccVmClusterResponse>
+ handler);
+
+ /**
+ * Gets information about a specified maintenance update package for a BaseDB-C@C VM cluster.
+ * Applies to Base Database Service on Cloud@Customer instances only.
+ *
+ * @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 getBaseccVmClusterUpdate(
+ GetBaseccVmClusterUpdateRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse>
+ handler);
+
+ /**
+ * Gets the maintenance update history details for the specified update history entry. Applies
+ * to Base Database Service on Cloud@Customer instances only.
+ *
+ * @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
+ getBaseccVmClusterUpdateHistoryEntry(
+ GetBaseccVmClusterUpdateHistoryEntryRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetBaseccVmClusterUpdateHistoryEntryRequest,
+ GetBaseccVmClusterUpdateHistoryEntryResponse>
+ handler);
+
/**
* Gets information about the specified Autonomous Exadata VM cluster in the Oracle cloud. For
* Exadata Cloud@Custustomer systems, see {@link
@@ -5106,6 +5211,59 @@ java.util.concurrent.Future listBackups(
ListBackupsRequest request,
com.oracle.bmc.responses.AsyncHandler handler);
+ /**
+ * Gets the history of the maintenance update actions performed on the specified BaseDB-C@C VM
+ * cluster. Applies to Base Database Service on Cloud@Customer instances only.
+ *
+ * @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
+ listBaseccVmClusterUpdateHistoryEntries(
+ ListBaseccVmClusterUpdateHistoryEntriesRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest,
+ ListBaseccVmClusterUpdateHistoryEntriesResponse>
+ handler);
+
+ /**
+ * Lists the maintenance updates that can be applied to the specified BaseDB-C@C VM cluster.
+ * Applies to Base Database Service on Cloud@Customer instances only.
+ *
+ * @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 listBaseccVmClusterUpdates(
+ ListBaseccVmClusterUpdatesRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListBaseccVmClusterUpdatesRequest, ListBaseccVmClusterUpdatesResponse>
+ handler);
+
+ /**
+ * Lists the BaseDB-C@C VM clusters in the specified compartment. Applies to Base Database
+ * Service on Cloud@Customer instances only.
+ *
+ * @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 listBaseccVmClusters(
+ ListBaseccVmClustersRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListBaseccVmClustersRequest, ListBaseccVmClustersResponse>
+ handler);
+
/**
* Gets the list of resource usage details for all the Cloud Autonomous Container Database in
* the specified Cloud Autonomous Exadata VM cluster.
@@ -6529,6 +6687,22 @@ java.util.concurrent.Future registerCloudVmC
RegisterCloudVmClusterPkcsRequest, RegisterCloudVmClusterPkcsResponse>
handler);
+ /**
+ * Install the PKCS11 driver for given keystore type
+ *
+ * @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 registerExadbVmClusterPkcs(
+ RegisterExadbVmClusterPkcsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ RegisterExadbVmClusterPkcsRequest, RegisterExadbVmClusterPkcsResponse>
+ handler);
+
/**
* Reinstates a disabled standby Autonomous Container Database (ACD), identified by the
* autonomousContainerDatabaseId parameter to an active standby ACD. For more information, see
@@ -7478,6 +7652,23 @@ java.util.concurrent.Future unregisterClou
UnregisterCloudVmClusterPkcsResponse>
handler);
+ /**
+ * Uninstall the PKCS11 driver for given keystore type
+ *
+ * @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 unregisterExadbVmClusterPkcs(
+ UnregisterExadbVmClusterPkcsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UnregisterExadbVmClusterPkcsRequest,
+ UnregisterExadbVmClusterPkcsResponse>
+ handler);
+
/**
* Updates the advanced cluster file system resource.
*
@@ -7701,6 +7892,23 @@ java.util.concurrent.Future updateBackupDestina
UpdateBackupDestinationRequest, UpdateBackupDestinationResponse>
handler);
+ /**
+ * Updates the specified BaseDB-C@C VM cluster. Applies to Base Database Service on
+ * Cloud@Customer instances only.
+ *
+ * @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 updateBaseccVmCluster(
+ UpdateBaseccVmClusterRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UpdateBaseccVmClusterRequest, UpdateBaseccVmClusterResponse>
+ handler);
+
/**
* Updates the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata
* Cloud@Customer systems, see {@link
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java
index 9a08921cfcc..aa7461449a9 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java
@@ -919,6 +919,47 @@ public java.util.concurrent.Future cancelExecutio
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ changeBaseccVmClusterCompartment(
+ ChangeBaseccVmClusterCompartmentRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ChangeBaseccVmClusterCompartmentRequest,
+ ChangeBaseccVmClusterCompartmentResponse>
+ handler) {
+ Objects.requireNonNull(
+ request.getChangeBaseccVmClusterCompartmentDetails(),
+ "changeBaseccVmClusterCompartmentDetails is required");
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, ChangeBaseccVmClusterCompartmentResponse::builder)
+ .logger(LOG, "changeBaseccVmClusterCompartment")
+ .serviceDetails(
+ "Database",
+ "ChangeBaseccVmClusterCompartment",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/ChangeBaseccVmClusterCompartment")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(ChangeBaseccVmClusterCompartmentRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("actions")
+ .appendPathParam("changeCompartment")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ ChangeBaseccVmClusterCompartmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ChangeBaseccVmClusterCompartmentResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
changeCloudAutonomousVmClusterCompartment(
@@ -2922,6 +2963,42 @@ public java.util.concurrent.Future createBackup
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future createBaseccVmCluster(
+ CreateBaseccVmClusterRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ CreateBaseccVmClusterRequest, CreateBaseccVmClusterResponse>
+ handler) {
+ Objects.requireNonNull(
+ request.getCreateBaseccVmClusterDetails(),
+ "createBaseccVmClusterDetails is required");
+
+ return clientCall(request, CreateBaseccVmClusterResponse::builder)
+ .logger(LOG, "createBaseccVmCluster")
+ .serviceDetails(
+ "Database",
+ "CreateBaseccVmCluster",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/CreateBaseccVmCluster")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(CreateBaseccVmClusterRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmCluster.class,
+ CreateBaseccVmClusterResponse.Builder::baseccVmCluster)
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ CreateBaseccVmClusterResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString("etag", CreateBaseccVmClusterResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id", CreateBaseccVmClusterResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
createCloudAutonomousVmCluster(
@@ -4340,6 +4417,37 @@ public java.util.concurrent.Future deleteBackup
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future deleteBaseccVmCluster(
+ DeleteBaseccVmClusterRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ DeleteBaseccVmClusterRequest, DeleteBaseccVmClusterResponse>
+ handler) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, DeleteBaseccVmClusterResponse::builder)
+ .logger(LOG, "deleteBaseccVmCluster")
+ .serviceDetails(
+ "Database",
+ "DeleteBaseccVmCluster",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/DeleteBaseccVmCluster")
+ .method(com.oracle.bmc.http.client.Method.DELETE)
+ .requestBuilder(DeleteBaseccVmClusterRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DeleteBaseccVmClusterResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", DeleteBaseccVmClusterResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
deleteCloudAutonomousVmCluster(
@@ -7642,6 +7750,112 @@ public java.util.concurrent.Future getBackupDestin
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future getBaseccVmCluster(
+ GetBaseccVmClusterRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetBaseccVmClusterRequest, GetBaseccVmClusterResponse>
+ handler) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, GetBaseccVmClusterResponse::builder)
+ .logger(LOG, "getBaseccVmCluster")
+ .serviceDetails(
+ "Database",
+ "GetBaseccVmCluster",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/GetBaseccVmCluster")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetBaseccVmClusterRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmCluster.class,
+ GetBaseccVmClusterResponse.Builder::baseccVmCluster)
+ .handleResponseHeaderString("etag", GetBaseccVmClusterResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id", GetBaseccVmClusterResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future getBaseccVmClusterUpdate(
+ GetBaseccVmClusterUpdateRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse>
+ handler) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ Validate.notBlank(request.getUpdateId(), "updateId must not be blank");
+
+ return clientCall(request, GetBaseccVmClusterUpdateResponse::builder)
+ .logger(LOG, "getBaseccVmClusterUpdate")
+ .serviceDetails(
+ "Database",
+ "GetBaseccVmClusterUpdate",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdate/GetBaseccVmClusterUpdate")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetBaseccVmClusterUpdateRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("updates")
+ .appendPathParam(request.getUpdateId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmClusterUpdate.class,
+ GetBaseccVmClusterUpdateResponse.Builder::baseccVmClusterUpdate)
+ .handleResponseHeaderString(
+ "opc-request-id", GetBaseccVmClusterUpdateResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ getBaseccVmClusterUpdateHistoryEntry(
+ GetBaseccVmClusterUpdateHistoryEntryRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetBaseccVmClusterUpdateHistoryEntryRequest,
+ GetBaseccVmClusterUpdateHistoryEntryResponse>
+ handler) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ Validate.notBlank(
+ request.getUpdateHistoryEntryId(), "updateHistoryEntryId must not be blank");
+
+ return clientCall(request, GetBaseccVmClusterUpdateHistoryEntryResponse::builder)
+ .logger(LOG, "getBaseccVmClusterUpdateHistoryEntry")
+ .serviceDetails(
+ "Database",
+ "GetBaseccVmClusterUpdateHistoryEntry",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdateHistoryEntry/GetBaseccVmClusterUpdateHistoryEntry")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetBaseccVmClusterUpdateHistoryEntryRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("updateHistoryEntries")
+ .appendPathParam(request.getUpdateHistoryEntryId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.class,
+ GetBaseccVmClusterUpdateHistoryEntryResponse.Builder
+ ::baseccVmClusterUpdateHistoryEntry)
+ .handleResponseHeaderString(
+ "etag", GetBaseccVmClusterUpdateHistoryEntryResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetBaseccVmClusterUpdateHistoryEntryResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
getCloudAutonomousVmCluster(
@@ -10797,6 +11011,127 @@ public java.util.concurrent.Future listBackups(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ listBaseccVmClusterUpdateHistoryEntries(
+ ListBaseccVmClusterUpdateHistoryEntriesRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest,
+ ListBaseccVmClusterUpdateHistoryEntriesResponse>
+ handler) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, ListBaseccVmClusterUpdateHistoryEntriesResponse::builder)
+ .logger(LOG, "listBaseccVmClusterUpdateHistoryEntries")
+ .serviceDetails(
+ "Database",
+ "ListBaseccVmClusterUpdateHistoryEntries",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdateHistoryEntry/ListBaseccVmClusterUpdateHistoryEntries")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListBaseccVmClusterUpdateHistoryEntriesRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("updateHistoryEntries")
+ .appendEnumQueryParam("updateType", request.getUpdateType())
+ .appendEnumQueryParam("lifecycleState", request.getLifecycleState())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBodyList(
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary
+ .class,
+ ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::items)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listBaseccVmClusterUpdates(
+ ListBaseccVmClusterUpdatesRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListBaseccVmClusterUpdatesRequest,
+ ListBaseccVmClusterUpdatesResponse>
+ handler) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, ListBaseccVmClusterUpdatesResponse::builder)
+ .logger(LOG, "listBaseccVmClusterUpdates")
+ .serviceDetails(
+ "Database",
+ "ListBaseccVmClusterUpdates",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdate/ListBaseccVmClusterUpdates")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListBaseccVmClusterUpdatesRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("updates")
+ .appendEnumQueryParam("updateType", request.getUpdateType())
+ .appendEnumQueryParam("lifecycleState", request.getLifecycleState())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBodyList(
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary.class,
+ ListBaseccVmClusterUpdatesResponse.Builder::items)
+ .handleResponseHeaderString(
+ "opc-request-id", ListBaseccVmClusterUpdatesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListBaseccVmClusterUpdatesResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future listBaseccVmClusters(
+ ListBaseccVmClustersRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListBaseccVmClustersRequest, ListBaseccVmClustersResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListBaseccVmClustersResponse::builder)
+ .logger(LOG, "listBaseccVmClusters")
+ .serviceDetails(
+ "Database",
+ "ListBaseccVmClusters",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/ListBaseccVmClusters")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListBaseccVmClustersRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("baseInfrastructureId", request.getBaseInfrastructureId())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendEnumQueryParam("lifecycleState", request.getLifecycleState())
+ .appendQueryParam("availabilityDomain", request.getAvailabilityDomain())
+ .appendQueryParam("displayName", request.getDisplayName())
+ .appendEnumQueryParam("vmClusterType", request.getVmClusterType())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBodyList(
+ com.oracle.bmc.database.model.BaseccVmClusterSummary.class,
+ ListBaseccVmClustersResponse.Builder::items)
+ .handleResponseHeaderString(
+ "opc-request-id", ListBaseccVmClustersResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListBaseccVmClustersResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
listCloudAutonomousVmClusterAcdResourceUsage(
@@ -12510,6 +12845,7 @@ public java.util.concurrent.Future listFlexComponent
.appendPathParam("minorVersions")
.appendQueryParam("availabilityDomain", request.getAvailabilityDomain())
.appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("exadataInfrastructureId", request.getExadataInfrastructureId())
.appendEnumQueryParam("shapeFamily", request.getShapeFamily())
.appendQueryParam(
"isGiVersionForProvisioning", request.getIsGiVersionForProvisioning())
@@ -14091,6 +14427,46 @@ public java.util.concurrent.Future refreshPlug
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ registerExadbVmClusterPkcs(
+ RegisterExadbVmClusterPkcsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ RegisterExadbVmClusterPkcsRequest,
+ RegisterExadbVmClusterPkcsResponse>
+ handler) {
+
+ Validate.notBlank(request.getExadbVmClusterId(), "exadbVmClusterId must not be blank");
+ Objects.requireNonNull(
+ request.getRegisterExadbVmClusterPkcsDetails(),
+ "registerExadbVmClusterPkcsDetails is required");
+
+ return clientCall(request, RegisterExadbVmClusterPkcsResponse::builder)
+ .logger(LOG, "registerExadbVmClusterPkcs")
+ .serviceDetails(
+ "Database",
+ "RegisterExadbVmClusterPkcs",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/ExadbVmCluster/RegisterExadbVmClusterPkcs")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(RegisterExadbVmClusterPkcsRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("exadbVmClusters")
+ .appendPathParam(request.getExadbVmClusterId())
+ .appendPathParam("actions")
+ .appendPathParam("registerPkcs")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ RegisterExadbVmClusterPkcsResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", RegisterExadbVmClusterPkcsResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
reinstateAutonomousContainerDatabaseDataguard(
@@ -16225,6 +16601,47 @@ public java.util.concurrent.Future unmountDbnodeS
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ unregisterExadbVmClusterPkcs(
+ UnregisterExadbVmClusterPkcsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ UnregisterExadbVmClusterPkcsRequest,
+ UnregisterExadbVmClusterPkcsResponse>
+ handler) {
+
+ Validate.notBlank(request.getExadbVmClusterId(), "exadbVmClusterId must not be blank");
+ Objects.requireNonNull(
+ request.getUnregisterExadbVmClusterPkcsDetails(),
+ "unregisterExadbVmClusterPkcsDetails is required");
+
+ return clientCall(request, UnregisterExadbVmClusterPkcsResponse::builder)
+ .logger(LOG, "unregisterExadbVmClusterPkcs")
+ .serviceDetails(
+ "Database",
+ "UnregisterExadbVmClusterPkcs",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/ExadbVmCluster/UnregisterExadbVmClusterPkcs")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(UnregisterExadbVmClusterPkcsRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("exadbVmClusters")
+ .appendPathParam(request.getExadbVmClusterId())
+ .appendPathParam("actions")
+ .appendPathParam("unregisterPkcs")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ UnregisterExadbVmClusterPkcsResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ UnregisterExadbVmClusterPkcsResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
updateAdvancedClusterFileSystem(
@@ -16735,6 +17152,45 @@ public java.util.concurrent.Future updateBackup
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future updateBaseccVmCluster(
+ UpdateBaseccVmClusterRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ UpdateBaseccVmClusterRequest, UpdateBaseccVmClusterResponse>
+ handler) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+ Objects.requireNonNull(
+ request.getUpdateBaseccVmClusterDetails(),
+ "updateBaseccVmClusterDetails is required");
+
+ return clientCall(request, UpdateBaseccVmClusterResponse::builder)
+ .logger(LOG, "updateBaseccVmCluster")
+ .serviceDetails(
+ "Database",
+ "UpdateBaseccVmCluster",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/UpdateBaseccVmCluster")
+ .method(com.oracle.bmc.http.client.Method.PUT)
+ .requestBuilder(UpdateBaseccVmClusterRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmCluster.class,
+ UpdateBaseccVmClusterResponse.Builder::baseccVmCluster)
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ UpdateBaseccVmClusterResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString("etag", UpdateBaseccVmClusterResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id", UpdateBaseccVmClusterResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
updateCloudAutonomousVmCluster(
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java
index d98471219ff..ce468dbaf94 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java
@@ -866,6 +866,42 @@ public ChangeBackupDestinationCompartmentResponse changeBackupDestinationCompart
.callSync();
}
+ @Override
+ public ChangeBaseccVmClusterCompartmentResponse changeBaseccVmClusterCompartment(
+ ChangeBaseccVmClusterCompartmentRequest request) {
+ Objects.requireNonNull(
+ request.getChangeBaseccVmClusterCompartmentDetails(),
+ "changeBaseccVmClusterCompartmentDetails is required");
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, ChangeBaseccVmClusterCompartmentResponse::builder)
+ .logger(LOG, "changeBaseccVmClusterCompartment")
+ .serviceDetails(
+ "Database",
+ "ChangeBaseccVmClusterCompartment",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/ChangeBaseccVmClusterCompartment")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(ChangeBaseccVmClusterCompartmentRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("actions")
+ .appendPathParam("changeCompartment")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ ChangeBaseccVmClusterCompartmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ChangeBaseccVmClusterCompartmentResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public ChangeCloudAutonomousVmClusterCompartmentResponse
changeCloudAutonomousVmClusterCompartment(
@@ -2662,6 +2698,39 @@ public CreateBackupDestinationResponse createBackupDestination(
.callSync();
}
+ @Override
+ public CreateBaseccVmClusterResponse createBaseccVmCluster(
+ CreateBaseccVmClusterRequest request) {
+ Objects.requireNonNull(
+ request.getCreateBaseccVmClusterDetails(),
+ "createBaseccVmClusterDetails is required");
+
+ return clientCall(request, CreateBaseccVmClusterResponse::builder)
+ .logger(LOG, "createBaseccVmCluster")
+ .serviceDetails(
+ "Database",
+ "CreateBaseccVmCluster",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/CreateBaseccVmCluster")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(CreateBaseccVmClusterRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmCluster.class,
+ CreateBaseccVmClusterResponse.Builder::baseccVmCluster)
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ CreateBaseccVmClusterResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString("etag", CreateBaseccVmClusterResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id", CreateBaseccVmClusterResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public CreateCloudAutonomousVmClusterResponse createCloudAutonomousVmCluster(
CreateCloudAutonomousVmClusterRequest request) {
@@ -3925,6 +3994,34 @@ public DeleteBackupDestinationResponse deleteBackupDestination(
.callSync();
}
+ @Override
+ public DeleteBaseccVmClusterResponse deleteBaseccVmCluster(
+ DeleteBaseccVmClusterRequest request) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, DeleteBaseccVmClusterResponse::builder)
+ .logger(LOG, "deleteBaseccVmCluster")
+ .serviceDetails(
+ "Database",
+ "DeleteBaseccVmCluster",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/DeleteBaseccVmCluster")
+ .method(com.oracle.bmc.http.client.Method.DELETE)
+ .requestBuilder(DeleteBaseccVmClusterRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DeleteBaseccVmClusterResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", DeleteBaseccVmClusterResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public DeleteCloudAutonomousVmClusterResponse deleteCloudAutonomousVmCluster(
DeleteCloudAutonomousVmClusterRequest request) {
@@ -6869,6 +6966,100 @@ public GetBackupDestinationResponse getBackupDestination(GetBackupDestinationReq
.callSync();
}
+ @Override
+ public GetBaseccVmClusterResponse getBaseccVmCluster(GetBaseccVmClusterRequest request) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, GetBaseccVmClusterResponse::builder)
+ .logger(LOG, "getBaseccVmCluster")
+ .serviceDetails(
+ "Database",
+ "GetBaseccVmCluster",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/GetBaseccVmCluster")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetBaseccVmClusterRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmCluster.class,
+ GetBaseccVmClusterResponse.Builder::baseccVmCluster)
+ .handleResponseHeaderString("etag", GetBaseccVmClusterResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id", GetBaseccVmClusterResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
+ @Override
+ public GetBaseccVmClusterUpdateResponse getBaseccVmClusterUpdate(
+ GetBaseccVmClusterUpdateRequest request) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ Validate.notBlank(request.getUpdateId(), "updateId must not be blank");
+
+ return clientCall(request, GetBaseccVmClusterUpdateResponse::builder)
+ .logger(LOG, "getBaseccVmClusterUpdate")
+ .serviceDetails(
+ "Database",
+ "GetBaseccVmClusterUpdate",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdate/GetBaseccVmClusterUpdate")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetBaseccVmClusterUpdateRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("updates")
+ .appendPathParam(request.getUpdateId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmClusterUpdate.class,
+ GetBaseccVmClusterUpdateResponse.Builder::baseccVmClusterUpdate)
+ .handleResponseHeaderString(
+ "opc-request-id", GetBaseccVmClusterUpdateResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
+ @Override
+ public GetBaseccVmClusterUpdateHistoryEntryResponse getBaseccVmClusterUpdateHistoryEntry(
+ GetBaseccVmClusterUpdateHistoryEntryRequest request) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ Validate.notBlank(
+ request.getUpdateHistoryEntryId(), "updateHistoryEntryId must not be blank");
+
+ return clientCall(request, GetBaseccVmClusterUpdateHistoryEntryResponse::builder)
+ .logger(LOG, "getBaseccVmClusterUpdateHistoryEntry")
+ .serviceDetails(
+ "Database",
+ "GetBaseccVmClusterUpdateHistoryEntry",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdateHistoryEntry/GetBaseccVmClusterUpdateHistoryEntry")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetBaseccVmClusterUpdateHistoryEntryRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("updateHistoryEntries")
+ .appendPathParam(request.getUpdateHistoryEntryId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.class,
+ GetBaseccVmClusterUpdateHistoryEntryResponse.Builder
+ ::baseccVmClusterUpdateHistoryEntry)
+ .handleResponseHeaderString(
+ "etag", GetBaseccVmClusterUpdateHistoryEntryResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetBaseccVmClusterUpdateHistoryEntryResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public GetCloudAutonomousVmClusterResponse getCloudAutonomousVmCluster(
GetCloudAutonomousVmClusterRequest request) {
@@ -9665,6 +9856,113 @@ public ListBackupsResponse listBackups(ListBackupsRequest request) {
.callSync();
}
+ @Override
+ public ListBaseccVmClusterUpdateHistoryEntriesResponse listBaseccVmClusterUpdateHistoryEntries(
+ ListBaseccVmClusterUpdateHistoryEntriesRequest request) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, ListBaseccVmClusterUpdateHistoryEntriesResponse::builder)
+ .logger(LOG, "listBaseccVmClusterUpdateHistoryEntries")
+ .serviceDetails(
+ "Database",
+ "ListBaseccVmClusterUpdateHistoryEntries",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdateHistoryEntry/ListBaseccVmClusterUpdateHistoryEntries")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListBaseccVmClusterUpdateHistoryEntriesRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("updateHistoryEntries")
+ .appendEnumQueryParam("updateType", request.getUpdateType())
+ .appendEnumQueryParam("lifecycleState", request.getLifecycleState())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBodyList(
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary
+ .class,
+ ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::items)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
+ @Override
+ public ListBaseccVmClusterUpdatesResponse listBaseccVmClusterUpdates(
+ ListBaseccVmClusterUpdatesRequest request) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+
+ return clientCall(request, ListBaseccVmClusterUpdatesResponse::builder)
+ .logger(LOG, "listBaseccVmClusterUpdates")
+ .serviceDetails(
+ "Database",
+ "ListBaseccVmClusterUpdates",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdate/ListBaseccVmClusterUpdates")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListBaseccVmClusterUpdatesRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .appendPathParam("updates")
+ .appendEnumQueryParam("updateType", request.getUpdateType())
+ .appendEnumQueryParam("lifecycleState", request.getLifecycleState())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBodyList(
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary.class,
+ ListBaseccVmClusterUpdatesResponse.Builder::items)
+ .handleResponseHeaderString(
+ "opc-request-id", ListBaseccVmClusterUpdatesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListBaseccVmClusterUpdatesResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
+ @Override
+ public ListBaseccVmClustersResponse listBaseccVmClusters(ListBaseccVmClustersRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListBaseccVmClustersResponse::builder)
+ .logger(LOG, "listBaseccVmClusters")
+ .serviceDetails(
+ "Database",
+ "ListBaseccVmClusters",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/ListBaseccVmClusters")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListBaseccVmClustersRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("baseInfrastructureId", request.getBaseInfrastructureId())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendEnumQueryParam("lifecycleState", request.getLifecycleState())
+ .appendQueryParam("availabilityDomain", request.getAvailabilityDomain())
+ .appendQueryParam("displayName", request.getDisplayName())
+ .appendEnumQueryParam("vmClusterType", request.getVmClusterType())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBodyList(
+ com.oracle.bmc.database.model.BaseccVmClusterSummary.class,
+ ListBaseccVmClustersResponse.Builder::items)
+ .handleResponseHeaderString(
+ "opc-request-id", ListBaseccVmClustersResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListBaseccVmClustersResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
@Override
public ListCloudAutonomousVmClusterAcdResourceUsageResponse
listCloudAutonomousVmClusterAcdResourceUsage(
@@ -11193,6 +11491,7 @@ public ListGiVersionMinorVersionsResponse listGiVersionMinorVersions(
.appendPathParam("minorVersions")
.appendQueryParam("availabilityDomain", request.getAvailabilityDomain())
.appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("exadataInfrastructureId", request.getExadataInfrastructureId())
.appendEnumQueryParam("shapeFamily", request.getShapeFamily())
.appendQueryParam(
"isGiVersionForProvisioning", request.getIsGiVersionForProvisioning())
@@ -12618,6 +12917,41 @@ public RegisterCloudVmClusterPkcsResponse registerCloudVmClusterPkcs(
.callSync();
}
+ @Override
+ public RegisterExadbVmClusterPkcsResponse registerExadbVmClusterPkcs(
+ RegisterExadbVmClusterPkcsRequest request) {
+
+ Validate.notBlank(request.getExadbVmClusterId(), "exadbVmClusterId must not be blank");
+ Objects.requireNonNull(
+ request.getRegisterExadbVmClusterPkcsDetails(),
+ "registerExadbVmClusterPkcsDetails is required");
+
+ return clientCall(request, RegisterExadbVmClusterPkcsResponse::builder)
+ .logger(LOG, "registerExadbVmClusterPkcs")
+ .serviceDetails(
+ "Database",
+ "RegisterExadbVmClusterPkcs",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/ExadbVmCluster/RegisterExadbVmClusterPkcs")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(RegisterExadbVmClusterPkcsRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("exadbVmClusters")
+ .appendPathParam(request.getExadbVmClusterId())
+ .appendPathParam("actions")
+ .appendPathParam("registerPkcs")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ RegisterExadbVmClusterPkcsResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", RegisterExadbVmClusterPkcsResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public ReinstateAutonomousContainerDatabaseDataguardResponse
reinstateAutonomousContainerDatabaseDataguard(
@@ -14537,6 +14871,42 @@ public UnregisterCloudVmClusterPkcsResponse unregisterCloudVmClusterPkcs(
.callSync();
}
+ @Override
+ public UnregisterExadbVmClusterPkcsResponse unregisterExadbVmClusterPkcs(
+ UnregisterExadbVmClusterPkcsRequest request) {
+
+ Validate.notBlank(request.getExadbVmClusterId(), "exadbVmClusterId must not be blank");
+ Objects.requireNonNull(
+ request.getUnregisterExadbVmClusterPkcsDetails(),
+ "unregisterExadbVmClusterPkcsDetails is required");
+
+ return clientCall(request, UnregisterExadbVmClusterPkcsResponse::builder)
+ .logger(LOG, "unregisterExadbVmClusterPkcs")
+ .serviceDetails(
+ "Database",
+ "UnregisterExadbVmClusterPkcs",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/ExadbVmCluster/UnregisterExadbVmClusterPkcs")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(UnregisterExadbVmClusterPkcsRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("exadbVmClusters")
+ .appendPathParam(request.getExadbVmClusterId())
+ .appendPathParam("actions")
+ .appendPathParam("unregisterPkcs")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ UnregisterExadbVmClusterPkcsResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ UnregisterExadbVmClusterPkcsResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public UpdateAdvancedClusterFileSystemResponse updateAdvancedClusterFileSystem(
UpdateAdvancedClusterFileSystemRequest request) {
@@ -14995,6 +15365,42 @@ public UpdateBackupDestinationResponse updateBackupDestination(
.callSync();
}
+ @Override
+ public UpdateBaseccVmClusterResponse updateBaseccVmCluster(
+ UpdateBaseccVmClusterRequest request) {
+
+ Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank");
+ Objects.requireNonNull(
+ request.getUpdateBaseccVmClusterDetails(),
+ "updateBaseccVmClusterDetails is required");
+
+ return clientCall(request, UpdateBaseccVmClusterResponse::builder)
+ .logger(LOG, "updateBaseccVmCluster")
+ .serviceDetails(
+ "Database",
+ "UpdateBaseccVmCluster",
+ "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/UpdateBaseccVmCluster")
+ .method(com.oracle.bmc.http.client.Method.PUT)
+ .requestBuilder(UpdateBaseccVmClusterRequest::builder)
+ .basePath("/20160918")
+ .appendPathParam("baseccVmClusters")
+ .appendPathParam(request.getBaseccVmClusterId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ com.oracle.bmc.database.model.BaseccVmCluster.class,
+ UpdateBaseccVmClusterResponse.Builder::baseccVmCluster)
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ UpdateBaseccVmClusterResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString("etag", UpdateBaseccVmClusterResponse.Builder::etag)
+ .handleResponseHeaderString(
+ "opc-request-id", UpdateBaseccVmClusterResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public UpdateCloudAutonomousVmClusterResponse updateCloudAutonomousVmCluster(
UpdateCloudAutonomousVmClusterRequest request) {
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabasePaginators.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabasePaginators.java
index c9c7fa449f2..b3a28b2aaca 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabasePaginators.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabasePaginators.java
@@ -2894,6 +2894,385 @@ public java.util.List apply(
});
}
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listBaseccVmClusterUpdateHistoryEntries 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
+ listBaseccVmClusterUpdateHistoryEntriesResponseIterator(
+ final ListBaseccVmClusterUpdateHistoryEntriesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder,
+ ListBaseccVmClusterUpdateHistoryEntriesRequest,
+ ListBaseccVmClusterUpdateHistoryEntriesResponse>(
+ new java.util.function.Supplier<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder>() {
+ @Override
+ public ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder get() {
+ return ListBaseccVmClusterUpdateHistoryEntriesRequest.builder()
+ .copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListBaseccVmClusterUpdateHistoryEntriesResponse, String>() {
+ @Override
+ public String apply(ListBaseccVmClusterUpdateHistoryEntriesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder>,
+ ListBaseccVmClusterUpdateHistoryEntriesRequest>() {
+ @Override
+ public ListBaseccVmClusterUpdateHistoryEntriesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest.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<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest,
+ ListBaseccVmClusterUpdateHistoryEntriesResponse>() {
+ @Override
+ public ListBaseccVmClusterUpdateHistoryEntriesResponse apply(
+ ListBaseccVmClusterUpdateHistoryEntriesRequest request) {
+ return client.listBaseccVmClusterUpdateHistoryEntries(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary} objects contained in
+ * responses from the listBaseccVmClusterUpdateHistoryEntries 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.database.model.BaseccVmClusterUpdateHistoryEntrySummary} objects contained
+ * in responses received from the service.
+ */
+ public Iterable
+ listBaseccVmClusterUpdateHistoryEntriesRecordIterator(
+ final ListBaseccVmClusterUpdateHistoryEntriesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder,
+ ListBaseccVmClusterUpdateHistoryEntriesRequest,
+ ListBaseccVmClusterUpdateHistoryEntriesResponse,
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary>(
+ new java.util.function.Supplier<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder>() {
+ @Override
+ public ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder get() {
+ return ListBaseccVmClusterUpdateHistoryEntriesRequest.builder()
+ .copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListBaseccVmClusterUpdateHistoryEntriesResponse, String>() {
+ @Override
+ public String apply(ListBaseccVmClusterUpdateHistoryEntriesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder>,
+ ListBaseccVmClusterUpdateHistoryEntriesRequest>() {
+ @Override
+ public ListBaseccVmClusterUpdateHistoryEntriesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest.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<
+ ListBaseccVmClusterUpdateHistoryEntriesRequest,
+ ListBaseccVmClusterUpdateHistoryEntriesResponse>() {
+ @Override
+ public ListBaseccVmClusterUpdateHistoryEntriesResponse apply(
+ ListBaseccVmClusterUpdateHistoryEntriesRequest request) {
+ return client.listBaseccVmClusterUpdateHistoryEntries(request);
+ }
+ },
+ new java.util.function.Function<
+ ListBaseccVmClusterUpdateHistoryEntriesResponse,
+ java.util.List<
+ com.oracle.bmc.database.model
+ .BaseccVmClusterUpdateHistoryEntrySummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.database.model
+ .BaseccVmClusterUpdateHistoryEntrySummary>
+ apply(ListBaseccVmClusterUpdateHistoryEntriesResponse response) {
+ return response.getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listBaseccVmClusterUpdates 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 listBaseccVmClusterUpdatesResponseIterator(
+ final ListBaseccVmClusterUpdatesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListBaseccVmClusterUpdatesRequest.Builder,
+ ListBaseccVmClusterUpdatesRequest,
+ ListBaseccVmClusterUpdatesResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListBaseccVmClusterUpdatesRequest.Builder get() {
+ return ListBaseccVmClusterUpdatesRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListBaseccVmClusterUpdatesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClusterUpdatesRequest.Builder>,
+ ListBaseccVmClusterUpdatesRequest>() {
+ @Override
+ public ListBaseccVmClusterUpdatesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClusterUpdatesRequest.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<
+ ListBaseccVmClusterUpdatesRequest, ListBaseccVmClusterUpdatesResponse>() {
+ @Override
+ public ListBaseccVmClusterUpdatesResponse apply(
+ ListBaseccVmClusterUpdatesRequest request) {
+ return client.listBaseccVmClusterUpdates(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary} objects contained in responses
+ * from the listBaseccVmClusterUpdates 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.database.model.BaseccVmClusterUpdateSummary} objects contained in
+ * responses received from the service.
+ */
+ public Iterable
+ listBaseccVmClusterUpdatesRecordIterator(
+ final ListBaseccVmClusterUpdatesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListBaseccVmClusterUpdatesRequest.Builder,
+ ListBaseccVmClusterUpdatesRequest,
+ ListBaseccVmClusterUpdatesResponse,
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListBaseccVmClusterUpdatesRequest.Builder get() {
+ return ListBaseccVmClusterUpdatesRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListBaseccVmClusterUpdatesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClusterUpdatesRequest.Builder>,
+ ListBaseccVmClusterUpdatesRequest>() {
+ @Override
+ public ListBaseccVmClusterUpdatesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClusterUpdatesRequest.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<
+ ListBaseccVmClusterUpdatesRequest, ListBaseccVmClusterUpdatesResponse>() {
+ @Override
+ public ListBaseccVmClusterUpdatesResponse apply(
+ ListBaseccVmClusterUpdatesRequest request) {
+ return client.listBaseccVmClusterUpdates(request);
+ }
+ },
+ new java.util.function.Function<
+ ListBaseccVmClusterUpdatesResponse,
+ java.util.List<
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary>
+ apply(ListBaseccVmClusterUpdatesResponse response) {
+ return response.getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listBaseccVmClusters 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 listBaseccVmClustersResponseIterator(
+ final ListBaseccVmClustersRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListBaseccVmClustersRequest.Builder,
+ ListBaseccVmClustersRequest,
+ ListBaseccVmClustersResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListBaseccVmClustersRequest.Builder get() {
+ return ListBaseccVmClustersRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListBaseccVmClustersResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClustersRequest.Builder>,
+ ListBaseccVmClustersRequest>() {
+ @Override
+ public ListBaseccVmClustersRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClustersRequest.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<
+ ListBaseccVmClustersRequest, ListBaseccVmClustersResponse>() {
+ @Override
+ public ListBaseccVmClustersResponse apply(ListBaseccVmClustersRequest request) {
+ return client.listBaseccVmClusters(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.database.model.BaseccVmClusterSummary} objects contained in responses from the
+ * listBaseccVmClusters 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.database.model.BaseccVmClusterSummary} objects contained in responses
+ * received from the service.
+ */
+ public Iterable
+ listBaseccVmClustersRecordIterator(final ListBaseccVmClustersRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListBaseccVmClustersRequest.Builder,
+ ListBaseccVmClustersRequest,
+ ListBaseccVmClustersResponse,
+ com.oracle.bmc.database.model.BaseccVmClusterSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListBaseccVmClustersRequest.Builder get() {
+ return ListBaseccVmClustersRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListBaseccVmClustersResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClustersRequest.Builder>,
+ ListBaseccVmClustersRequest>() {
+ @Override
+ public ListBaseccVmClustersRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListBaseccVmClustersRequest.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<
+ ListBaseccVmClustersRequest, ListBaseccVmClustersResponse>() {
+ @Override
+ public ListBaseccVmClustersResponse apply(ListBaseccVmClustersRequest request) {
+ return client.listBaseccVmClusters(request);
+ }
+ },
+ new java.util.function.Function<
+ ListBaseccVmClustersResponse,
+ java.util.List>() {
+ @Override
+ public java.util.List
+ apply(ListBaseccVmClustersResponse response) {
+ return response.getItems();
+ }
+ });
+ }
+
/**
* Creates a new iterable which will iterate over the responses received from the
* listCloudAutonomousVmClusterAcdResourceUsage operation. This iterable will fetch more data
diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java
index 55f68786bb1..d7dbf89b405 100644
--- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java
+++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java
@@ -1214,6 +1214,71 @@ public ChangeBackupDestinationCompartmentResponse call() throws Exception {
request);
}
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
+ *
+ * @param request the request to send
+ * @return a new {@link com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter<
+ ChangeBaseccVmClusterCompartmentRequest,
+ ChangeBaseccVmClusterCompartmentResponse>
+ forChangeBaseccVmClusterCompartment(ChangeBaseccVmClusterCompartmentRequest request) {
+ return forChangeBaseccVmClusterCompartment(
+ request,
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_TERMINATION_STRATEGY,
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_DELAY_STRATEGY);
+ }
+
+ /**
+ * 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
+ * @return a new {@link com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter<
+ ChangeBaseccVmClusterCompartmentRequest,
+ ChangeBaseccVmClusterCompartmentResponse>
+ forChangeBaseccVmClusterCompartment(
+ ChangeBaseccVmClusterCompartmentRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy) {
+ if (workRequestClient == null) {
+ throw new IllegalStateException(
+ "A WorkRequestClient must be supplied to this waiter for this operation");
+ }
+
+ return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>(
+ executorService,
+ new java.util.concurrent.Callable() {
+ @Override
+ public ChangeBaseccVmClusterCompartmentResponse call() throws Exception {
+ final ChangeBaseccVmClusterCompartmentResponse response =
+ client.changeBaseccVmClusterCompartment(request);
+
+ if (response.getOpcWorkRequestId() != null) {
+ final com.oracle.bmc.workrequests.requests.GetWorkRequestRequest
+ getWorkRequestRequest =
+ com.oracle.bmc.workrequests.requests
+ .GetWorkRequestRequest.builder()
+ .workRequestId(response.getOpcWorkRequestId())
+ .build();
+ workRequestClient
+ .getWaiters()
+ .forWorkRequest(
+ getWorkRequestRequest,
+ terminationStrategy,
+ delayStrategy)
+ .execute();
+ }
+ return response;
+ }
+ },
+ request);
+ }
+
/**
* Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
*
@@ -4259,6 +4324,67 @@ public CreateBackupResponse call() throws Exception {
request);
}
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
+ *
+ * @param request the request to send
+ * @return a new {@link com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter
+ forCreateBaseccVmCluster(CreateBaseccVmClusterRequest request) {
+ return forCreateBaseccVmCluster(
+ request,
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_TERMINATION_STRATEGY,
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_DELAY_STRATEGY);
+ }
+
+ /**
+ * 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
+ * @return a new {@link com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter
+ forCreateBaseccVmCluster(
+ CreateBaseccVmClusterRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy) {
+ if (workRequestClient == null) {
+ throw new IllegalStateException(
+ "A WorkRequestClient must be supplied to this waiter for this operation");
+ }
+
+ return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>(
+ executorService,
+ new java.util.concurrent.Callable() {
+ @Override
+ public CreateBaseccVmClusterResponse call() throws Exception {
+ final CreateBaseccVmClusterResponse response =
+ client.createBaseccVmCluster(request);
+
+ if (response.getOpcWorkRequestId() != null) {
+ final com.oracle.bmc.workrequests.requests.GetWorkRequestRequest
+ getWorkRequestRequest =
+ com.oracle.bmc.workrequests.requests
+ .GetWorkRequestRequest.builder()
+ .workRequestId(response.getOpcWorkRequestId())
+ .build();
+ workRequestClient
+ .getWaiters()
+ .forWorkRequest(
+ getWorkRequestRequest,
+ terminationStrategy,
+ delayStrategy)
+ .execute();
+ }
+ return response;
+ }
+ },
+ request);
+ }
+
/**
* Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
*
@@ -6499,6 +6625,67 @@ public DeleteBackupResponse call() throws Exception {
request);
}
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
+ *
+ * @param request the request to send
+ * @return a new {@link com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter
+ forDeleteBaseccVmCluster(DeleteBaseccVmClusterRequest request) {
+ return forDeleteBaseccVmCluster(
+ request,
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_TERMINATION_STRATEGY,
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_DELAY_STRATEGY);
+ }
+
+ /**
+ * 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
+ * @return a new {@link com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter
+ forDeleteBaseccVmCluster(
+ DeleteBaseccVmClusterRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy) {
+ if (workRequestClient == null) {
+ throw new IllegalStateException(
+ "A WorkRequestClient must be supplied to this waiter for this operation");
+ }
+
+ return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>(
+ executorService,
+ new java.util.concurrent.Callable() {
+ @Override
+ public DeleteBaseccVmClusterResponse call() throws Exception {
+ final DeleteBaseccVmClusterResponse response =
+ client.deleteBaseccVmCluster(request);
+
+ if (response.getOpcWorkRequestId() != null) {
+ final com.oracle.bmc.workrequests.requests.GetWorkRequestRequest
+ getWorkRequestRequest =
+ com.oracle.bmc.workrequests.requests
+ .GetWorkRequestRequest.builder()
+ .workRequestId(response.getOpcWorkRequestId())
+ .build();
+ workRequestClient
+ .getWaiters()
+ .forWorkRequest(
+ getWorkRequestRequest,
+ terminationStrategy,
+ delayStrategy)
+ .execute();
+ }
+ return response;
+ }
+ },
+ request);
+ }
+
/**
* Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
*
@@ -11883,18 +12070,16 @@ public boolean test(GetBackupDestinationResponse response) {
* waiter will return once the resource reaches any of the provided states
* @return a new {@code Waiter} instance
*/
- public com.oracle.bmc.waiter.Waiter<
- GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse>
- forCloudAutonomousVmCluster(
- GetCloudAutonomousVmClusterRequest request,
- com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState...
- targetStates) {
+ public com.oracle.bmc.waiter.Waiter
+ forBaseccVmCluster(
+ GetBaseccVmClusterRequest request,
+ com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState... targetStates) {
com.oracle.bmc.util.internal.Validate.notEmpty(
targetStates, "At least one targetState must be provided");
com.oracle.bmc.util.internal.Validate.noNullElements(
targetStates, "Null targetState values are not permitted");
- return forCloudAutonomousVmCluster(
+ return forBaseccVmCluster(
com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
@@ -11907,18 +12092,16 @@ public boolean test(GetBackupDestinationResponse response) {
* @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<
- GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse>
- forCloudAutonomousVmCluster(
- GetCloudAutonomousVmClusterRequest request,
- com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState
- targetState,
+ public com.oracle.bmc.waiter.Waiter
+ forBaseccVmCluster(
+ GetBaseccVmClusterRequest request,
+ com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState targetState,
com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
com.oracle.bmc.waiter.DelayStrategy delayStrategy) {
com.oracle.bmc.util.internal.Validate.notNull(
targetState, "The targetState cannot be null");
- return forCloudAutonomousVmCluster(
+ return forBaseccVmCluster(
com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
request,
targetState);
@@ -11934,34 +12117,31 @@ public boolean test(GetBackupDestinationResponse response) {
* reaches any of the provided states
* @return a new {@code com.oracle.bmc.waiter.Waiter} instance
*/
- public com.oracle.bmc.waiter.Waiter<
- GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse>
- forCloudAutonomousVmCluster(
- GetCloudAutonomousVmClusterRequest request,
+ public com.oracle.bmc.waiter.Waiter
+ forBaseccVmCluster(
+ GetBaseccVmClusterRequest request,
com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
com.oracle.bmc.waiter.DelayStrategy delayStrategy,
- com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState...
- targetStates) {
+ com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState... targetStates) {
com.oracle.bmc.util.internal.Validate.notEmpty(
targetStates, "At least one target state must be provided");
com.oracle.bmc.util.internal.Validate.noNullElements(
targetStates, "Null target states are not permitted");
- return forCloudAutonomousVmCluster(
+ return forBaseccVmCluster(
com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
request,
targetStates);
}
- // Helper method to create a new Waiter for CloudAutonomousVmCluster.
- private com.oracle.bmc.waiter.Waiter<
- GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse>
- forCloudAutonomousVmCluster(
+ // Helper method to create a new Waiter for BaseccVmCluster.
+ private com.oracle.bmc.waiter.Waiter
+ forBaseccVmCluster(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
- final GetCloudAutonomousVmClusterRequest request,
- final com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState...
+ final GetBaseccVmClusterRequest request,
+ final com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState...
targetStates) {
- final java.util.Set
+ final java.util.Set
targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates));
return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>(
@@ -11969,24 +12149,23 @@ public boolean test(GetBackupDestinationResponse response) {
waiter.toCallable(
() -> request,
new java.util.function.Function<
- GetCloudAutonomousVmClusterRequest,
- GetCloudAutonomousVmClusterResponse>() {
+ GetBaseccVmClusterRequest, GetBaseccVmClusterResponse>() {
@Override
- public GetCloudAutonomousVmClusterResponse apply(
- GetCloudAutonomousVmClusterRequest request) {
- return client.getCloudAutonomousVmCluster(request);
+ public GetBaseccVmClusterResponse apply(
+ GetBaseccVmClusterRequest request) {
+ return client.getBaseccVmCluster(request);
}
},
- new java.util.function.Predicate() {
+ new java.util.function.Predicate() {
@Override
- public boolean test(GetCloudAutonomousVmClusterResponse response) {
+ public boolean test(GetBaseccVmClusterResponse response) {
return targetStatesSet.contains(
- response.getCloudAutonomousVmCluster().getLifecycleState());
+ response.getBaseccVmCluster().getLifecycleState());
}
},
targetStatesSet.contains(
- com.oracle.bmc.database.model.CloudAutonomousVmCluster
- .LifecycleState.Terminated)),
+ com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState
+ .Terminated)),
request);
}
@@ -11999,17 +12178,17 @@ public boolean test(GetCloudAutonomousVmClusterResponse response) {
* @return a new {@code Waiter} instance
*/
public com.oracle.bmc.waiter.Waiter<
- GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse>
- forCloudExadataInfrastructure(
- GetCloudExadataInfrastructureRequest request,
- com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState...
+ GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse>
+ forBaseccVmClusterUpdate(
+ GetBaseccVmClusterUpdateRequest request,
+ com.oracle.bmc.database.model.BaseccVmClusterUpdate.LifecycleState...
targetStates) {
com.oracle.bmc.util.internal.Validate.notEmpty(
targetStates, "At least one targetState must be provided");
com.oracle.bmc.util.internal.Validate.noNullElements(
targetStates, "Null targetState values are not permitted");
- return forCloudExadataInfrastructure(
+ return forBaseccVmClusterUpdate(
com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
@@ -12023,17 +12202,16 @@ public boolean test(GetCloudAutonomousVmClusterResponse response) {
* @return a new {@code com.oracle.bmc.waiter.Waiter} instance
*/
public com.oracle.bmc.waiter.Waiter<
- GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse>
- forCloudExadataInfrastructure(
- GetCloudExadataInfrastructureRequest request,
- com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState
- targetState,
+ GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse>
+ forBaseccVmClusterUpdate(
+ GetBaseccVmClusterUpdateRequest request,
+ com.oracle.bmc.database.model.BaseccVmClusterUpdate.LifecycleState targetState,
com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
com.oracle.bmc.waiter.DelayStrategy delayStrategy) {
com.oracle.bmc.util.internal.Validate.notNull(
targetState, "The targetState cannot be null");
- return forCloudExadataInfrastructure(
+ return forBaseccVmClusterUpdate(
com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
request,
targetState);
@@ -12050,33 +12228,33 @@ public boolean test(GetCloudAutonomousVmClusterResponse response) {
* @return a new {@code com.oracle.bmc.waiter.Waiter} instance
*/
public com.oracle.bmc.waiter.Waiter<
- GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse>
- forCloudExadataInfrastructure(
- GetCloudExadataInfrastructureRequest request,
+ GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse>
+ forBaseccVmClusterUpdate(
+ GetBaseccVmClusterUpdateRequest request,
com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
com.oracle.bmc.waiter.DelayStrategy delayStrategy,
- com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState...
+ com.oracle.bmc.database.model.BaseccVmClusterUpdate.LifecycleState...
targetStates) {
com.oracle.bmc.util.internal.Validate.notEmpty(
targetStates, "At least one target state must be provided");
com.oracle.bmc.util.internal.Validate.noNullElements(
targetStates, "Null target states are not permitted");
- return forCloudExadataInfrastructure(
+ return forBaseccVmClusterUpdate(
com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
request,
targetStates);
}
- // Helper method to create a new Waiter for CloudExadataInfrastructure.
+ // Helper method to create a new Waiter for BaseccVmClusterUpdate.
private com.oracle.bmc.waiter.Waiter<
- GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse>
- forCloudExadataInfrastructure(
+ GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse>
+ forBaseccVmClusterUpdate(
com.oracle.bmc.waiter.BmcGenericWaiter waiter,
- final GetCloudExadataInfrastructureRequest request,
- final com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState...
+ final GetBaseccVmClusterUpdateRequest request,
+ final com.oracle.bmc.database.model.BaseccVmClusterUpdate.LifecycleState...
targetStates) {
- final java.util.Set
+ final java.util.Set
targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates));
return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>(
@@ -12084,25 +12262,22 @@ public boolean test(GetCloudAutonomousVmClusterResponse response) {
waiter.toCallable(
() -> request,
new java.util.function.Function<
- GetCloudExadataInfrastructureRequest,
- GetCloudExadataInfrastructureResponse>() {
+ GetBaseccVmClusterUpdateRequest,
+ GetBaseccVmClusterUpdateResponse>() {
@Override
- public GetCloudExadataInfrastructureResponse apply(
- GetCloudExadataInfrastructureRequest request) {
- return client.getCloudExadataInfrastructure(request);
+ public GetBaseccVmClusterUpdateResponse apply(
+ GetBaseccVmClusterUpdateRequest request) {
+ return client.getBaseccVmClusterUpdate(request);
}
},
- new java.util.function.Predicate() {
+ new java.util.function.Predicate() {
@Override
- public boolean test(GetCloudExadataInfrastructureResponse response) {
+ public boolean test(GetBaseccVmClusterUpdateResponse response) {
return targetStatesSet.contains(
- response.getCloudExadataInfrastructure()
- .getLifecycleState());
+ response.getBaseccVmClusterUpdate().getLifecycleState());
}
},
- targetStatesSet.contains(
- com.oracle.bmc.database.model.CloudExadataInfrastructure
- .LifecycleState.Terminated)),
+ false),
request);
}
@@ -12114,16 +12289,20 @@ public boolean test(GetCloudExadataInfrastructureResponse response) {
* waiter will return once the resource reaches any of the provided states
* @return a new {@code Waiter} instance
*/
- public com.oracle.bmc.waiter.Waiter
- forCloudVmCluster(
- GetCloudVmClusterRequest request,
- com.oracle.bmc.database.model.CloudVmCluster.LifecycleState... targetStates) {
+ public com.oracle.bmc.waiter.Waiter<
+ GetBaseccVmClusterUpdateHistoryEntryRequest,
+ GetBaseccVmClusterUpdateHistoryEntryResponse>
+ forBaseccVmClusterUpdateHistoryEntry(
+ GetBaseccVmClusterUpdateHistoryEntryRequest request,
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.LifecycleState
+ ...
+ targetStates) {
com.oracle.bmc.util.internal.Validate.notEmpty(
targetStates, "At least one targetState must be provided");
com.oracle.bmc.util.internal.Validate.noNullElements(
targetStates, "Null targetState values are not permitted");
- return forCloudVmCluster(
+ return forBaseccVmClusterUpdateHistoryEntry(
com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
}
@@ -12136,16 +12315,19 @@ public boolean test(GetCloudExadataInfrastructureResponse response) {
* @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
- forCloudVmCluster(
- GetCloudVmClusterRequest request,
- com.oracle.bmc.database.model.CloudVmCluster.LifecycleState targetState,
+ public com.oracle.bmc.waiter.Waiter<
+ GetBaseccVmClusterUpdateHistoryEntryRequest,
+ GetBaseccVmClusterUpdateHistoryEntryResponse>
+ forBaseccVmClusterUpdateHistoryEntry(
+ GetBaseccVmClusterUpdateHistoryEntryRequest request,
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.LifecycleState
+ targetState,
com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
com.oracle.bmc.waiter.DelayStrategy delayStrategy) {
com.oracle.bmc.util.internal.Validate.notNull(
targetState, "The targetState cannot be null");
- return forCloudVmCluster(
+ return forBaseccVmClusterUpdateHistoryEntry(
com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
request,
targetState);
@@ -12161,26 +12343,376 @@ public boolean test(GetCloudExadataInfrastructureResponse response) {
* reaches any of the provided states
* @return a new {@code com.oracle.bmc.waiter.Waiter} instance
*/
- public com.oracle.bmc.waiter.Waiter
- forCloudVmCluster(
- GetCloudVmClusterRequest request,
+ public com.oracle.bmc.waiter.Waiter<
+ GetBaseccVmClusterUpdateHistoryEntryRequest,
+ GetBaseccVmClusterUpdateHistoryEntryResponse>
+ forBaseccVmClusterUpdateHistoryEntry(
+ GetBaseccVmClusterUpdateHistoryEntryRequest request,
com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
com.oracle.bmc.waiter.DelayStrategy delayStrategy,
- com.oracle.bmc.database.model.CloudVmCluster.LifecycleState... targetStates) {
+ com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.LifecycleState
+ ...
+ targetStates) {
com.oracle.bmc.util.internal.Validate.notEmpty(
targetStates, "At least one target state must be provided");
com.oracle.bmc.util.internal.Validate.noNullElements(
targetStates, "Null target states are not permitted");
- return forCloudVmCluster(
+ return forBaseccVmClusterUpdateHistoryEntry(
com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
request,
targetStates);
}
- // Helper method to create a new Waiter for CloudVmCluster.
- private com.oracle.bmc.waiter.Waiter