diff --git a/bmc-addons/bmc-resteasy-client-configurator/pom.xml b/bmc-addons/bmc-resteasy-client-configurator/pom.xml
index 487097a4c2f..39a99dd0d7f 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.91.1
+ 3.92.0
../pom.xml
@@ -23,7 +23,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.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 983e7317326..73641455341 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.91.1
+ 3.92.0
../pom.xml
4.0.0
@@ -39,13 +39,13 @@
com.oracle.oci.sdk
oci-java-sdk-addons-sasl
- 3.91.1
+ 3.92.0
compile
com.oracle.oci.sdk
oci-java-sdk-addons-oke-workload-identity
- 3.91.1
+ 3.92.0
compile
diff --git a/bmc-addons/bmc-sasl/pom.xml b/bmc-addons/bmc-sasl/pom.xml
index 1489845435b..d71b1707b7f 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.91.1
+ 3.92.0
../pom.xml
@@ -61,7 +61,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
diff --git a/bmc-addons/bmc-sse-support-jersey3/pom.xml b/bmc-addons/bmc-sse-support-jersey3/pom.xml
index bd696691eb9..ad628ff5b1b 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.91.1
+ 3.92.0
../pom.xml
4.0.0
@@ -150,12 +150,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-generativeaiinference
- 3.91.1
+ 3.92.0
test
@@ -164,7 +164,7 @@
but the code in it needs it. -->
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey3
- 3.91.1
+ 3.92.0
diff --git a/bmc-addons/bmc-sse-support/pom.xml b/bmc-addons/bmc-sse-support/pom.xml
index 1991df0d2d8..fc52296a887 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.91.1
+ 3.92.0
../pom.xml
4.0.0
@@ -150,12 +150,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-generativeaiinference
- 3.91.1
+ 3.92.0
test
@@ -164,7 +164,7 @@
but the code in it needs it. -->
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey
- 3.91.1
+ 3.92.0
diff --git a/bmc-addons/pom.xml b/bmc-addons/pom.xml
index 50ecdfa1ce2..ee78425737f 100644
--- a/bmc-addons/pom.xml
+++ b/bmc-addons/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
diff --git a/bmc-adm/pom.xml b/bmc-adm/pom.xml
index 9fab15ae54b..4973bcd4934 100644
--- a/bmc-adm/pom.xml
+++ b/bmc-adm/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-adm
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-aidataplatform/pom.xml b/bmc-aidataplatform/pom.xml
index 5814e18b948..02636d5832a 100644
--- a/bmc-aidataplatform/pom.xml
+++ b/bmc-aidataplatform/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-aidataplatform
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatform.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatform.java
index 30ee9e94b71..469c56fed18 100644
--- a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatform.java
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatform.java
@@ -130,6 +130,22 @@ ChangeAiDataPlatformCompartmentResponse changeAiDataPlatformCompartment(
*/
DeleteAiDataPlatformResponse deleteAiDataPlatform(DeleteAiDataPlatformRequest request);
+ /**
+ * The AiDataPlatform will be enabled with AI features
+ *
+ * @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 EnableAiFeature
+ * API.
+ */
+ EnableAiFeatureResponse enableAiFeature(EnableAiFeatureRequest request);
+
/**
* Gets information about a AiDataPlatform.
*
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformAsync.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformAsync.java
index 477d9c92121..2194336f2e8 100644
--- a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformAsync.java
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformAsync.java
@@ -127,6 +127,21 @@ java.util.concurrent.Future deleteAiDataPlatform(
DeleteAiDataPlatformRequest, DeleteAiDataPlatformResponse>
handler);
+ /**
+ * The AiDataPlatform will be enabled with AI features
+ *
+ * @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 enableAiFeature(
+ EnableAiFeatureRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
/**
* Gets information about a AiDataPlatform.
*
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformAsyncClient.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformAsyncClient.java
index 58099941a72..507a39a901b 100644
--- a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformAsyncClient.java
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformAsyncClient.java
@@ -236,6 +236,42 @@ public java.util.concurrent.Future deleteAiDataPla
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future enableAiFeature(
+ EnableAiFeatureRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ EnableAiFeatureRequest, EnableAiFeatureResponse>
+ handler) {
+
+ Validate.notBlank(request.getAiDataPlatformId(), "aiDataPlatformId must not be blank");
+ Objects.requireNonNull(
+ request.getEnableAiFeatureDetails(), "enableAiFeatureDetails is required");
+
+ return clientCall(request, EnableAiFeatureResponse::builder)
+ .logger(LOG, "enableAiFeature")
+ .serviceDetails(
+ "AiDataPlatform",
+ "EnableAiFeature",
+ "https://docs.oracle.com/iaas/api/#/en/ai-data-platform/20240831/AiDataPlatform/EnableAiFeature")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(EnableAiFeatureRequest::builder)
+ .basePath("/20240831")
+ .appendPathParam("aiDataPlatforms")
+ .appendPathParam(request.getAiDataPlatformId())
+ .appendPathParam("actions")
+ .appendPathParam("enableAiFeature")
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id", EnableAiFeatureResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", EnableAiFeatureResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future getAiDataPlatform(
GetAiDataPlatformRequest request,
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformClient.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformClient.java
index 0805f4432f8..7342bfd152f 100644
--- a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformClient.java
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/AiDataPlatformClient.java
@@ -250,6 +250,39 @@ public DeleteAiDataPlatformResponse deleteAiDataPlatform(DeleteAiDataPlatformReq
.callSync();
}
+ @Override
+ public EnableAiFeatureResponse enableAiFeature(EnableAiFeatureRequest request) {
+
+ Validate.notBlank(request.getAiDataPlatformId(), "aiDataPlatformId must not be blank");
+ Objects.requireNonNull(
+ request.getEnableAiFeatureDetails(), "enableAiFeatureDetails is required");
+
+ return clientCall(request, EnableAiFeatureResponse::builder)
+ .logger(LOG, "enableAiFeature")
+ .serviceDetails(
+ "AiDataPlatform",
+ "EnableAiFeature",
+ "https://docs.oracle.com/iaas/api/#/en/ai-data-platform/20240831/AiDataPlatform/EnableAiFeature")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(EnableAiFeatureRequest::builder)
+ .basePath("/20240831")
+ .appendPathParam("aiDataPlatforms")
+ .appendPathParam(request.getAiDataPlatformId())
+ .appendPathParam("actions")
+ .appendPathParam("enableAiFeature")
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id", EnableAiFeatureResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", EnableAiFeatureResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public GetAiDataPlatformResponse getAiDataPlatform(GetAiDataPlatformRequest request) {
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/AiDataPlatform.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/AiDataPlatform.java
index 9c2a6181928..be53aa43653 100644
--- a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/AiDataPlatform.java
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/AiDataPlatform.java
@@ -40,6 +40,7 @@ public final class AiDataPlatform
"aliasKey",
"webSocketEndpoint",
"lifecycleState",
+ "aiFeatureStatus",
"lifecycleDetails",
"freeformTags",
"definedTags",
@@ -56,6 +57,7 @@ public AiDataPlatform(
String aliasKey,
String webSocketEndpoint,
LifecycleState lifecycleState,
+ AiFeatureStatus aiFeatureStatus,
String lifecycleDetails,
java.util.Map freeformTags,
java.util.Map> definedTags,
@@ -71,6 +73,7 @@ public AiDataPlatform(
this.aliasKey = aliasKey;
this.webSocketEndpoint = webSocketEndpoint;
this.lifecycleState = lifecycleState;
+ this.aiFeatureStatus = aiFeatureStatus;
this.lifecycleDetails = lifecycleDetails;
this.freeformTags = freeformTags;
this.definedTags = definedTags;
@@ -257,6 +260,21 @@ public Builder lifecycleState(LifecycleState lifecycleState) {
this.__explicitlySet__.add("lifecycleState");
return this;
}
+ /** The current aiFeatureStatus of the AiDataPlatform. */
+ @com.fasterxml.jackson.annotation.JsonProperty("aiFeatureStatus")
+ private AiFeatureStatus aiFeatureStatus;
+
+ /**
+ * The current aiFeatureStatus of the AiDataPlatform.
+ *
+ * @param aiFeatureStatus the value to set
+ * @return this builder
+ */
+ public Builder aiFeatureStatus(AiFeatureStatus aiFeatureStatus) {
+ this.aiFeatureStatus = aiFeatureStatus;
+ this.__explicitlySet__.add("aiFeatureStatus");
+ return this;
+ }
/**
* A message that describes the current state of the AiDataPlatform in more detail. For
* example, can be used to provide actionable information for a resource in the Failed
@@ -367,6 +385,7 @@ public AiDataPlatform build() {
this.aliasKey,
this.webSocketEndpoint,
this.lifecycleState,
+ this.aiFeatureStatus,
this.lifecycleDetails,
this.freeformTags,
this.definedTags,
@@ -409,6 +428,9 @@ public Builder copy(AiDataPlatform model) {
if (model.wasPropertyExplicitlySet("lifecycleState")) {
this.lifecycleState(model.getLifecycleState());
}
+ if (model.wasPropertyExplicitlySet("aiFeatureStatus")) {
+ this.aiFeatureStatus(model.getAiFeatureStatus());
+ }
if (model.wasPropertyExplicitlySet("lifecycleDetails")) {
this.lifecycleDetails(model.getLifecycleDetails());
}
@@ -642,6 +664,67 @@ public LifecycleState getLifecycleState() {
return lifecycleState;
}
+ /** The current aiFeatureStatus of the AiDataPlatform. */
+ public enum AiFeatureStatus implements com.oracle.bmc.http.internal.BmcEnum {
+ Disabled("DISABLED"),
+ Enabling("ENABLING"),
+ Ready("READY"),
+ Failed("FAILED"),
+
+ /**
+ * 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(AiFeatureStatus.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (AiFeatureStatus v : AiFeatureStatus.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ AiFeatureStatus(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static AiFeatureStatus create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'AiFeatureStatus', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** The current aiFeatureStatus of the AiDataPlatform. */
+ @com.fasterxml.jackson.annotation.JsonProperty("aiFeatureStatus")
+ private final AiFeatureStatus aiFeatureStatus;
+
+ /**
+ * The current aiFeatureStatus of the AiDataPlatform.
+ *
+ * @return the value
+ */
+ public AiFeatureStatus getAiFeatureStatus() {
+ return aiFeatureStatus;
+ }
+
/**
* A message that describes the current state of the AiDataPlatform in more detail. For example,
* can be used to provide actionable information for a resource in the Failed state.
@@ -749,6 +832,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", aliasKey=").append(String.valueOf(this.aliasKey));
sb.append(", webSocketEndpoint=").append(String.valueOf(this.webSocketEndpoint));
sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState));
+ sb.append(", aiFeatureStatus=").append(String.valueOf(this.aiFeatureStatus));
sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", definedTags=").append(String.valueOf(this.definedTags));
@@ -777,6 +861,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.aliasKey, other.aliasKey)
&& java.util.Objects.equals(this.webSocketEndpoint, other.webSocketEndpoint)
&& java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
+ && java.util.Objects.equals(this.aiFeatureStatus, other.aiFeatureStatus)
&& java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.definedTags, other.definedTags)
@@ -808,6 +893,9 @@ public int hashCode() {
result =
(result * PRIME)
+ (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
+ result =
+ (result * PRIME)
+ + (this.aiFeatureStatus == null ? 43 : this.aiFeatureStatus.hashCode());
result =
(result * PRIME)
+ (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode());
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/AiDataPlatformSummary.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/AiDataPlatformSummary.java
index c1b9b033e44..35d646d24da 100644
--- a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/AiDataPlatformSummary.java
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/AiDataPlatformSummary.java
@@ -32,6 +32,7 @@ public final class AiDataPlatformSummary
"timeCreated",
"timeUpdated",
"aliasKey",
+ "aiFeatureStatus",
"lifecycleState",
"lifecycleDetails",
"freeformTags",
@@ -47,6 +48,7 @@ public AiDataPlatformSummary(
java.util.Date timeCreated,
java.util.Date timeUpdated,
String aliasKey,
+ AiDataPlatform.AiFeatureStatus aiFeatureStatus,
AiDataPlatform.LifecycleState lifecycleState,
String lifecycleDetails,
java.util.Map freeformTags,
@@ -61,6 +63,7 @@ public AiDataPlatformSummary(
this.timeCreated = timeCreated;
this.timeUpdated = timeUpdated;
this.aliasKey = aliasKey;
+ this.aiFeatureStatus = aiFeatureStatus;
this.lifecycleState = lifecycleState;
this.lifecycleDetails = lifecycleDetails;
this.freeformTags = freeformTags;
@@ -218,6 +221,21 @@ public Builder aliasKey(String aliasKey) {
this.__explicitlySet__.add("aliasKey");
return this;
}
+ /** The current aiFeatureStatus of the AiDataPlatform. */
+ @com.fasterxml.jackson.annotation.JsonProperty("aiFeatureStatus")
+ private AiDataPlatform.AiFeatureStatus aiFeatureStatus;
+
+ /**
+ * The current aiFeatureStatus of the AiDataPlatform.
+ *
+ * @param aiFeatureStatus the value to set
+ * @return this builder
+ */
+ public Builder aiFeatureStatus(AiDataPlatform.AiFeatureStatus aiFeatureStatus) {
+ this.aiFeatureStatus = aiFeatureStatus;
+ this.__explicitlySet__.add("aiFeatureStatus");
+ return this;
+ }
/** The current state of the AiDataPlatform. */
@com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
private AiDataPlatform.LifecycleState lifecycleState;
@@ -341,6 +359,7 @@ public AiDataPlatformSummary build() {
this.timeCreated,
this.timeUpdated,
this.aliasKey,
+ this.aiFeatureStatus,
this.lifecycleState,
this.lifecycleDetails,
this.freeformTags,
@@ -378,6 +397,9 @@ public Builder copy(AiDataPlatformSummary model) {
if (model.wasPropertyExplicitlySet("aliasKey")) {
this.aliasKey(model.getAliasKey());
}
+ if (model.wasPropertyExplicitlySet("aiFeatureStatus")) {
+ this.aiFeatureStatus(model.getAiFeatureStatus());
+ }
if (model.wasPropertyExplicitlySet("lifecycleState")) {
this.lifecycleState(model.getLifecycleState());
}
@@ -538,6 +560,19 @@ public String getAliasKey() {
return aliasKey;
}
+ /** The current aiFeatureStatus of the AiDataPlatform. */
+ @com.fasterxml.jackson.annotation.JsonProperty("aiFeatureStatus")
+ private final AiDataPlatform.AiFeatureStatus aiFeatureStatus;
+
+ /**
+ * The current aiFeatureStatus of the AiDataPlatform.
+ *
+ * @return the value
+ */
+ public AiDataPlatform.AiFeatureStatus getAiFeatureStatus() {
+ return aiFeatureStatus;
+ }
+
/** The current state of the AiDataPlatform. */
@com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
private final AiDataPlatform.LifecycleState lifecycleState;
@@ -656,6 +691,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated));
sb.append(", aliasKey=").append(String.valueOf(this.aliasKey));
+ sb.append(", aiFeatureStatus=").append(String.valueOf(this.aiFeatureStatus));
sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState));
sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
@@ -683,6 +719,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.timeCreated, other.timeCreated)
&& java.util.Objects.equals(this.timeUpdated, other.timeUpdated)
&& java.util.Objects.equals(this.aliasKey, other.aliasKey)
+ && java.util.Objects.equals(this.aiFeatureStatus, other.aiFeatureStatus)
&& java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
&& java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
@@ -709,6 +746,9 @@ public int 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.aliasKey == null ? 43 : this.aliasKey.hashCode());
+ result =
+ (result * PRIME)
+ + (this.aiFeatureStatus == null ? 43 : this.aiFeatureStatus.hashCode());
result =
(result * PRIME)
+ (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/CreateAiDataPlatformDetails.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/CreateAiDataPlatformDetails.java
index b6dda9106f1..de76c8e5430 100644
--- a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/CreateAiDataPlatformDetails.java
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/CreateAiDataPlatformDetails.java
@@ -23,9 +23,41 @@
public final class CreateAiDataPlatformDetails
extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
+ public CreateAiDataPlatformDetails(
+ String displayName,
+ String aiDataPlatformType,
+ Boolean isEnableAiFeature,
+ String vectorDbId,
+ String vectorDbAdminCred,
+ String vectorDbAdminSecretId,
+ String compartmentId,
+ String defaultWorkspaceName,
+ java.util.Map freeformTags,
+ java.util.Map> definedTags,
+ java.util.Map> systemTags) {
+ super();
+ this.displayName = displayName;
+ this.aiDataPlatformType = aiDataPlatformType;
+ this.isEnableAiFeature = isEnableAiFeature;
+ this.vectorDbId = vectorDbId;
+ this.vectorDbAdminCred = vectorDbAdminCred != null ? vectorDbAdminCred.toCharArray() : null;
+ this.vectorDbAdminSecretId = vectorDbAdminSecretId;
+ this.compartmentId = compartmentId;
+ this.defaultWorkspaceName = defaultWorkspaceName;
+ this.freeformTags = freeformTags;
+ this.definedTags = definedTags;
+ this.systemTags = systemTags;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ @Deprecated
@java.beans.ConstructorProperties({
"displayName",
"aiDataPlatformType",
+ "isEnableAiFeature",
+ "vectorDbId",
+ "vectorDbAdminCred",
+ "vectorDbAdminSecretId",
"compartmentId",
"defaultWorkspaceName",
"freeformTags",
@@ -35,6 +67,10 @@ public final class CreateAiDataPlatformDetails
public CreateAiDataPlatformDetails(
String displayName,
String aiDataPlatformType,
+ Boolean isEnableAiFeature,
+ String vectorDbId,
+ char[] vectorDbAdminCred,
+ String vectorDbAdminSecretId,
String compartmentId,
String defaultWorkspaceName,
java.util.Map freeformTags,
@@ -43,6 +79,10 @@ public CreateAiDataPlatformDetails(
super();
this.displayName = displayName;
this.aiDataPlatformType = aiDataPlatformType;
+ this.isEnableAiFeature = isEnableAiFeature;
+ this.vectorDbId = vectorDbId;
+ this.vectorDbAdminCred = vectorDbAdminCred;
+ this.vectorDbAdminSecretId = vectorDbAdminSecretId;
this.compartmentId = compartmentId;
this.defaultWorkspaceName = defaultWorkspaceName;
this.freeformTags = freeformTags;
@@ -86,6 +126,81 @@ public Builder aiDataPlatformType(String aiDataPlatformType) {
this.__explicitlySet__.add("aiDataPlatformType");
return this;
}
+ /** The flag to enable/disable AiFeatures for the instance. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isEnableAiFeature")
+ private Boolean isEnableAiFeature;
+
+ /**
+ * The flag to enable/disable AiFeatures for the instance.
+ *
+ * @param isEnableAiFeature the value to set
+ * @return this builder
+ */
+ public Builder isEnableAiFeature(Boolean isEnableAiFeature) {
+ this.isEnableAiFeature = isEnableAiFeature;
+ this.__explicitlySet__.add("isEnableAiFeature");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * vector db Lakehouse 26ai.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbId")
+ private String vectorDbId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * vector db Lakehouse 26ai.
+ *
+ * @param vectorDbId the value to set
+ * @return this builder
+ */
+ public Builder vectorDbId(String vectorDbId) {
+ this.vectorDbId = vectorDbId;
+ this.__explicitlySet__.add("vectorDbId");
+ return this;
+ }
+ /** The Vector DB Lakehouse 26ai ADMIN user password. */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminCred")
+ private char[] vectorDbAdminCred;
+
+ /**
+ * The Vector DB Lakehouse 26ai ADMIN user password.
+ *
+ * @param vectorDbAdminCred the value to set
+ * @return this builder
+ */
+ public Builder vectorDbAdminCred(char[] vectorDbAdminCred) {
+ this.vectorDbAdminCred = vectorDbAdminCred;
+ this.__explicitlySet__.add("vectorDbAdminCred");
+ return this;
+ }
+
+ public Builder vectorDbAdminCred(String vectorDbAdminCred) {
+ this.vectorDbAdminCred =
+ vectorDbAdminCred != null ? vectorDbAdminCred.toCharArray() : null;
+ this.__explicitlySet__.add("vectorDbAdminCred");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * OCI Vault secret holding the vector db Lakehouse 26ai Admin user password.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminSecretId")
+ private String vectorDbAdminSecretId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * OCI Vault secret holding the vector db Lakehouse 26ai Admin user password.
+ *
+ * @param vectorDbAdminSecretId the value to set
+ * @return this builder
+ */
+ public Builder vectorDbAdminSecretId(String vectorDbAdminSecretId) {
+ this.vectorDbAdminSecretId = vectorDbAdminSecretId;
+ this.__explicitlySet__.add("vectorDbAdminSecretId");
+ return this;
+ }
/**
* The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
* compartment to create the AiDataPlatform in.
@@ -201,6 +316,10 @@ public CreateAiDataPlatformDetails build() {
new CreateAiDataPlatformDetails(
this.displayName,
this.aiDataPlatformType,
+ this.isEnableAiFeature,
+ this.vectorDbId,
+ this.vectorDbAdminCred,
+ this.vectorDbAdminSecretId,
this.compartmentId,
this.defaultWorkspaceName,
this.freeformTags,
@@ -220,6 +339,18 @@ public Builder copy(CreateAiDataPlatformDetails model) {
if (model.wasPropertyExplicitlySet("aiDataPlatformType")) {
this.aiDataPlatformType(model.getAiDataPlatformType());
}
+ if (model.wasPropertyExplicitlySet("isEnableAiFeature")) {
+ this.isEnableAiFeature(model.getIsEnableAiFeature());
+ }
+ if (model.wasPropertyExplicitlySet("vectorDbId")) {
+ this.vectorDbId(model.getVectorDbId());
+ }
+ if (model.wasPropertyExplicitlySet("vectorDbAdminCred")) {
+ this.vectorDbAdminCred(model.getVectorDbAdminCred());
+ }
+ if (model.wasPropertyExplicitlySet("vectorDbAdminSecretId")) {
+ this.vectorDbAdminSecretId(model.getVectorDbAdminSecretId());
+ }
if (model.wasPropertyExplicitlySet("compartmentId")) {
this.compartmentId(model.getCompartmentId());
}
@@ -278,6 +409,79 @@ public String getAiDataPlatformType() {
return aiDataPlatformType;
}
+ /** The flag to enable/disable AiFeatures for the instance. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isEnableAiFeature")
+ private final Boolean isEnableAiFeature;
+
+ /**
+ * The flag to enable/disable AiFeatures for the instance.
+ *
+ * @return the value
+ */
+ public Boolean getIsEnableAiFeature() {
+ return isEnableAiFeature;
+ }
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * vector db Lakehouse 26ai.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbId")
+ private final String vectorDbId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * vector db Lakehouse 26ai.
+ *
+ * @return the value
+ */
+ public String getVectorDbId() {
+ return vectorDbId;
+ }
+
+ /** The Vector DB Lakehouse 26ai ADMIN user password. */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminCred")
+ private final char[] vectorDbAdminCred;
+
+ /**
+ * The Vector DB Lakehouse 26ai ADMIN user password.
+ *
+ * @return the value
+ * @deprecated Use getVectorDbAdminCred__AsCharArray() instead.
+ */
+ @Deprecated
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public String getVectorDbAdminCred() {
+ return vectorDbAdminCred != null ? new String(vectorDbAdminCred) : null;
+ }
+
+ /**
+ * The Vector DB Lakehouse 26ai ADMIN user password.
+ *
+ * @return the value
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminCred")
+ public char[] getVectorDbAdminCred__AsCharArray() {
+ return vectorDbAdminCred;
+ }
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the OCI
+ * Vault secret holding the vector db Lakehouse 26ai Admin user password.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminSecretId")
+ private final String vectorDbAdminSecretId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the OCI
+ * Vault secret holding the vector db Lakehouse 26ai Admin user password.
+ *
+ * @return the value
+ */
+ public String getVectorDbAdminSecretId() {
+ return vectorDbAdminSecretId;
+ }
+
/**
* The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
* compartment to create the AiDataPlatform in.
@@ -390,6 +594,10 @@ public String toString(boolean includeByteArrayContents) {
sb.append("super=").append(super.toString());
sb.append("displayName=").append(String.valueOf(this.displayName));
sb.append(", aiDataPlatformType=").append(String.valueOf(this.aiDataPlatformType));
+ sb.append(", isEnableAiFeature=").append(String.valueOf(this.isEnableAiFeature));
+ sb.append(", vectorDbId=").append(String.valueOf(this.vectorDbId));
+ sb.append(", vectorDbAdminCred=").append("");
+ sb.append(", vectorDbAdminSecretId=").append(String.valueOf(this.vectorDbAdminSecretId));
sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
sb.append(", defaultWorkspaceName=").append(String.valueOf(this.defaultWorkspaceName));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
@@ -411,6 +619,10 @@ public boolean equals(Object o) {
CreateAiDataPlatformDetails other = (CreateAiDataPlatformDetails) o;
return java.util.Objects.equals(this.displayName, other.displayName)
&& java.util.Objects.equals(this.aiDataPlatformType, other.aiDataPlatformType)
+ && java.util.Objects.equals(this.isEnableAiFeature, other.isEnableAiFeature)
+ && java.util.Objects.equals(this.vectorDbId, other.vectorDbId)
+ && java.util.Objects.equals(this.vectorDbAdminCred, other.vectorDbAdminCred)
+ && java.util.Objects.equals(this.vectorDbAdminSecretId, other.vectorDbAdminSecretId)
&& java.util.Objects.equals(this.compartmentId, other.compartmentId)
&& java.util.Objects.equals(this.defaultWorkspaceName, other.defaultWorkspaceName)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
@@ -429,6 +641,18 @@ public int hashCode() {
+ (this.aiDataPlatformType == null
? 43
: this.aiDataPlatformType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isEnableAiFeature == null ? 43 : this.isEnableAiFeature.hashCode());
+ result = (result * PRIME) + (this.vectorDbId == null ? 43 : this.vectorDbId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.vectorDbAdminCred == null ? 43 : this.vectorDbAdminCred.hashCode());
+ result =
+ (result * PRIME)
+ + (this.vectorDbAdminSecretId == null
+ ? 43
+ : this.vectorDbAdminSecretId.hashCode());
result =
(result * PRIME)
+ (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/EnableAiFeatureDetails.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/EnableAiFeatureDetails.java
new file mode 100644
index 00000000000..16948450a1e
--- /dev/null
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/EnableAiFeatureDetails.java
@@ -0,0 +1,259 @@
+/**
+ * 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.aidataplatform.model;
+
+/**
+ * The data to enable Ai Feature for AiDataPlatform.
+ * 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: 20240831")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = EnableAiFeatureDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class EnableAiFeatureDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ public EnableAiFeatureDetails(
+ String vectorDbId, String vectorDbAdminCred, String vectorDbAdminSecretId) {
+ super();
+ this.vectorDbId = vectorDbId;
+ this.vectorDbAdminCred = vectorDbAdminCred != null ? vectorDbAdminCred.toCharArray() : null;
+ this.vectorDbAdminSecretId = vectorDbAdminSecretId;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ @Deprecated
+ @java.beans.ConstructorProperties({"vectorDbId", "vectorDbAdminCred", "vectorDbAdminSecretId"})
+ public EnableAiFeatureDetails(
+ String vectorDbId, char[] vectorDbAdminCred, String vectorDbAdminSecretId) {
+ super();
+ this.vectorDbId = vectorDbId;
+ this.vectorDbAdminCred = vectorDbAdminCred;
+ this.vectorDbAdminSecretId = vectorDbAdminSecretId;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * vector db Lakehouse 26ai.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbId")
+ private String vectorDbId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * vector db Lakehouse 26ai.
+ *
+ * @param vectorDbId the value to set
+ * @return this builder
+ */
+ public Builder vectorDbId(String vectorDbId) {
+ this.vectorDbId = vectorDbId;
+ this.__explicitlySet__.add("vectorDbId");
+ return this;
+ }
+ /** The Vector DB Lakehouse 26ai ADMIN user password. */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminCred")
+ private char[] vectorDbAdminCred;
+
+ /**
+ * The Vector DB Lakehouse 26ai ADMIN user password.
+ *
+ * @param vectorDbAdminCred the value to set
+ * @return this builder
+ */
+ public Builder vectorDbAdminCred(char[] vectorDbAdminCred) {
+ this.vectorDbAdminCred = vectorDbAdminCred;
+ this.__explicitlySet__.add("vectorDbAdminCred");
+ return this;
+ }
+
+ public Builder vectorDbAdminCred(String vectorDbAdminCred) {
+ this.vectorDbAdminCred =
+ vectorDbAdminCred != null ? vectorDbAdminCred.toCharArray() : null;
+ this.__explicitlySet__.add("vectorDbAdminCred");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * OCI Vault secret holding the vector db Lakehouse 26ai Admin user password.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminSecretId")
+ private String vectorDbAdminSecretId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * OCI Vault secret holding the vector db Lakehouse 26ai Admin user password.
+ *
+ * @param vectorDbAdminSecretId the value to set
+ * @return this builder
+ */
+ public Builder vectorDbAdminSecretId(String vectorDbAdminSecretId) {
+ this.vectorDbAdminSecretId = vectorDbAdminSecretId;
+ this.__explicitlySet__.add("vectorDbAdminSecretId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public EnableAiFeatureDetails build() {
+ EnableAiFeatureDetails model =
+ new EnableAiFeatureDetails(
+ this.vectorDbId, this.vectorDbAdminCred, this.vectorDbAdminSecretId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(EnableAiFeatureDetails model) {
+ if (model.wasPropertyExplicitlySet("vectorDbId")) {
+ this.vectorDbId(model.getVectorDbId());
+ }
+ if (model.wasPropertyExplicitlySet("vectorDbAdminCred")) {
+ this.vectorDbAdminCred(model.getVectorDbAdminCred());
+ }
+ if (model.wasPropertyExplicitlySet("vectorDbAdminSecretId")) {
+ this.vectorDbAdminSecretId(model.getVectorDbAdminSecretId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * vector db Lakehouse 26ai.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbId")
+ private final String vectorDbId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * vector db Lakehouse 26ai.
+ *
+ * @return the value
+ */
+ public String getVectorDbId() {
+ return vectorDbId;
+ }
+
+ /** The Vector DB Lakehouse 26ai ADMIN user password. */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminCred")
+ private final char[] vectorDbAdminCred;
+
+ /**
+ * The Vector DB Lakehouse 26ai ADMIN user password.
+ *
+ * @return the value
+ * @deprecated Use getVectorDbAdminCred__AsCharArray() instead.
+ */
+ @Deprecated
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public String getVectorDbAdminCred() {
+ return vectorDbAdminCred != null ? new String(vectorDbAdminCred) : null;
+ }
+
+ /**
+ * The Vector DB Lakehouse 26ai ADMIN user password.
+ *
+ * @return the value
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminCred")
+ public char[] getVectorDbAdminCred__AsCharArray() {
+ return vectorDbAdminCred;
+ }
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the OCI
+ * Vault secret holding the vector db Lakehouse 26ai Admin user password.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("vectorDbAdminSecretId")
+ private final String vectorDbAdminSecretId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the OCI
+ * Vault secret holding the vector db Lakehouse 26ai Admin user password.
+ *
+ * @return the value
+ */
+ public String getVectorDbAdminSecretId() {
+ return vectorDbAdminSecretId;
+ }
+
+ @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("EnableAiFeatureDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("vectorDbId=").append(String.valueOf(this.vectorDbId));
+ sb.append(", vectorDbAdminCred=").append("");
+ sb.append(", vectorDbAdminSecretId=").append(String.valueOf(this.vectorDbAdminSecretId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof EnableAiFeatureDetails)) {
+ return false;
+ }
+
+ EnableAiFeatureDetails other = (EnableAiFeatureDetails) o;
+ return java.util.Objects.equals(this.vectorDbId, other.vectorDbId)
+ && java.util.Objects.equals(this.vectorDbAdminCred, other.vectorDbAdminCred)
+ && java.util.Objects.equals(this.vectorDbAdminSecretId, other.vectorDbAdminSecretId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.vectorDbId == null ? 43 : this.vectorDbId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.vectorDbAdminCred == null ? 43 : this.vectorDbAdminCred.hashCode());
+ result =
+ (result * PRIME)
+ + (this.vectorDbAdminSecretId == null
+ ? 43
+ : this.vectorDbAdminSecretId.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/OperationType.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/OperationType.java
index 390726a7e63..cba24ed74d4 100644
--- a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/OperationType.java
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/model/OperationType.java
@@ -11,6 +11,11 @@ public enum OperationType implements com.oracle.bmc.http.internal.BmcEnum {
UpdateDataLake("UPDATE_DATA_LAKE"),
DeleteDataLake("DELETE_DATA_LAKE"),
MoveDataLake("MOVE_DATA_LAKE"),
+ CreateAiDataPlatform("CREATE_AI_DATA_PLATFORM"),
+ UpdateAiDataPlatform("UPDATE_AI_DATA_PLATFORM"),
+ DeleteAiDataPlatform("DELETE_AI_DATA_PLATFORM"),
+ MoveAiDataPlatform("MOVE_AI_DATA_PLATFORM"),
+ EnableAiFeatures("ENABLE_AI_FEATURES"),
CreateWorkspace("CREATE_WORKSPACE"),
UpdateWorkspace("UPDATE_WORKSPACE"),
DeleteWorkspace("DELETE_WORKSPACE"),
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/requests/EnableAiFeatureRequest.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/requests/EnableAiFeatureRequest.java
new file mode 100644
index 00000000000..201146fd2c3
--- /dev/null
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/requests/EnableAiFeatureRequest.java
@@ -0,0 +1,375 @@
+/**
+ * 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.aidataplatform.requests;
+
+import com.oracle.bmc.aidataplatform.model.*;
+/**
+ * Example: Click here to see how to use EnableAiFeatureRequest.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240831")
+public class EnableAiFeatureRequest
+ extends com.oracle.bmc.requests.BmcRequest<
+ com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails> {
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * AiDataPlatform.
+ */
+ private String aiDataPlatformId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * AiDataPlatform.
+ */
+ public String getAiDataPlatformId() {
+ return aiDataPlatformId;
+ }
+ /** The information to be updated. */
+ private com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails enableAiFeatureDetails;
+
+ /** The information to be updated. */
+ public com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails getEnableAiFeatureDetails() {
+ return enableAiFeatureDetails;
+ }
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ private String ifMatch;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code
+ * if-match} parameter to the value of the etag from a previous GET or POST response for that
+ * resource. The resource will be updated or deleted only if the etag you provide matches the
+ * resource's current etag value.
+ */
+ public String getIfMatch() {
+ return ifMatch;
+ }
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID. The only valid characters for request IDs
+ * are letters, numbers, underscore, and dash.
+ */
+ 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. The only valid characters for request IDs
+ * are letters, numbers, underscore, and dash.
+ */
+ public String getOpcRequestId() {
+ return opcRequestId;
+ }
+ /**
+ * A token that uniquely identifies a request so it can be retried in case of a timeout or
+ * server error without risk of running that same action again. Retry tokens expire after 24
+ * hours, but can be invalidated before then due to conflicting operations. For example, if a
+ * resource has been deleted and removed from the system, then a retry of the original creation
+ * request might be rejected.
+ */
+ private String opcRetryToken;
+
+ /**
+ * A token that uniquely identifies a request so it can be retried in case of a timeout or
+ * server error without risk of running that same action again. Retry tokens expire after 24
+ * hours, but can be invalidated before then due to conflicting operations. For example, if a
+ * resource has been deleted and removed from the system, then a retry of the original creation
+ * request might be rejected.
+ */
+ public String getOpcRetryToken() {
+ return opcRetryToken;
+ }
+
+ /**
+ * Alternative accessor for the body parameter.
+ *
+ * @return body parameter
+ */
+ @Override
+ @com.oracle.bmc.InternalSdk
+ public com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails getBody$() {
+ return enableAiFeatureDetails;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.requests.BmcRequest.Builder<
+ EnableAiFeatureRequest,
+ com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails> {
+ 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
+ * AiDataPlatform.
+ */
+ private String aiDataPlatformId = null;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * AiDataPlatform.
+ *
+ * @param aiDataPlatformId the value to set
+ * @return this builder instance
+ */
+ public Builder aiDataPlatformId(String aiDataPlatformId) {
+ this.aiDataPlatformId = aiDataPlatformId;
+ return this;
+ }
+
+ /** The information to be updated. */
+ private com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails enableAiFeatureDetails =
+ null;
+
+ /**
+ * The information to be updated.
+ *
+ * @param enableAiFeatureDetails the value to set
+ * @return this builder instance
+ */
+ public Builder enableAiFeatureDetails(
+ com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails enableAiFeatureDetails) {
+ this.enableAiFeatureDetails = enableAiFeatureDetails;
+ return this;
+ }
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ */
+ private String ifMatch = null;
+
+ /**
+ * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the
+ * {@code if-match} parameter to the value of the etag from a previous GET or POST response
+ * for that resource. The resource will be updated or deleted only if the etag you provide
+ * matches the resource's current etag value.
+ *
+ * @param ifMatch the value to set
+ * @return this builder instance
+ */
+ public Builder ifMatch(String ifMatch) {
+ this.ifMatch = ifMatch;
+ return this;
+ }
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID. The only valid characters for request
+ * IDs are letters, numbers, underscore, and dash.
+ */
+ private String opcRequestId = null;
+
+ /**
+ * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
+ * particular request, please provide the request ID. The only valid characters for request
+ * IDs are letters, numbers, underscore, and dash.
+ *
+ * @param opcRequestId the value to set
+ * @return this builder instance
+ */
+ public Builder opcRequestId(String opcRequestId) {
+ this.opcRequestId = opcRequestId;
+ return this;
+ }
+
+ /**
+ * A token that uniquely identifies a request so it can be retried in case of a timeout or
+ * server error without risk of running that same action again. Retry tokens expire after 24
+ * hours, but can be invalidated before then due to conflicting operations. For example, if
+ * a resource has been deleted and removed from the system, then a retry of the original
+ * creation request might be rejected.
+ */
+ private String opcRetryToken = null;
+
+ /**
+ * A token that uniquely identifies a request so it can be retried in case of a timeout or
+ * server error without risk of running that same action again. Retry tokens expire after 24
+ * hours, but can be invalidated before then due to conflicting operations. For example, if
+ * a resource has been deleted and removed from the system, then a retry of the original
+ * creation request might be rejected.
+ *
+ * @param opcRetryToken the value to set
+ * @return this builder instance
+ */
+ public Builder opcRetryToken(String opcRetryToken) {
+ this.opcRetryToken = opcRetryToken;
+ return this;
+ }
+
+ /**
+ * 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(EnableAiFeatureRequest o) {
+ aiDataPlatformId(o.getAiDataPlatformId());
+ enableAiFeatureDetails(o.getEnableAiFeatureDetails());
+ ifMatch(o.getIfMatch());
+ opcRequestId(o.getOpcRequestId());
+ opcRetryToken(o.getOpcRetryToken());
+ invocationCallback(o.getInvocationCallback());
+ retryConfiguration(o.getRetryConfiguration());
+ return this;
+ }
+
+ /**
+ * Build the instance of EnableAiFeatureRequest 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 EnableAiFeatureRequest
+ */
+ public EnableAiFeatureRequest build() {
+ EnableAiFeatureRequest request = buildWithoutInvocationCallback();
+ request.setInvocationCallback(invocationCallback);
+ request.setRetryConfiguration(retryConfiguration);
+ return request;
+ }
+
+ /**
+ * Alternative setter for the body parameter.
+ *
+ * @param body the body parameter
+ * @return this builder instance
+ */
+ @com.oracle.bmc.InternalSdk
+ public Builder body$(com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails body) {
+ enableAiFeatureDetails(body);
+ return this;
+ }
+
+ /**
+ * Build the instance of EnableAiFeatureRequest 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 EnableAiFeatureRequest
+ */
+ public EnableAiFeatureRequest buildWithoutInvocationCallback() {
+ EnableAiFeatureRequest request = new EnableAiFeatureRequest();
+ request.aiDataPlatformId = aiDataPlatformId;
+ request.enableAiFeatureDetails = enableAiFeatureDetails;
+ request.ifMatch = ifMatch;
+ request.opcRequestId = opcRequestId;
+ request.opcRetryToken = opcRetryToken;
+ return request;
+ // new EnableAiFeatureRequest(aiDataPlatformId, enableAiFeatureDetails, ifMatch,
+ // opcRequestId, opcRetryToken);
+ }
+ }
+
+ /**
+ * 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()
+ .aiDataPlatformId(aiDataPlatformId)
+ .enableAiFeatureDetails(enableAiFeatureDetails)
+ .ifMatch(ifMatch)
+ .opcRequestId(opcRequestId)
+ .opcRetryToken(opcRetryToken);
+ }
+
+ /**
+ * 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(",aiDataPlatformId=").append(String.valueOf(this.aiDataPlatformId));
+ sb.append(",enableAiFeatureDetails=").append(String.valueOf(this.enableAiFeatureDetails));
+ sb.append(",ifMatch=").append(String.valueOf(this.ifMatch));
+ sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId));
+ sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof EnableAiFeatureRequest)) {
+ return false;
+ }
+
+ EnableAiFeatureRequest other = (EnableAiFeatureRequest) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.aiDataPlatformId, other.aiDataPlatformId)
+ && java.util.Objects.equals(
+ this.enableAiFeatureDetails, other.enableAiFeatureDetails)
+ && java.util.Objects.equals(this.ifMatch, other.ifMatch)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId)
+ && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.aiDataPlatformId == null ? 43 : this.aiDataPlatformId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.enableAiFeatureDetails == null
+ ? 43
+ : this.enableAiFeatureDetails.hashCode());
+ result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode());
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/responses/EnableAiFeatureResponse.java b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/responses/EnableAiFeatureResponse.java
new file mode 100644
index 00000000000..3ed70d1f0ae
--- /dev/null
+++ b/bmc-aidataplatform/src/main/java/com/oracle/bmc/aidataplatform/responses/EnableAiFeatureResponse.java
@@ -0,0 +1,189 @@
+/**
+ * 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.aidataplatform.responses;
+
+import com.oracle.bmc.aidataplatform.model.*;
+
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240831")
+public class EnableAiFeatureResponse extends com.oracle.bmc.responses.BmcResponse {
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * asynchronous work request. Use GetWorkRequest with this ID to track the status of the
+ * request.
+ */
+ private String opcWorkRequestId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * asynchronous work request. Use GetWorkRequest with this ID to track the status of the
+ * request.
+ *
+ * @return the value
+ */
+ public String getOpcWorkRequestId() {
+ return opcWorkRequestId;
+ }
+
+ /**
+ * 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;
+ }
+
+ @java.beans.ConstructorProperties({
+ "__httpStatusCode__",
+ "headers",
+ "opcWorkRequestId",
+ "opcRequestId"
+ })
+ private EnableAiFeatureResponse(
+ int __httpStatusCode__,
+ java.util.Map> headers,
+ String opcWorkRequestId,
+ String opcRequestId) {
+ super(__httpStatusCode__, headers);
+ this.opcWorkRequestId = opcWorkRequestId;
+ this.opcRequestId = opcRequestId;
+ }
+
+ public static class Builder
+ implements com.oracle.bmc.responses.BmcResponse.Builder {
+ 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;
+ }
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * asynchronous work request. Use GetWorkRequest with this ID to track the status of the
+ * request.
+ */
+ private String opcWorkRequestId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * asynchronous work request. Use GetWorkRequest with this ID to track the status of the
+ * request.
+ *
+ * @param opcWorkRequestId the value to set
+ * @return this builder
+ */
+ public Builder opcWorkRequestId(String opcWorkRequestId) {
+ this.opcWorkRequestId = opcWorkRequestId;
+ 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;
+ }
+
+ /**
+ * Copy method to populate the builder with values from the given instance.
+ *
+ * @return this builder instance
+ */
+ @Override
+ public Builder copy(EnableAiFeatureResponse o) {
+ __httpStatusCode__(o.get__httpStatusCode__());
+ headers(o.getHeaders());
+ opcWorkRequestId(o.getOpcWorkRequestId());
+ opcRequestId(o.getOpcRequestId());
+
+ return this;
+ }
+
+ /**
+ * Build the response object.
+ *
+ * @return the response object
+ */
+ @Override
+ public EnableAiFeatureResponse build() {
+ return new EnableAiFeatureResponse(
+ __httpStatusCode__, headers, opcWorkRequestId, opcRequestId);
+ }
+ }
+
+ /**
+ * 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(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId));
+ sb.append(",opcRequestId=").append(String.valueOf(opcRequestId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof EnableAiFeatureResponse)) {
+ return false;
+ }
+
+ EnableAiFeatureResponse other = (EnableAiFeatureResponse) o;
+ return super.equals(o)
+ && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId)
+ && java.util.Objects.equals(this.opcRequestId, other.opcRequestId);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result =
+ (result * PRIME)
+ + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode());
+ result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-aidataplatform/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-aidataplatform/reflect-config.json b/bmc-aidataplatform/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-aidataplatform/reflect-config.json
index fd1de03398d..5c2043831ff 100644
--- a/bmc-aidataplatform/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-aidataplatform/reflect-config.json
+++ b/bmc-aidataplatform/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-aidataplatform/reflect-config.json
@@ -25,6 +25,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.aidataplatform.model.AiDataPlatform$AiFeatureStatus",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.aidataplatform.model.AiDataPlatformCollection",
@@ -81,6 +87,20 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.aidataplatform.model.EnableAiFeatureDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.aidataplatform.model.OperationStatus",
diff --git a/bmc-aidocument/pom.xml b/bmc-aidocument/pom.xml
index 313d4487919..cdcb31bc8b5 100644
--- a/bmc-aidocument/pom.xml
+++ b/bmc-aidocument/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-aidocument
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-ailanguage/pom.xml b/bmc-ailanguage/pom.xml
index c0df976bc73..7c2322258db 100644
--- a/bmc-ailanguage/pom.xml
+++ b/bmc-ailanguage/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-ailanguage
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-aispeech/pom.xml b/bmc-aispeech/pom.xml
index 2a0b2729236..77668831e85 100644
--- a/bmc-aispeech/pom.xml
+++ b/bmc-aispeech/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-aispeech
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-aivision/pom.xml b/bmc-aivision/pom.xml
index 113dd0b5602..877b2e1d4b8 100644
--- a/bmc-aivision/pom.xml
+++ b/bmc-aivision/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-aivision
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-analytics/pom.xml b/bmc-analytics/pom.xml
index 24f39d4199f..1aba8840de7 100644
--- a/bmc-analytics/pom.xml
+++ b/bmc-analytics/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-analytics
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-announcementsservice/pom.xml b/bmc-announcementsservice/pom.xml
index 74fe763d2df..4ffc4b908fe 100644
--- a/bmc-announcementsservice/pom.xml
+++ b/bmc-announcementsservice/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-announcementsservice
@@ -16,7 +16,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-apiaccesscontrol/pom.xml b/bmc-apiaccesscontrol/pom.xml
index aea4e2f0f2c..dde1b9ca5eb 100644
--- a/bmc-apiaccesscontrol/pom.xml
+++ b/bmc-apiaccesscontrol/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-apiaccesscontrol
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-apigateway/pom.xml b/bmc-apigateway/pom.xml
index ae194c2eea9..e0f62053c7e 100644
--- a/bmc-apigateway/pom.xml
+++ b/bmc-apigateway/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-apigateway
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-apiplatform/pom.xml b/bmc-apiplatform/pom.xml
index 71ae648000b..03b4a893e00 100644
--- a/bmc-apiplatform/pom.xml
+++ b/bmc-apiplatform/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-apiplatform
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-apmconfig/pom.xml b/bmc-apmconfig/pom.xml
index 6cdcebf44a2..20230a36af9 100644
--- a/bmc-apmconfig/pom.xml
+++ b/bmc-apmconfig/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-apmconfig
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-apmcontrolplane/pom.xml b/bmc-apmcontrolplane/pom.xml
index 4bbc356c396..7338047806e 100644
--- a/bmc-apmcontrolplane/pom.xml
+++ b/bmc-apmcontrolplane/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-apmcontrolplane
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-apmsynthetics/pom.xml b/bmc-apmsynthetics/pom.xml
index efc49c9cadb..1124e161275 100644
--- a/bmc-apmsynthetics/pom.xml
+++ b/bmc-apmsynthetics/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-apmsynthetics
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-apmtraces/pom.xml b/bmc-apmtraces/pom.xml
index 2c0562081d6..7412bccdaac 100644
--- a/bmc-apmtraces/pom.xml
+++ b/bmc-apmtraces/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-apmtraces
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-appmgmtcontrol/pom.xml b/bmc-appmgmtcontrol/pom.xml
index 174021b93f2..be25cb26f28 100644
--- a/bmc-appmgmtcontrol/pom.xml
+++ b/bmc-appmgmtcontrol/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-appmgmtcontrol
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-artifacts/pom.xml b/bmc-artifacts/pom.xml
index 0c58abd3a10..6464ee37c58 100644
--- a/bmc-artifacts/pom.xml
+++ b/bmc-artifacts/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-artifacts
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-audit/pom.xml b/bmc-audit/pom.xml
index 8d143f458a7..869832a38cb 100644
--- a/bmc-audit/pom.xml
+++ b/bmc-audit/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
diff --git a/bmc-autoscaling/pom.xml b/bmc-autoscaling/pom.xml
index da671f708d2..9d4c7888eac 100644
--- a/bmc-autoscaling/pom.xml
+++ b/bmc-autoscaling/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-autoscaling
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-bastion/pom.xml b/bmc-bastion/pom.xml
index efabddcb2b8..0ab3bd6d402 100644
--- a/bmc-bastion/pom.xml
+++ b/bmc-bastion/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-bastion
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-batch/pom.xml b/bmc-batch/pom.xml
index b0780a54b49..0e0e6132b17 100644
--- a/bmc-batch/pom.xml
+++ b/bmc-batch/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-batch
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-bds/pom.xml b/bmc-bds/pom.xml
index 7421f40ddc0..4c76ea2982e 100644
--- a/bmc-bds/pom.xml
+++ b/bmc-bds/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-bds
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-blockchain/pom.xml b/bmc-blockchain/pom.xml
index 2e4dddd915a..ddecb3e8de2 100644
--- a/bmc-blockchain/pom.xml
+++ b/bmc-blockchain/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-blockchain
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-bom/pom.xml b/bmc-bom/pom.xml
index cd22222b73f..972637afab2 100644
--- a/bmc-bom/pom.xml
+++ b/bmc-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.oracle.oci.sdk
- 3.91.1
+ 3.92.0
oci-java-sdk-bom
pom
Oracle Cloud Infrastructure SDK - BOM
@@ -38,1111 +38,1117 @@
com.oracle.oci.sdk
oci-java-sdk-circuitbreaker
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-common-httpclient
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey3
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-enforcer-rules
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-shaded-full
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-audit
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-containerengine
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-core
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-database
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-dns
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-email
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-objectstorage-generated
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-objectstorage-extensions
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-filestorage
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-identity
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-loadbalancer
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-objectstorage
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-addons-apache-configurator-jersey
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-addons-apache-configurator-jersey3
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-addons-resteasy-client-configurator
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-addons-sasl
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-addons-oke-workload-identity
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-addons-sasl-oke-workload-identity
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-addons-aispeech-realtime
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-resourcesearch
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-addons-apache
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-keymanagement
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-announcementsservice
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-healthchecks
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-waas
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-streaming
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-resourcemanager
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-monitoring
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-ons
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-autoscaling
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-budget
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-limits
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-functions
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-events
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-oce
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-oda
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-analytics
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-integration
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-marketplace
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-apigateway
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-datacatalog
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-dataflow
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-datascience
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-nosql
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-secrets
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-vault
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-bds
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-encryption
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-cims
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-datasafe
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-mysql
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-dataintegration
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-ocvp
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-usageapi
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-blockchain
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-loggingingestion
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-logging
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-loganalytics
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-managementdashboard
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-sch
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-loggingsearch
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-managementagent
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-cloudguard
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-opsi
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-computeinstanceagent
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-optimizer
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-tenantmanagercontrolplane
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-rover
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-databasemanagement
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-artifacts
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-apmsynthetics
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-goldengate
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-apmcontrolplane
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-apmtraces
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-networkloadbalancer
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-vulnerabilityscanning
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-databasemigration
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-servicecatalog
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-ailanguage
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-operatoraccesscontrol
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-bastion
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-genericartifactscontent
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-jms
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-devops
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-datalabelingservice
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-datalabelingservicedataplane
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-apmconfig
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-waf
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-certificates
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-certificatesmanagement
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-usage
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-databasetools
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-servicemanagerproxy
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-appmgmtcontrol
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-ospgateway
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-identitydataplane
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-visualbuilder
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-osubusage
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-osubsubscription
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-osuborganizationsubscription
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-osubbillingschedule
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-dashboardservice
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-threatintelligence
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-aivision
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-aispeech
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-stackmonitoring
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-adm
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-licensemanager
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-onesubscription
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-governancerulescontrolplane
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-waa
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-networkfirewall
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-vnmonitoring
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-emwarehouse
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-lockbox
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-fusionapps
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-mediaservices
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-opa
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-opensearch
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-cloudmigrations
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-cloudbridge
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-disasterrecovery
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-containerinstances
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-aidocument
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-queue
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-recovery
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-vbsinst
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-identitydomains
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-accessgovernancecp
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-ocicontrolcenter
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-osmanagementhub
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-fleetsoftwareupdate
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-computecloudatcustomer
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-marketplacepublisher
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-redis
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-jmsjavadownloads
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-psql
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeai
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeaiinference
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-capacitymanagement
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-desktops
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-emaildataplane
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-clusterplacementgroups
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-resourcescheduler
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-demandsignal
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-fleetappsmanagement
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-delegateaccesscontrol
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeaiagent
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeaiagentruntime
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-securityattribute
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-zpr
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-dblm
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-mngdmac
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-lustrefilestorage
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-modeldeployment
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-distributeddatabase
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-apiaccesscontrol
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-wlms
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-addons-adk
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-dbmulticloud
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-apiplatform
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-managedkafka
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-aidataplatform
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-multicloud
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-resourceanalytics
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-jmsutils
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-iot
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-psa
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-dif
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-batch
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-marketplaceprivateoffer
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-gdp
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-limitsincrease
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-generativeaidata
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-self
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-containerregistry
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-databasetoolsruntime
- 3.91.1
+ 3.92.0
false
com.oracle.oci.sdk
oci-java-sdk-costad
- 3.91.1
+ 3.92.0
+ false
+
+
+ com.oracle.oci.sdk
+ oci-java-sdk-datacc
+ 3.92.0
false
diff --git a/bmc-budget/pom.xml b/bmc-budget/pom.xml
index 7a9baafaeba..a291910fd3d 100644
--- a/bmc-budget/pom.xml
+++ b/bmc-budget/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-budget
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-capacitymanagement/pom.xml b/bmc-capacitymanagement/pom.xml
index 6a40d3d0d77..222a4d2884c 100644
--- a/bmc-capacitymanagement/pom.xml
+++ b/bmc-capacitymanagement/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-capacitymanagement
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-certificates/pom.xml b/bmc-certificates/pom.xml
index 2ce617f2c38..b3bc957e159 100644
--- a/bmc-certificates/pom.xml
+++ b/bmc-certificates/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-certificates
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-certificatesmanagement/pom.xml b/bmc-certificatesmanagement/pom.xml
index 276f0497091..08bc36bf820 100644
--- a/bmc-certificatesmanagement/pom.xml
+++ b/bmc-certificatesmanagement/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-certificatesmanagement
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-cims/pom.xml b/bmc-cims/pom.xml
index 1187869630c..1ffb47e4cdc 100644
--- a/bmc-cims/pom.xml
+++ b/bmc-cims/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-cims
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-circuitbreaker/pom.xml b/bmc-circuitbreaker/pom.xml
index 19f537b265b..22cd1440190 100644
--- a/bmc-circuitbreaker/pom.xml
+++ b/bmc-circuitbreaker/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-circuitbreaker
diff --git a/bmc-cloudbridge/pom.xml b/bmc-cloudbridge/pom.xml
index 12b309e1175..c66ccd0a2be 100644
--- a/bmc-cloudbridge/pom.xml
+++ b/bmc-cloudbridge/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-cloudbridge
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-cloudguard/pom.xml b/bmc-cloudguard/pom.xml
index ee900bdd150..75345c7e53d 100644
--- a/bmc-cloudguard/pom.xml
+++ b/bmc-cloudguard/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-cloudguard
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-cloudmigrations/pom.xml b/bmc-cloudmigrations/pom.xml
index 1d59e1e4fc6..f6e63ec703c 100644
--- a/bmc-cloudmigrations/pom.xml
+++ b/bmc-cloudmigrations/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-cloudmigrations
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-clusterplacementgroups/pom.xml b/bmc-clusterplacementgroups/pom.xml
index b1e306fa97f..d647195c23b 100644
--- a/bmc-clusterplacementgroups/pom.xml
+++ b/bmc-clusterplacementgroups/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-clusterplacementgroups
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.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 6822249d735..b48594e41d4 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.91.1
+ 3.92.0
../pom.xml
@@ -93,7 +93,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons-apache-configurator-jersey
- 3.91.1
+ 3.92.0
@@ -102,7 +102,7 @@
com.oracle.oci.sdk
oci-java-sdk-common-httpclient
- 3.91.1
+ 3.92.0
org.glassfish.jersey.core
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 918b21c24c7..e8b31fe1298 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.91.1
+ 3.92.0
../pom.xml
@@ -93,7 +93,7 @@
com.oracle.oci.sdk
oci-java-sdk-addons-apache-configurator-jersey3
- 3.91.1
+ 3.92.0
@@ -102,7 +102,7 @@
com.oracle.oci.sdk
oci-java-sdk-common-httpclient
- 3.91.1
+ 3.92.0
jakarta.ws.rs
diff --git a/bmc-common-httpclient-choices/pom.xml b/bmc-common-httpclient-choices/pom.xml
index a483d83b6f6..748ea239d12 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.91.1
+ 3.92.0
../pom.xml
diff --git a/bmc-common-httpclient/pom.xml b/bmc-common-httpclient/pom.xml
index 0b99855e248..9c1681c4eb6 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.91.1
+ 3.92.0
../pom.xml
diff --git a/bmc-common/pom.xml b/bmc-common/pom.xml
index c84fee1268a..6356f07dd03 100644
--- a/bmc-common/pom.xml
+++ b/bmc-common/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
@@ -87,12 +87,12 @@
com.oracle.oci.sdk
oci-java-sdk-circuitbreaker
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-common-httpclient
- 3.91.1
+ 3.92.0
@@ -137,7 +137,7 @@
com.oracle.oci.sdk
oci-java-sdk-common-httpclient-jersey
- 3.91.1
+ 3.92.0
test
diff --git a/bmc-common/src/main/java/com/oracle/bmc/http/internal/HeaderUtils.java b/bmc-common/src/main/java/com/oracle/bmc/http/internal/HeaderUtils.java
index 83e0e7e6d74..47b86727ffd 100644
--- a/bmc-common/src/main/java/com/oracle/bmc/http/internal/HeaderUtils.java
+++ b/bmc-common/src/main/java/com/oracle/bmc/http/internal/HeaderUtils.java
@@ -9,10 +9,68 @@
import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.Date;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.regex.Pattern;
/** Utilities to deal with header values. */
public class HeaderUtils {
+ public static final String REDACTED_VALUE = "REDACTED";
+
+ /** Exact header names that are well-known credential carriers. */
+ private static final Set SENSITIVE_HEADERS =
+ Collections.unmodifiableSet(
+ new HashSet<>(
+ Arrays.asList(
+ "authorization",
+ "proxy-authorization",
+ "opc-obo-token",
+ "x-api-key",
+ "cookie",
+ "set-cookie",
+ "security-context",
+ "password",
+ "passphrase")));
+
+ private static final String HEADER_DELIMITER = "-";
+ private static final String HEADER_NAME_DELIMITER_REGEX = "[-_]+";
+
+ /** Pattern rules for wildcard-style header families and credential-like suffixes. */
+ private static final List SENSITIVE_HEADER_PATTERNS =
+ Collections.unmodifiableList(
+ Arrays.asList(
+ Pattern.compile("^x-token(?:-|$).*"),
+ Pattern.compile("^x-authorization(?:-|$).*"),
+ Pattern.compile("^x-key-.*"),
+ credentialSuffixPattern("access-token"),
+ credentialSuffixPattern("refresh-token"),
+ credentialSuffixPattern("id-token"),
+ credentialSuffixPattern("security-token"),
+ credentialSuffixPattern("session-token"),
+ credentialSuffixPattern("delegation-token"),
+ credentialSuffixPattern("client-secret"),
+ credentialSuffixPattern("private-key")));
+
+ /**
+ * Matches exact credential names and delimited suffixes, for example "access-token" and
+ * "idcs-access-token", without matching unrelated names like "tokenization-status".
+ *
+ * @param normalizedCredentialName The normalized credential name.
+ * @return The credential suffix pattern.
+ */
+ private static Pattern credentialSuffixPattern(String normalizedCredentialName) {
+ return Pattern.compile("(?:^|.*-)" + Pattern.quote(normalizedCredentialName) + "$");
+ }
+
/**
* See {@link HTTP/1.1
* documentation}.
@@ -75,4 +133,81 @@ public static T toValue(String headerName, String value, Class clazz) {
}
throw new IllegalArgumentException("Unknown header type: " + clazz);
}
+
+ /**
+ * Checks whether the given header name should be treated as sensitive.
+ *
+ * @param headerName The header name.
+ * @return true if the header is sensitive, false otherwise.
+ */
+ public static boolean isSensitiveHeader(String headerName) {
+ if (headerName == null) {
+ return false;
+ }
+ String normalizedHeaderName = normalizeHeaderName(headerName);
+ return isExactSensitiveHeader(normalizedHeaderName)
+ || matchesSensitiveHeaderPattern(normalizedHeaderName);
+ }
+
+ /**
+ * Normalizes common generated-name variants consistently, for example client_secret to
+ * client-secret.
+ *
+ * @param headerName The header name.
+ * @return The normalized header name.
+ */
+ private static String normalizeHeaderName(String headerName) {
+ return headerName
+ .toLowerCase(Locale.ROOT)
+ .replaceAll(HEADER_NAME_DELIMITER_REGEX, HEADER_DELIMITER);
+ }
+
+ private static boolean isExactSensitiveHeader(String normalizedHeaderName) {
+ return SENSITIVE_HEADERS.contains(normalizedHeaderName);
+ }
+
+ private static boolean matchesSensitiveHeaderPattern(String normalizedHeaderName) {
+ for (Pattern pattern : SENSITIVE_HEADER_PATTERNS) {
+ if (pattern.matcher(normalizedHeaderName).matches()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Redacts header values when the header name is sensitive.
+ *
+ * @param headerName The header name.
+ * @param values The header values.
+ * @return The redacted values if the header is sensitive, otherwise the original values.
+ */
+ public static List sanitizeHeaderValues(String headerName, List values) {
+ if (!isSensitiveHeader(headerName) || values == null) {
+ return values;
+ }
+ List redactedValues = new ArrayList<>(values.size());
+ for (int i = 0; i < values.size(); i++) {
+ redactedValues.add(REDACTED_VALUE);
+ }
+ return redactedValues;
+ }
+
+ /**
+ * Redacts sensitive header values in the given header map.
+ *
+ * @param headers The header map.
+ * @return A sanitized header map, or null when the input is null.
+ */
+ public static Map> sanitizeHeaders(Map> headers) {
+ if (headers == null) {
+ return null;
+ }
+ Map> sanitizedHeaders = new LinkedHashMap<>();
+ for (Entry> entry : headers.entrySet()) {
+ sanitizedHeaders.put(
+ entry.getKey(), sanitizeHeaderValues(entry.getKey(), entry.getValue()));
+ }
+ return sanitizedHeaders;
+ }
}
diff --git a/bmc-common/src/main/java/com/oracle/bmc/http/internal/LogHeadersFilter.java b/bmc-common/src/main/java/com/oracle/bmc/http/internal/LogHeadersFilter.java
index a00b263d348..037cf590c8f 100644
--- a/bmc-common/src/main/java/com/oracle/bmc/http/internal/LogHeadersFilter.java
+++ b/bmc-common/src/main/java/com/oracle/bmc/http/internal/LogHeadersFilter.java
@@ -33,9 +33,9 @@ public void intercept(HttpRequest request) {
LOG.debug("Sending '{}' request to '{}'", request.method(), request.uri());
Map> headers = request.headers();
for (Entry> entry : headers.entrySet()) {
- List value = entry.getValue();
+ List value = HeaderUtils.sanitizeHeaderValues(entry.getKey(), entry.getValue());
if (entry.getKey() != null && entry.getKey().equalsIgnoreCase("authorization")) {
- value = maskValue(entry.getValue());
+ value = maskValue(value);
}
LOG.debug("Sending header '{}' with value '{}'", entry.getKey(), value);
}
diff --git a/bmc-common/src/main/java/com/oracle/bmc/http/signing/internal/RequestSignerImpl.java b/bmc-common/src/main/java/com/oracle/bmc/http/signing/internal/RequestSignerImpl.java
index a984931aeb8..b8f9efbce5e 100644
--- a/bmc-common/src/main/java/com/oracle/bmc/http/signing/internal/RequestSignerImpl.java
+++ b/bmc-common/src/main/java/com/oracle/bmc/http/signing/internal/RequestSignerImpl.java
@@ -6,6 +6,7 @@
import com.oracle.bmc.http.client.Serializer;
import com.oracle.bmc.http.client.io.DuplicatableInputStream;
+import com.oracle.bmc.http.internal.HeaderUtils;
import com.oracle.bmc.http.signing.RequestSigner;
import com.oracle.bmc.http.signing.RequestSignerException;
import com.oracle.bmc.http.signing.SigningStrategy;
@@ -290,7 +291,7 @@ static Map> ignoreCaseHeaders(
private static String transformHeadersToJsonString(final Map> headers) {
try {
- return Serializer.getDefault().writeValueAsString(headers);
+ return Serializer.getDefault().writeValueAsString(HeaderUtils.sanitizeHeaders(headers));
} catch (IOException ex) {
LOG.debug("Unable to serialize headers to JSON string", ex);
return "UNABLE TO SERIALIZE";
diff --git a/bmc-common/src/test/java/com/oracle/bmc/http/internal/HeaderUtilsTest.java b/bmc-common/src/test/java/com/oracle/bmc/http/internal/HeaderUtilsTest.java
new file mode 100644
index 00000000000..c26e87d0b56
--- /dev/null
+++ b/bmc-common/src/test/java/com/oracle/bmc/http/internal/HeaderUtilsTest.java
@@ -0,0 +1,124 @@
+/**
+ * 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.internal;
+
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+public class HeaderUtilsTest {
+
+ @Test
+ public void isSensitiveHeader_shouldMatchExactHeadersAndPatterns() {
+ for (String headerName :
+ Arrays.asList(
+ "Authorization",
+ "Proxy-Authorization",
+ "opc-obo-token",
+ "X-Api-Key",
+ "cookie",
+ "set-cookie",
+ "security-context",
+ "password",
+ "passphrase",
+ "x-token",
+ "x-token-value",
+ "x_authorization",
+ "x-key-id",
+ "access_token",
+ "idcs-access-token",
+ "refresh-token",
+ "id_token",
+ "security-token",
+ "session_token",
+ "delegation-token",
+ "oauth-client-secret",
+ "private_key")) {
+ assertTrue(
+ headerName + " should be treated as sensitive",
+ HeaderUtils.isSensitiveHeader(headerName));
+ }
+ }
+
+ @Test
+ public void isSensitiveHeader_shouldNotMatchSafeNames() {
+ for (String headerName :
+ Arrays.asList(
+ "Content-Type",
+ "opc-request-id",
+ "opc-retry-token",
+ "tokenization-status",
+ "x-keyboard-layout",
+ "client-secret-version",
+ "private-key-format",
+ "x-authorized-by")) {
+ assertFalse(
+ headerName + " should not be treated as sensitive",
+ HeaderUtils.isSensitiveHeader(headerName));
+ }
+ }
+
+ @Test
+ public void isSensitiveHeader_shouldHandleNullAndEmptyNames() {
+ assertFalse(HeaderUtils.isSensitiveHeader(null));
+ assertFalse(HeaderUtils.isSensitiveHeader(""));
+ }
+
+ @Test
+ public void sanitizeHeaderValues_shouldRedactSensitiveValues() {
+ List redacted =
+ HeaderUtils.sanitizeHeaderValues("Authorization", Arrays.asList("a", "b"));
+
+ assertEquals(
+ Arrays.asList(HeaderUtils.REDACTED_VALUE, HeaderUtils.REDACTED_VALUE), redacted);
+ }
+
+ @Test
+ public void sanitizeHeaderValues_shouldReturnOriginalValuesForSafeOrNullInput() {
+ List values = Collections.singletonList("application/json");
+
+ assertSame(values, HeaderUtils.sanitizeHeaderValues("Content-Type", values));
+ assertNull(HeaderUtils.sanitizeHeaderValues("Authorization", null));
+ }
+
+ @Test
+ public void sanitizeHeaders_shouldRedactSensitiveValuesAndPreserveOrder() {
+ Map> headers = new LinkedHashMap<>();
+ headers.put("Authorization", Collections.singletonList("secret"));
+ headers.put("Content-Type", Collections.singletonList("application/json"));
+ headers.put("x-key-id", Arrays.asList("key-1", "key-2"));
+
+ Map> sanitizedHeaders = HeaderUtils.sanitizeHeaders(headers);
+
+ assertEquals(
+ Arrays.asList("Authorization", "Content-Type", "x-key-id"),
+ new ArrayList<>(sanitizedHeaders.keySet()));
+ assertEquals(
+ Collections.singletonList(HeaderUtils.REDACTED_VALUE),
+ sanitizedHeaders.get("Authorization"));
+ assertEquals(
+ Collections.singletonList("application/json"),
+ sanitizedHeaders.get("Content-Type"));
+ assertEquals(
+ Arrays.asList(HeaderUtils.REDACTED_VALUE, HeaderUtils.REDACTED_VALUE),
+ sanitizedHeaders.get("x-key-id"));
+ }
+
+ @Test
+ public void sanitizeHeaders_shouldHandleNullInput() {
+ assertNull(HeaderUtils.sanitizeHeaders(null));
+ }
+}
diff --git a/bmc-computecloudatcustomer/pom.xml b/bmc-computecloudatcustomer/pom.xml
index 0b2645b83aa..f67380690a8 100644
--- a/bmc-computecloudatcustomer/pom.xml
+++ b/bmc-computecloudatcustomer/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-computecloudatcustomer
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-computeinstanceagent/pom.xml b/bmc-computeinstanceagent/pom.xml
index c7a8e1a9df9..3de6079f108 100644
--- a/bmc-computeinstanceagent/pom.xml
+++ b/bmc-computeinstanceagent/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-computeinstanceagent
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-containerengine/pom.xml b/bmc-containerengine/pom.xml
index a1986ba114b..d239292a63d 100644
--- a/bmc-containerengine/pom.xml
+++ b/bmc-containerengine/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
diff --git a/bmc-containerinstances/pom.xml b/bmc-containerinstances/pom.xml
index d0c87b1ef79..484cc61991b 100644
--- a/bmc-containerinstances/pom.xml
+++ b/bmc-containerinstances/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-containerinstances
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerFsGroupChangePolicyType.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerFsGroupChangePolicyType.java
new file mode 100644
index 00000000000..da888b88960
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerFsGroupChangePolicyType.java
@@ -0,0 +1,53 @@
+/**
+ * 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.containerinstances.model;
+
+/** Type of a Linux fsGroupChangePolicy. */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20210415")
+public enum ContainerFsGroupChangePolicyType implements com.oracle.bmc.http.internal.BmcEnum {
+ Always("ALWAYS"),
+ OnRootMismatch("ON_ROOT_MISMATCH"),
+
+ /**
+ * 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(ContainerFsGroupChangePolicyType.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (ContainerFsGroupChangePolicyType v : ContainerFsGroupChangePolicyType.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ ContainerFsGroupChangePolicyType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static ContainerFsGroupChangePolicyType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'ContainerFsGroupChangePolicyType', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstance.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstance.java
index c8771e397c0..5b1fff89ad0 100644
--- a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstance.java
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstance.java
@@ -30,6 +30,7 @@ public final class ContainerInstance
"id",
"displayName",
"compartmentId",
+ "tenantId",
"freeformTags",
"definedTags",
"systemTags",
@@ -49,12 +50,14 @@ public final class ContainerInstance
"dnsConfig",
"gracefulShutdownTimeoutInSeconds",
"imagePullSecrets",
- "containerRestartPolicy"
+ "containerRestartPolicy",
+ "securityContext"
})
public ContainerInstance(
String id,
String displayName,
String compartmentId,
+ String tenantId,
java.util.Map freeformTags,
java.util.Map> definedTags,
java.util.Map> systemTags,
@@ -74,11 +77,13 @@ public ContainerInstance(
ContainerDnsConfig dnsConfig,
Long gracefulShutdownTimeoutInSeconds,
java.util.List imagePullSecrets,
- ContainerRestartPolicy containerRestartPolicy) {
+ ContainerRestartPolicy containerRestartPolicy,
+ ContainerInstanceSecurityContext securityContext) {
super();
this.id = id;
this.displayName = displayName;
this.compartmentId = compartmentId;
+ this.tenantId = tenantId;
this.freeformTags = freeformTags;
this.definedTags = definedTags;
this.systemTags = systemTags;
@@ -99,6 +104,7 @@ public ContainerInstance(
this.gracefulShutdownTimeoutInSeconds = gracefulShutdownTimeoutInSeconds;
this.imagePullSecrets = imagePullSecrets;
this.containerRestartPolicy = containerRestartPolicy;
+ this.securityContext = securityContext;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -152,6 +158,21 @@ public Builder compartmentId(String compartmentId) {
this.__explicitlySet__.add("compartmentId");
return this;
}
+ /** TenantId id of the container instance. */
+ @com.fasterxml.jackson.annotation.JsonProperty("tenantId")
+ private String tenantId;
+
+ /**
+ * TenantId id of the container instance.
+ *
+ * @param tenantId the value to set
+ * @return this builder
+ */
+ public Builder tenantId(String tenantId) {
+ this.tenantId = tenantId;
+ this.__explicitlySet__.add("tenantId");
+ return this;
+ }
/**
* Simple key-value pair that is applied without any predefined name, type or scope. Exists
* for cross-compatibility only. Example: {@code {"bar-key": "value"}}
@@ -480,6 +501,15 @@ public Builder containerRestartPolicy(ContainerRestartPolicy containerRestartPol
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("securityContext")
+ private ContainerInstanceSecurityContext securityContext;
+
+ public Builder securityContext(ContainerInstanceSecurityContext securityContext) {
+ this.securityContext = securityContext;
+ this.__explicitlySet__.add("securityContext");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -489,6 +519,7 @@ public ContainerInstance build() {
this.id,
this.displayName,
this.compartmentId,
+ this.tenantId,
this.freeformTags,
this.definedTags,
this.systemTags,
@@ -508,7 +539,8 @@ public ContainerInstance build() {
this.dnsConfig,
this.gracefulShutdownTimeoutInSeconds,
this.imagePullSecrets,
- this.containerRestartPolicy);
+ this.containerRestartPolicy,
+ this.securityContext);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -526,6 +558,9 @@ public Builder copy(ContainerInstance model) {
if (model.wasPropertyExplicitlySet("compartmentId")) {
this.compartmentId(model.getCompartmentId());
}
+ if (model.wasPropertyExplicitlySet("tenantId")) {
+ this.tenantId(model.getTenantId());
+ }
if (model.wasPropertyExplicitlySet("freeformTags")) {
this.freeformTags(model.getFreeformTags());
}
@@ -586,6 +621,9 @@ public Builder copy(ContainerInstance model) {
if (model.wasPropertyExplicitlySet("containerRestartPolicy")) {
this.containerRestartPolicy(model.getContainerRestartPolicy());
}
+ if (model.wasPropertyExplicitlySet("securityContext")) {
+ this.securityContext(model.getSecurityContext());
+ }
return this;
}
}
@@ -642,6 +680,19 @@ public String getCompartmentId() {
return compartmentId;
}
+ /** TenantId id of the container instance. */
+ @com.fasterxml.jackson.annotation.JsonProperty("tenantId")
+ private final String tenantId;
+
+ /**
+ * TenantId id of the container instance.
+ *
+ * @return the value
+ */
+ public String getTenantId() {
+ return tenantId;
+ }
+
/**
* Simple key-value pair that is applied without any predefined name, type or scope. Exists for
* cross-compatibility only. Example: {@code {"bar-key": "value"}}
@@ -1026,6 +1077,13 @@ public ContainerRestartPolicy getContainerRestartPolicy() {
return containerRestartPolicy;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("securityContext")
+ private final ContainerInstanceSecurityContext securityContext;
+
+ public ContainerInstanceSecurityContext getSecurityContext() {
+ return securityContext;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -1044,6 +1102,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append("id=").append(String.valueOf(this.id));
sb.append(", displayName=").append(String.valueOf(this.displayName));
sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", tenantId=").append(String.valueOf(this.tenantId));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", definedTags=").append(String.valueOf(this.definedTags));
sb.append(", systemTags=").append(String.valueOf(this.systemTags));
@@ -1065,6 +1124,7 @@ public String toString(boolean includeByteArrayContents) {
.append(String.valueOf(this.gracefulShutdownTimeoutInSeconds));
sb.append(", imagePullSecrets=").append(String.valueOf(this.imagePullSecrets));
sb.append(", containerRestartPolicy=").append(String.valueOf(this.containerRestartPolicy));
+ sb.append(", securityContext=").append(String.valueOf(this.securityContext));
sb.append(")");
return sb.toString();
}
@@ -1082,6 +1142,7 @@ public boolean equals(Object o) {
return java.util.Objects.equals(this.id, other.id)
&& java.util.Objects.equals(this.displayName, other.displayName)
&& java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.tenantId, other.tenantId)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.definedTags, other.definedTags)
&& java.util.Objects.equals(this.systemTags, other.systemTags)
@@ -1105,6 +1166,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.imagePullSecrets, other.imagePullSecrets)
&& java.util.Objects.equals(
this.containerRestartPolicy, other.containerRestartPolicy)
+ && java.util.Objects.equals(this.securityContext, other.securityContext)
&& super.equals(other);
}
@@ -1117,6 +1179,7 @@ public int hashCode() {
result =
(result * PRIME)
+ (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.tenantId == null ? 43 : this.tenantId.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode());
result = (result * PRIME) + (this.systemTags == null ? 43 : this.systemTags.hashCode());
@@ -1157,6 +1220,9 @@ public int hashCode() {
+ (this.containerRestartPolicy == null
? 43
: this.containerRestartPolicy.hashCode());
+ result =
+ (result * PRIME)
+ + (this.securityContext == null ? 43 : this.securityContext.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstanceSecurityContext.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstanceSecurityContext.java
new file mode 100644
index 00000000000..1b25976f7c5
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstanceSecurityContext.java
@@ -0,0 +1,124 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * Security context for all containers in a container instance.
+ * 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: 20210415")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "securityContextType",
+ defaultImpl = ContainerInstanceSecurityContext.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = LinuxContainerInstanceSecurityContext.class,
+ name = "LINUX")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class ContainerInstanceSecurityContext
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected ContainerInstanceSecurityContext() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("ContainerInstanceSecurityContext(");
+ 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 ContainerInstanceSecurityContext)) {
+ return false;
+ }
+
+ ContainerInstanceSecurityContext other = (ContainerInstanceSecurityContext) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+
+ /** The type of security context */
+ public enum SecurityContextType implements com.oracle.bmc.http.internal.BmcEnum {
+ Linux("LINUX"),
+
+ /**
+ * 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(SecurityContextType.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (SecurityContextType v : SecurityContextType.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ SecurityContextType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static SecurityContextType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'SecurityContextType', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstanceSummary.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstanceSummary.java
index 6b64cc386d7..7dfc3074afa 100644
--- a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstanceSummary.java
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerInstanceSummary.java
@@ -41,7 +41,8 @@ public final class ContainerInstanceSummary
"containerCount",
"gracefulShutdownTimeoutInSeconds",
"volumeCount",
- "containerRestartPolicy"
+ "containerRestartPolicy",
+ "securityContext"
})
public ContainerInstanceSummary(
String id,
@@ -61,7 +62,8 @@ public ContainerInstanceSummary(
Integer containerCount,
Long gracefulShutdownTimeoutInSeconds,
Integer volumeCount,
- ContainerInstance.ContainerRestartPolicy containerRestartPolicy) {
+ ContainerInstance.ContainerRestartPolicy containerRestartPolicy,
+ ContainerInstanceSecurityContext securityContext) {
super();
this.id = id;
this.displayName = displayName;
@@ -81,6 +83,7 @@ public ContainerInstanceSummary(
this.gracefulShutdownTimeoutInSeconds = gracefulShutdownTimeoutInSeconds;
this.volumeCount = volumeCount;
this.containerRestartPolicy = containerRestartPolicy;
+ this.securityContext = securityContext;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -382,6 +385,15 @@ public Builder containerRestartPolicy(
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("securityContext")
+ private ContainerInstanceSecurityContext securityContext;
+
+ public Builder securityContext(ContainerInstanceSecurityContext securityContext) {
+ this.securityContext = securityContext;
+ this.__explicitlySet__.add("securityContext");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -405,7 +417,8 @@ public ContainerInstanceSummary build() {
this.containerCount,
this.gracefulShutdownTimeoutInSeconds,
this.volumeCount,
- this.containerRestartPolicy);
+ this.containerRestartPolicy,
+ this.securityContext);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -468,6 +481,9 @@ public Builder copy(ContainerInstanceSummary model) {
if (model.wasPropertyExplicitlySet("containerRestartPolicy")) {
this.containerRestartPolicy(model.getContainerRestartPolicy());
}
+ if (model.wasPropertyExplicitlySet("securityContext")) {
+ this.securityContext(model.getSecurityContext());
+ }
return this;
}
}
@@ -739,6 +755,13 @@ public ContainerInstance.ContainerRestartPolicy getContainerRestartPolicy() {
return containerRestartPolicy;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("securityContext")
+ private final ContainerInstanceSecurityContext securityContext;
+
+ public ContainerInstanceSecurityContext getSecurityContext() {
+ return securityContext;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -773,6 +796,7 @@ public String toString(boolean includeByteArrayContents) {
.append(String.valueOf(this.gracefulShutdownTimeoutInSeconds));
sb.append(", volumeCount=").append(String.valueOf(this.volumeCount));
sb.append(", containerRestartPolicy=").append(String.valueOf(this.containerRestartPolicy));
+ sb.append(", securityContext=").append(String.valueOf(this.securityContext));
sb.append(")");
return sb.toString();
}
@@ -808,6 +832,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.volumeCount, other.volumeCount)
&& java.util.Objects.equals(
this.containerRestartPolicy, other.containerRestartPolicy)
+ && java.util.Objects.equals(this.securityContext, other.securityContext)
&& super.equals(other);
}
@@ -853,6 +878,9 @@ public int hashCode() {
+ (this.containerRestartPolicy == null
? 43
: this.containerRestartPolicy.hashCode());
+ result =
+ (result * PRIME)
+ + (this.securityContext == null ? 43 : this.securityContext.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerOciFssVolume.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerOciFssVolume.java
new file mode 100644
index 00000000000..6a901027b78
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerOciFssVolume.java
@@ -0,0 +1,264 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * An OCI File Storage Service (FSS) File System that can be mounted to Containers within a
+ * Container Instance. Check
+ * https://docs.oracle.com/en-us/iaas/api/#/en/filestorage/20171215/FileSystem for more details.
+ *
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = ContainerOciFssVolume.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "volumeType")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class ContainerOciFssVolume extends ContainerVolume {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("name")
+ private String name;
+
+ public Builder name(String name) {
+ this.name = name;
+ this.__explicitlySet__.add("name");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("mountTarget")
+ private OciFssMountTarget mountTarget;
+
+ public Builder mountTarget(OciFssMountTarget mountTarget) {
+ this.mountTarget = mountTarget;
+ this.__explicitlySet__.add("mountTarget");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("export")
+ private OciFssExport export;
+
+ public Builder export(OciFssExport export) {
+ this.export = export;
+ this.__explicitlySet__.add("export");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("security")
+ private OciFssSecurity security;
+
+ public Builder security(OciFssSecurity security) {
+ this.security = security;
+ this.__explicitlySet__.add("security");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("mountCommand")
+ private OciFssMountCommand mountCommand;
+
+ public Builder mountCommand(OciFssMountCommand mountCommand) {
+ this.mountCommand = mountCommand;
+ this.__explicitlySet__.add("mountCommand");
+ return this;
+ }
+ /**
+ * Specifies the network interface to be used for the OCI File Storage Service (FSS) volume.
+ * This is a required parameter when a Container Instance is attached to more than one
+ * subnets.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("subnetId")
+ private String subnetId;
+
+ /**
+ * Specifies the network interface to be used for the OCI File Storage Service (FSS) volume.
+ * This is a required parameter when a Container Instance is attached to more than one
+ * subnets.
+ *
+ * @param subnetId the value to set
+ * @return this builder
+ */
+ public Builder subnetId(String subnetId) {
+ this.subnetId = subnetId;
+ this.__explicitlySet__.add("subnetId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public ContainerOciFssVolume build() {
+ ContainerOciFssVolume model =
+ new ContainerOciFssVolume(
+ this.name,
+ this.mountTarget,
+ this.export,
+ this.security,
+ this.mountCommand,
+ this.subnetId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(ContainerOciFssVolume model) {
+ if (model.wasPropertyExplicitlySet("name")) {
+ this.name(model.getName());
+ }
+ if (model.wasPropertyExplicitlySet("mountTarget")) {
+ this.mountTarget(model.getMountTarget());
+ }
+ if (model.wasPropertyExplicitlySet("export")) {
+ this.export(model.getExport());
+ }
+ if (model.wasPropertyExplicitlySet("security")) {
+ this.security(model.getSecurity());
+ }
+ if (model.wasPropertyExplicitlySet("mountCommand")) {
+ this.mountCommand(model.getMountCommand());
+ }
+ if (model.wasPropertyExplicitlySet("subnetId")) {
+ this.subnetId(model.getSubnetId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public ContainerOciFssVolume(
+ String name,
+ OciFssMountTarget mountTarget,
+ OciFssExport export,
+ OciFssSecurity security,
+ OciFssMountCommand mountCommand,
+ String subnetId) {
+ super(name);
+ this.mountTarget = mountTarget;
+ this.export = export;
+ this.security = security;
+ this.mountCommand = mountCommand;
+ this.subnetId = subnetId;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("mountTarget")
+ private final OciFssMountTarget mountTarget;
+
+ public OciFssMountTarget getMountTarget() {
+ return mountTarget;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("export")
+ private final OciFssExport export;
+
+ public OciFssExport getExport() {
+ return export;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("security")
+ private final OciFssSecurity security;
+
+ public OciFssSecurity getSecurity() {
+ return security;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("mountCommand")
+ private final OciFssMountCommand mountCommand;
+
+ public OciFssMountCommand getMountCommand() {
+ return mountCommand;
+ }
+
+ /**
+ * Specifies the network interface to be used for the OCI File Storage Service (FSS) volume.
+ * This is a required parameter when a Container Instance is attached to more than one subnets.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("subnetId")
+ private final String subnetId;
+
+ /**
+ * Specifies the network interface to be used for the OCI File Storage Service (FSS) volume.
+ * This is a required parameter when a Container Instance is attached to more than one subnets.
+ *
+ * @return the value
+ */
+ public String getSubnetId() {
+ return subnetId;
+ }
+
+ @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("ContainerOciFssVolume(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", mountTarget=").append(String.valueOf(this.mountTarget));
+ sb.append(", export=").append(String.valueOf(this.export));
+ sb.append(", security=").append(String.valueOf(this.security));
+ sb.append(", mountCommand=").append(String.valueOf(this.mountCommand));
+ sb.append(", subnetId=").append(String.valueOf(this.subnetId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ContainerOciFssVolume)) {
+ return false;
+ }
+
+ ContainerOciFssVolume other = (ContainerOciFssVolume) o;
+ return java.util.Objects.equals(this.mountTarget, other.mountTarget)
+ && java.util.Objects.equals(this.export, other.export)
+ && java.util.Objects.equals(this.security, other.security)
+ && java.util.Objects.equals(this.mountCommand, other.mountCommand)
+ && java.util.Objects.equals(this.subnetId, other.subnetId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.mountTarget == null ? 43 : this.mountTarget.hashCode());
+ result = (result * PRIME) + (this.export == null ? 43 : this.export.hashCode());
+ result = (result * PRIME) + (this.security == null ? 43 : this.security.hashCode());
+ result = (result * PRIME) + (this.mountCommand == null ? 43 : this.mountCommand.hashCode());
+ result = (result * PRIME) + (this.subnetId == null ? 43 : this.subnetId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerVolume.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerVolume.java
index cea4638542c..285a49ca2ad 100644
--- a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerVolume.java
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerVolume.java
@@ -28,7 +28,10 @@
name = "EMPTYDIR"),
@com.fasterxml.jackson.annotation.JsonSubTypes.Type(
value = ContainerConfigFileVolume.class,
- name = "CONFIGFILE")
+ name = "CONFIGFILE"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = ContainerOciFssVolume.class,
+ name = "OCI_FSS_FILE_SYSTEM")
})
@com.fasterxml.jackson.annotation.JsonFilter(
com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerVolumeType.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerVolumeType.java
index 383730cfe18..6c4eca500ae 100644
--- a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerVolumeType.java
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/ContainerVolumeType.java
@@ -9,6 +9,7 @@
public enum ContainerVolumeType implements com.oracle.bmc.http.internal.BmcEnum {
Emptydir("EMPTYDIR"),
Configfile("CONFIGFILE"),
+ OciFssFileSystem("OCI_FSS_FILE_SYSTEM"),
/**
* This value is used if a service returns a value for this enum that is not recognized by this
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerInstanceDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerInstanceDetails.java
index 1d52fec89e9..4063a031a78 100644
--- a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerInstanceDetails.java
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerInstanceDetails.java
@@ -38,7 +38,8 @@ public final class CreateContainerInstanceDetails
"imagePullSecrets",
"containerRestartPolicy",
"freeformTags",
- "definedTags"
+ "definedTags",
+ "securityContext"
})
public CreateContainerInstanceDetails(
String displayName,
@@ -55,7 +56,8 @@ public CreateContainerInstanceDetails(
java.util.List imagePullSecrets,
ContainerInstance.ContainerRestartPolicy containerRestartPolicy,
java.util.Map freeformTags,
- java.util.Map> definedTags) {
+ java.util.Map> definedTags,
+ CreateContainerInstanceSecurityContextDetails securityContext) {
super();
this.displayName = displayName;
this.compartmentId = compartmentId;
@@ -72,6 +74,7 @@ public CreateContainerInstanceDetails(
this.containerRestartPolicy = containerRestartPolicy;
this.freeformTags = freeformTags;
this.definedTags = definedTags;
+ this.securityContext = securityContext;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -323,6 +326,16 @@ public Builder definedTags(
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("securityContext")
+ private CreateContainerInstanceSecurityContextDetails securityContext;
+
+ public Builder securityContext(
+ CreateContainerInstanceSecurityContextDetails securityContext) {
+ this.securityContext = securityContext;
+ this.__explicitlySet__.add("securityContext");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -343,7 +356,8 @@ public CreateContainerInstanceDetails build() {
this.imagePullSecrets,
this.containerRestartPolicy,
this.freeformTags,
- this.definedTags);
+ this.definedTags,
+ this.securityContext);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -397,6 +411,9 @@ public Builder copy(CreateContainerInstanceDetails model) {
if (model.wasPropertyExplicitlySet("definedTags")) {
this.definedTags(model.getDefinedTags());
}
+ if (model.wasPropertyExplicitlySet("securityContext")) {
+ this.securityContext(model.getSecurityContext());
+ }
return this;
}
}
@@ -623,6 +640,13 @@ public java.util.Map> getDefinedTags() {
return definedTags;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("securityContext")
+ private final CreateContainerInstanceSecurityContextDetails securityContext;
+
+ public CreateContainerInstanceSecurityContextDetails getSecurityContext() {
+ return securityContext;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -654,6 +678,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", containerRestartPolicy=").append(String.valueOf(this.containerRestartPolicy));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", definedTags=").append(String.valueOf(this.definedTags));
+ sb.append(", securityContext=").append(String.valueOf(this.securityContext));
sb.append(")");
return sb.toString();
}
@@ -686,6 +711,7 @@ public boolean equals(Object o) {
this.containerRestartPolicy, other.containerRestartPolicy)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.definedTags, other.definedTags)
+ && java.util.Objects.equals(this.securityContext, other.securityContext)
&& super.equals(other);
}
@@ -724,6 +750,9 @@ public int hashCode() {
: this.containerRestartPolicy.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode());
+ result =
+ (result * PRIME)
+ + (this.securityContext == null ? 43 : this.securityContext.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerInstanceSecurityContextDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerInstanceSecurityContextDetails.java
new file mode 100644
index 00000000000..081bd846069
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerInstanceSecurityContextDetails.java
@@ -0,0 +1,79 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * Security context for all containers in a container instance.
+ * 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: 20210415")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "securityContextType",
+ defaultImpl = CreateContainerInstanceSecurityContextDetails.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CreateLinuxContainerInstanceSecurityContextDetails.class,
+ name = "LINUX")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class CreateContainerInstanceSecurityContextDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected CreateContainerInstanceSecurityContextDetails() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CreateContainerInstanceSecurityContextDetails(");
+ 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 CreateContainerInstanceSecurityContextDetails)) {
+ return false;
+ }
+
+ CreateContainerInstanceSecurityContextDetails other =
+ (CreateContainerInstanceSecurityContextDetails) 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-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerOciFssVolumeDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerOciFssVolumeDetails.java
new file mode 100644
index 00000000000..88102fa5c94
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerOciFssVolumeDetails.java
@@ -0,0 +1,264 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * An OCI File Storage Service (FSS) File System that can be mounted to Containers within a
+ * Container Instance. Check
+ * https://docs.oracle.com/en-us/iaas/api/#/en/filestorage/20171215/FileSystem for more details.
+ *
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateContainerOciFssVolumeDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "volumeType")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateContainerOciFssVolumeDetails extends CreateContainerVolumeDetails {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("name")
+ private String name;
+
+ public Builder name(String name) {
+ this.name = name;
+ this.__explicitlySet__.add("name");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("mountTarget")
+ private CreateOciFssMountTargetDetails mountTarget;
+
+ public Builder mountTarget(CreateOciFssMountTargetDetails mountTarget) {
+ this.mountTarget = mountTarget;
+ this.__explicitlySet__.add("mountTarget");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("export")
+ private CreateOciFssExportDetails export;
+
+ public Builder export(CreateOciFssExportDetails export) {
+ this.export = export;
+ this.__explicitlySet__.add("export");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("security")
+ private CreateOciFssSecurityDetails security;
+
+ public Builder security(CreateOciFssSecurityDetails security) {
+ this.security = security;
+ this.__explicitlySet__.add("security");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("mountCommand")
+ private CreateOciFssMountCommandDetails mountCommand;
+
+ public Builder mountCommand(CreateOciFssMountCommandDetails mountCommand) {
+ this.mountCommand = mountCommand;
+ this.__explicitlySet__.add("mountCommand");
+ return this;
+ }
+ /**
+ * Specifies the network interface to be used for the OCI File Storage Service (FSS) volume.
+ * This is a required parameter when a Container Instance is attached to more than one
+ * subnets.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("subnetId")
+ private String subnetId;
+
+ /**
+ * Specifies the network interface to be used for the OCI File Storage Service (FSS) volume.
+ * This is a required parameter when a Container Instance is attached to more than one
+ * subnets.
+ *
+ * @param subnetId the value to set
+ * @return this builder
+ */
+ public Builder subnetId(String subnetId) {
+ this.subnetId = subnetId;
+ this.__explicitlySet__.add("subnetId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateContainerOciFssVolumeDetails build() {
+ CreateContainerOciFssVolumeDetails model =
+ new CreateContainerOciFssVolumeDetails(
+ this.name,
+ this.mountTarget,
+ this.export,
+ this.security,
+ this.mountCommand,
+ this.subnetId);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateContainerOciFssVolumeDetails model) {
+ if (model.wasPropertyExplicitlySet("name")) {
+ this.name(model.getName());
+ }
+ if (model.wasPropertyExplicitlySet("mountTarget")) {
+ this.mountTarget(model.getMountTarget());
+ }
+ if (model.wasPropertyExplicitlySet("export")) {
+ this.export(model.getExport());
+ }
+ if (model.wasPropertyExplicitlySet("security")) {
+ this.security(model.getSecurity());
+ }
+ if (model.wasPropertyExplicitlySet("mountCommand")) {
+ this.mountCommand(model.getMountCommand());
+ }
+ if (model.wasPropertyExplicitlySet("subnetId")) {
+ this.subnetId(model.getSubnetId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CreateContainerOciFssVolumeDetails(
+ String name,
+ CreateOciFssMountTargetDetails mountTarget,
+ CreateOciFssExportDetails export,
+ CreateOciFssSecurityDetails security,
+ CreateOciFssMountCommandDetails mountCommand,
+ String subnetId) {
+ super(name);
+ this.mountTarget = mountTarget;
+ this.export = export;
+ this.security = security;
+ this.mountCommand = mountCommand;
+ this.subnetId = subnetId;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("mountTarget")
+ private final CreateOciFssMountTargetDetails mountTarget;
+
+ public CreateOciFssMountTargetDetails getMountTarget() {
+ return mountTarget;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("export")
+ private final CreateOciFssExportDetails export;
+
+ public CreateOciFssExportDetails getExport() {
+ return export;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("security")
+ private final CreateOciFssSecurityDetails security;
+
+ public CreateOciFssSecurityDetails getSecurity() {
+ return security;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("mountCommand")
+ private final CreateOciFssMountCommandDetails mountCommand;
+
+ public CreateOciFssMountCommandDetails getMountCommand() {
+ return mountCommand;
+ }
+
+ /**
+ * Specifies the network interface to be used for the OCI File Storage Service (FSS) volume.
+ * This is a required parameter when a Container Instance is attached to more than one subnets.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("subnetId")
+ private final String subnetId;
+
+ /**
+ * Specifies the network interface to be used for the OCI File Storage Service (FSS) volume.
+ * This is a required parameter when a Container Instance is attached to more than one subnets.
+ *
+ * @return the value
+ */
+ public String getSubnetId() {
+ return subnetId;
+ }
+
+ @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("CreateContainerOciFssVolumeDetails(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", mountTarget=").append(String.valueOf(this.mountTarget));
+ sb.append(", export=").append(String.valueOf(this.export));
+ sb.append(", security=").append(String.valueOf(this.security));
+ sb.append(", mountCommand=").append(String.valueOf(this.mountCommand));
+ sb.append(", subnetId=").append(String.valueOf(this.subnetId));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateContainerOciFssVolumeDetails)) {
+ return false;
+ }
+
+ CreateContainerOciFssVolumeDetails other = (CreateContainerOciFssVolumeDetails) o;
+ return java.util.Objects.equals(this.mountTarget, other.mountTarget)
+ && java.util.Objects.equals(this.export, other.export)
+ && java.util.Objects.equals(this.security, other.security)
+ && java.util.Objects.equals(this.mountCommand, other.mountCommand)
+ && java.util.Objects.equals(this.subnetId, other.subnetId)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.mountTarget == null ? 43 : this.mountTarget.hashCode());
+ result = (result * PRIME) + (this.export == null ? 43 : this.export.hashCode());
+ result = (result * PRIME) + (this.security == null ? 43 : this.security.hashCode());
+ result = (result * PRIME) + (this.mountCommand == null ? 43 : this.mountCommand.hashCode());
+ result = (result * PRIME) + (this.subnetId == null ? 43 : this.subnetId.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerVolumeDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerVolumeDetails.java
index 22169b4c96c..6376974e10d 100644
--- a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerVolumeDetails.java
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateContainerVolumeDetails.java
@@ -23,6 +23,9 @@
property = "volumeType",
defaultImpl = CreateContainerVolumeDetails.class)
@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CreateContainerOciFssVolumeDetails.class,
+ name = "OCI_FSS_FILE_SYSTEM"),
@com.fasterxml.jackson.annotation.JsonSubTypes.Type(
value = CreateContainerConfigFileVolumeDetails.class,
name = "CONFIGFILE"),
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateLinuxContainerInstanceSecurityContextDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateLinuxContainerInstanceSecurityContextDetails.java
new file mode 100644
index 00000000000..31ca3b33925
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateLinuxContainerInstanceSecurityContextDetails.java
@@ -0,0 +1,227 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * Security context for all containers in a Linux container instance.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateLinuxContainerInstanceSecurityContextDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "securityContextType")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateLinuxContainerInstanceSecurityContextDetails
+ extends CreateContainerInstanceSecurityContextDetails {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * A special supplemental group that applies to all containers in the container instance.
+ * Some volume types allow the container instance to change ownership of the volume. The
+ * owning GID will be the fsGroup, the setgid bit will be set (new files will be owned by
+ * the fsGroup), and the permission bits are OR'd with rw-rw----. If unset, the container
+ * instance will not modify the ownership and permissions of volumes.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("fsGroup")
+ private Integer fsGroup;
+
+ /**
+ * A special supplemental group that applies to all containers in the container instance.
+ * Some volume types allow the container instance to change ownership of the volume. The
+ * owning GID will be the fsGroup, the setgid bit will be set (new files will be owned by
+ * the fsGroup), and the permission bits are OR'd with rw-rw----. If unset, the container
+ * instance will not modify the ownership and permissions of volumes.
+ *
+ * @param fsGroup the value to set
+ * @return this builder
+ */
+ public Builder fsGroup(Integer fsGroup) {
+ this.fsGroup = fsGroup;
+ this.__explicitlySet__.add("fsGroup");
+ return this;
+ }
+ /**
+ * Defines behavior of changing ownership and permission of the volume before being exposed
+ * inside the containers. This only applies to volumes which support fsGroup ownership and
+ * permissions, and will have no effect on ephemeral volumes. ON_ROOT_MISMATCH only changes
+ * permissions and ownership if the permission and ownership of the root directory does not
+ * match the expected permissions and ownership of the volume. This can improve container
+ * instance start times. ALWAYS changes permission and ownership of the volume when it is
+ * mounted. If unset, ALWAYS is used.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("fsGroupChangePolicy")
+ private ContainerFsGroupChangePolicyType fsGroupChangePolicy;
+
+ /**
+ * Defines behavior of changing ownership and permission of the volume before being exposed
+ * inside the containers. This only applies to volumes which support fsGroup ownership and
+ * permissions, and will have no effect on ephemeral volumes. ON_ROOT_MISMATCH only changes
+ * permissions and ownership if the permission and ownership of the root directory does not
+ * match the expected permissions and ownership of the volume. This can improve container
+ * instance start times. ALWAYS changes permission and ownership of the volume when it is
+ * mounted. If unset, ALWAYS is used.
+ *
+ * @param fsGroupChangePolicy the value to set
+ * @return this builder
+ */
+ public Builder fsGroupChangePolicy(ContainerFsGroupChangePolicyType fsGroupChangePolicy) {
+ this.fsGroupChangePolicy = fsGroupChangePolicy;
+ this.__explicitlySet__.add("fsGroupChangePolicy");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateLinuxContainerInstanceSecurityContextDetails build() {
+ CreateLinuxContainerInstanceSecurityContextDetails model =
+ new CreateLinuxContainerInstanceSecurityContextDetails(
+ this.fsGroup, this.fsGroupChangePolicy);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateLinuxContainerInstanceSecurityContextDetails model) {
+ if (model.wasPropertyExplicitlySet("fsGroup")) {
+ this.fsGroup(model.getFsGroup());
+ }
+ if (model.wasPropertyExplicitlySet("fsGroupChangePolicy")) {
+ this.fsGroupChangePolicy(model.getFsGroupChangePolicy());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CreateLinuxContainerInstanceSecurityContextDetails(
+ Integer fsGroup, ContainerFsGroupChangePolicyType fsGroupChangePolicy) {
+ super();
+ this.fsGroup = fsGroup;
+ this.fsGroupChangePolicy = fsGroupChangePolicy;
+ }
+
+ /**
+ * A special supplemental group that applies to all containers in the container instance. Some
+ * volume types allow the container instance to change ownership of the volume. The owning GID
+ * will be the fsGroup, the setgid bit will be set (new files will be owned by the fsGroup), and
+ * the permission bits are OR'd with rw-rw----. If unset, the container instance will not modify
+ * the ownership and permissions of volumes.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("fsGroup")
+ private final Integer fsGroup;
+
+ /**
+ * A special supplemental group that applies to all containers in the container instance. Some
+ * volume types allow the container instance to change ownership of the volume. The owning GID
+ * will be the fsGroup, the setgid bit will be set (new files will be owned by the fsGroup), and
+ * the permission bits are OR'd with rw-rw----. If unset, the container instance will not modify
+ * the ownership and permissions of volumes.
+ *
+ * @return the value
+ */
+ public Integer getFsGroup() {
+ return fsGroup;
+ }
+
+ /**
+ * Defines behavior of changing ownership and permission of the volume before being exposed
+ * inside the containers. This only applies to volumes which support fsGroup ownership and
+ * permissions, and will have no effect on ephemeral volumes. ON_ROOT_MISMATCH only changes
+ * permissions and ownership if the permission and ownership of the root directory does not
+ * match the expected permissions and ownership of the volume. This can improve container
+ * instance start times. ALWAYS changes permission and ownership of the volume when it is
+ * mounted. If unset, ALWAYS is used.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("fsGroupChangePolicy")
+ private final ContainerFsGroupChangePolicyType fsGroupChangePolicy;
+
+ /**
+ * Defines behavior of changing ownership and permission of the volume before being exposed
+ * inside the containers. This only applies to volumes which support fsGroup ownership and
+ * permissions, and will have no effect on ephemeral volumes. ON_ROOT_MISMATCH only changes
+ * permissions and ownership if the permission and ownership of the root directory does not
+ * match the expected permissions and ownership of the volume. This can improve container
+ * instance start times. ALWAYS changes permission and ownership of the volume when it is
+ * mounted. If unset, ALWAYS is used.
+ *
+ * @return the value
+ */
+ public ContainerFsGroupChangePolicyType getFsGroupChangePolicy() {
+ return fsGroupChangePolicy;
+ }
+
+ @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("CreateLinuxContainerInstanceSecurityContextDetails(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", fsGroup=").append(String.valueOf(this.fsGroup));
+ sb.append(", fsGroupChangePolicy=").append(String.valueOf(this.fsGroupChangePolicy));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateLinuxContainerInstanceSecurityContextDetails)) {
+ return false;
+ }
+
+ CreateLinuxContainerInstanceSecurityContextDetails other =
+ (CreateLinuxContainerInstanceSecurityContextDetails) o;
+ return java.util.Objects.equals(this.fsGroup, other.fsGroup)
+ && java.util.Objects.equals(this.fsGroupChangePolicy, other.fsGroupChangePolicy)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.fsGroup == null ? 43 : this.fsGroup.hashCode());
+ result =
+ (result * PRIME)
+ + (this.fsGroupChangePolicy == null
+ ? 43
+ : this.fsGroupChangePolicy.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssExportDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssExportDetails.java
new file mode 100644
index 00000000000..f53391609d9
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssExportDetails.java
@@ -0,0 +1,115 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * An OCI File Storage Service (FSS) Export. Check
+ * https://docs.oracle.com/en-us/iaas/api/#/en/filestorage/20171215/Export/ for more details.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20210415")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "ociFssExportType",
+ defaultImpl = CreateOciFssExportDetails.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CreateOciFssExportIdDetails.class,
+ name = "OCID")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class CreateOciFssExportDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected CreateOciFssExportDetails() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CreateOciFssExportDetails(");
+ 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 CreateOciFssExportDetails)) {
+ return false;
+ }
+
+ CreateOciFssExportDetails other = (CreateOciFssExportDetails) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+
+ /**
+ * Determines the mode for supplying the OCI File Storage Service (FSS) Export details. The
+ * value must be an OCID unless your tenancy is allowed to use PATH as a value.
+ */
+ public enum OciFssExportType implements com.oracle.bmc.http.internal.BmcEnum {
+ Ocid("OCID"),
+ ;
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (OciFssExportType v : OciFssExportType.values()) {
+ map.put(v.getValue(), v);
+ }
+ }
+
+ OciFssExportType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static OciFssExportType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ throw new IllegalArgumentException("Invalid OciFssExportType: " + key);
+ }
+ };
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssExportIdDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssExportIdDetails.java
new file mode 100644
index 00000000000..2b5b78fa78f
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssExportIdDetails.java
@@ -0,0 +1,135 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * The OCID of the OCI File Storage Service (FSS) Export. The user must have read permission for
+ * export-sets.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateOciFssExportIdDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "ociFssExportType")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateOciFssExportIdDetails extends CreateOciFssExportDetails {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the OCI File Storage Service (FSS) Export. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private String id;
+
+ /**
+ * The OCID of the OCI File Storage Service (FSS) Export.
+ *
+ * @param id the value to set
+ * @return this builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ this.__explicitlySet__.add("id");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateOciFssExportIdDetails build() {
+ CreateOciFssExportIdDetails model = new CreateOciFssExportIdDetails(this.id);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateOciFssExportIdDetails model) {
+ if (model.wasPropertyExplicitlySet("id")) {
+ this.id(model.getId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CreateOciFssExportIdDetails(String id) {
+ super();
+ this.id = id;
+ }
+
+ /** The OCID of the OCI File Storage Service (FSS) Export. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private final String id;
+
+ /**
+ * The OCID of the OCI File Storage Service (FSS) Export.
+ *
+ * @return the value
+ */
+ public String getId() {
+ return id;
+ }
+
+ @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("CreateOciFssExportIdDetails(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", id=").append(String.valueOf(this.id));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOciFssExportIdDetails)) {
+ return false;
+ }
+
+ CreateOciFssExportIdDetails other = (CreateOciFssExportIdDetails) o;
+ return java.util.Objects.equals(this.id, other.id) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountCommandDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountCommandDetails.java
new file mode 100644
index 00000000000..2ac4c97b151
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountCommandDetails.java
@@ -0,0 +1,145 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * Specifications for the mount command to mount the OCI File Storage Service (FSS) File System to
+ * Containers.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateOciFssMountCommandDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateOciFssMountCommandDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"mountOptions"})
+ public CreateOciFssMountCommandDetails(
+ java.util.List mountOptions) {
+ super();
+ this.mountOptions = mountOptions;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * List of mount options to be used in the mount command. The order of this array will be
+ * maintained while preparing the mount command.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("mountOptions")
+ private java.util.List mountOptions;
+
+ /**
+ * List of mount options to be used in the mount command. The order of this array will be
+ * maintained while preparing the mount command.
+ *
+ * @param mountOptions the value to set
+ * @return this builder
+ */
+ public Builder mountOptions(java.util.List mountOptions) {
+ this.mountOptions = mountOptions;
+ this.__explicitlySet__.add("mountOptions");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateOciFssMountCommandDetails build() {
+ CreateOciFssMountCommandDetails model =
+ new CreateOciFssMountCommandDetails(this.mountOptions);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateOciFssMountCommandDetails model) {
+ if (model.wasPropertyExplicitlySet("mountOptions")) {
+ this.mountOptions(model.getMountOptions());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /**
+ * List of mount options to be used in the mount command. The order of this array will be
+ * maintained while preparing the mount command.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("mountOptions")
+ private final java.util.List mountOptions;
+
+ /**
+ * List of mount options to be used in the mount command. The order of this array will be
+ * maintained while preparing the mount command.
+ *
+ * @return the value
+ */
+ public java.util.List getMountOptions() {
+ return mountOptions;
+ }
+
+ @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("CreateOciFssMountCommandDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("mountOptions=").append(String.valueOf(this.mountOptions));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOciFssMountCommandDetails)) {
+ return false;
+ }
+
+ CreateOciFssMountCommandDetails other = (CreateOciFssMountCommandDetails) o;
+ return java.util.Objects.equals(this.mountOptions, other.mountOptions)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.mountOptions == null ? 43 : this.mountOptions.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountOptionDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountOptionDetails.java
new file mode 100644
index 00000000000..3aa8c5c1567
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountOptionDetails.java
@@ -0,0 +1,180 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * A mount option to be used in the mount command while mounting the OCI File Storage Service (FSS)
+ * File System to Containers. The mount option will look like option=value in the mount command.
+ *
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateOciFssMountOptionDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateOciFssMountOptionDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"option", "value"})
+ public CreateOciFssMountOptionDetails(String option, String value) {
+ super();
+ this.option = option;
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * A generic (https://man7.org/linux/man-pages/man8/mount.8.html) or nfs
+ * (https://man7.org/linux/man-pages/man5/nfs.5.html) mount option.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("option")
+ private String option;
+
+ /**
+ * A generic (https://man7.org/linux/man-pages/man8/mount.8.html) or nfs
+ * (https://man7.org/linux/man-pages/man5/nfs.5.html) mount option.
+ *
+ * @param option the value to set
+ * @return this builder
+ */
+ public Builder option(String option) {
+ this.option = option;
+ this.__explicitlySet__.add("option");
+ return this;
+ }
+ /** The value of the mount option. */
+ @com.fasterxml.jackson.annotation.JsonProperty("value")
+ private String value;
+
+ /**
+ * The value of the mount option.
+ *
+ * @param value the value to set
+ * @return this builder
+ */
+ public Builder value(String value) {
+ this.value = value;
+ this.__explicitlySet__.add("value");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateOciFssMountOptionDetails build() {
+ CreateOciFssMountOptionDetails model =
+ new CreateOciFssMountOptionDetails(this.option, this.value);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateOciFssMountOptionDetails model) {
+ if (model.wasPropertyExplicitlySet("option")) {
+ this.option(model.getOption());
+ }
+ if (model.wasPropertyExplicitlySet("value")) {
+ this.value(model.getValue());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /**
+ * A generic (https://man7.org/linux/man-pages/man8/mount.8.html) or nfs
+ * (https://man7.org/linux/man-pages/man5/nfs.5.html) mount option.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("option")
+ private final String option;
+
+ /**
+ * A generic (https://man7.org/linux/man-pages/man8/mount.8.html) or nfs
+ * (https://man7.org/linux/man-pages/man5/nfs.5.html) mount option.
+ *
+ * @return the value
+ */
+ public String getOption() {
+ return option;
+ }
+
+ /** The value of the mount option. */
+ @com.fasterxml.jackson.annotation.JsonProperty("value")
+ private final String value;
+
+ /**
+ * The value of the mount option.
+ *
+ * @return the value
+ */
+ public String getValue() {
+ return value;
+ }
+
+ @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("CreateOciFssMountOptionDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("option=").append(String.valueOf(this.option));
+ sb.append(", value=").append(String.valueOf(this.value));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOciFssMountOptionDetails)) {
+ return false;
+ }
+
+ CreateOciFssMountOptionDetails other = (CreateOciFssMountOptionDetails) o;
+ return java.util.Objects.equals(this.option, other.option)
+ && java.util.Objects.equals(this.value, other.value)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.option == null ? 43 : this.option.hashCode());
+ result = (result * PRIME) + (this.value == null ? 43 : this.value.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountTargetDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountTargetDetails.java
new file mode 100644
index 00000000000..6ff09050d4d
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountTargetDetails.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.containerinstances.model;
+
+/**
+ * An OCI File Storage Service (FSS) Mount Target. Check
+ * https://docs.oracle.com/en-us/iaas/api/#/en/filestorage/20171215/MountTarget for more details.
+ *
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20210415")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "ociFssMountTargetType",
+ defaultImpl = CreateOciFssMountTargetDetails.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CreateOciFssMountTargetIdDetails.class,
+ name = "OCID")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class CreateOciFssMountTargetDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected CreateOciFssMountTargetDetails() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CreateOciFssMountTargetDetails(");
+ 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 CreateOciFssMountTargetDetails)) {
+ return false;
+ }
+
+ CreateOciFssMountTargetDetails other = (CreateOciFssMountTargetDetails) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+
+ /**
+ * Determines the mode for supplying the OCI File Storage Service (FSS) Mount target details.
+ * The value must be an OCID unless your tenancy is allowed to use HOST as a value.
+ */
+ public enum OciFssMountTargetType implements com.oracle.bmc.http.internal.BmcEnum {
+ Ocid("OCID"),
+ ;
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (OciFssMountTargetType v : OciFssMountTargetType.values()) {
+ map.put(v.getValue(), v);
+ }
+ }
+
+ OciFssMountTargetType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static OciFssMountTargetType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ throw new IllegalArgumentException("Invalid OciFssMountTargetType: " + key);
+ }
+ };
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountTargetIdDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountTargetIdDetails.java
new file mode 100644
index 00000000000..21cba86c140
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssMountTargetIdDetails.java
@@ -0,0 +1,135 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * The OCID of the OCI File Storage Service (FSS) Mount Target. The user must have read permission
+ * for mount-targets.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateOciFssMountTargetIdDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "ociFssMountTargetType")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateOciFssMountTargetIdDetails extends CreateOciFssMountTargetDetails {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the OCI File Storage Service (FSS) Mount Target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private String id;
+
+ /**
+ * The OCID of the OCI File Storage Service (FSS) Mount Target.
+ *
+ * @param id the value to set
+ * @return this builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ this.__explicitlySet__.add("id");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateOciFssMountTargetIdDetails build() {
+ CreateOciFssMountTargetIdDetails model = new CreateOciFssMountTargetIdDetails(this.id);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateOciFssMountTargetIdDetails model) {
+ if (model.wasPropertyExplicitlySet("id")) {
+ this.id(model.getId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CreateOciFssMountTargetIdDetails(String id) {
+ super();
+ this.id = id;
+ }
+
+ /** The OCID of the OCI File Storage Service (FSS) Mount Target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private final String id;
+
+ /**
+ * The OCID of the OCI File Storage Service (FSS) Mount Target.
+ *
+ * @return the value
+ */
+ public String getId() {
+ return id;
+ }
+
+ @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("CreateOciFssMountTargetIdDetails(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", id=").append(String.valueOf(this.id));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOciFssMountTargetIdDetails)) {
+ return false;
+ }
+
+ CreateOciFssMountTargetIdDetails other = (CreateOciFssMountTargetIdDetails) o;
+ return java.util.Objects.equals(this.id, other.id) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssSecurityDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssSecurityDetails.java
new file mode 100644
index 00000000000..1bd7efb1208
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssSecurityDetails.java
@@ -0,0 +1,138 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * Security options for OCI FSS File System.
+ * 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: 20210415")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "auth",
+ defaultImpl = CreateOciFssSecurityDetails.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CreateOciFssSysSecurityDetails.class,
+ name = "SYS")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class CreateOciFssSecurityDetails
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"isEncryptedInTransit"})
+ protected CreateOciFssSecurityDetails(Boolean isEncryptedInTransit) {
+ super();
+ this.isEncryptedInTransit = isEncryptedInTransit;
+ }
+
+ /**
+ * Determines whether in-transit encryption needs to be enables. Check
+ * https://docs.oracle.com/en-us/iaas/Content/File/Tasks/intransitencryption.htm#Using_Intransit_Encryption
+ * for more details.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isEncryptedInTransit")
+ private final Boolean isEncryptedInTransit;
+
+ /**
+ * Determines whether in-transit encryption needs to be enables. Check
+ * https://docs.oracle.com/en-us/iaas/Content/File/Tasks/intransitencryption.htm#Using_Intransit_Encryption
+ * for more details.
+ *
+ * @return the value
+ */
+ public Boolean getIsEncryptedInTransit() {
+ return isEncryptedInTransit;
+ }
+
+ @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("CreateOciFssSecurityDetails(");
+ sb.append("super=").append(super.toString());
+ sb.append("isEncryptedInTransit=").append(String.valueOf(this.isEncryptedInTransit));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOciFssSecurityDetails)) {
+ return false;
+ }
+
+ CreateOciFssSecurityDetails other = (CreateOciFssSecurityDetails) o;
+ return java.util.Objects.equals(this.isEncryptedInTransit, other.isEncryptedInTransit)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.isEncryptedInTransit == null
+ ? 43
+ : this.isEncryptedInTransit.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+
+ /** NFS authentication type to be used. Currently, only auth type SYS is supported. */
+ public enum Auth implements com.oracle.bmc.http.internal.BmcEnum {
+ Sys("SYS"),
+ ;
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (Auth v : Auth.values()) {
+ map.put(v.getValue(), v);
+ }
+ }
+
+ Auth(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static Auth create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ throw new IllegalArgumentException("Invalid Auth: " + key);
+ }
+ };
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssSysSecurityDetails.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssSysSecurityDetails.java
new file mode 100644
index 00000000000..aa1238b36c7
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/CreateOciFssSysSecurityDetails.java
@@ -0,0 +1,112 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * SYS security options for OCI FSS File System.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CreateOciFssSysSecurityDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "auth")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateOciFssSysSecurityDetails extends CreateOciFssSecurityDetails {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("isEncryptedInTransit")
+ private Boolean isEncryptedInTransit;
+
+ public Builder isEncryptedInTransit(Boolean isEncryptedInTransit) {
+ this.isEncryptedInTransit = isEncryptedInTransit;
+ this.__explicitlySet__.add("isEncryptedInTransit");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateOciFssSysSecurityDetails build() {
+ CreateOciFssSysSecurityDetails model =
+ new CreateOciFssSysSecurityDetails(this.isEncryptedInTransit);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateOciFssSysSecurityDetails model) {
+ if (model.wasPropertyExplicitlySet("isEncryptedInTransit")) {
+ this.isEncryptedInTransit(model.getIsEncryptedInTransit());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CreateOciFssSysSecurityDetails(Boolean isEncryptedInTransit) {
+ super(isEncryptedInTransit);
+ }
+
+ @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("CreateOciFssSysSecurityDetails(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateOciFssSysSecurityDetails)) {
+ return false;
+ }
+
+ CreateOciFssSysSecurityDetails other = (CreateOciFssSysSecurityDetails) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/LinuxContainerInstanceSecurityContext.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/LinuxContainerInstanceSecurityContext.java
new file mode 100644
index 00000000000..62b6b86352a
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/LinuxContainerInstanceSecurityContext.java
@@ -0,0 +1,225 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * Security context for all containers in a container instance.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = LinuxContainerInstanceSecurityContext.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "securityContextType")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class LinuxContainerInstanceSecurityContext extends ContainerInstanceSecurityContext {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * A special supplemental group that applies to all containers in the container instance.
+ * Some volume types allow the container instance to change ownership of the volume. The
+ * owning GID will be the fsGroup, the setgid bit will be set (new files will be owned by
+ * the fsGroup), and the permission bits are OR'd with rw-rw----. If unset, the container
+ * instance will not modify the ownership and permissions of volumes.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("fsGroup")
+ private Integer fsGroup;
+
+ /**
+ * A special supplemental group that applies to all containers in the container instance.
+ * Some volume types allow the container instance to change ownership of the volume. The
+ * owning GID will be the fsGroup, the setgid bit will be set (new files will be owned by
+ * the fsGroup), and the permission bits are OR'd with rw-rw----. If unset, the container
+ * instance will not modify the ownership and permissions of volumes.
+ *
+ * @param fsGroup the value to set
+ * @return this builder
+ */
+ public Builder fsGroup(Integer fsGroup) {
+ this.fsGroup = fsGroup;
+ this.__explicitlySet__.add("fsGroup");
+ return this;
+ }
+ /**
+ * Defines behavior of changing ownership and permission of the volume before being exposed
+ * inside the containers. This only applies to volumes which support fsGroup ownership and
+ * permissions, and will have no effect on ephemeral volumes. ON_ROOT_MISMATCH only changes
+ * permissions and ownership if the permission and ownership of the root directory does not
+ * match the expected permissions and ownership of the volume. This can improve container
+ * instance start times. ALWAYS changes permission and ownership of the volume when it is
+ * mounted. If unset, ALWAYS is used.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("fsGroupChangePolicy")
+ private ContainerFsGroupChangePolicyType fsGroupChangePolicy;
+
+ /**
+ * Defines behavior of changing ownership and permission of the volume before being exposed
+ * inside the containers. This only applies to volumes which support fsGroup ownership and
+ * permissions, and will have no effect on ephemeral volumes. ON_ROOT_MISMATCH only changes
+ * permissions and ownership if the permission and ownership of the root directory does not
+ * match the expected permissions and ownership of the volume. This can improve container
+ * instance start times. ALWAYS changes permission and ownership of the volume when it is
+ * mounted. If unset, ALWAYS is used.
+ *
+ * @param fsGroupChangePolicy the value to set
+ * @return this builder
+ */
+ public Builder fsGroupChangePolicy(ContainerFsGroupChangePolicyType fsGroupChangePolicy) {
+ this.fsGroupChangePolicy = fsGroupChangePolicy;
+ this.__explicitlySet__.add("fsGroupChangePolicy");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public LinuxContainerInstanceSecurityContext build() {
+ LinuxContainerInstanceSecurityContext model =
+ new LinuxContainerInstanceSecurityContext(
+ this.fsGroup, this.fsGroupChangePolicy);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(LinuxContainerInstanceSecurityContext model) {
+ if (model.wasPropertyExplicitlySet("fsGroup")) {
+ this.fsGroup(model.getFsGroup());
+ }
+ if (model.wasPropertyExplicitlySet("fsGroupChangePolicy")) {
+ this.fsGroupChangePolicy(model.getFsGroupChangePolicy());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public LinuxContainerInstanceSecurityContext(
+ Integer fsGroup, ContainerFsGroupChangePolicyType fsGroupChangePolicy) {
+ super();
+ this.fsGroup = fsGroup;
+ this.fsGroupChangePolicy = fsGroupChangePolicy;
+ }
+
+ /**
+ * A special supplemental group that applies to all containers in the container instance. Some
+ * volume types allow the container instance to change ownership of the volume. The owning GID
+ * will be the fsGroup, the setgid bit will be set (new files will be owned by the fsGroup), and
+ * the permission bits are OR'd with rw-rw----. If unset, the container instance will not modify
+ * the ownership and permissions of volumes.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("fsGroup")
+ private final Integer fsGroup;
+
+ /**
+ * A special supplemental group that applies to all containers in the container instance. Some
+ * volume types allow the container instance to change ownership of the volume. The owning GID
+ * will be the fsGroup, the setgid bit will be set (new files will be owned by the fsGroup), and
+ * the permission bits are OR'd with rw-rw----. If unset, the container instance will not modify
+ * the ownership and permissions of volumes.
+ *
+ * @return the value
+ */
+ public Integer getFsGroup() {
+ return fsGroup;
+ }
+
+ /**
+ * Defines behavior of changing ownership and permission of the volume before being exposed
+ * inside the containers. This only applies to volumes which support fsGroup ownership and
+ * permissions, and will have no effect on ephemeral volumes. ON_ROOT_MISMATCH only changes
+ * permissions and ownership if the permission and ownership of the root directory does not
+ * match the expected permissions and ownership of the volume. This can improve container
+ * instance start times. ALWAYS changes permission and ownership of the volume when it is
+ * mounted. If unset, ALWAYS is used.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("fsGroupChangePolicy")
+ private final ContainerFsGroupChangePolicyType fsGroupChangePolicy;
+
+ /**
+ * Defines behavior of changing ownership and permission of the volume before being exposed
+ * inside the containers. This only applies to volumes which support fsGroup ownership and
+ * permissions, and will have no effect on ephemeral volumes. ON_ROOT_MISMATCH only changes
+ * permissions and ownership if the permission and ownership of the root directory does not
+ * match the expected permissions and ownership of the volume. This can improve container
+ * instance start times. ALWAYS changes permission and ownership of the volume when it is
+ * mounted. If unset, ALWAYS is used.
+ *
+ * @return the value
+ */
+ public ContainerFsGroupChangePolicyType getFsGroupChangePolicy() {
+ return fsGroupChangePolicy;
+ }
+
+ @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("LinuxContainerInstanceSecurityContext(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", fsGroup=").append(String.valueOf(this.fsGroup));
+ sb.append(", fsGroupChangePolicy=").append(String.valueOf(this.fsGroupChangePolicy));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof LinuxContainerInstanceSecurityContext)) {
+ return false;
+ }
+
+ LinuxContainerInstanceSecurityContext other = (LinuxContainerInstanceSecurityContext) o;
+ return java.util.Objects.equals(this.fsGroup, other.fsGroup)
+ && java.util.Objects.equals(this.fsGroupChangePolicy, other.fsGroupChangePolicy)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.fsGroup == null ? 43 : this.fsGroup.hashCode());
+ result =
+ (result * PRIME)
+ + (this.fsGroupChangePolicy == null
+ ? 43
+ : this.fsGroupChangePolicy.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssExport.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssExport.java
new file mode 100644
index 00000000000..006adca88cd
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssExport.java
@@ -0,0 +1,125 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * An OCI File Storage Service (FSS) Export. Check
+ * https://docs.oracle.com/en-us/iaas/api/#/en/filestorage/20171215/Export/ for more details.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20210415")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "ociFssExportType",
+ defaultImpl = OciFssExport.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(value = OciFssExportId.class, name = "OCID")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class OciFssExport extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected OciFssExport() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OciFssExport(");
+ 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 OciFssExport)) {
+ return false;
+ }
+
+ OciFssExport other = (OciFssExport) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+
+ /**
+ * Determines the mode for supplying the OCI File Storage Service (FSS) Export details. The
+ * value must be an OCID unless your tenancy is allowed to use PATH as a value.
+ */
+ public enum OciFssExportType implements com.oracle.bmc.http.internal.BmcEnum {
+ Ocid("OCID"),
+
+ /**
+ * 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(OciFssExportType.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (OciFssExportType v : OciFssExportType.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ OciFssExportType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static OciFssExportType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'OciFssExportType', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssExportId.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssExportId.java
new file mode 100644
index 00000000000..5b9202823da
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssExportId.java
@@ -0,0 +1,134 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * The OCID of the OCI File Storage Service (FSS) Export. The user must have read permission for
+ * export-sets.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = OciFssExportId.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "ociFssExportType")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OciFssExportId extends OciFssExport {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the OCI File Storage Service (FSS) Export. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private String id;
+
+ /**
+ * The OCID of the OCI File Storage Service (FSS) Export.
+ *
+ * @param id the value to set
+ * @return this builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ this.__explicitlySet__.add("id");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OciFssExportId build() {
+ OciFssExportId model = new OciFssExportId(this.id);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OciFssExportId model) {
+ if (model.wasPropertyExplicitlySet("id")) {
+ this.id(model.getId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OciFssExportId(String id) {
+ super();
+ this.id = id;
+ }
+
+ /** The OCID of the OCI File Storage Service (FSS) Export. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private final String id;
+
+ /**
+ * The OCID of the OCI File Storage Service (FSS) Export.
+ *
+ * @return the value
+ */
+ public String getId() {
+ return id;
+ }
+
+ @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("OciFssExportId(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", id=").append(String.valueOf(this.id));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OciFssExportId)) {
+ return false;
+ }
+
+ OciFssExportId other = (OciFssExportId) o;
+ return java.util.Objects.equals(this.id, other.id) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountCommand.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountCommand.java
new file mode 100644
index 00000000000..3154b35d66e
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountCommand.java
@@ -0,0 +1,143 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * Specifications for the mount command to mount the OCI File Storage Service (FSS) File System to
+ * Containers.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OciFssMountCommand.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OciFssMountCommand
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"mountOptions"})
+ public OciFssMountCommand(java.util.List mountOptions) {
+ super();
+ this.mountOptions = mountOptions;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * List of mount options to be used in the mount command. The order of this array will be
+ * maintained while preparing the mount command.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("mountOptions")
+ private java.util.List mountOptions;
+
+ /**
+ * List of mount options to be used in the mount command. The order of this array will be
+ * maintained while preparing the mount command.
+ *
+ * @param mountOptions the value to set
+ * @return this builder
+ */
+ public Builder mountOptions(java.util.List mountOptions) {
+ this.mountOptions = mountOptions;
+ this.__explicitlySet__.add("mountOptions");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OciFssMountCommand build() {
+ OciFssMountCommand model = new OciFssMountCommand(this.mountOptions);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OciFssMountCommand model) {
+ if (model.wasPropertyExplicitlySet("mountOptions")) {
+ this.mountOptions(model.getMountOptions());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /**
+ * List of mount options to be used in the mount command. The order of this array will be
+ * maintained while preparing the mount command.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("mountOptions")
+ private final java.util.List mountOptions;
+
+ /**
+ * List of mount options to be used in the mount command. The order of this array will be
+ * maintained while preparing the mount command.
+ *
+ * @return the value
+ */
+ public java.util.List getMountOptions() {
+ return mountOptions;
+ }
+
+ @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("OciFssMountCommand(");
+ sb.append("super=").append(super.toString());
+ sb.append("mountOptions=").append(String.valueOf(this.mountOptions));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OciFssMountCommand)) {
+ return false;
+ }
+
+ OciFssMountCommand other = (OciFssMountCommand) o;
+ return java.util.Objects.equals(this.mountOptions, other.mountOptions)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.mountOptions == null ? 43 : this.mountOptions.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountOption.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountOption.java
new file mode 100644
index 00000000000..0d5780601ac
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountOption.java
@@ -0,0 +1,179 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * A mount option to be used in the mount command while mounting the OCI File Storage Service (FSS)
+ * File System to Containers. The mount option will look like option=value in the mount command.
+ *
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OciFssMountOption.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OciFssMountOption
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"option", "value"})
+ public OciFssMountOption(String option, String value) {
+ super();
+ this.option = option;
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * A generic (https://man7.org/linux/man-pages/man8/mount.8.html) or nfs
+ * (https://man7.org/linux/man-pages/man5/nfs.5.html) mount option.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("option")
+ private String option;
+
+ /**
+ * A generic (https://man7.org/linux/man-pages/man8/mount.8.html) or nfs
+ * (https://man7.org/linux/man-pages/man5/nfs.5.html) mount option.
+ *
+ * @param option the value to set
+ * @return this builder
+ */
+ public Builder option(String option) {
+ this.option = option;
+ this.__explicitlySet__.add("option");
+ return this;
+ }
+ /** The value of the mount option. */
+ @com.fasterxml.jackson.annotation.JsonProperty("value")
+ private String value;
+
+ /**
+ * The value of the mount option.
+ *
+ * @param value the value to set
+ * @return this builder
+ */
+ public Builder value(String value) {
+ this.value = value;
+ this.__explicitlySet__.add("value");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OciFssMountOption build() {
+ OciFssMountOption model = new OciFssMountOption(this.option, this.value);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OciFssMountOption model) {
+ if (model.wasPropertyExplicitlySet("option")) {
+ this.option(model.getOption());
+ }
+ if (model.wasPropertyExplicitlySet("value")) {
+ this.value(model.getValue());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /**
+ * A generic (https://man7.org/linux/man-pages/man8/mount.8.html) or nfs
+ * (https://man7.org/linux/man-pages/man5/nfs.5.html) mount option.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("option")
+ private final String option;
+
+ /**
+ * A generic (https://man7.org/linux/man-pages/man8/mount.8.html) or nfs
+ * (https://man7.org/linux/man-pages/man5/nfs.5.html) mount option.
+ *
+ * @return the value
+ */
+ public String getOption() {
+ return option;
+ }
+
+ /** The value of the mount option. */
+ @com.fasterxml.jackson.annotation.JsonProperty("value")
+ private final String value;
+
+ /**
+ * The value of the mount option.
+ *
+ * @return the value
+ */
+ public String getValue() {
+ return value;
+ }
+
+ @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("OciFssMountOption(");
+ sb.append("super=").append(super.toString());
+ sb.append("option=").append(String.valueOf(this.option));
+ sb.append(", value=").append(String.valueOf(this.value));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OciFssMountOption)) {
+ return false;
+ }
+
+ OciFssMountOption other = (OciFssMountOption) o;
+ return java.util.Objects.equals(this.option, other.option)
+ && java.util.Objects.equals(this.value, other.value)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.option == null ? 43 : this.option.hashCode());
+ result = (result * PRIME) + (this.value == null ? 43 : this.value.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountTarget.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountTarget.java
new file mode 100644
index 00000000000..62f9a3628e4
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountTarget.java
@@ -0,0 +1,128 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * An OCI File Storage Service (FSS) Mount Target. Check
+ * https://docs.oracle.com/en-us/iaas/api/#/en/filestorage/20171215/MountTarget for more details.
+ *
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20210415")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "ociFssMountTargetType",
+ defaultImpl = OciFssMountTarget.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OciFssMountTargetId.class,
+ name = "OCID")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class OciFssMountTarget extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({})
+ protected OciFssMountTarget() {
+ super();
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("OciFssMountTarget(");
+ 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 OciFssMountTarget)) {
+ return false;
+ }
+
+ OciFssMountTarget other = (OciFssMountTarget) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+
+ /**
+ * Determines the mode for supplying the OCI File Storage Service (FSS) Mount target details.
+ * The value must be an OCID unless your tenancy is allowed to use HOST as a value.
+ */
+ public enum OciFssMountTargetType implements com.oracle.bmc.http.internal.BmcEnum {
+ Ocid("OCID"),
+
+ /**
+ * 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(OciFssMountTargetType.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (OciFssMountTargetType v : OciFssMountTargetType.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ OciFssMountTargetType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static OciFssMountTargetType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'OciFssMountTargetType', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountTargetId.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountTargetId.java
new file mode 100644
index 00000000000..e0e054250e3
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssMountTargetId.java
@@ -0,0 +1,135 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * The OCID of the OCI File Storage Service (FSS) Mount Target. The user must have read permission
+ * for mount-targets.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OciFssMountTargetId.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "ociFssMountTargetType")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OciFssMountTargetId extends OciFssMountTarget {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the OCI File Storage Service (FSS) Mount Target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private String id;
+
+ /**
+ * The OCID of the OCI File Storage Service (FSS) Mount Target.
+ *
+ * @param id the value to set
+ * @return this builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ this.__explicitlySet__.add("id");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OciFssMountTargetId build() {
+ OciFssMountTargetId model = new OciFssMountTargetId(this.id);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OciFssMountTargetId model) {
+ if (model.wasPropertyExplicitlySet("id")) {
+ this.id(model.getId());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OciFssMountTargetId(String id) {
+ super();
+ this.id = id;
+ }
+
+ /** The OCID of the OCI File Storage Service (FSS) Mount Target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private final String id;
+
+ /**
+ * The OCID of the OCI File Storage Service (FSS) Mount Target.
+ *
+ * @return the value
+ */
+ public String getId() {
+ return id;
+ }
+
+ @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("OciFssMountTargetId(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", id=").append(String.valueOf(this.id));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OciFssMountTargetId)) {
+ return false;
+ }
+
+ OciFssMountTargetId other = (OciFssMountTargetId) o;
+ return java.util.Objects.equals(this.id, other.id) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssSecurity.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssSecurity.java
new file mode 100644
index 00000000000..bbe401de0e1
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssSecurity.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.containerinstances.model;
+
+/**
+ * Security options for OCI FSS File System.
+ * 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: 20210415")
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "auth",
+ defaultImpl = OciFssSecurity.class)
+@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = OciFssSysSecurity.class,
+ name = "SYS")
+})
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public class OciFssSecurity extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"isEncryptedInTransit"})
+ protected OciFssSecurity(Boolean isEncryptedInTransit) {
+ super();
+ this.isEncryptedInTransit = isEncryptedInTransit;
+ }
+
+ /**
+ * Determines whether in-transit encryption needs to be enables. Check
+ * https://docs.oracle.com/en-us/iaas/Content/File/Tasks/intransitencryption.htm#Using_Intransit_Encryption
+ * for more details.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isEncryptedInTransit")
+ private final Boolean isEncryptedInTransit;
+
+ /**
+ * Determines whether in-transit encryption needs to be enables. Check
+ * https://docs.oracle.com/en-us/iaas/Content/File/Tasks/intransitencryption.htm#Using_Intransit_Encryption
+ * for more details.
+ *
+ * @return the value
+ */
+ public Boolean getIsEncryptedInTransit() {
+ return isEncryptedInTransit;
+ }
+
+ @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("OciFssSecurity(");
+ sb.append("super=").append(super.toString());
+ sb.append("isEncryptedInTransit=").append(String.valueOf(this.isEncryptedInTransit));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OciFssSecurity)) {
+ return false;
+ }
+
+ OciFssSecurity other = (OciFssSecurity) o;
+ return java.util.Objects.equals(this.isEncryptedInTransit, other.isEncryptedInTransit)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.isEncryptedInTransit == null
+ ? 43
+ : this.isEncryptedInTransit.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+
+ /** NFS authentication type to be used. Currently, only auth type SYS is supported. */
+ public enum Auth implements com.oracle.bmc.http.internal.BmcEnum {
+ Sys("SYS"),
+
+ /**
+ * 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(Auth.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (Auth v : Auth.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ Auth(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static Auth create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'Auth', returning UnknownEnumValue", key);
+ return UnknownEnumValue;
+ }
+ };
+}
diff --git a/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssSysSecurity.java b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssSysSecurity.java
new file mode 100644
index 00000000000..bcf671eeaef
--- /dev/null
+++ b/bmc-containerinstances/src/main/java/com/oracle/bmc/containerinstances/model/OciFssSysSecurity.java
@@ -0,0 +1,111 @@
+/**
+ * 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.containerinstances.model;
+
+/**
+ * SYS security options for OCI FSS File System.
+ * 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: 20210415")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = OciFssSysSecurity.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "auth")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class OciFssSysSecurity extends OciFssSecurity {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("isEncryptedInTransit")
+ private Boolean isEncryptedInTransit;
+
+ public Builder isEncryptedInTransit(Boolean isEncryptedInTransit) {
+ this.isEncryptedInTransit = isEncryptedInTransit;
+ this.__explicitlySet__.add("isEncryptedInTransit");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public OciFssSysSecurity build() {
+ OciFssSysSecurity model = new OciFssSysSecurity(this.isEncryptedInTransit);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(OciFssSysSecurity model) {
+ if (model.wasPropertyExplicitlySet("isEncryptedInTransit")) {
+ this.isEncryptedInTransit(model.getIsEncryptedInTransit());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public OciFssSysSecurity(Boolean isEncryptedInTransit) {
+ super(isEncryptedInTransit);
+ }
+
+ @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("OciFssSysSecurity(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof OciFssSysSecurity)) {
+ return false;
+ }
+
+ OciFssSysSecurity other = (OciFssSysSecurity) o;
+ return super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-containerinstances/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-containerinstances/reflect-config.json b/bmc-containerinstances/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-containerinstances/reflect-config.json
index 0265164fafb..7dde872f99d 100644
--- a/bmc-containerinstances/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-containerinstances/reflect-config.json
+++ b/bmc-containerinstances/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-containerinstances/reflect-config.json
@@ -155,6 +155,12 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.ContainerFsGroupChangePolicyType",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.containerinstances.model.ContainerHealthCheck",
@@ -248,6 +254,19 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.ContainerInstanceSecurityContext",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.ContainerInstanceSecurityContext$SecurityContextType",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.containerinstances.model.ContainerInstanceShapeCollection",
@@ -304,6 +323,20 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.ContainerOciFssVolume",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.ContainerOciFssVolume$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.containerinstances.model.ContainerResourceConfig",
@@ -478,6 +511,13 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateContainerInstanceSecurityContextDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.containerinstances.model.CreateContainerInstanceShapeConfigDetails",
@@ -492,6 +532,20 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateContainerOciFssVolumeDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateContainerOciFssVolumeDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.containerinstances.model.CreateContainerResourceConfigDetails",
@@ -554,6 +608,20 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateLinuxContainerInstanceSecurityContextDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateLinuxContainerInstanceSecurityContextDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.containerinstances.model.CreateLinuxSecurityContextDetails",
@@ -568,6 +636,115 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssExportDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssExportDetails$OciFssExportType",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssExportIdDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssExportIdDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssMountCommandDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssMountCommandDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssMountOptionDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssMountOptionDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssMountTargetDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssMountTargetDetails$OciFssMountTargetType",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssMountTargetIdDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssMountTargetIdDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssSecurityDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssSecurityDetails$Auth",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssSysSecurityDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.CreateOciFssSysSecurityDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.containerinstances.model.CreateSecurityContextDetails",
@@ -630,6 +807,20 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.LinuxContainerInstanceSecurityContext",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.LinuxContainerInstanceSecurityContext$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.containerinstances.model.LinuxSecurityContext",
@@ -644,6 +835,115 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssExport",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssExport$OciFssExportType",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssExportId",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssExportId$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssMountCommand",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssMountCommand$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssMountOption",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssMountOption$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssMountTarget",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssMountTarget$OciFssMountTargetType",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssMountTargetId",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssMountTargetId$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssSecurity",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssSecurity$Auth",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssSysSecurity",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.containerinstances.model.OciFssSysSecurity$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.containerinstances.model.OperationStatus",
diff --git a/bmc-containerregistry/pom.xml b/bmc-containerregistry/pom.xml
index f7c26b2b307..3a9f2b3e7ce 100644
--- a/bmc-containerregistry/pom.xml
+++ b/bmc-containerregistry/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-containerregistry
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-core/pom.xml b/bmc-core/pom.xml
index 295408dd8d3..1985dd32c6d 100644
--- a/bmc-core/pom.xml
+++ b/bmc-core/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
@@ -18,12 +18,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.91.1
+ 3.92.0
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeManagement.java b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeManagement.java
index db65312b897..4d9ab389272 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeManagement.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeManagement.java
@@ -228,7 +228,7 @@ ChangeInstancePoolCompartmentResponse changeInstancePoolCompartment(
/**
* Creates an instance configuration. An instance configuration is a template that defines the
- * settings to use when creating Compute instances.
+ * settings to use when creating Compute instances or GPU Memory Clusters.
*
* @param request The request object containing the details to send
* @return A response object containing details about the completed operation
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeManagementAsync.java b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeManagementAsync.java
index 46e03962b75..9bbe96bfdc9 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/ComputeManagementAsync.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/ComputeManagementAsync.java
@@ -228,7 +228,7 @@ java.util.concurrent.Future createClusterNetwork(
/**
* Creates an instance configuration. An instance configuration is a template that defines the
- * settings to use when creating Compute instances.
+ * settings to use when creating Compute instances or GPU Memory Clusters.
*
* @param request The request object containing the details to send
* @param handler The request handler to invoke upon completion, may be null.
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeCluster.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeCluster.java
index 94a428cd4cf..68a6197aba9 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeCluster.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeCluster.java
@@ -6,20 +6,13 @@
/**
* The data for creating a [compute
- * cluster](https://docs.oracle.com/iaas/Content/Compute/Tasks/compute-clusters.htm). A compute
- * cluster is an empty remote direct memory access (RDMA) network group
+ * cluster](https://docs.oracle.com/iaas/Content/Compute/Tasks/compute-clusters.htm).
*
- * After the compute cluster is created, you can use the compute cluster's OCID with the {@link
- * #launchInstance(LaunchInstanceRequest) launchInstance} operation to create instances in the
- * compute cluster. The instances must be created in the same compartment and availability domain as
- * the cluster.
+ *
After the compute cluster is created, you can use the compute cluster's OCID to create
+ * Instance, GPU Memory Cluster or Instance Pool resources within the compute cluster. These
+ * resources must be created in the same compartment and availability domain as the cluster.
*
- *
Use compute clusters when you want to manage instances in the cluster individually in the RDMA
- * network group.
- *
- *
For details about creating a cluster network that uses instance pools to manage groups of
- * identical instances, see {@link #createClusterNetworkDetails(CreateClusterNetworkDetailsRequest)
- * createClusterNetworkDetails}.
+ *
Use {@code COMPUTE_CLUSTER} type when using placementConstraintDetails.
* 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
@@ -42,9 +35,11 @@ public final class ComputeCluster
"displayName",
"definedTags",
"freeformTags",
+ "placementConstraintDetails",
"id",
"lifecycleState",
- "timeCreated"
+ "timeCreated",
+ "timeUpdated"
})
public ComputeCluster(
String availabilityDomain,
@@ -52,18 +47,22 @@ public ComputeCluster(
String displayName,
java.util.Map> definedTags,
java.util.Map freeformTags,
+ PlacementConstraintDetails placementConstraintDetails,
String id,
LifecycleState lifecycleState,
- java.util.Date timeCreated) {
+ java.util.Date timeCreated,
+ java.util.Date timeUpdated) {
super();
this.availabilityDomain = availabilityDomain;
this.compartmentId = compartmentId;
this.displayName = displayName;
this.definedTags = definedTags;
this.freeformTags = freeformTags;
+ this.placementConstraintDetails = placementConstraintDetails;
this.id = id;
this.lifecycleState = lifecycleState;
this.timeCreated = timeCreated;
+ this.timeUpdated = timeUpdated;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -178,6 +177,16 @@ public Builder freeformTags(java.util.Map freeformTags) {
this.__explicitlySet__.add("freeformTags");
return this;
}
+
+ @com.fasterxml.jackson.annotation.JsonProperty("placementConstraintDetails")
+ private PlacementConstraintDetails placementConstraintDetails;
+
+ public Builder placementConstraintDetails(
+ PlacementConstraintDetails placementConstraintDetails) {
+ this.placementConstraintDetails = placementConstraintDetails;
+ this.__explicitlySet__.add("placementConstraintDetails");
+ return this;
+ }
/**
* The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
* compute cluster.
@@ -235,6 +244,29 @@ public Builder timeCreated(java.util.Date timeCreated) {
this.__explicitlySet__.add("timeCreated");
return this;
}
+ /**
+ * The date and time the compute cluster was updated, in the format defined by
+ * [RFC3339](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 compute cluster was updated, in the format defined by
+ * [RFC3339](https://tools.ietf.org/html/rfc3339).
+ *
+ *
Example: {@code 2016-08-25T21:10:29.600Z}
+ *
+ * @param timeUpdated the value to set
+ * @return this builder
+ */
+ public Builder timeUpdated(java.util.Date timeUpdated) {
+ this.timeUpdated = timeUpdated;
+ this.__explicitlySet__.add("timeUpdated");
+ return this;
+ }
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -247,9 +279,11 @@ public ComputeCluster build() {
this.displayName,
this.definedTags,
this.freeformTags,
+ this.placementConstraintDetails,
this.id,
this.lifecycleState,
- this.timeCreated);
+ this.timeCreated,
+ this.timeUpdated);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -273,6 +307,9 @@ public Builder copy(ComputeCluster model) {
if (model.wasPropertyExplicitlySet("freeformTags")) {
this.freeformTags(model.getFreeformTags());
}
+ if (model.wasPropertyExplicitlySet("placementConstraintDetails")) {
+ this.placementConstraintDetails(model.getPlacementConstraintDetails());
+ }
if (model.wasPropertyExplicitlySet("id")) {
this.id(model.getId());
}
@@ -282,6 +319,9 @@ public Builder copy(ComputeCluster model) {
if (model.wasPropertyExplicitlySet("timeCreated")) {
this.timeCreated(model.getTimeCreated());
}
+ if (model.wasPropertyExplicitlySet("timeUpdated")) {
+ this.timeUpdated(model.getTimeUpdated());
+ }
return this;
}
}
@@ -394,6 +434,13 @@ public java.util.Map getFreeformTags() {
return freeformTags;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("placementConstraintDetails")
+ private final PlacementConstraintDetails placementConstraintDetails;
+
+ public PlacementConstraintDetails getPlacementConstraintDetails() {
+ return placementConstraintDetails;
+ }
+
/**
* The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
* compute cluster.
@@ -491,6 +538,27 @@ public java.util.Date getTimeCreated() {
return timeCreated;
}
+ /**
+ * The date and time the compute cluster was updated, in the format defined by
+ * [RFC3339](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 compute cluster was updated, in the format defined by
+ * [RFC3339](https://tools.ietf.org/html/rfc3339).
+ *
+ *
Example: {@code 2016-08-25T21:10:29.600Z}
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeUpdated() {
+ return timeUpdated;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -511,9 +579,12 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", displayName=").append(String.valueOf(this.displayName));
sb.append(", definedTags=").append(String.valueOf(this.definedTags));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
+ sb.append(", placementConstraintDetails=")
+ .append(String.valueOf(this.placementConstraintDetails));
sb.append(", id=").append(String.valueOf(this.id));
sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState));
sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
+ sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated));
sb.append(")");
return sb.toString();
}
@@ -533,9 +604,12 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.displayName, other.displayName)
&& java.util.Objects.equals(this.definedTags, other.definedTags)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
+ && java.util.Objects.equals(
+ this.placementConstraintDetails, other.placementConstraintDetails)
&& java.util.Objects.equals(this.id, other.id)
&& java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
&& java.util.Objects.equals(this.timeCreated, other.timeCreated)
+ && java.util.Objects.equals(this.timeUpdated, other.timeUpdated)
&& super.equals(other);
}
@@ -554,11 +628,17 @@ public int hashCode() {
result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode());
result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
+ result =
+ (result * PRIME)
+ + (this.placementConstraintDetails == null
+ ? 43
+ : this.placementConstraintDetails.hashCode());
result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode());
result =
(result * PRIME)
+ (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode());
+ result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeClusterLogicalPlacementConstraint.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeClusterLogicalPlacementConstraint.java
new file mode 100644
index 00000000000..6e2eef6b092
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeClusterLogicalPlacementConstraint.java
@@ -0,0 +1,59 @@
+/**
+ * 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;
+
+/**
+ * The logical placement strategy to apply for compute cluster placement. Allowed values are {@code
+ * SINGLE_TIER}, {@code SINGLE_BLOCK}, and {@code PACKED_DISTRIBUTION_MULTI_BLOCK}.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918")
+public enum ComputeClusterLogicalPlacementConstraint
+ implements com.oracle.bmc.http.internal.BmcEnum {
+ SingleTier("SINGLE_TIER"),
+ SingleBlock("SINGLE_BLOCK"),
+ PackedDistributionMultiBlock("PACKED_DISTRIBUTION_MULTI_BLOCK"),
+
+ /**
+ * 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(ComputeClusterLogicalPlacementConstraint.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (ComputeClusterLogicalPlacementConstraint v :
+ ComputeClusterLogicalPlacementConstraint.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ ComputeClusterLogicalPlacementConstraint(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static ComputeClusterLogicalPlacementConstraint create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'ComputeClusterLogicalPlacementConstraint', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeClusterPlacementConstraintDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeClusterPlacementConstraintDetails.java
new file mode 100644
index 00000000000..48a6a618ebb
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/ComputeClusterPlacementConstraintDetails.java
@@ -0,0 +1,345 @@
+/**
+ * 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;
+
+/**
+ * The details for providing placement constraints for a compute cluster.
+ * 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 = ComputeClusterPlacementConstraintDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "type")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class ComputeClusterPlacementConstraintDetails extends PlacementConstraintDetails {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * HPC island for the compute cluster.
+ *
+ * This field cannot be updated after creation of the compute cluster.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("hpcIslandId")
+ private String hpcIslandId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * HPC island for the compute cluster.
+ *
+ *
This field cannot be updated after creation of the compute cluster.
+ *
+ * @param hpcIslandId the value to set
+ * @return this builder
+ */
+ public Builder hpcIslandId(String hpcIslandId) {
+ this.hpcIslandId = hpcIslandId;
+ this.__explicitlySet__.add("hpcIslandId");
+ return this;
+ }
+ /**
+ * The list of target network block OCIDs to constrain placement.
+ *
+ *
If {@code targetNetworkBlockIds} is provided, the {@code hpcIslandId} must be set on
+ * the compute cluster, and the provided network blocks must belong to that same HPC island.
+ *
+ *
The ordering of the array will be preserved. Ensure that all items in the array are
+ * unique.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetNetworkBlockIds")
+ private java.util.List targetNetworkBlockIds;
+
+ /**
+ * The list of target network block OCIDs to constrain placement.
+ *
+ * If {@code targetNetworkBlockIds} is provided, the {@code hpcIslandId} must be set on
+ * the compute cluster, and the provided network blocks must belong to that same HPC island.
+ *
+ *
The ordering of the array will be preserved. Ensure that all items in the array are
+ * unique.
+ *
+ * @param targetNetworkBlockIds the value to set
+ * @return this builder
+ */
+ public Builder targetNetworkBlockIds(java.util.List targetNetworkBlockIds) {
+ this.targetNetworkBlockIds = targetNetworkBlockIds;
+ this.__explicitlySet__.add("targetNetworkBlockIds");
+ return this;
+ }
+ /**
+ * The list of target GPU memory fabric OCIDs to constrain placement.
+ *
+ * If GMFs are passed in, the {@code hpcIslandId} must be set on the compute cluster, and
+ * the provided GMFs must belong to that same HPC island.
+ *
+ *
The ordering of the array will be preserved. Ensure that all items in the array are
+ * unique.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetMemoryFabricIds")
+ private java.util.List targetMemoryFabricIds;
+
+ /**
+ * The list of target GPU memory fabric OCIDs to constrain placement.
+ *
+ * If GMFs are passed in, the {@code hpcIslandId} must be set on the compute cluster, and
+ * the provided GMFs must belong to that same HPC island.
+ *
+ *
The ordering of the array will be preserved. Ensure that all items in the array are
+ * unique.
+ *
+ * @param targetMemoryFabricIds the value to set
+ * @return this builder
+ */
+ public Builder targetMemoryFabricIds(java.util.List targetMemoryFabricIds) {
+ this.targetMemoryFabricIds = targetMemoryFabricIds;
+ this.__explicitlySet__.add("targetMemoryFabricIds");
+ return this;
+ }
+ /**
+ * The logical placement strategy to apply. Allowed values are {@code SINGLE_TIER}, {@code
+ * SINGLE_BLOCK}, and {@code PACKED_DISTRIBUTION_MULTI_BLOCK}.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("logicalPlacementConstraint")
+ private ComputeClusterLogicalPlacementConstraint logicalPlacementConstraint;
+
+ /**
+ * The logical placement strategy to apply. Allowed values are {@code SINGLE_TIER}, {@code
+ * SINGLE_BLOCK}, and {@code PACKED_DISTRIBUTION_MULTI_BLOCK}.
+ *
+ * @param logicalPlacementConstraint the value to set
+ * @return this builder
+ */
+ public Builder logicalPlacementConstraint(
+ ComputeClusterLogicalPlacementConstraint logicalPlacementConstraint) {
+ this.logicalPlacementConstraint = logicalPlacementConstraint;
+ this.__explicitlySet__.add("logicalPlacementConstraint");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public ComputeClusterPlacementConstraintDetails build() {
+ ComputeClusterPlacementConstraintDetails model =
+ new ComputeClusterPlacementConstraintDetails(
+ this.hpcIslandId,
+ this.targetNetworkBlockIds,
+ this.targetMemoryFabricIds,
+ this.logicalPlacementConstraint);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(ComputeClusterPlacementConstraintDetails model) {
+ if (model.wasPropertyExplicitlySet("hpcIslandId")) {
+ this.hpcIslandId(model.getHpcIslandId());
+ }
+ if (model.wasPropertyExplicitlySet("targetNetworkBlockIds")) {
+ this.targetNetworkBlockIds(model.getTargetNetworkBlockIds());
+ }
+ if (model.wasPropertyExplicitlySet("targetMemoryFabricIds")) {
+ this.targetMemoryFabricIds(model.getTargetMemoryFabricIds());
+ }
+ if (model.wasPropertyExplicitlySet("logicalPlacementConstraint")) {
+ this.logicalPlacementConstraint(model.getLogicalPlacementConstraint());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public ComputeClusterPlacementConstraintDetails(
+ String hpcIslandId,
+ java.util.List targetNetworkBlockIds,
+ java.util.List targetMemoryFabricIds,
+ ComputeClusterLogicalPlacementConstraint logicalPlacementConstraint) {
+ super();
+ this.hpcIslandId = hpcIslandId;
+ this.targetNetworkBlockIds = targetNetworkBlockIds;
+ this.targetMemoryFabricIds = targetMemoryFabricIds;
+ this.logicalPlacementConstraint = logicalPlacementConstraint;
+ }
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the HPC
+ * island for the compute cluster.
+ *
+ * This field cannot be updated after creation of the compute cluster.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("hpcIslandId")
+ private final String hpcIslandId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the HPC
+ * island for the compute cluster.
+ *
+ *
This field cannot be updated after creation of the compute cluster.
+ *
+ * @return the value
+ */
+ public String getHpcIslandId() {
+ return hpcIslandId;
+ }
+
+ /**
+ * The list of target network block OCIDs to constrain placement.
+ *
+ *
If {@code targetNetworkBlockIds} is provided, the {@code hpcIslandId} must be set on the
+ * compute cluster, and the provided network blocks must belong to that same HPC island.
+ *
+ *
The ordering of the array will be preserved. Ensure that all items in the array are
+ * unique.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetNetworkBlockIds")
+ private final java.util.List targetNetworkBlockIds;
+
+ /**
+ * The list of target network block OCIDs to constrain placement.
+ *
+ * If {@code targetNetworkBlockIds} is provided, the {@code hpcIslandId} must be set on the
+ * compute cluster, and the provided network blocks must belong to that same HPC island.
+ *
+ *
The ordering of the array will be preserved. Ensure that all items in the array are
+ * unique.
+ *
+ * @return the value
+ */
+ public java.util.List getTargetNetworkBlockIds() {
+ return targetNetworkBlockIds;
+ }
+
+ /**
+ * The list of target GPU memory fabric OCIDs to constrain placement.
+ *
+ * If GMFs are passed in, the {@code hpcIslandId} must be set on the compute cluster, and the
+ * provided GMFs must belong to that same HPC island.
+ *
+ *
The ordering of the array will be preserved. Ensure that all items in the array are
+ * unique.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetMemoryFabricIds")
+ private final java.util.List targetMemoryFabricIds;
+
+ /**
+ * The list of target GPU memory fabric OCIDs to constrain placement.
+ *
+ * If GMFs are passed in, the {@code hpcIslandId} must be set on the compute cluster, and the
+ * provided GMFs must belong to that same HPC island.
+ *
+ *
The ordering of the array will be preserved. Ensure that all items in the array are
+ * unique.
+ *
+ * @return the value
+ */
+ public java.util.List getTargetMemoryFabricIds() {
+ return targetMemoryFabricIds;
+ }
+
+ /**
+ * The logical placement strategy to apply. Allowed values are {@code SINGLE_TIER}, {@code
+ * SINGLE_BLOCK}, and {@code PACKED_DISTRIBUTION_MULTI_BLOCK}.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("logicalPlacementConstraint")
+ private final ComputeClusterLogicalPlacementConstraint logicalPlacementConstraint;
+
+ /**
+ * The logical placement strategy to apply. Allowed values are {@code SINGLE_TIER}, {@code
+ * SINGLE_BLOCK}, and {@code PACKED_DISTRIBUTION_MULTI_BLOCK}.
+ *
+ * @return the value
+ */
+ public ComputeClusterLogicalPlacementConstraint getLogicalPlacementConstraint() {
+ return logicalPlacementConstraint;
+ }
+
+ @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("ComputeClusterPlacementConstraintDetails(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", hpcIslandId=").append(String.valueOf(this.hpcIslandId));
+ sb.append(", targetNetworkBlockIds=").append(String.valueOf(this.targetNetworkBlockIds));
+ sb.append(", targetMemoryFabricIds=").append(String.valueOf(this.targetMemoryFabricIds));
+ sb.append(", logicalPlacementConstraint=")
+ .append(String.valueOf(this.logicalPlacementConstraint));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof ComputeClusterPlacementConstraintDetails)) {
+ return false;
+ }
+
+ ComputeClusterPlacementConstraintDetails other =
+ (ComputeClusterPlacementConstraintDetails) o;
+ return java.util.Objects.equals(this.hpcIslandId, other.hpcIslandId)
+ && java.util.Objects.equals(this.targetNetworkBlockIds, other.targetNetworkBlockIds)
+ && java.util.Objects.equals(this.targetMemoryFabricIds, other.targetMemoryFabricIds)
+ && java.util.Objects.equals(
+ this.logicalPlacementConstraint, other.logicalPlacementConstraint)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.hpcIslandId == null ? 43 : this.hpcIslandId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.targetNetworkBlockIds == null
+ ? 43
+ : this.targetNetworkBlockIds.hashCode());
+ result =
+ (result * PRIME)
+ + (this.targetMemoryFabricIds == null
+ ? 43
+ : this.targetMemoryFabricIds.hashCode());
+ result =
+ (result * PRIME)
+ + (this.logicalPlacementConstraint == null
+ ? 43
+ : this.logicalPlacementConstraint.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateComputeClusterDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateComputeClusterDetails.java
index ccd7bc3dccc..926b2a56e1b 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateComputeClusterDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateComputeClusterDetails.java
@@ -6,20 +6,13 @@
/**
* The data for creating a [compute
- * cluster](https://docs.oracle.com/iaas/Content/Compute/Tasks/compute-clusters.htm). A compute
- * cluster is an empty remote direct memory access (RDMA) network group
+ * cluster](https://docs.oracle.com/iaas/Content/Compute/Tasks/compute-clusters.htm).
*
- * After the compute cluster is created, you can use the compute cluster's OCID with the {@link
- * #launchInstance(LaunchInstanceRequest) launchInstance} operation to create instances in the
- * compute cluster. The instances must be created in the same compartment and availability domain as
- * the cluster.
+ *
After the compute cluster is created, you can use the compute cluster's OCID to create
+ * Instance, GPU Memory Cluster or Instance Pool resources within the compute cluster. These
+ * resources must be created in the same compartment and availability domain as the cluster.
*
- *
Use compute clusters when you want to manage instances in the cluster individually in the RDMA
- * network group.
- *
- *
For details about creating a cluster network that uses instance pools to manage groups of
- * identical instances, see {@link #createClusterNetworkDetails(CreateClusterNetworkDetailsRequest)
- * createClusterNetworkDetails}.
+ *
Use {@code COMPUTE_CLUSTER} type when using placementConstraintDetails.
* 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
@@ -42,20 +35,23 @@ public final class CreateComputeClusterDetails
"compartmentId",
"displayName",
"definedTags",
- "freeformTags"
+ "freeformTags",
+ "placementConstraintDetails"
})
public CreateComputeClusterDetails(
String availabilityDomain,
String compartmentId,
String displayName,
java.util.Map> definedTags,
- java.util.Map freeformTags) {
+ java.util.Map freeformTags,
+ PlacementConstraintDetails placementConstraintDetails) {
super();
this.availabilityDomain = availabilityDomain;
this.compartmentId = compartmentId;
this.displayName = displayName;
this.definedTags = definedTags;
this.freeformTags = freeformTags;
+ this.placementConstraintDetails = placementConstraintDetails;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -171,6 +167,16 @@ public Builder freeformTags(java.util.Map freeformTags) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("placementConstraintDetails")
+ private PlacementConstraintDetails placementConstraintDetails;
+
+ public Builder placementConstraintDetails(
+ PlacementConstraintDetails placementConstraintDetails) {
+ this.placementConstraintDetails = placementConstraintDetails;
+ this.__explicitlySet__.add("placementConstraintDetails");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
@@ -181,7 +187,8 @@ public CreateComputeClusterDetails build() {
this.compartmentId,
this.displayName,
this.definedTags,
- this.freeformTags);
+ this.freeformTags,
+ this.placementConstraintDetails);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -205,6 +212,9 @@ public Builder copy(CreateComputeClusterDetails model) {
if (model.wasPropertyExplicitlySet("freeformTags")) {
this.freeformTags(model.getFreeformTags());
}
+ if (model.wasPropertyExplicitlySet("placementConstraintDetails")) {
+ this.placementConstraintDetails(model.getPlacementConstraintDetails());
+ }
return this;
}
}
@@ -317,6 +327,13 @@ public java.util.Map getFreeformTags() {
return freeformTags;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("placementConstraintDetails")
+ private final PlacementConstraintDetails placementConstraintDetails;
+
+ public PlacementConstraintDetails getPlacementConstraintDetails() {
+ return placementConstraintDetails;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -337,6 +354,8 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", displayName=").append(String.valueOf(this.displayName));
sb.append(", definedTags=").append(String.valueOf(this.definedTags));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
+ sb.append(", placementConstraintDetails=")
+ .append(String.valueOf(this.placementConstraintDetails));
sb.append(")");
return sb.toString();
}
@@ -356,6 +375,8 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.displayName, other.displayName)
&& java.util.Objects.equals(this.definedTags, other.definedTags)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
+ && java.util.Objects.equals(
+ this.placementConstraintDetails, other.placementConstraintDetails)
&& super.equals(other);
}
@@ -374,6 +395,11 @@ public int hashCode() {
result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode());
result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
+ result =
+ (result * PRIME)
+ + (this.placementConstraintDetails == null
+ ? 43
+ : this.placementConstraintDetails.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateGmcConfigurationDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateGmcConfigurationDetails.java
new file mode 100644
index 00000000000..049ecc9aedf
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateGmcConfigurationDetails.java
@@ -0,0 +1,193 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.core.model;
+
+/**
+ * Details for creating an instance configuration for GPU Memory Cluster.
+ * 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 = CreateGmcConfigurationDetails.Builder.class)
+@com.fasterxml.jackson.annotation.JsonTypeInfo(
+ use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
+ include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
+ property = "source")
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CreateGmcConfigurationDetails extends CreateInstanceConfigurationBase {
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("definedTags")
+ private java.util.Map> definedTags;
+
+ public Builder definedTags(
+ java.util.Map> definedTags) {
+ this.definedTags = definedTags;
+ this.__explicitlySet__.add("definedTags");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("displayName")
+ private String displayName;
+
+ public Builder displayName(String displayName) {
+ this.displayName = displayName;
+ this.__explicitlySet__.add("displayName");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags")
+ private java.util.Map freeformTags;
+
+ public Builder freeformTags(java.util.Map freeformTags) {
+ this.freeformTags = freeformTags;
+ this.__explicitlySet__.add("freeformTags");
+ return this;
+ }
+ /** The GPU Memory Cluster configuration entries for. */
+ @com.fasterxml.jackson.annotation.JsonProperty("gmcConfigs")
+ private java.util.List gmcConfigs;
+
+ /**
+ * The GPU Memory Cluster configuration entries for.
+ *
+ * @param gmcConfigs the value to set
+ * @return this builder
+ */
+ public Builder gmcConfigs(java.util.List gmcConfigs) {
+ this.gmcConfigs = gmcConfigs;
+ this.__explicitlySet__.add("gmcConfigs");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CreateGmcConfigurationDetails build() {
+ CreateGmcConfigurationDetails model =
+ new CreateGmcConfigurationDetails(
+ this.compartmentId,
+ this.definedTags,
+ this.displayName,
+ this.freeformTags,
+ this.gmcConfigs);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CreateGmcConfigurationDetails model) {
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("definedTags")) {
+ this.definedTags(model.getDefinedTags());
+ }
+ if (model.wasPropertyExplicitlySet("displayName")) {
+ this.displayName(model.getDisplayName());
+ }
+ if (model.wasPropertyExplicitlySet("freeformTags")) {
+ this.freeformTags(model.getFreeformTags());
+ }
+ if (model.wasPropertyExplicitlySet("gmcConfigs")) {
+ this.gmcConfigs(model.getGmcConfigs());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ @Deprecated
+ public CreateGmcConfigurationDetails(
+ String compartmentId,
+ java.util.Map> definedTags,
+ String displayName,
+ java.util.Map freeformTags,
+ java.util.List gmcConfigs) {
+ super(compartmentId, definedTags, displayName, freeformTags);
+ this.gmcConfigs = gmcConfigs;
+ }
+
+ /** The GPU Memory Cluster configuration entries for. */
+ @com.fasterxml.jackson.annotation.JsonProperty("gmcConfigs")
+ private final java.util.List gmcConfigs;
+
+ /**
+ * The GPU Memory Cluster configuration entries for.
+ *
+ * @return the value
+ */
+ public java.util.List getGmcConfigs() {
+ return gmcConfigs;
+ }
+
+ @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("CreateGmcConfigurationDetails(");
+ sb.append("super=").append(super.toString(includeByteArrayContents));
+ sb.append(", gmcConfigs=").append(String.valueOf(this.gmcConfigs));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CreateGmcConfigurationDetails)) {
+ return false;
+ }
+
+ CreateGmcConfigurationDetails other = (CreateGmcConfigurationDetails) o;
+ return java.util.Objects.equals(this.gmcConfigs, other.gmcConfigs) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = super.hashCode();
+ result = (result * PRIME) + (this.gmcConfigs == null ? 43 : this.gmcConfigs.hashCode());
+ return result;
+ }
+}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInstanceConfigurationBase.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInstanceConfigurationBase.java
index 3c946d06abe..05991ee3fa5 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInstanceConfigurationBase.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInstanceConfigurationBase.java
@@ -22,6 +22,9 @@
property = "source",
defaultImpl = CreateInstanceConfigurationBase.class)
@com.fasterxml.jackson.annotation.JsonSubTypes({
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = CreateGmcConfigurationDetails.class,
+ name = "GMC"),
@com.fasterxml.jackson.annotation.JsonSubTypes.Type(
value = CreateInstanceConfigurationDetails.class,
name = "NONE"),
@@ -215,11 +218,13 @@ public int hashCode() {
*
* {@code NONE}: Creates an instance configuration using the list of settings that you
* specify. * {@code INSTANCE}: Creates an instance configuration using an existing instance as
- * a template.
+ * a template. * {@code GMC}: Creates an instance configuration which can be used to create GMC
+ * backed pools.
*/
public enum Source implements com.oracle.bmc.http.internal.BmcEnum {
None("NONE"),
Instance("INSTANCE"),
+ Gmc("GMC"),
;
private final String value;
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInstancePoolDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInstancePoolDetails.java
index 6e8de604923..a5440c1467b 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInstancePoolDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateInstancePoolDetails.java
@@ -5,7 +5,9 @@
package com.oracle.bmc.core.model;
/**
- * The data to create an instance pool.
+ * The data to create an instance pool. For a GMC-enabled resource pool, the referenced instance
+ * configuration must be a GMC configuration and the placement configuration must identify the
+ * availability domain and compute cluster for the pool.
* 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
@@ -204,12 +206,16 @@ public Builder placementConfigurations(
this.__explicitlySet__.add("placementConfigurations");
return this;
}
- /** The number of instances that should be in the instance pool. */
+ /**
+ * The number of instances that should be in the instance pool. For a GMC-enabled resource
+ * pool, this is the number of GMC resources that should be in the pool.
+ */
@com.fasterxml.jackson.annotation.JsonProperty("size")
private Integer size;
/**
- * The number of instances that should be in the instance pool.
+ * The number of instances that should be in the instance pool. For a GMC-enabled resource
+ * pool, this is the number of GMC resources that should be in the pool.
*
* @param size the value to set
* @return this builder
@@ -482,12 +488,16 @@ public String getInstanceConfigurationId() {
return placementConfigurations;
}
- /** The number of instances that should be in the instance pool. */
+ /**
+ * The number of instances that should be in the instance pool. For a GMC-enabled resource pool,
+ * this is the number of GMC resources that should be in the pool.
+ */
@com.fasterxml.jackson.annotation.JsonProperty("size")
private final Integer size;
/**
- * The number of instances that should be in the instance pool.
+ * The number of instances that should be in the instance pool. For a GMC-enabled resource pool,
+ * this is the number of GMC resources that should be in the pool.
*
* @return the value
*/
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfiguration.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfiguration.java
index 589748a4de5..a039e8ec739 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfiguration.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfiguration.java
@@ -6,7 +6,10 @@
/**
* An instance configuration is a template that defines the settings to use when creating Compute
- * instances.
+ * instances. An instance configuration is a template that defines the settings to use when creating
+ * Compute instances or GPU Memory Clusters. For more information about instance configurations, see
+ * [Managing Compute
+ * Instances](https://docs.oracle.com/iaas/Content/Compute/Concepts/instancemanagement.htm).
* 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
@@ -31,6 +34,8 @@ public final class InstanceConfiguration
"freeformTags",
"id",
"instanceDetails",
+ "gmcConfigs",
+ "source",
"deferredFields",
"timeCreated"
})
@@ -41,6 +46,8 @@ public InstanceConfiguration(
java.util.Map freeformTags,
String id,
InstanceConfigurationInstanceDetails instanceDetails,
+ java.util.List gmcConfigs,
+ Source source,
java.util.List deferredFields,
java.util.Date timeCreated) {
super();
@@ -50,6 +57,8 @@ public InstanceConfiguration(
this.freeformTags = freeformTags;
this.id = id;
this.instanceDetails = instanceDetails;
+ this.gmcConfigs = gmcConfigs;
+ this.source = source;
this.deferredFields = deferredFields;
this.timeCreated = timeCreated;
}
@@ -173,6 +182,42 @@ public Builder instanceDetails(InstanceConfigurationInstanceDetails instanceDeta
this.__explicitlySet__.add("instanceDetails");
return this;
}
+ /** The GPU Memory Cluster configuration entries for. */
+ @com.fasterxml.jackson.annotation.JsonProperty("gmcConfigs")
+ private java.util.List gmcConfigs;
+
+ /**
+ * The GPU Memory Cluster configuration entries for.
+ *
+ * @param gmcConfigs the value to set
+ * @return this builder
+ */
+ public Builder gmcConfigs(java.util.List gmcConfigs) {
+ this.gmcConfigs = gmcConfigs;
+ this.__explicitlySet__.add("gmcConfigs");
+ return this;
+ }
+ /**
+ * Differentiator for instance configuration. Following values are supported: * INSTANCE :
+ * All details related to instance will be passed within instanceDetails. * GMC : All
+ * details related to gpu memory cluster will be passed within gmcConfigs.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("source")
+ private Source source;
+
+ /**
+ * Differentiator for instance configuration. Following values are supported: * INSTANCE :
+ * All details related to instance will be passed within instanceDetails. * GMC : All
+ * details related to gpu memory cluster will be passed within gmcConfigs.
+ *
+ * @param source the value to set
+ * @return this builder
+ */
+ public Builder source(Source source) {
+ this.source = source;
+ this.__explicitlySet__.add("source");
+ return this;
+ }
/**
* Parameters that were not specified when the instance configuration was created, but that
* are required to launch an instance from the instance configuration. See the {@link
@@ -232,6 +277,8 @@ public InstanceConfiguration build() {
this.freeformTags,
this.id,
this.instanceDetails,
+ this.gmcConfigs,
+ this.source,
this.deferredFields,
this.timeCreated);
for (String explicitlySetProperty : this.__explicitlySet__) {
@@ -260,6 +307,12 @@ public Builder copy(InstanceConfiguration model) {
if (model.wasPropertyExplicitlySet("instanceDetails")) {
this.instanceDetails(model.getInstanceDetails());
}
+ if (model.wasPropertyExplicitlySet("gmcConfigs")) {
+ this.gmcConfigs(model.getGmcConfigs());
+ }
+ if (model.wasPropertyExplicitlySet("source")) {
+ this.source(model.getSource());
+ }
if (model.wasPropertyExplicitlySet("deferredFields")) {
this.deferredFields(model.getDeferredFields());
}
@@ -383,6 +436,87 @@ public InstanceConfigurationInstanceDetails getInstanceDetails() {
return instanceDetails;
}
+ /** The GPU Memory Cluster configuration entries for. */
+ @com.fasterxml.jackson.annotation.JsonProperty("gmcConfigs")
+ private final java.util.List gmcConfigs;
+
+ /**
+ * The GPU Memory Cluster configuration entries for.
+ *
+ * @return the value
+ */
+ public java.util.List getGmcConfigs() {
+ return gmcConfigs;
+ }
+
+ /**
+ * Differentiator for instance configuration. Following values are supported: * INSTANCE : All
+ * details related to instance will be passed within instanceDetails. * GMC : All details
+ * related to gpu memory cluster will be passed within gmcConfigs.
+ */
+ public enum Source implements com.oracle.bmc.http.internal.BmcEnum {
+ Instance("INSTANCE"),
+ Gmc("GMC"),
+
+ /**
+ * 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(Source.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (Source v : Source.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ Source(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static Source create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'Source', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /**
+ * Differentiator for instance configuration. Following values are supported: * INSTANCE : All
+ * details related to instance will be passed within instanceDetails. * GMC : All details
+ * related to gpu memory cluster will be passed within gmcConfigs.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("source")
+ private final Source source;
+
+ /**
+ * Differentiator for instance configuration. Following values are supported: * INSTANCE : All
+ * details related to instance will be passed within instanceDetails. * GMC : All details
+ * related to gpu memory cluster will be passed within gmcConfigs.
+ *
+ * @return the value
+ */
+ public Source getSource() {
+ return source;
+ }
+
/**
* Parameters that were not specified when the instance configuration was created, but that are
* required to launch an instance from the instance configuration. See the {@link
@@ -446,6 +580,8 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", id=").append(String.valueOf(this.id));
sb.append(", instanceDetails=").append(String.valueOf(this.instanceDetails));
+ sb.append(", gmcConfigs=").append(String.valueOf(this.gmcConfigs));
+ sb.append(", source=").append(String.valueOf(this.source));
sb.append(", deferredFields=").append(String.valueOf(this.deferredFields));
sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
sb.append(")");
@@ -468,6 +604,8 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.id, other.id)
&& java.util.Objects.equals(this.instanceDetails, other.instanceDetails)
+ && java.util.Objects.equals(this.gmcConfigs, other.gmcConfigs)
+ && java.util.Objects.equals(this.source, other.source)
&& java.util.Objects.equals(this.deferredFields, other.deferredFields)
&& java.util.Objects.equals(this.timeCreated, other.timeCreated)
&& super.equals(other);
@@ -487,6 +625,8 @@ public int hashCode() {
result =
(result * PRIME)
+ (this.instanceDetails == null ? 43 : this.instanceDetails.hashCode());
+ result = (result * PRIME) + (this.gmcConfigs == null ? 43 : this.gmcConfigs.hashCode());
+ result = (result * PRIME) + (this.source == null ? 43 : this.source.hashCode());
result =
(result * PRIME)
+ (this.deferredFields == null ? 43 : this.deferredFields.hashCode());
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfigurationGmcConfigDetail.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfigurationGmcConfigDetail.java
new file mode 100644
index 00000000000..0446dbc7aa7
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfigurationGmcConfigDetail.java
@@ -0,0 +1,475 @@
+/**
+ * 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;
+
+/**
+ * Configuration detail for a GPU Memory Cluster entry within an instance configuration.
+ * 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 = InstanceConfigurationGmcConfigDetail.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class InstanceConfigurationGmcConfigDetail
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "instanceConfigurationId",
+ "availabilityDomain",
+ "compartmentId",
+ "size",
+ "gpuMemoryClusterScaleConfig",
+ "displayName",
+ "definedTags",
+ "freeformTags"
+ })
+ public InstanceConfigurationGmcConfigDetail(
+ String instanceConfigurationId,
+ String availabilityDomain,
+ String compartmentId,
+ Long size,
+ InstanceConfigurationGpuMemoryClusterScaleConfig gpuMemoryClusterScaleConfig,
+ String displayName,
+ java.util.Map> definedTags,
+ java.util.Map freeformTags) {
+ super();
+ this.instanceConfigurationId = instanceConfigurationId;
+ this.availabilityDomain = availabilityDomain;
+ this.compartmentId = compartmentId;
+ this.size = size;
+ this.gpuMemoryClusterScaleConfig = gpuMemoryClusterScaleConfig;
+ this.displayName = displayName;
+ this.definedTags = definedTags;
+ this.freeformTags = freeformTags;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * base compute instance configuration associated with this GMC configuration entry.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("instanceConfigurationId")
+ private String instanceConfigurationId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * base compute instance configuration associated with this GMC configuration entry.
+ *
+ * @param instanceConfigurationId the value to set
+ * @return this builder
+ */
+ public Builder instanceConfigurationId(String instanceConfigurationId) {
+ this.instanceConfigurationId = instanceConfigurationId;
+ this.__explicitlySet__.add("instanceConfigurationId");
+ return this;
+ }
+ /** The availability domain for this GMC configuration entry. */
+ @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain")
+ private String availabilityDomain;
+
+ /**
+ * The availability domain for this GMC configuration entry.
+ *
+ * @param availabilityDomain the value to set
+ * @return this builder
+ */
+ public Builder availabilityDomain(String availabilityDomain) {
+ this.availabilityDomain = availabilityDomain;
+ this.__explicitlySet__.add("availabilityDomain");
+ return this;
+ }
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * compartment associated with this GMC configuration entry.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * compartment associated with this GMC configuration entry.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+ /** The desired number of instances for this GMC configuration entry. */
+ @com.fasterxml.jackson.annotation.JsonProperty("size")
+ private Long size;
+
+ /**
+ * The desired number of instances for this GMC configuration entry.
+ *
+ * @param size the value to set
+ * @return this builder
+ */
+ public Builder size(Long size) {
+ this.size = size;
+ this.__explicitlySet__.add("size");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("gpuMemoryClusterScaleConfig")
+ private InstanceConfigurationGpuMemoryClusterScaleConfig gpuMemoryClusterScaleConfig;
+
+ public Builder gpuMemoryClusterScaleConfig(
+ InstanceConfigurationGpuMemoryClusterScaleConfig gpuMemoryClusterScaleConfig) {
+ this.gpuMemoryClusterScaleConfig = gpuMemoryClusterScaleConfig;
+ this.__explicitlySet__.add("gpuMemoryClusterScaleConfig");
+ return this;
+ }
+ /**
+ * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering
+ * confidential information.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("displayName")
+ private String displayName;
+
+ /**
+ * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering
+ * confidential information.
+ *
+ * @param displayName the value to set
+ * @return this builder
+ */
+ public Builder displayName(String displayName) {
+ this.displayName = displayName;
+ this.__explicitlySet__.add("displayName");
+ return this;
+ }
+ /**
+ * Defined tags for this resource. Each key is predefined and scoped to a namespace. For
+ * more information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
+ *
+ * Example: {@code {"Operations": {"CostCenter": "42"}}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("definedTags")
+ private java.util.Map> definedTags;
+
+ /**
+ * Defined tags for this resource. Each key is predefined and scoped to a namespace. For
+ * more information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
+ *
+ * Example: {@code {"Operations": {"CostCenter": "42"}}}
+ *
+ * @param definedTags the value to set
+ * @return this builder
+ */
+ public Builder definedTags(
+ java.util.Map> definedTags) {
+ this.definedTags = definedTags;
+ this.__explicitlySet__.add("definedTags");
+ return this;
+ }
+ /**
+ * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined
+ * name, type, or namespace. For more information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
+ *
+ * Example: {@code {"Department": "Finance"}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags")
+ private java.util.Map freeformTags;
+
+ /**
+ * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined
+ * name, type, or namespace. For more information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
+ *
+ * Example: {@code {"Department": "Finance"}}
+ *
+ * @param freeformTags the value to set
+ * @return this builder
+ */
+ public Builder freeformTags(java.util.Map freeformTags) {
+ this.freeformTags = freeformTags;
+ this.__explicitlySet__.add("freeformTags");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public InstanceConfigurationGmcConfigDetail build() {
+ InstanceConfigurationGmcConfigDetail model =
+ new InstanceConfigurationGmcConfigDetail(
+ this.instanceConfigurationId,
+ this.availabilityDomain,
+ this.compartmentId,
+ this.size,
+ this.gpuMemoryClusterScaleConfig,
+ this.displayName,
+ this.definedTags,
+ this.freeformTags);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(InstanceConfigurationGmcConfigDetail model) {
+ if (model.wasPropertyExplicitlySet("instanceConfigurationId")) {
+ this.instanceConfigurationId(model.getInstanceConfigurationId());
+ }
+ if (model.wasPropertyExplicitlySet("availabilityDomain")) {
+ this.availabilityDomain(model.getAvailabilityDomain());
+ }
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("size")) {
+ this.size(model.getSize());
+ }
+ if (model.wasPropertyExplicitlySet("gpuMemoryClusterScaleConfig")) {
+ this.gpuMemoryClusterScaleConfig(model.getGpuMemoryClusterScaleConfig());
+ }
+ if (model.wasPropertyExplicitlySet("displayName")) {
+ this.displayName(model.getDisplayName());
+ }
+ if (model.wasPropertyExplicitlySet("definedTags")) {
+ this.definedTags(model.getDefinedTags());
+ }
+ if (model.wasPropertyExplicitlySet("freeformTags")) {
+ this.freeformTags(model.getFreeformTags());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the base
+ * compute instance configuration associated with this GMC configuration entry.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("instanceConfigurationId")
+ private final String instanceConfigurationId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the base
+ * compute instance configuration associated with this GMC configuration entry.
+ *
+ * @return the value
+ */
+ public String getInstanceConfigurationId() {
+ return instanceConfigurationId;
+ }
+
+ /** The availability domain for this GMC configuration entry. */
+ @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain")
+ private final String availabilityDomain;
+
+ /**
+ * The availability domain for this GMC configuration entry.
+ *
+ * @return the value
+ */
+ public String getAvailabilityDomain() {
+ return availabilityDomain;
+ }
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * compartment associated with this GMC configuration entry.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
+ * compartment associated with this GMC configuration entry.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ /** The desired number of instances for this GMC configuration entry. */
+ @com.fasterxml.jackson.annotation.JsonProperty("size")
+ private final Long size;
+
+ /**
+ * The desired number of instances for this GMC configuration entry.
+ *
+ * @return the value
+ */
+ public Long getSize() {
+ return size;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("gpuMemoryClusterScaleConfig")
+ private final InstanceConfigurationGpuMemoryClusterScaleConfig gpuMemoryClusterScaleConfig;
+
+ public InstanceConfigurationGpuMemoryClusterScaleConfig getGpuMemoryClusterScaleConfig() {
+ return gpuMemoryClusterScaleConfig;
+ }
+
+ /**
+ * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering
+ * confidential information.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("displayName")
+ private final String displayName;
+
+ /**
+ * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering
+ * confidential information.
+ *
+ * @return the value
+ */
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ /**
+ * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more
+ * information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
+ *
+ * Example: {@code {"Operations": {"CostCenter": "42"}}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("definedTags")
+ private final java.util.Map> definedTags;
+
+ /**
+ * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more
+ * information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
+ *
+ * Example: {@code {"Operations": {"CostCenter": "42"}}}
+ *
+ * @return the value
+ */
+ public java.util.Map> getDefinedTags() {
+ return definedTags;
+ }
+
+ /**
+ * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined
+ * name, type, or namespace. For more information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
+ *
+ * Example: {@code {"Department": "Finance"}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags")
+ private final java.util.Map freeformTags;
+
+ /**
+ * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined
+ * name, type, or namespace. For more information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
+ *
+ * Example: {@code {"Department": "Finance"}}
+ *
+ * @return the value
+ */
+ public java.util.Map getFreeformTags() {
+ return freeformTags;
+ }
+
+ @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("InstanceConfigurationGmcConfigDetail(");
+ sb.append("super=").append(super.toString());
+ sb.append("instanceConfigurationId=").append(String.valueOf(this.instanceConfigurationId));
+ sb.append(", availabilityDomain=").append(String.valueOf(this.availabilityDomain));
+ sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", size=").append(String.valueOf(this.size));
+ sb.append(", gpuMemoryClusterScaleConfig=")
+ .append(String.valueOf(this.gpuMemoryClusterScaleConfig));
+ sb.append(", displayName=").append(String.valueOf(this.displayName));
+ sb.append(", definedTags=").append(String.valueOf(this.definedTags));
+ sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof InstanceConfigurationGmcConfigDetail)) {
+ return false;
+ }
+
+ InstanceConfigurationGmcConfigDetail other = (InstanceConfigurationGmcConfigDetail) o;
+ return java.util.Objects.equals(this.instanceConfigurationId, other.instanceConfigurationId)
+ && java.util.Objects.equals(this.availabilityDomain, other.availabilityDomain)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.size, other.size)
+ && java.util.Objects.equals(
+ this.gpuMemoryClusterScaleConfig, other.gpuMemoryClusterScaleConfig)
+ && java.util.Objects.equals(this.displayName, other.displayName)
+ && java.util.Objects.equals(this.definedTags, other.definedTags)
+ && java.util.Objects.equals(this.freeformTags, other.freeformTags)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.instanceConfigurationId == null
+ ? 43
+ : this.instanceConfigurationId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.availabilityDomain == null
+ ? 43
+ : this.availabilityDomain.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.size == null ? 43 : this.size.hashCode());
+ result =
+ (result * PRIME)
+ + (this.gpuMemoryClusterScaleConfig == null
+ ? 43
+ : this.gpuMemoryClusterScaleConfig.hashCode());
+ result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode());
+ result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode());
+ result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfigurationGpuMemoryClusterScaleConfig.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfigurationGpuMemoryClusterScaleConfig.java
new file mode 100644
index 00000000000..b8411f2e246
--- /dev/null
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstanceConfigurationGpuMemoryClusterScaleConfig.java
@@ -0,0 +1,212 @@
+/**
+ * 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;
+
+/**
+ * Configuration settings for GPU Memory Cluster scaling.
+ * 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 = InstanceConfigurationGpuMemoryClusterScaleConfig.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class InstanceConfigurationGpuMemoryClusterScaleConfig
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"isUpsizeEnabled", "isDownsizeEnabled", "targetSize"})
+ public InstanceConfigurationGpuMemoryClusterScaleConfig(
+ Boolean isUpsizeEnabled, Boolean isDownsizeEnabled, Long targetSize) {
+ super();
+ this.isUpsizeEnabled = isUpsizeEnabled;
+ this.isDownsizeEnabled = isDownsizeEnabled;
+ this.targetSize = targetSize;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Enables upsizing towards the target size. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isUpsizeEnabled")
+ private Boolean isUpsizeEnabled;
+
+ /**
+ * Enables upsizing towards the target size.
+ *
+ * @param isUpsizeEnabled the value to set
+ * @return this builder
+ */
+ public Builder isUpsizeEnabled(Boolean isUpsizeEnabled) {
+ this.isUpsizeEnabled = isUpsizeEnabled;
+ this.__explicitlySet__.add("isUpsizeEnabled");
+ return this;
+ }
+ /** Enables downsizing towards the target size. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isDownsizeEnabled")
+ private Boolean isDownsizeEnabled;
+
+ /**
+ * Enables downsizing towards the target size.
+ *
+ * @param isDownsizeEnabled the value to set
+ * @return this builder
+ */
+ public Builder isDownsizeEnabled(Boolean isDownsizeEnabled) {
+ this.isDownsizeEnabled = isDownsizeEnabled;
+ this.__explicitlySet__.add("isDownsizeEnabled");
+ return this;
+ }
+ /** The configured target size for the GPU Memory Cluster. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetSize")
+ private Long targetSize;
+
+ /**
+ * The configured target size for the GPU Memory Cluster.
+ *
+ * @param targetSize the value to set
+ * @return this builder
+ */
+ public Builder targetSize(Long targetSize) {
+ this.targetSize = targetSize;
+ this.__explicitlySet__.add("targetSize");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public InstanceConfigurationGpuMemoryClusterScaleConfig build() {
+ InstanceConfigurationGpuMemoryClusterScaleConfig model =
+ new InstanceConfigurationGpuMemoryClusterScaleConfig(
+ this.isUpsizeEnabled, this.isDownsizeEnabled, this.targetSize);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(InstanceConfigurationGpuMemoryClusterScaleConfig model) {
+ if (model.wasPropertyExplicitlySet("isUpsizeEnabled")) {
+ this.isUpsizeEnabled(model.getIsUpsizeEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("isDownsizeEnabled")) {
+ this.isDownsizeEnabled(model.getIsDownsizeEnabled());
+ }
+ if (model.wasPropertyExplicitlySet("targetSize")) {
+ this.targetSize(model.getTargetSize());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Enables upsizing towards the target size. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isUpsizeEnabled")
+ private final Boolean isUpsizeEnabled;
+
+ /**
+ * Enables upsizing towards the target size.
+ *
+ * @return the value
+ */
+ public Boolean getIsUpsizeEnabled() {
+ return isUpsizeEnabled;
+ }
+
+ /** Enables downsizing towards the target size. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isDownsizeEnabled")
+ private final Boolean isDownsizeEnabled;
+
+ /**
+ * Enables downsizing towards the target size.
+ *
+ * @return the value
+ */
+ public Boolean getIsDownsizeEnabled() {
+ return isDownsizeEnabled;
+ }
+
+ /** The configured target size for the GPU Memory Cluster. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetSize")
+ private final Long targetSize;
+
+ /**
+ * The configured target size for the GPU Memory Cluster.
+ *
+ * @return the value
+ */
+ public Long getTargetSize() {
+ return targetSize;
+ }
+
+ @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("InstanceConfigurationGpuMemoryClusterScaleConfig(");
+ sb.append("super=").append(super.toString());
+ sb.append("isUpsizeEnabled=").append(String.valueOf(this.isUpsizeEnabled));
+ sb.append(", isDownsizeEnabled=").append(String.valueOf(this.isDownsizeEnabled));
+ sb.append(", targetSize=").append(String.valueOf(this.targetSize));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof InstanceConfigurationGpuMemoryClusterScaleConfig)) {
+ return false;
+ }
+
+ InstanceConfigurationGpuMemoryClusterScaleConfig other =
+ (InstanceConfigurationGpuMemoryClusterScaleConfig) o;
+ return java.util.Objects.equals(this.isUpsizeEnabled, other.isUpsizeEnabled)
+ && java.util.Objects.equals(this.isDownsizeEnabled, other.isDownsizeEnabled)
+ && java.util.Objects.equals(this.targetSize, other.targetSize)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.isUpsizeEnabled == null ? 43 : this.isUpsizeEnabled.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isDownsizeEnabled == null ? 43 : this.isDownsizeEnabled.hashCode());
+ result = (result * PRIME) + (this.targetSize == null ? 43 : this.targetSize.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/InstancePool.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstancePool.java
index 14d7ed21740..90455e4e7a3 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/InstancePool.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstancePool.java
@@ -30,6 +30,7 @@ public final class InstancePool extends com.oracle.bmc.http.client.internal.Expl
"displayName",
"freeformTags",
"instanceConfigurationId",
+ "poolType",
"lifecycleState",
"placementConfigurations",
"size",
@@ -47,6 +48,7 @@ public InstancePool(
String displayName,
java.util.Map freeformTags,
String instanceConfigurationId,
+ PoolType poolType,
LifecycleState lifecycleState,
java.util.List placementConfigurations,
Integer size,
@@ -63,6 +65,7 @@ public InstancePool(
this.displayName = displayName;
this.freeformTags = freeformTags;
this.instanceConfigurationId = instanceConfigurationId;
+ this.poolType = poolType;
this.lifecycleState = lifecycleState;
this.placementConfigurations = placementConfigurations;
this.size = size;
@@ -203,6 +206,21 @@ public Builder instanceConfigurationId(String instanceConfigurationId) {
this.__explicitlySet__.add("instanceConfigurationId");
return this;
}
+ /** The type of resources managed by the pool. */
+ @com.fasterxml.jackson.annotation.JsonProperty("poolType")
+ private PoolType poolType;
+
+ /**
+ * The type of resources managed by the pool.
+ *
+ * @param poolType the value to set
+ * @return this builder
+ */
+ public Builder poolType(PoolType poolType) {
+ this.poolType = poolType;
+ this.__explicitlySet__.add("poolType");
+ return this;
+ }
/** The current state of the instance pool. */
@com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
private LifecycleState lifecycleState;
@@ -364,6 +382,7 @@ public InstancePool build() {
this.displayName,
this.freeformTags,
this.instanceConfigurationId,
+ this.poolType,
this.lifecycleState,
this.placementConfigurations,
this.size,
@@ -399,6 +418,9 @@ public Builder copy(InstancePool model) {
if (model.wasPropertyExplicitlySet("instanceConfigurationId")) {
this.instanceConfigurationId(model.getInstanceConfigurationId());
}
+ if (model.wasPropertyExplicitlySet("poolType")) {
+ this.poolType(model.getPoolType());
+ }
if (model.wasPropertyExplicitlySet("lifecycleState")) {
this.lifecycleState(model.getLifecycleState());
}
@@ -553,6 +575,65 @@ public String getInstanceConfigurationId() {
return instanceConfigurationId;
}
+ /** The type of resources managed by the pool. */
+ public enum PoolType implements com.oracle.bmc.http.internal.BmcEnum {
+ Instance("INSTANCE"),
+ Gmc("GMC"),
+
+ /**
+ * 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(PoolType.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (PoolType v : PoolType.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ PoolType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static PoolType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'PoolType', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** The type of resources managed by the pool. */
+ @com.fasterxml.jackson.annotation.JsonProperty("poolType")
+ private final PoolType poolType;
+
+ /**
+ * The type of resources managed by the pool.
+ *
+ * @return the value
+ */
+ public PoolType getPoolType() {
+ return poolType;
+ }
+
/** The current state of the instance pool. */
public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum {
Provisioning("PROVISIONING"),
@@ -754,6 +835,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", instanceConfigurationId=")
.append(String.valueOf(this.instanceConfigurationId));
+ sb.append(", poolType=").append(String.valueOf(this.poolType));
sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState));
sb.append(", placementConfigurations=")
.append(String.valueOf(this.placementConfigurations));
@@ -787,6 +869,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(
this.instanceConfigurationId, other.instanceConfigurationId)
+ && java.util.Objects.equals(this.poolType, other.poolType)
&& java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
&& java.util.Objects.equals(
this.placementConfigurations, other.placementConfigurations)
@@ -818,6 +901,7 @@ public int hashCode() {
+ (this.instanceConfigurationId == null
? 43
: this.instanceConfigurationId.hashCode());
+ result = (result * PRIME) + (this.poolType == null ? 43 : this.poolType.hashCode());
result =
(result * PRIME)
+ (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/InstancePoolSummary.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstancePoolSummary.java
index 288e81f2e34..476702a3052 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/InstancePoolSummary.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/InstancePoolSummary.java
@@ -28,6 +28,7 @@ public final class InstancePoolSummary
"compartmentId",
"displayName",
"instanceConfigurationId",
+ "poolType",
"lifecycleState",
"availabilityDomains",
"size",
@@ -41,6 +42,7 @@ public InstancePoolSummary(
String compartmentId,
String displayName,
String instanceConfigurationId,
+ InstancePool.PoolType poolType,
LifecycleState lifecycleState,
java.util.List availabilityDomains,
Integer size,
@@ -53,6 +55,7 @@ public InstancePoolSummary(
this.compartmentId = compartmentId;
this.displayName = displayName;
this.instanceConfigurationId = instanceConfigurationId;
+ this.poolType = poolType;
this.lifecycleState = lifecycleState;
this.availabilityDomains = availabilityDomains;
this.size = size;
@@ -128,6 +131,21 @@ public Builder instanceConfigurationId(String instanceConfigurationId) {
this.__explicitlySet__.add("instanceConfigurationId");
return this;
}
+ /** The type of resources managed by the pool. */
+ @com.fasterxml.jackson.annotation.JsonProperty("poolType")
+ private InstancePool.PoolType poolType;
+
+ /**
+ * The type of resources managed by the pool.
+ *
+ * @param poolType the value to set
+ * @return this builder
+ */
+ public Builder poolType(InstancePool.PoolType poolType) {
+ this.poolType = poolType;
+ this.__explicitlySet__.add("poolType");
+ return this;
+ }
/** The current state of the instance pool. */
@com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
private LifecycleState lifecycleState;
@@ -269,6 +287,7 @@ public InstancePoolSummary build() {
this.compartmentId,
this.displayName,
this.instanceConfigurationId,
+ this.poolType,
this.lifecycleState,
this.availabilityDomains,
this.size,
@@ -296,6 +315,9 @@ public Builder copy(InstancePoolSummary model) {
if (model.wasPropertyExplicitlySet("instanceConfigurationId")) {
this.instanceConfigurationId(model.getInstanceConfigurationId());
}
+ if (model.wasPropertyExplicitlySet("poolType")) {
+ this.poolType(model.getPoolType());
+ }
if (model.wasPropertyExplicitlySet("lifecycleState")) {
this.lifecycleState(model.getLifecycleState());
}
@@ -386,6 +408,19 @@ public String getInstanceConfigurationId() {
return instanceConfigurationId;
}
+ /** The type of resources managed by the pool. */
+ @com.fasterxml.jackson.annotation.JsonProperty("poolType")
+ private final InstancePool.PoolType poolType;
+
+ /**
+ * The type of resources managed by the pool.
+ *
+ * @return the value
+ */
+ public InstancePool.PoolType getPoolType() {
+ return poolType;
+ }
+
/** The current state of the instance pool. */
public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum {
Provisioning("PROVISIONING"),
@@ -573,6 +608,7 @@ public String toString(boolean includeByteArrayContents) {
sb.append(", displayName=").append(String.valueOf(this.displayName));
sb.append(", instanceConfigurationId=")
.append(String.valueOf(this.instanceConfigurationId));
+ sb.append(", poolType=").append(String.valueOf(this.poolType));
sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState));
sb.append(", availabilityDomains=").append(String.valueOf(this.availabilityDomains));
sb.append(", size=").append(String.valueOf(this.size));
@@ -599,6 +635,7 @@ public boolean equals(Object o) {
&& java.util.Objects.equals(this.displayName, other.displayName)
&& java.util.Objects.equals(
this.instanceConfigurationId, other.instanceConfigurationId)
+ && java.util.Objects.equals(this.poolType, other.poolType)
&& java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
&& java.util.Objects.equals(this.availabilityDomains, other.availabilityDomains)
&& java.util.Objects.equals(this.size, other.size)
@@ -623,6 +660,7 @@ public int hashCode() {
+ (this.instanceConfigurationId == null
? 43
: this.instanceConfigurationId.hashCode());
+ result = (result * PRIME) + (this.poolType == null ? 43 : this.poolType.hashCode());
result =
(result * PRIME)
+ (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/PlacementConstraintDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/PlacementConstraintDetails.java
index 3ebd995c9e9..7ae3a99a22d 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/PlacementConstraintDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/PlacementConstraintDetails.java
@@ -25,6 +25,9 @@
@com.fasterxml.jackson.annotation.JsonSubTypes.Type(
value = HostGroupPlacementConstraintDetails.class,
name = "HOST_GROUP"),
+ @com.fasterxml.jackson.annotation.JsonSubTypes.Type(
+ value = ComputeClusterPlacementConstraintDetails.class,
+ name = "COMPUTE_CLUSTER"),
@com.fasterxml.jackson.annotation.JsonSubTypes.Type(
value = ComputeBareMetalHostPlacementConstraintDetails.class,
name = "COMPUTE_BARE_METAL_HOST")
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateComputeClusterDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateComputeClusterDetails.java
index 8c1fba69593..68b093c29e5 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateComputeClusterDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateComputeClusterDetails.java
@@ -5,9 +5,20 @@
package com.oracle.bmc.core.model;
/**
- * The data to update a compute cluster. A [compute
- * cluster](https://docs.oracle.com/iaas/Content/Compute/Tasks/compute-clusters.htm) is a remote
- * direct memory access (RDMA) network group.
+ * The data to update a [compute
+ * cluster](https://docs.oracle.com/iaas/Content/Compute/Tasks/compute-clusters.htm).
+ *
+ * Use {@code COMPUTE_CLUSTER} type when using placementConstraintDetails.
+ *
+ *
{@code placementConstraintDetails.hpcIslandId} is create-only and cannot be part of this
+ * update request.
+ *
+ *
All other fields in {@code placementConstraintDetails} are optional, and only the fields
+ * provided will be updated.
+ *
+ *
If {@code placementConstraintDetails.targetNetworkBlockIds} or {@code
+ * placementConstraintDetails.targetMemoryFabricIds} is provided, then the target compute cluster
+ * must already have {@code hpcIslandId} persisted.
* 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
@@ -25,15 +36,22 @@
public final class UpdateComputeClusterDetails
extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
- @java.beans.ConstructorProperties({"displayName", "definedTags", "freeformTags"})
+ @java.beans.ConstructorProperties({
+ "displayName",
+ "definedTags",
+ "freeformTags",
+ "placementConstraintDetails"
+ })
public UpdateComputeClusterDetails(
String displayName,
java.util.Map> definedTags,
- java.util.Map freeformTags) {
+ java.util.Map freeformTags,
+ PlacementConstraintDetails placementConstraintDetails) {
super();
this.displayName = displayName;
this.definedTags = definedTags;
this.freeformTags = freeformTags;
+ this.placementConstraintDetails = placementConstraintDetails;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
@@ -109,13 +127,26 @@ public Builder freeformTags(java.util.Map freeformTags) {
return this;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("placementConstraintDetails")
+ private PlacementConstraintDetails placementConstraintDetails;
+
+ public Builder placementConstraintDetails(
+ PlacementConstraintDetails placementConstraintDetails) {
+ this.placementConstraintDetails = placementConstraintDetails;
+ this.__explicitlySet__.add("placementConstraintDetails");
+ return this;
+ }
+
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
public UpdateComputeClusterDetails build() {
UpdateComputeClusterDetails model =
new UpdateComputeClusterDetails(
- this.displayName, this.definedTags, this.freeformTags);
+ this.displayName,
+ this.definedTags,
+ this.freeformTags,
+ this.placementConstraintDetails);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -133,6 +164,9 @@ public Builder copy(UpdateComputeClusterDetails model) {
if (model.wasPropertyExplicitlySet("freeformTags")) {
this.freeformTags(model.getFreeformTags());
}
+ if (model.wasPropertyExplicitlySet("placementConstraintDetails")) {
+ this.placementConstraintDetails(model.getPlacementConstraintDetails());
+ }
return this;
}
}
@@ -209,6 +243,13 @@ public java.util.Map getFreeformTags() {
return freeformTags;
}
+ @com.fasterxml.jackson.annotation.JsonProperty("placementConstraintDetails")
+ private final PlacementConstraintDetails placementConstraintDetails;
+
+ public PlacementConstraintDetails getPlacementConstraintDetails() {
+ return placementConstraintDetails;
+ }
+
@Override
public String toString() {
return this.toString(true);
@@ -227,6 +268,8 @@ public String toString(boolean includeByteArrayContents) {
sb.append("displayName=").append(String.valueOf(this.displayName));
sb.append(", definedTags=").append(String.valueOf(this.definedTags));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
+ sb.append(", placementConstraintDetails=")
+ .append(String.valueOf(this.placementConstraintDetails));
sb.append(")");
return sb.toString();
}
@@ -244,6 +287,8 @@ public boolean equals(Object o) {
return java.util.Objects.equals(this.displayName, other.displayName)
&& java.util.Objects.equals(this.definedTags, other.definedTags)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
+ && java.util.Objects.equals(
+ this.placementConstraintDetails, other.placementConstraintDetails)
&& super.equals(other);
}
@@ -254,6 +299,11 @@ public int hashCode() {
result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode());
result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
+ result =
+ (result * PRIME)
+ + (this.placementConstraintDetails == null
+ ? 43
+ : this.placementConstraintDetails.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateInstancePoolDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateInstancePoolDetails.java
index f657ce10002..2d267bbf9a6 100644
--- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateInstancePoolDetails.java
+++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateInstancePoolDetails.java
@@ -178,7 +178,8 @@ public Builder placementConfigurations(
return this;
}
/**
- * The number of instances that should be in the instance pool.
+ * The number of instances that should be in the instance pool. For a GMC-enabled resource
+ * pool, this is the number of GMC resources that should be in the pool.
*
* To determine whether capacity is available for a specific shape before you resize an
* instance pool, use the {@link
@@ -189,7 +190,8 @@ public Builder placementConfigurations(
private Integer size;
/**
- * The number of instances that should be in the instance pool.
+ * The number of instances that should be in the instance pool. For a GMC-enabled resource
+ * pool, this is the number of GMC resources that should be in the pool.
*
*
To determine whether capacity is available for a specific shape before you resize an
* instance pool, use the {@link
@@ -426,7 +428,8 @@ public String getInstanceConfigurationId() {
}
/**
- * The number of instances that should be in the instance pool.
+ * The number of instances that should be in the instance pool. For a GMC-enabled resource pool,
+ * this is the number of GMC resources that should be in the pool.
*
*
To determine whether capacity is available for a specific shape before you resize an
* instance pool, use the {@link
@@ -437,7 +440,8 @@ public String getInstanceConfigurationId() {
private final Integer size;
/**
- * The number of instances that should be in the instance pool.
+ * The number of instances that should be in the instance pool. For a GMC-enabled resource pool,
+ * this is the number of GMC resources that should be in the pool.
*
*
To determine whether capacity is available for a specific shape before you resize an
* instance pool, use the {@link
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 a865bdb2e19..2a7320101a2 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
@@ -2551,6 +2551,26 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.ComputeClusterLogicalPlacementConstraint",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.ComputeClusterPlacementConstraintDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.ComputeClusterPlacementConstraintDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.core.model.ComputeClusterSummary",
@@ -3672,6 +3692,20 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.CreateGmcConfigurationDetails",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.CreateGmcConfigurationDetails$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.core.model.CreateIPSecConnectionDetails",
@@ -5945,6 +5979,12 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.InstanceConfiguration$Source",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.core.model.InstanceConfigurationAmdMilanBmGpuLaunchInstancePlatformConfig",
@@ -6183,6 +6223,34 @@
"allDeclaredFields": true,
"allDeclaredMethods": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.InstanceConfigurationGmcConfigDetail",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.InstanceConfigurationGmcConfigDetail$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.InstanceConfigurationGpuMemoryClusterScaleConfig",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "queryAllDeclaredConstructors": true
+ },
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.InstanceConfigurationGpuMemoryClusterScaleConfig$Builder",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true,
+ "allDeclaredConstructors": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.core.model.InstanceConfigurationHostGroupPlacementConstraintDetails",
@@ -6690,6 +6758,12 @@
"allDeclaredMethods": true,
"allDeclaredConstructors": true
},
+ {
+ "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
+ "name": "com.oracle.bmc.core.model.InstancePool$PoolType",
+ "allDeclaredFields": true,
+ "allDeclaredMethods": true
+ },
{
"condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" },
"name": "com.oracle.bmc.core.model.InstancePool$LifecycleState",
diff --git a/bmc-costad/pom.xml b/bmc-costad/pom.xml
index 0ca66868fb4..dcb325cc487 100644
--- a/bmc-costad/pom.xml
+++ b/bmc-costad/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-costad
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-dashboardservice/pom.xml b/bmc-dashboardservice/pom.xml
index ee0a3d2329f..64b19c315a3 100644
--- a/bmc-dashboardservice/pom.xml
+++ b/bmc-dashboardservice/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-dashboardservice
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-database/pom.xml b/bmc-database/pom.xml
index c073fde1513..0c198954cac 100644
--- a/bmc-database/pom.xml
+++ b/bmc-database/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
@@ -18,12 +18,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.91.1
+ 3.92.0
diff --git a/bmc-databasemanagement/pom.xml b/bmc-databasemanagement/pom.xml
index 5618d449efd..95585d7900e 100644
--- a/bmc-databasemanagement/pom.xml
+++ b/bmc-databasemanagement/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-databasemanagement
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-databasemigration/pom.xml b/bmc-databasemigration/pom.xml
index bbffbc65479..e6b3153d044 100644
--- a/bmc-databasemigration/pom.xml
+++ b/bmc-databasemigration/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-databasemigration
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-databasetools/pom.xml b/bmc-databasetools/pom.xml
index 280c3e57c2a..9298bf2ea1e 100644
--- a/bmc-databasetools/pom.xml
+++ b/bmc-databasetools/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-databasetools
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-databasetoolsruntime/pom.xml b/bmc-databasetoolsruntime/pom.xml
index 2beb366315b..56ac238b939 100644
--- a/bmc-databasetoolsruntime/pom.xml
+++ b/bmc-databasetoolsruntime/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-databasetoolsruntime
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-datacatalog/pom.xml b/bmc-datacatalog/pom.xml
index 2a263423a20..000533bf102 100644
--- a/bmc-datacatalog/pom.xml
+++ b/bmc-datacatalog/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.91.1
+ 3.92.0
../pom.xml
oci-java-sdk-datacatalog
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.91.1
+ 3.92.0
\ No newline at end of file
diff --git a/bmc-datacc/pom.xml b/bmc-datacc/pom.xml
new file mode 100644
index 00000000000..ee5b0f399e4
--- /dev/null
+++ b/bmc-datacc/pom.xml
@@ -0,0 +1,21 @@
+
+
+ 4.0.0
+
+ com.oracle.oci.sdk
+ oci-java-sdk
+ 3.92.0
+ ../pom.xml
+
+ oci-java-sdk-datacc
+ Oracle Cloud Infrastructure SDK - Datacc
+ This project contains the SDK used for Oracle Cloud Infrastructure Datacc
+ https://docs.cloud.oracle.com/Content/API/SDKDocs/javasdk.htm
+
+
+ com.oracle.oci.sdk
+ oci-java-sdk-common
+ 3.92.0
+
+
+
\ No newline at end of file
diff --git a/bmc-datacc/src/main/java/com/oracle/bmc/datacc/Baseinfra.java b/bmc-datacc/src/main/java/com/oracle/bmc/datacc/Baseinfra.java
new file mode 100644
index 00000000000..af9232aae81
--- /dev/null
+++ b/bmc-datacc/src/main/java/com/oracle/bmc/datacc/Baseinfra.java
@@ -0,0 +1,775 @@
+/**
+ * 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.datacc;
+
+import com.oracle.bmc.datacc.requests.*;
+import com.oracle.bmc.datacc.responses.*;
+
+/**
+ * API for Database Infrastructure Cloud@Customer Service. Use this API to manage Database
+ * Infrastructure VM clusters, Application VMs, and related resources.
+ *
+ *
This service client uses CircuitBreakerUtils.DEFAULT_CIRCUIT_BREAKER for all the operations by
+ * default if no circuit breaker configuration is defined by the user.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20251101")
+public interface Baseinfra extends AutoCloseable {
+
+ /** Rebuilds the client from scratch. Useful to refresh certificates. */
+ void refreshClient();
+
+ /**
+ * Sets the endpoint to call (ex, https://www.example.com).
+ *
+ * @param endpoint The endpoint of the service.
+ */
+ void setEndpoint(String endpoint);
+
+ /** Gets the set endpoint for REST call (ex, https://www.example.com) */
+ String getEndpoint();
+
+ /**
+ * Sets the region to call (ex, Region.US_PHOENIX_1).
+ *
+ *
Note, this will call {@link #setEndpoint(String) setEndpoint} after resolving the
+ * endpoint. If the service is not available in this Region, however, an
+ * IllegalArgumentException will be raised.
+ *
+ * @param region The region of the service.
+ */
+ void setRegion(com.oracle.bmc.Region region);
+
+ /**
+ * Sets the region to call (ex, 'us-phoenix-1').
+ *
+ *
Note, this will first try to map the region ID to a known Region and call {@link
+ * #setRegion(Region) setRegion}.
+ *
+ *
If no known Region could be determined, it will create an endpoint based on the default
+ * endpoint format ({@link com.oracle.bmc.Region#formatDefaultRegionEndpoint(Service, String)}
+ * and then call {@link #setEndpoint(String) setEndpoint}.
+ *
+ * @param regionId The public region ID.
+ */
+ void setRegion(String regionId);
+
+ /**
+ * Determines whether realm specific endpoint should be used or not. Set
+ * realmSpecificEndpointTemplateEnabled to "true" if the user wants to enable use of realm
+ * specific endpoint template, otherwise set it to "false"
+ *
+ * @param realmSpecificEndpointTemplateEnabled flag to enable the use of realm specific endpoint
+ * template
+ */
+ void useRealmSpecificEndpointTemplate(boolean realmSpecificEndpointTemplateEnabled);
+
+ /**
+ * Activate an Database Infrastructure using the specified details.
+ *
+ * @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
+ * ActivateInfrastructure API.
+ */
+ ActivateInfrastructureResponse activateInfrastructure(ActivateInfrastructureRequest request);
+
+ /**
+ * Change the Database Infrastructure Cloud@Customer Compartment to the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ * ChangeInfrastructureCompartment API.
+ */
+ ChangeInfrastructureCompartmentResponse changeInfrastructureCompartment(
+ ChangeInfrastructureCompartmentRequest request);
+
+ /**
+ * Change the VM cluster network Compartment to the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ * ChangeVmClusterNetworkCompartment API.
+ */
+ ChangeVmClusterNetworkCompartmentResponse changeVmClusterNetworkCompartment(
+ ChangeVmClusterNetworkCompartmentRequest request);
+
+ /**
+ * Change the VM instance on Database Infrastructure Compartment to the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ * ChangeVmInstanceCompartment API.
+ */
+ ChangeVmInstanceCompartmentResponse changeVmInstanceCompartment(
+ ChangeVmInstanceCompartmentRequest request);
+
+ /**
+ * Create a Database Infrastructure using the specified details.
+ *
+ * @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
+ * CreateInfrastructure API.
+ */
+ CreateInfrastructureResponse createInfrastructure(CreateInfrastructureRequest request);
+
+ /**
+ * Create an VM cluster on Database Infrastructure network using the specified details.
+ *
+ * @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
+ * CreateVmClusterNetwork API.
+ */
+ CreateVmClusterNetworkResponse createVmClusterNetwork(CreateVmClusterNetworkRequest request);
+
+ /**
+ * Create an VM instance on Database Infrastructure using the specified details.
+ *
+ * @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 CreateVmInstance
+ * API.
+ */
+ CreateVmInstanceResponse createVmInstance(CreateVmInstanceRequest request);
+
+ /**
+ * Delete the Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). It must be
+ * called once the resource usage is complete.
+ *
+ * @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
+ * DeleteInfrastructure API.
+ */
+ DeleteInfrastructureResponse deleteInfrastructure(DeleteInfrastructureRequest request);
+
+ /**
+ * Delete the VM cluster network on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). It must be
+ * called once the resource usage is complete.
+ *
+ * @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
+ * DeleteVmClusterNetwork API.
+ */
+ DeleteVmClusterNetworkResponse deleteVmClusterNetwork(DeleteVmClusterNetworkRequest request);
+
+ /**
+ * Delete the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). It must be
+ * called once the resource usage is complete.
+ *
+ * @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 DeleteVmInstance
+ * API.
+ */
+ DeleteVmInstanceResponse deleteVmInstance(DeleteVmInstanceRequest request);
+
+ /**
+ * Downloads the configuration file for the specified Database Infrastructure Cloud@Customer.
+ *
+ * @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
+ * DownloadInfrastructureConfigFile API.
+ */
+ DownloadInfrastructureConfigFileResponse downloadInfrastructureConfigFile(
+ DownloadInfrastructureConfigFileRequest request);
+
+ /**
+ * Downloads the validation script for the specified Database Infrastructure Cloud@Customer.
+ *
+ * @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
+ * DownloadInfrastructureValidationScript API.
+ */
+ DownloadInfrastructureValidationScriptResponse downloadInfrastructureValidationScript(
+ DownloadInfrastructureValidationScriptRequest request);
+
+ /**
+ * Generates an VM cluster network configuration using the specified details.
+ *
+ * @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
+ * GenerateRecommendedVmClusterNetwork API.
+ */
+ GenerateRecommendedVmClusterNetworkResponse generateRecommendedVmClusterNetwork(
+ GenerateRecommendedVmClusterNetworkRequest request);
+
+ /**
+ * Obtain the Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 GetInfrastructure
+ * API.
+ */
+ GetInfrastructureResponse getInfrastructure(GetInfrastructureRequest request);
+
+ /**
+ * Get the available scale options for the infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ * GetInfrastructureScaleOption API.
+ */
+ GetInfrastructureScaleOptionResponse getInfrastructureScaleOption(
+ GetInfrastructureScaleOptionRequest request);
+
+ /**
+ * Gets information about the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ * GetMaintenanceExecution API.
+ */
+ GetMaintenanceExecutionResponse getMaintenanceExecution(GetMaintenanceExecutionRequest request);
+
+ /**
+ * Gets information about the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 GetMaintenanceRun
+ * API.
+ */
+ GetMaintenanceRunResponse getMaintenanceRun(GetMaintenanceRunRequest request);
+
+ /**
+ * Obtain the VM cluster network on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 GetVmClusterNetwork
+ * API.
+ */
+ GetVmClusterNetworkResponse getVmClusterNetwork(GetVmClusterNetworkRequest request);
+
+ /**
+ * Obtain the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 GetVmInstance API.
+ */
+ GetVmInstanceResponse getVmInstance(GetVmInstanceRequest request);
+
+ /**
+ * Get the status of the work request having the specified work request
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 GetWorkRequest API.
+ */
+ GetWorkRequestResponse getWorkRequest(GetWorkRequestRequest request);
+
+ /**
+ * Obtain a list of Database Infrastructures.
+ *
+ * @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 ListInfrastructures
+ * API.
+ */
+ ListInfrastructuresResponse listInfrastructures(ListInfrastructuresRequest request);
+
+ /**
+ * Gets a list of the maintenance executions in the specified compartment.
+ *
+ * @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
+ * ListMaintenanceExecutions API.
+ */
+ ListMaintenanceExecutionsResponse listMaintenanceExecutions(
+ ListMaintenanceExecutionsRequest request);
+
+ /**
+ * Gets a list of the maintenance runs in the specified compartment.
+ *
+ * @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 ListMaintenanceRuns
+ * API.
+ */
+ ListMaintenanceRunsResponse listMaintenanceRuns(ListMaintenanceRunsRequest request);
+
+ /**
+ * Obtain a list of VM cluster networks on Database Infrastructure.
+ *
+ * @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
+ * ListVmClusterNetworks API.
+ */
+ ListVmClusterNetworksResponse listVmClusterNetworks(ListVmClusterNetworksRequest request);
+
+ /**
+ * Obtain a list of VM instances.
+ *
+ * @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 ListVmInstances
+ * API.
+ */
+ ListVmInstancesResponse listVmInstances(ListVmInstancesRequest request);
+
+ /**
+ * View the list of errors for the work request that have the specified work request
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ * ListWorkRequestErrors API.
+ */
+ ListWorkRequestErrorsResponse listWorkRequestErrors(ListWorkRequestErrorsRequest request);
+
+ /**
+ * View the log entries for the work request that have the specified work request
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 ListWorkRequestLogs
+ * API.
+ */
+ ListWorkRequestLogsResponse listWorkRequestLogs(ListWorkRequestLogsRequest request);
+
+ /**
+ * View a list of work request details in the specified compartment.
+ *
+ * @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 ListWorkRequests
+ * API.
+ */
+ ListWorkRequestsResponse listWorkRequests(ListWorkRequestsRequest request);
+
+ /**
+ * Migrate the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 MigrateVmInstance
+ * API.
+ */
+ MigrateVmInstanceResponse migrateVmInstance(MigrateVmInstanceRequest request);
+
+ /**
+ * Reschedules the specified maintenance run by providing a new `timeScheduled` value. Only
+ * maintenance runs in eligible states may be rescheduled.
+ *
+ * @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
+ * RescheduleMaintenanceRun API.
+ */
+ RescheduleMaintenanceRunResponse rescheduleMaintenanceRun(
+ RescheduleMaintenanceRunRequest request);
+
+ /**
+ * Restart the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 RestartVmInstance
+ * API.
+ */
+ RestartVmInstanceResponse restartVmInstance(RestartVmInstanceRequest request);
+
+ /**
+ * Scale storage for the specified infrastructure using the specified details.
+ *
+ * @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
+ * ScaleInfrastructureStorage API.
+ */
+ ScaleInfrastructureStorageResponse scaleInfrastructureStorage(
+ ScaleInfrastructureStorageRequest request);
+
+ /**
+ * Scale the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 ScaleVmInstance
+ * API.
+ */
+ ScaleVmInstanceResponse scaleVmInstance(ScaleVmInstanceRequest request);
+
+ /**
+ * Start the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 StartVmInstance
+ * API.
+ */
+ StartVmInstanceResponse startVmInstance(StartVmInstanceRequest request);
+
+ /**
+ * Stop the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 StopVmInstance API.
+ */
+ StopVmInstanceResponse stopVmInstance(StopVmInstanceRequest request);
+
+ /**
+ * Update the Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ * UpdateInfrastructure API.
+ */
+ UpdateInfrastructureResponse updateInfrastructure(UpdateInfrastructureRequest request);
+
+ /**
+ * Update maintenance run attributes.
+ *
+ * @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
+ * UpdateMaintenanceRun API.
+ */
+ UpdateMaintenanceRunResponse updateMaintenanceRun(UpdateMaintenanceRunRequest request);
+
+ /**
+ * Update the VM cluster network on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ * UpdateVmClusterNetwork API.
+ */
+ UpdateVmClusterNetworkResponse updateVmClusterNetwork(UpdateVmClusterNetworkRequest request);
+
+ /**
+ * Update the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 UpdateVmInstance
+ * API.
+ */
+ UpdateVmInstanceResponse updateVmInstance(UpdateVmInstanceRequest request);
+
+ /**
+ * Validate an Database Infrastructure using the specified details.
+ *
+ * @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
+ * ValidateInfrastructure API.
+ */
+ ValidateInfrastructureResponse validateInfrastructure(ValidateInfrastructureRequest request);
+
+ /**
+ * Validates an VM cluster network on Database Infrastructure.
+ *
+ * @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
+ * ValidateVmClusterNetwork API.
+ */
+ ValidateVmClusterNetworkResponse validateVmClusterNetwork(
+ ValidateVmClusterNetworkRequest request);
+
+ /**
+ * Gets the pre-configured waiters available for resources for this service.
+ *
+ * @return The service waiters.
+ */
+ BaseinfraWaiters getWaiters();
+
+ /**
+ * Gets the pre-configured paginators available for list operations in this service which may
+ * return multiple pages of data. These paginators provide an {@link java.lang.Iterable}
+ * interface so that service responses, or resources/records, can be iterated through without
+ * having to manually deal with pagination and page tokens.
+ *
+ * @return The service paginators.
+ */
+ BaseinfraPaginators getPaginators();
+}
diff --git a/bmc-datacc/src/main/java/com/oracle/bmc/datacc/BaseinfraAsync.java b/bmc-datacc/src/main/java/com/oracle/bmc/datacc/BaseinfraAsync.java
new file mode 100644
index 00000000000..76fad029ae3
--- /dev/null
+++ b/bmc-datacc/src/main/java/com/oracle/bmc/datacc/BaseinfraAsync.java
@@ -0,0 +1,748 @@
+/**
+ * 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.datacc;
+
+import com.oracle.bmc.datacc.requests.*;
+import com.oracle.bmc.datacc.responses.*;
+
+/**
+ * API for Database Infrastructure Cloud@Customer Service. Use this API to manage Database
+ * Infrastructure VM clusters, Application VMs, and related resources.
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20251101")
+public interface BaseinfraAsync extends AutoCloseable {
+
+ /** Rebuilds the client from scratch. Useful to refresh certificates. */
+ void refreshClient();
+
+ /**
+ * Sets the endpoint to call (ex, https://www.example.com).
+ *
+ * @param endpoint The endpoint of the serice.
+ */
+ void setEndpoint(String endpoint);
+
+ /** Gets the set endpoint for REST call (ex, https://www.example.com) */
+ String getEndpoint();
+
+ /**
+ * Sets the region to call (ex, Region.US_PHOENIX_1).
+ *
+ *
Note, this will call {@link #setEndpoint(String) setEndpoint} after resolving the
+ * endpoint. If the service is not available in this region, however, an
+ * IllegalArgumentException will be raised.
+ *
+ * @param region The region of the service.
+ */
+ void setRegion(com.oracle.bmc.Region region);
+
+ /**
+ * Sets the region to call (ex, 'us-phoenix-1').
+ *
+ *
Note, this will first try to map the region ID to a known Region and call {@link
+ * #setRegion(Region) setRegion}.
+ *
+ *
If no known Region could be determined, it will create an endpoint based on the default
+ * endpoint format ({@link com.oracle.bmc.Region#formatDefaultRegionEndpoint(Service, String)}
+ * and then call {@link #setEndpoint(String) setEndpoint}.
+ *
+ * @param regionId The public region ID.
+ */
+ void setRegion(String regionId);
+
+ /**
+ * Determines whether realm specific endpoint should be used or not. Set
+ * realmSpecificEndpointTemplateEnabled to "true" if the user wants to enable use of realm
+ * specific endpoint template, otherwise set it to "false"
+ *
+ * @param realmSpecificEndpointTemplateEnabled flag to enable the use of realm specific endpoint
+ * template
+ */
+ void useRealmSpecificEndpointTemplate(boolean realmSpecificEndpointTemplateEnabled);
+
+ /**
+ * Activate an Database Infrastructure using the specified details.
+ *
+ * @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 activateInfrastructure(
+ ActivateInfrastructureRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ActivateInfrastructureRequest, ActivateInfrastructureResponse>
+ handler);
+
+ /**
+ * Change the Database Infrastructure Cloud@Customer Compartment to the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ changeInfrastructureCompartment(
+ ChangeInfrastructureCompartmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ChangeInfrastructureCompartmentRequest,
+ ChangeInfrastructureCompartmentResponse>
+ handler);
+
+ /**
+ * Change the VM cluster network Compartment to the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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
+ changeVmClusterNetworkCompartment(
+ ChangeVmClusterNetworkCompartmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ChangeVmClusterNetworkCompartmentRequest,
+ ChangeVmClusterNetworkCompartmentResponse>
+ handler);
+
+ /**
+ * Change the VM instance on Database Infrastructure Compartment to the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 changeVmInstanceCompartment(
+ ChangeVmInstanceCompartmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ChangeVmInstanceCompartmentRequest, ChangeVmInstanceCompartmentResponse>
+ handler);
+
+ /**
+ * Create a Database Infrastructure using the specified details.
+ *
+ * @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 createInfrastructure(
+ CreateInfrastructureRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateInfrastructureRequest, CreateInfrastructureResponse>
+ handler);
+
+ /**
+ * Create an VM cluster on Database Infrastructure network using the specified details.
+ *
+ * @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 createVmClusterNetwork(
+ CreateVmClusterNetworkRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ CreateVmClusterNetworkRequest, CreateVmClusterNetworkResponse>
+ handler);
+
+ /**
+ * Create an VM instance on Database Infrastructure using the specified details.
+ *
+ * @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 createVmInstance(
+ CreateVmInstanceRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Delete the Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). It must be
+ * called once the resource usage is complete.
+ *
+ * @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 deleteInfrastructure(
+ DeleteInfrastructureRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteInfrastructureRequest, DeleteInfrastructureResponse>
+ handler);
+
+ /**
+ * Delete the VM cluster network on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). It must be
+ * called once the resource usage is complete.
+ *
+ * @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 deleteVmClusterNetwork(
+ DeleteVmClusterNetworkRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteVmClusterNetworkRequest, DeleteVmClusterNetworkResponse>
+ handler);
+
+ /**
+ * Delete the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). It must be
+ * called once the resource usage is complete.
+ *
+ * @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 deleteVmInstance(
+ DeleteVmInstanceRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Downloads the configuration file for the specified Database Infrastructure Cloud@Customer.
+ *
+ * @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
+ downloadInfrastructureConfigFile(
+ DownloadInfrastructureConfigFileRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DownloadInfrastructureConfigFileRequest,
+ DownloadInfrastructureConfigFileResponse>
+ handler);
+
+ /**
+ * Downloads the validation script for the specified Database Infrastructure Cloud@Customer.
+ *
+ * @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
+ downloadInfrastructureValidationScript(
+ DownloadInfrastructureValidationScriptRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DownloadInfrastructureValidationScriptRequest,
+ DownloadInfrastructureValidationScriptResponse>
+ handler);
+
+ /**
+ * Generates an VM cluster network configuration using the specified details.
+ *
+ * @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
+ generateRecommendedVmClusterNetwork(
+ GenerateRecommendedVmClusterNetworkRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GenerateRecommendedVmClusterNetworkRequest,
+ GenerateRecommendedVmClusterNetworkResponse>
+ handler);
+
+ /**
+ * Obtain the Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 getInfrastructure(
+ GetInfrastructureRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetInfrastructureRequest, GetInfrastructureResponse>
+ handler);
+
+ /**
+ * Get the available scale options for the infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 getInfrastructureScaleOption(
+ GetInfrastructureScaleOptionRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetInfrastructureScaleOptionRequest,
+ GetInfrastructureScaleOptionResponse>
+ handler);
+
+ /**
+ * Gets information about the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 getMaintenanceExecution(
+ GetMaintenanceExecutionRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetMaintenanceExecutionRequest, GetMaintenanceExecutionResponse>
+ handler);
+
+ /**
+ * Gets information about the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 getMaintenanceRun(
+ GetMaintenanceRunRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetMaintenanceRunRequest, GetMaintenanceRunResponse>
+ handler);
+
+ /**
+ * Obtain the VM cluster network on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 getVmClusterNetwork(
+ GetVmClusterNetworkRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetVmClusterNetworkRequest, GetVmClusterNetworkResponse>
+ handler);
+
+ /**
+ * Obtain the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 getVmInstance(
+ GetVmInstanceRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Get the status of the work request having the specified work request
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 getWorkRequest(
+ GetWorkRequestRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Obtain a list of Database Infrastructures.
+ *
+ * @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 listInfrastructures(
+ ListInfrastructuresRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListInfrastructuresRequest, ListInfrastructuresResponse>
+ handler);
+
+ /**
+ * Gets a list of the maintenance executions in the specified compartment.
+ *
+ * @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 listMaintenanceExecutions(
+ ListMaintenanceExecutionsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListMaintenanceExecutionsRequest, ListMaintenanceExecutionsResponse>
+ handler);
+
+ /**
+ * Gets a list of the maintenance runs in the specified compartment.
+ *
+ * @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 listMaintenanceRuns(
+ ListMaintenanceRunsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListMaintenanceRunsRequest, ListMaintenanceRunsResponse>
+ handler);
+
+ /**
+ * Obtain a list of VM cluster networks on Database Infrastructure.
+ *
+ * @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 listVmClusterNetworks(
+ ListVmClusterNetworksRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListVmClusterNetworksRequest, ListVmClusterNetworksResponse>
+ handler);
+
+ /**
+ * Obtain a list of VM instances.
+ *
+ * @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 listVmInstances(
+ ListVmInstancesRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * View the list of errors for the work request that have the specified work request
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 listWorkRequestErrors(
+ ListWorkRequestErrorsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListWorkRequestErrorsRequest, ListWorkRequestErrorsResponse>
+ handler);
+
+ /**
+ * View the log entries for the work request that have the specified work request
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 listWorkRequestLogs(
+ ListWorkRequestLogsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListWorkRequestLogsRequest, ListWorkRequestLogsResponse>
+ handler);
+
+ /**
+ * View a list of work request details in the specified compartment.
+ *
+ * @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 listWorkRequests(
+ ListWorkRequestsRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Migrate the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 migrateVmInstance(
+ MigrateVmInstanceRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ MigrateVmInstanceRequest, MigrateVmInstanceResponse>
+ handler);
+
+ /**
+ * Reschedules the specified maintenance run by providing a new `timeScheduled` value. Only
+ * maintenance runs in eligible states may be rescheduled.
+ *
+ * @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 rescheduleMaintenanceRun(
+ RescheduleMaintenanceRunRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ RescheduleMaintenanceRunRequest, RescheduleMaintenanceRunResponse>
+ handler);
+
+ /**
+ * Restart the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 restartVmInstance(
+ RestartVmInstanceRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ RestartVmInstanceRequest, RestartVmInstanceResponse>
+ handler);
+
+ /**
+ * Scale storage for the specified infrastructure using the specified details.
+ *
+ * @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 scaleInfrastructureStorage(
+ ScaleInfrastructureStorageRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ScaleInfrastructureStorageRequest, ScaleInfrastructureStorageResponse>
+ handler);
+
+ /**
+ * Scale the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 scaleVmInstance(
+ ScaleVmInstanceRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Start the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 startVmInstance(
+ StartVmInstanceRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Stop the VM instance on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 stopVmInstance(
+ StopVmInstanceRequest request,
+ com.oracle.bmc.responses.AsyncHandler
+ handler);
+
+ /**
+ * Update the Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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 updateInfrastructure(
+ UpdateInfrastructureRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UpdateInfrastructureRequest, UpdateInfrastructureResponse>
+ handler);
+
+ /**
+ * Update maintenance run attributes.
+ *
+ * @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 updateMaintenanceRun(
+ UpdateMaintenanceRunRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UpdateMaintenanceRunRequest, UpdateMaintenanceRunResponse>
+ handler);
+
+ /**
+ * Update the VM cluster network on Database Infrastructure that has the specified
+ * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
+ *
+ * @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