diff --git a/ApacheConnector-README.md b/ApacheConnector-README.md index df2a953d748..b95b7d04241 100644 --- a/ApacheConnector-README.md +++ b/ApacheConnector-README.md @@ -200,6 +200,25 @@ Configure an HTTP or HTTPS proxy as follows: ## Example An example of configuring a proxy can be found [here](https://github.com/oracle/oci-java-sdk/tree/master/bmc-examples/src/main/java/HttpProxyExample.java). +# Idle connection monitor lifecycle + +The idle connection monitor is shared by clients using the same SDK classloader. Closing the last +registered client stops its monitor and removes its JVM shutdown hook. Calling +`com.oracle.bmc.http.client.jersey.internal.IdleConnectionMonitor.shutdown()` (Jersey) or +`com.oracle.bmc.http.client.jersey3.internal.IdleConnectionMonitor.shutdown()` (Jersey 3) explicitly also stops monitoring for +all clients sharing that classloader and removes the hook. A later client can start a new monitor. + +Applications that manage their own lifecycle, such as Flink jobs, must close clients and response +streams during job teardown. They can explicitly call `IdleConnectionMonitor.shutdown()` to stop the +monitor. Stopping the monitor does not close clients or their connection pools. + +Shutdown does not wait for the monitor thread to terminate. An already-running connection-manager +callback can delay termination, particularly if a custom manager blocks or ignores interruption. +Classloader collection requires that the worker terminates and other references are released. If a +security manager denies shutdown-hook removal, cleanup logs a warning, but the registered hook can +still retain the classloader. During JVM shutdown, hook removal is no longer permitted; monitor +cleanup still completes. + # Known Issues ## Program hangs for an indefinite time diff --git a/CHANGELOG.md b/CHANGELOG.md index 4681a561277..ce8b9b304c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/). +## 3.98.0 - 2026-10-13 +### Added +- Support for the Continuous Consumption Discount Offers service +- Support for key pool for DB@AWS in the Database MultiCloud service +- Support for cluster master-user authentication with a plain-text password or vault secret in the OpenSearch service +- Support for artifact signature and integrity verification of models in the Data Science service +- Support for the spatial studio tool in the Autonomous Database service +- Support for self-service acknowledgment for older database versions in the Database service +- Support for seamless integration of Exadata databases with Data Safe in the Database service +- Support for AWS encryption keys during database creation, data guard association creation, and encryption key location changes in the Database service + +### Breaking Changes +- The field `modelDeploymentResourceConfiguration` has been made mandatory in the model `ManagedComputeClusterModelDeployInfrastructureConfigDetails` in the Data Science service + ## 3.97.2 - 2026-10-06 ### Added - Support for OCI Product Catalog service diff --git a/bmc-accessgovernancecp/pom.xml b/bmc-accessgovernancecp/pom.xml index fe9f0f5e021..c0371743670 100644 --- a/bmc-accessgovernancecp/pom.xml +++ b/bmc-accessgovernancecp/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-accessgovernancecp @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-addons/bmc-adk/pom.xml b/bmc-addons/bmc-adk/pom.xml index 381aad8ec6f..f008d56eafc 100644 --- a/bmc-addons/bmc-adk/pom.xml +++ b/bmc-addons/bmc-adk/pom.xml @@ -6,7 +6,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.97.2 + 3.98.0 oci-java-sdk-addons-adk diff --git a/bmc-addons/bmc-aispeech-realtime/pom.xml b/bmc-addons/bmc-aispeech-realtime/pom.xml index 60ade1ce781..67da65dc107 100644 --- a/bmc-addons/bmc-aispeech-realtime/pom.xml +++ b/bmc-addons/bmc-aispeech-realtime/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.97.2 + 3.98.0 ../pom.xml 4.0.0 @@ -53,12 +53,12 @@ com.oracle.oci.sdk oci-java-sdk-aispeech - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.97.2 + 3.98.0 compile diff --git a/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml b/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml index e052588a9ab..fd46f8939b1 100644 --- a/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml +++ b/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.97.2 + 3.98.0 ../pom.xml @@ -17,14 +17,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.97.2 + 3.98.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.97.2 + 3.98.0 pom import diff --git a/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml b/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml index 04409bfb64b..91acf1a98b9 100644 --- a/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml +++ b/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.97.2 + 3.98.0 ../pom.xml @@ -17,14 +17,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.97.2 + 3.98.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.97.2 + 3.98.0 pom import diff --git a/bmc-addons/bmc-apache-connector-provider/pom.xml b/bmc-addons/bmc-apache-connector-provider/pom.xml index 0a3f422e4aa..1427d52615a 100644 --- a/bmc-addons/bmc-apache-connector-provider/pom.xml +++ b/bmc-addons/bmc-apache-connector-provider/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.97.2 + 3.98.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-addons/bmc-oke-workload-identity/pom.xml b/bmc-addons/bmc-oke-workload-identity/pom.xml index dc55fa63539..0eb97631b39 100644 --- a/bmc-addons/bmc-oke-workload-identity/pom.xml +++ b/bmc-addons/bmc-oke-workload-identity/pom.xml @@ -4,7 +4,7 @@ oci-java-sdk-addons com.oracle.oci.sdk - 3.97.2 + 3.98.0 4.0.0 @@ -38,25 +38,25 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 compile com.oracle.oci.sdk oci-java-sdk-core - 3.97.2 + 3.98.0 test com.oracle.oci.sdk oci-java-sdk-identity - 3.97.2 + 3.98.0 test com.oracle.oci.sdk oci-java-sdk-keymanagement - 3.97.2 + 3.98.0 test diff --git a/bmc-addons/bmc-resteasy-client-configurator/pom.xml b/bmc-addons/bmc-resteasy-client-configurator/pom.xml index 541e3b1ed0c..2d22047b07a 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.97.2 + 3.98.0 ../pom.xml @@ -23,7 +23,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.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 69c8f554c11..813f24e9034 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.97.2 + 3.98.0 ../pom.xml 4.0.0 @@ -39,13 +39,13 @@ com.oracle.oci.sdk oci-java-sdk-addons-sasl - 3.97.2 + 3.98.0 compile com.oracle.oci.sdk oci-java-sdk-addons-oke-workload-identity - 3.97.2 + 3.98.0 compile diff --git a/bmc-addons/bmc-sasl/pom.xml b/bmc-addons/bmc-sasl/pom.xml index 689bed53d7c..c97d99fa1e5 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.97.2 + 3.98.0 ../pom.xml @@ -61,7 +61,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 diff --git a/bmc-addons/bmc-sse-support-jersey3/pom.xml b/bmc-addons/bmc-sse-support-jersey3/pom.xml index 1a0f467ad28..87406c7b261 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.97.2 + 3.98.0 ../pom.xml 4.0.0 @@ -150,12 +150,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-generativeaiinference - 3.97.2 + 3.98.0 test @@ -164,7 +164,7 @@ but the code in it needs it. --> com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.97.2 + 3.98.0 diff --git a/bmc-addons/bmc-sse-support/pom.xml b/bmc-addons/bmc-sse-support/pom.xml index 87b9998a100..f04db2207ec 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.97.2 + 3.98.0 ../pom.xml 4.0.0 @@ -150,12 +150,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-generativeaiinference - 3.97.2 + 3.98.0 test @@ -164,7 +164,7 @@ but the code in it needs it. --> com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.97.2 + 3.98.0 diff --git a/bmc-addons/pom.xml b/bmc-addons/pom.xml index 00b565aba05..445a320229a 100644 --- a/bmc-addons/pom.xml +++ b/bmc-addons/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml diff --git a/bmc-adm/pom.xml b/bmc-adm/pom.xml index 2d77e26e807..137df85f569 100644 --- a/bmc-adm/pom.xml +++ b/bmc-adm/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-adm @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-aidataplatform/pom.xml b/bmc-aidataplatform/pom.xml index f0c55d9ec6b..69036fa3285 100644 --- a/bmc-aidataplatform/pom.xml +++ b/bmc-aidataplatform/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-aidataplatform @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-aidocument/pom.xml b/bmc-aidocument/pom.xml index ab0a19be678..b8acf101921 100644 --- a/bmc-aidocument/pom.xml +++ b/bmc-aidocument/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-aidocument @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-ailanguage/pom.xml b/bmc-ailanguage/pom.xml index 7e5e87f9804..585382427a0 100644 --- a/bmc-ailanguage/pom.xml +++ b/bmc-ailanguage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-ailanguage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-aispeech/pom.xml b/bmc-aispeech/pom.xml index 41ddddf9405..51544b4c32b 100644 --- a/bmc-aispeech/pom.xml +++ b/bmc-aispeech/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-aispeech @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-aivision/pom.xml b/bmc-aivision/pom.xml index 3ebc3f8767a..90539c0479d 100644 --- a/bmc-aivision/pom.xml +++ b/bmc-aivision/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-aivision @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-analytics/pom.xml b/bmc-analytics/pom.xml index 14167c5b1b2..b3cab4b6208 100644 --- a/bmc-analytics/pom.xml +++ b/bmc-analytics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-analytics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-announcementsservice/pom.xml b/bmc-announcementsservice/pom.xml index 2d5fc588bb6..3e6b756d718 100644 --- a/bmc-announcementsservice/pom.xml +++ b/bmc-announcementsservice/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-announcementsservice @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-apiaccesscontrol/pom.xml b/bmc-apiaccesscontrol/pom.xml index e1dcd98f107..42cba373f8a 100644 --- a/bmc-apiaccesscontrol/pom.xml +++ b/bmc-apiaccesscontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-apiaccesscontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-apigateway/pom.xml b/bmc-apigateway/pom.xml index 69c4c1e6035..e18275619ea 100644 --- a/bmc-apigateway/pom.xml +++ b/bmc-apigateway/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-apigateway @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-apiplatform/pom.xml b/bmc-apiplatform/pom.xml index 3901ed1e4a7..3f2fb644237 100644 --- a/bmc-apiplatform/pom.xml +++ b/bmc-apiplatform/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-apiplatform @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-apmconfig/pom.xml b/bmc-apmconfig/pom.xml index d3e5e1a4535..9215eeebb76 100644 --- a/bmc-apmconfig/pom.xml +++ b/bmc-apmconfig/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-apmconfig @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-apmcontrolplane/pom.xml b/bmc-apmcontrolplane/pom.xml index 42c0e517462..da52d4efaec 100644 --- a/bmc-apmcontrolplane/pom.xml +++ b/bmc-apmcontrolplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-apmcontrolplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-apmsynthetics/pom.xml b/bmc-apmsynthetics/pom.xml index d75c9916365..496f792cefc 100644 --- a/bmc-apmsynthetics/pom.xml +++ b/bmc-apmsynthetics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-apmsynthetics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-apmtraces/pom.xml b/bmc-apmtraces/pom.xml index 277517e1b63..5c48aa13f06 100644 --- a/bmc-apmtraces/pom.xml +++ b/bmc-apmtraces/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-apmtraces @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-appmgmtcontrol/pom.xml b/bmc-appmgmtcontrol/pom.xml index 11b8c5ff749..b69868cd1d2 100644 --- a/bmc-appmgmtcontrol/pom.xml +++ b/bmc-appmgmtcontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-appmgmtcontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-artifacts/pom.xml b/bmc-artifacts/pom.xml index 9c449618592..2182df6735e 100644 --- a/bmc-artifacts/pom.xml +++ b/bmc-artifacts/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-artifacts @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-audit/pom.xml b/bmc-audit/pom.xml index 564a77850a5..e6b5e3aee16 100644 --- a/bmc-audit/pom.xml +++ b/bmc-audit/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 diff --git a/bmc-autoscaling/pom.xml b/bmc-autoscaling/pom.xml index 6aa84589acb..fbc894fef86 100644 --- a/bmc-autoscaling/pom.xml +++ b/bmc-autoscaling/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-autoscaling @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-bastion/pom.xml b/bmc-bastion/pom.xml index a76138aa8e5..b3332a97f43 100644 --- a/bmc-bastion/pom.xml +++ b/bmc-bastion/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-bastion @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-batch/pom.xml b/bmc-batch/pom.xml index 4b79d907985..ca82d60d0a4 100644 --- a/bmc-batch/pom.xml +++ b/bmc-batch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-batch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-bds/pom.xml b/bmc-bds/pom.xml index ad106c60de3..47a64b7095f 100644 --- a/bmc-bds/pom.xml +++ b/bmc-bds/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-bds @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-blockchain/pom.xml b/bmc-blockchain/pom.xml index e4903b6231e..8c98fd14aba 100644 --- a/bmc-blockchain/pom.xml +++ b/bmc-blockchain/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-blockchain @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-bom/pom.xml b/bmc-bom/pom.xml index 68107c5b861..abe5be7ab96 100644 --- a/bmc-bom/pom.xml +++ b/bmc-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk - 3.97.2 + 3.98.0 oci-java-sdk-bom pom Oracle Cloud Infrastructure SDK - BOM @@ -38,1135 +38,1141 @@ com.oracle.oci.sdk oci-java-sdk-circuitbreaker - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-enforcer-rules - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-shaded-full - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-audit - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-containerengine - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-core - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-database - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-dns - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-email - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-objectstorage-extensions - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-filestorage - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-identity - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-loadbalancer - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-objectstorage - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey3 - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-addons-resteasy-client-configurator - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-addons-sasl - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-addons-oke-workload-identity - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-addons-sasl-oke-workload-identity - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-addons-aispeech-realtime - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-resourcesearch - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-addons-apache - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-keymanagement - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-announcementsservice - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-healthchecks - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-waas - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-streaming - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-resourcemanager - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-monitoring - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-ons - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-autoscaling - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-budget - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-workrequests - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-limits - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-functions - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-events - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-oce - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-oda - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-analytics - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-integration - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-marketplace - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-apigateway - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-datacatalog - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-dataflow - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-datascience - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-nosql - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-secrets - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-vault - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-bds - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-encryption - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-cims - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-datasafe - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-mysql - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-dataintegration - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-ocvp - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-usageapi - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-blockchain - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-loggingingestion - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-logging - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-loganalytics - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-managementdashboard - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-sch - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-loggingsearch - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-managementagent - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-cloudguard - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-opsi - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-computeinstanceagent - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-optimizer - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-tenantmanagercontrolplane - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-rover - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-databasemanagement - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-artifacts - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-apmsynthetics - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-goldengate - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-apmcontrolplane - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-apmtraces - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-networkloadbalancer - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-vulnerabilityscanning - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-databasemigration - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-servicecatalog - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-ailanguage - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-operatoraccesscontrol - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-bastion - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-genericartifactscontent - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-jms - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-devops - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-datalabelingservice - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-datalabelingservicedataplane - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-apmconfig - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-waf - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-certificates - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-certificatesmanagement - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-usage - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-databasetools - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-servicemanagerproxy - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-appmgmtcontrol - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-ospgateway - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-identitydataplane - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-visualbuilder - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-osubusage - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-osubsubscription - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-osuborganizationsubscription - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-osubbillingschedule - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-dashboardservice - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-threatintelligence - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-aivision - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-aispeech - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-stackmonitoring - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-adm - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-licensemanager - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-onesubscription - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-governancerulescontrolplane - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-waa - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-networkfirewall - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-vnmonitoring - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-emwarehouse - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-lockbox - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-fusionapps - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-mediaservices - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-opa - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-opensearch - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-cloudmigrations - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-cloudbridge - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-disasterrecovery - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-containerinstances - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-aidocument - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-queue - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-recovery - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-vbsinst - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-identitydomains - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-accessgovernancecp - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-ocicontrolcenter - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-osmanagementhub - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-fleetsoftwareupdate - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-computecloudatcustomer - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-marketplacepublisher - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-redis - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-jmsjavadownloads - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-psql - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-generativeai - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-generativeaiinference - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-capacitymanagement - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-desktops - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-emaildataplane - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-clusterplacementgroups - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-resourcescheduler - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-demandsignal - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-fleetappsmanagement - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-delegateaccesscontrol - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-generativeaiagent - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-generativeaiagentruntime - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-securityattribute - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-zpr - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-dblm - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-mngdmac - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-lustrefilestorage - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-modeldeployment - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-apiaccesscontrol - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-wlms - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-addons-adk - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-dbmulticloud - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-apiplatform - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-managedkafka - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-aidataplatform - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-multicloud - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-resourceanalytics - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-jmsutils - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-iot - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-psa - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-dif - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-batch - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-marketplaceprivateoffer - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-gdp - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-limitsincrease - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-generativeaidata - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-self - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-containerregistry - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-databasetoolsruntime - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-costad - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-datacc - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-ddfs - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-clusterhealth - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-distributeddatabase - 3.97.2 + 3.98.0 false com.oracle.oci.sdk oci-java-sdk-ociproductcatalog - 3.97.2 + 3.98.0 + false + + + com.oracle.oci.sdk + oci-java-sdk-ccdoffers + 3.98.0 false diff --git a/bmc-budget/pom.xml b/bmc-budget/pom.xml index 7ab89167357..3ba9ffabe28 100644 --- a/bmc-budget/pom.xml +++ b/bmc-budget/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-budget @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-capacitymanagement/pom.xml b/bmc-capacitymanagement/pom.xml index 05c9122fcd3..113a42fdfd1 100644 --- a/bmc-capacitymanagement/pom.xml +++ b/bmc-capacitymanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-capacitymanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-ccdoffers/pom.xml b/bmc-ccdoffers/pom.xml new file mode 100644 index 00000000000..42381e3564c --- /dev/null +++ b/bmc-ccdoffers/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + com.oracle.oci.sdk + oci-java-sdk + 3.98.0 + ../pom.xml + + oci-java-sdk-ccdoffers + Oracle Cloud Infrastructure SDK - Ccd Offers + This project contains the SDK used for Oracle Cloud Infrastructure Ccd Offers + https://docs.cloud.oracle.com/Content/API/SDKDocs/javasdk.htm + + + com.oracle.oci.sdk + oci-java-sdk-common + 3.98.0 + + + \ No newline at end of file diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitments.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitments.java new file mode 100644 index 00000000000..0f837c89878 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitments.java @@ -0,0 +1,165 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +/** + * Use the Continuous Consumption Discounts API to manage continuous consumption discount + * operations. 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: 20240601") +public interface CcdCommitments 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); + + /** + * Request to create a new CCD commitment. + * + * @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 CreateCcdCommitment + * API. + */ + CreateCcdCommitmentResponse createCcdCommitment(CreateCcdCommitmentRequest request); + + /** + * Terminates the CCD commitment. You can't terminate an already canceled or ended commitment. + * If the CCD commitment has already started based on `timeCcdCommitmentStarts`, then you can + * only terminate within a week of its effective `timeCcdCommitmentStarts` time. + * + * @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 DeleteCcdCommitment + * API. + */ + DeleteCcdCommitmentResponse deleteCcdCommitment(DeleteCcdCommitmentRequest request); + + /** + * Gets the CCD commitment using the CCD commitment ID. + * + * @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 GetCcdCommitment + * API. + */ + GetCcdCommitmentResponse getCcdCommitment(GetCcdCommitmentRequest request); + + /** + * Lists the CCD commitments. + * + * @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 ListCcdCommitments + * API. + */ + ListCcdCommitmentsResponse listCcdCommitments(ListCcdCommitmentsRequest request); + + /** + * Updates the free-form tags, defined tags, or both on a CCD commitment. Commercial commitment + * attributes are immutable. + * + * @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 UpdateCcdCommitment + * API. + */ + UpdateCcdCommitmentResponse updateCcdCommitment(UpdateCcdCommitmentRequest request); + + /** + * Gets the pre-configured waiters available for resources for this service. + * + * @return The service waiters. + */ + CcdCommitmentsWaiters 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. + */ + CcdCommitmentsPaginators getPaginators(); +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsAsync.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsAsync.java new file mode 100644 index 00000000000..925f12bb10b --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsAsync.java @@ -0,0 +1,146 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +/** + * Use the Continuous Consumption Discounts API to manage continuous consumption discount + * operations. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public interface CcdCommitmentsAsync 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); + + /** + * Request to create a new CCD commitment. + * + * @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 createCcdCommitment( + CreateCcdCommitmentRequest request, + com.oracle.bmc.responses.AsyncHandler< + CreateCcdCommitmentRequest, CreateCcdCommitmentResponse> + handler); + + /** + * Terminates the CCD commitment. You can't terminate an already canceled or ended commitment. + * If the CCD commitment has already started based on `timeCcdCommitmentStarts`, then you can + * only terminate within a week of its effective `timeCcdCommitmentStarts` time. + * + * @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 deleteCcdCommitment( + DeleteCcdCommitmentRequest request, + com.oracle.bmc.responses.AsyncHandler< + DeleteCcdCommitmentRequest, DeleteCcdCommitmentResponse> + handler); + + /** + * Gets the CCD commitment using the CCD commitment ID. + * + * @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 getCcdCommitment( + GetCcdCommitmentRequest request, + com.oracle.bmc.responses.AsyncHandler + handler); + + /** + * Lists the CCD commitments. + * + * @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 listCcdCommitments( + ListCcdCommitmentsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListCcdCommitmentsRequest, ListCcdCommitmentsResponse> + handler); + + /** + * Updates the free-form tags, defined tags, or both on a CCD commitment. Commercial commitment + * attributes are immutable. + * + * @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 updateCcdCommitment( + UpdateCcdCommitmentRequest request, + com.oracle.bmc.responses.AsyncHandler< + UpdateCcdCommitmentRequest, UpdateCcdCommitmentResponse> + handler); +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsAsyncClient.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsAsyncClient.java new file mode 100644 index 00000000000..1379d09879e --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsAsyncClient.java @@ -0,0 +1,413 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.util.internal.Validate; +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +import java.util.Objects; + +/** + * Async client implementation for CcdCommitments service.
+ * There are two ways to use async client: 1. Use AsyncHandler: using AsyncHandler, if the response + * to the call is an {@link java.io.InputStream}, like getObject Api in object storage service, + * developers need to process the stream in AsyncHandler, and not anywhere else, because the stream + * will be closed right after the AsyncHandler is invoked.
+ * 2. Use Java Future: using Java Future, developers need to close the stream after they are done + * with the Java Future.
+ * Accessing the result should be done in a mutually exclusive manner, either through the Future or + * the AsyncHandler, but not both. If the Future is used, the caller should pass in null as the + * AsyncHandler. If the AsyncHandler is used, it is still safe to use the Future to determine + * whether or not the request was completed via Future.isDone/isCancelled.
+ * Please refer to + * https://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/ResteasyClientWithObjectStorageExample.java + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CcdCommitmentsAsyncClient extends com.oracle.bmc.http.internal.BaseAsyncClient + implements CcdCommitmentsAsync { + /** Service instance for CcdCommitments. */ + public static final com.oracle.bmc.Service SERVICE = + com.oracle.bmc.Services.serviceBuilder() + .serviceName(CcdCommitmentsClient.class.getName()) + .serviceEndpointPrefix("") + .serviceEndpointTemplate("https://ccdOffers.{region}.oci.{secondLevelDomain}") + .build(); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(CcdCommitmentsAsyncClient.class); + + CcdCommitmentsAsyncClient( + com.oracle.bmc.common.ClientBuilderBase builder, + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider + authenticationDetailsProvider) { + super(builder, authenticationDetailsProvider); + } + + /** + * Create a builder for this client. + * + * @return builder + */ + public static Builder builder() { + return new Builder(SERVICE); + } + + /** + * Builder class for this client. The "authenticationDetailsProvider" is required and must be + * passed to the {@link #build(AbstractAuthenticationDetailsProvider)} method. + */ + public static class Builder + extends com.oracle.bmc.common.RegionalClientBuilder< + Builder, CcdCommitmentsAsyncClient> { + private Builder(com.oracle.bmc.Service service) { + super(service); + final String packageName = "ccdoffers"; + com.oracle.bmc.internal.DeveloperToolConfiguration + .throwDisabledServiceExceptionIfAppropriate(packageName); + requestSignerFactory = + new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory( + com.oracle.bmc.http.signing.SigningStrategy.STANDARD); + } + + /** + * Build the client. + * + * @param authenticationDetailsProvider authentication details provider + * @return the client + */ + public CcdCommitmentsAsyncClient build( + @jakarta.annotation.Nonnull + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider + authenticationDetailsProvider) { + return new CcdCommitmentsAsyncClient(this, authenticationDetailsProvider); + } + } + + @Override + public void setRegion(com.oracle.bmc.Region region) { + super.setRegion(region); + } + + @Override + public void setRegion(String regionId) { + super.setRegion(regionId); + } + + @Override + public java.util.concurrent.Future createCcdCommitment( + CreateCcdCommitmentRequest request, + final com.oracle.bmc.responses.AsyncHandler< + CreateCcdCommitmentRequest, CreateCcdCommitmentResponse> + handler) { + Objects.requireNonNull(request.getCcdOfferId(), "ccdOfferId is required"); + + Objects.requireNonNull( + request.getCreateCcdCommitmentDetails(), "createCcdCommitmentDetails is required"); + + return clientCall(request, CreateCcdCommitmentResponse::builder) + .logger(LOG, "createCcdCommitment") + .serviceDetails("CcdCommitments", "CreateCcdCommitment", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateCcdCommitmentRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendQueryParam("ccdOfferId", request.getCcdOfferId()) + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdCommitment.class, + CreateCcdCommitmentResponse.Builder::ccdCommitment) + .handleResponseHeaderString( + "opc-request-id", CreateCcdCommitmentResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", CreateCcdCommitmentResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future deleteCcdCommitment( + DeleteCcdCommitmentRequest request, + final com.oracle.bmc.responses.AsyncHandler< + DeleteCcdCommitmentRequest, DeleteCcdCommitmentResponse> + handler) { + + Validate.notBlank(request.getCcdCommitmentId(), "ccdCommitmentId must not be blank"); + + return clientCall(request, DeleteCcdCommitmentResponse::builder) + .logger(LOG, "deleteCcdCommitment") + .serviceDetails("CcdCommitments", "DeleteCcdCommitment", "") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteCcdCommitmentRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendPathParam(request.getCcdCommitmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .handleResponseHeaderString( + "opc-request-id", DeleteCcdCommitmentResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future getCcdCommitment( + GetCcdCommitmentRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetCcdCommitmentRequest, GetCcdCommitmentResponse> + handler) { + + Validate.notBlank(request.getCcdCommitmentId(), "ccdCommitmentId must not be blank"); + + return clientCall(request, GetCcdCommitmentResponse::builder) + .logger(LOG, "getCcdCommitment") + .serviceDetails("CcdCommitments", "GetCcdCommitment", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCcdCommitmentRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendPathParam(request.getCcdCommitmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdCommitment.class, + GetCcdCommitmentResponse.Builder::ccdCommitment) + .handleResponseHeaderString( + "opc-request-id", GetCcdCommitmentResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCcdCommitmentResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future listCcdCommitments( + ListCcdCommitmentsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListCcdCommitmentsRequest, ListCcdCommitmentsResponse> + handler) { + Objects.requireNonNull(request.getSubscriptionId(), "subscriptionId is required"); + + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCcdCommitmentsResponse::builder) + .logger(LOG, "listCcdCommitments") + .serviceDetails("CcdCommitments", "ListCcdCommitments", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCcdCommitmentsRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendQueryParam("subscriptionId", request.getSubscriptionId()) + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendEnumQueryParam("lifecycleDetails", request.getLifecycleDetails()) + .appendEnumQueryParam("sourceType", request.getSourceType()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendQueryParam("displayName", request.getDisplayName()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("compartmentId", request.getCompartmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdCommitmentCollection.class, + ListCcdCommitmentsResponse.Builder::ccdCommitmentCollection) + .handleResponseHeaderString( + "opc-request-id", ListCcdCommitmentsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCcdCommitmentsResponse.Builder::opcNextPage) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future updateCcdCommitment( + UpdateCcdCommitmentRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UpdateCcdCommitmentRequest, UpdateCcdCommitmentResponse> + handler) { + + Validate.notBlank(request.getCcdCommitmentId(), "ccdCommitmentId must not be blank"); + Objects.requireNonNull( + request.getUpdateCcdCommitmentDetails(), "updateCcdCommitmentDetails is required"); + + return clientCall(request, UpdateCcdCommitmentResponse::builder) + .logger(LOG, "updateCcdCommitment") + .serviceDetails("CcdCommitments", "UpdateCcdCommitment", "") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateCcdCommitmentRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendPathParam(request.getCcdCommitmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .hasBody() + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdCommitment.class, + UpdateCcdCommitmentResponse.Builder::ccdCommitment) + .handleResponseHeaderString( + "opc-request-id", UpdateCcdCommitmentResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", UpdateCcdCommitmentResponse.Builder::etag) + .callAsync(handler); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsAsyncClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider) { + this(builder(), authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsAsyncClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration) { + this(builder().configuration(configuration), authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsAsyncClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator) { + this( + builder().configuration(configuration).clientConfigurator(clientConfigurator), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @param signingStrategyRequestSignerFactories {@link + * Builder#signingStrategyRequestSignerFactories} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.Map< + com.oracle.bmc.http.signing.SigningStrategy, + com.oracle.bmc.http.signing.RequestSignerFactory> + signingStrategyRequestSignerFactories, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint) + .signingStrategyRequestSignerFactories( + signingStrategyRequestSignerFactories), + authenticationDetailsProvider); + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsClient.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsClient.java new file mode 100644 index 00000000000..22598566a43 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsClient.java @@ -0,0 +1,480 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.util.internal.Validate; +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; +import com.oracle.bmc.circuitbreaker.CircuitBreakerConfiguration; +import com.oracle.bmc.util.CircuitBreakerUtils; + +import java.util.Objects; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CcdCommitmentsClient extends com.oracle.bmc.http.internal.BaseSyncClient + implements CcdCommitments { + /** Service instance for CcdCommitments. */ + public static final com.oracle.bmc.Service SERVICE = + com.oracle.bmc.Services.serviceBuilder() + .serviceName(CcdCommitmentsClient.class.getName()) + .serviceEndpointPrefix("") + .serviceEndpointTemplate("https://ccdOffers.{region}.oci.{secondLevelDomain}") + .build(); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(CcdCommitmentsClient.class); + + private final CcdCommitmentsWaiters waiters; + + private final CcdCommitmentsPaginators paginators; + + CcdCommitmentsClient( + com.oracle.bmc.common.ClientBuilderBase builder, + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + java.util.concurrent.ExecutorService executorService) { + super( + builder, + authenticationDetailsProvider, + CircuitBreakerUtils.DEFAULT_CIRCUIT_BREAKER_CONFIGURATION); + + if (executorService == null) { + // up to 50 (core) threads, time out after 60s idle, all daemon + java.util.concurrent.ThreadPoolExecutor threadPoolExecutor = + new java.util.concurrent.ThreadPoolExecutor( + 50, + 50, + 60L, + java.util.concurrent.TimeUnit.SECONDS, + new java.util.concurrent.LinkedBlockingQueue(), + com.oracle.bmc.internal.ClientThreadFactory.builder() + .isDaemon(true) + .nameFormat("CcdCommitments-waiters-%d") + .build()); + threadPoolExecutor.allowCoreThreadTimeOut(true); + + executorService = threadPoolExecutor; + } + this.waiters = new CcdCommitmentsWaiters(executorService, this); + + this.paginators = new CcdCommitmentsPaginators(this); + } + + /** + * Create a builder for this client. + * + * @return builder + */ + public static Builder builder() { + return new Builder(SERVICE); + } + + /** + * Builder class for this client. The "authenticationDetailsProvider" is required and must be + * passed to the {@link #build(AbstractAuthenticationDetailsProvider)} method. + */ + public static class Builder + extends com.oracle.bmc.common.RegionalClientBuilder { + private java.util.concurrent.ExecutorService executorService; + + private Builder(com.oracle.bmc.Service service) { + super(service); + final String packageName = "ccdoffers"; + com.oracle.bmc.internal.DeveloperToolConfiguration + .throwDisabledServiceExceptionIfAppropriate(packageName); + requestSignerFactory = + new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory( + com.oracle.bmc.http.signing.SigningStrategy.STANDARD); + } + + /** + * Set the ExecutorService for the client to be created. + * + * @param executorService executorService + * @return this builder + */ + public Builder executorService(java.util.concurrent.ExecutorService executorService) { + this.executorService = executorService; + return this; + } + + /** + * Build the client. + * + * @param authenticationDetailsProvider authentication details provider + * @return the client + */ + public CcdCommitmentsClient build( + @jakarta.annotation.Nonnull + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider + authenticationDetailsProvider) { + return new CcdCommitmentsClient(this, authenticationDetailsProvider, executorService); + } + } + + @Override + public void setRegion(com.oracle.bmc.Region region) { + super.setRegion(region); + } + + @Override + public void setRegion(String regionId) { + super.setRegion(regionId); + } + + @Override + public CreateCcdCommitmentResponse createCcdCommitment(CreateCcdCommitmentRequest request) { + Objects.requireNonNull(request.getCcdOfferId(), "ccdOfferId is required"); + + Objects.requireNonNull( + request.getCreateCcdCommitmentDetails(), "createCcdCommitmentDetails is required"); + + return clientCall(request, CreateCcdCommitmentResponse::builder) + .logger(LOG, "createCcdCommitment") + .serviceDetails("CcdCommitments", "CreateCcdCommitment", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateCcdCommitmentRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendQueryParam("ccdOfferId", request.getCcdOfferId()) + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdCommitment.class, + CreateCcdCommitmentResponse.Builder::ccdCommitment) + .handleResponseHeaderString( + "opc-request-id", CreateCcdCommitmentResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", CreateCcdCommitmentResponse.Builder::etag) + .callSync(); + } + + @Override + public DeleteCcdCommitmentResponse deleteCcdCommitment(DeleteCcdCommitmentRequest request) { + + Validate.notBlank(request.getCcdCommitmentId(), "ccdCommitmentId must not be blank"); + + return clientCall(request, DeleteCcdCommitmentResponse::builder) + .logger(LOG, "deleteCcdCommitment") + .serviceDetails("CcdCommitments", "DeleteCcdCommitment", "") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteCcdCommitmentRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendPathParam(request.getCcdCommitmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .operationUsesDefaultRetries() + .handleResponseHeaderString( + "opc-request-id", DeleteCcdCommitmentResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public GetCcdCommitmentResponse getCcdCommitment(GetCcdCommitmentRequest request) { + + Validate.notBlank(request.getCcdCommitmentId(), "ccdCommitmentId must not be blank"); + + return clientCall(request, GetCcdCommitmentResponse::builder) + .logger(LOG, "getCcdCommitment") + .serviceDetails("CcdCommitments", "GetCcdCommitment", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCcdCommitmentRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendPathParam(request.getCcdCommitmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdCommitment.class, + GetCcdCommitmentResponse.Builder::ccdCommitment) + .handleResponseHeaderString( + "opc-request-id", GetCcdCommitmentResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCcdCommitmentResponse.Builder::etag) + .callSync(); + } + + @Override + public ListCcdCommitmentsResponse listCcdCommitments(ListCcdCommitmentsRequest request) { + Objects.requireNonNull(request.getSubscriptionId(), "subscriptionId is required"); + + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCcdCommitmentsResponse::builder) + .logger(LOG, "listCcdCommitments") + .serviceDetails("CcdCommitments", "ListCcdCommitments", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCcdCommitmentsRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendQueryParam("subscriptionId", request.getSubscriptionId()) + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendEnumQueryParam("lifecycleDetails", request.getLifecycleDetails()) + .appendEnumQueryParam("sourceType", request.getSourceType()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendQueryParam("displayName", request.getDisplayName()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("compartmentId", request.getCompartmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdCommitmentCollection.class, + ListCcdCommitmentsResponse.Builder::ccdCommitmentCollection) + .handleResponseHeaderString( + "opc-request-id", ListCcdCommitmentsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCcdCommitmentsResponse.Builder::opcNextPage) + .callSync(); + } + + @Override + public UpdateCcdCommitmentResponse updateCcdCommitment(UpdateCcdCommitmentRequest request) { + + Validate.notBlank(request.getCcdCommitmentId(), "ccdCommitmentId must not be blank"); + Objects.requireNonNull( + request.getUpdateCcdCommitmentDetails(), "updateCcdCommitmentDetails is required"); + + return clientCall(request, UpdateCcdCommitmentResponse::builder) + .logger(LOG, "updateCcdCommitment") + .serviceDetails("CcdCommitments", "UpdateCcdCommitment", "") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateCcdCommitmentRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdCommitments") + .appendPathParam(request.getCcdCommitmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdCommitment.class, + UpdateCcdCommitmentResponse.Builder::ccdCommitment) + .handleResponseHeaderString( + "opc-request-id", UpdateCcdCommitmentResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", UpdateCcdCommitmentResponse.Builder::etag) + .callSync(); + } + + @Override + public CcdCommitmentsWaiters getWaiters() { + return waiters; + } + + @Override + public CcdCommitmentsPaginators getPaginators() { + return paginators; + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider) { + this(builder(), authenticationDetailsProvider, null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration) { + this(builder().configuration(configuration), authenticationDetailsProvider, null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator) { + this( + builder().configuration(configuration).clientConfigurator(clientConfigurator), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @param signingStrategyRequestSignerFactories {@link + * Builder#signingStrategyRequestSignerFactories} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.Map< + com.oracle.bmc.http.signing.SigningStrategy, + com.oracle.bmc.http.signing.RequestSignerFactory> + signingStrategyRequestSignerFactories, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint) + .signingStrategyRequestSignerFactories( + signingStrategyRequestSignerFactories), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @param signingStrategyRequestSignerFactories {@link + * Builder#signingStrategyRequestSignerFactories} + * @param executorService {@link Builder#executorService} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdCommitmentsClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.Map< + com.oracle.bmc.http.signing.SigningStrategy, + com.oracle.bmc.http.signing.RequestSignerFactory> + signingStrategyRequestSignerFactories, + java.util.List additionalClientConfigurators, + String endpoint, + java.util.concurrent.ExecutorService executorService) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint) + .signingStrategyRequestSignerFactories( + signingStrategyRequestSignerFactories), + authenticationDetailsProvider, + executorService); + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsPaginators.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsPaginators.java new file mode 100644 index 00000000000..74de3ff0974 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsPaginators.java @@ -0,0 +1,161 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +/** + * Collection of helper methods that can be used to provide an {@link java.lang.Iterable} interface + * to any list operations of CcdCommitments where multiple pages of data may be fetched. Two styles + * of iteration are supported: + * + *

+ * + * These iterables abstract away the need to write code to manually handle pagination via looping + * and using the page tokens. They will automatically fetch more data from the service when + * required. + * + *

As an example, if we were using the ListUsers operation in IdentityService, then the {@link + * java.lang.Iterable} returned by calling a ResponseIterator method would iterate over the + * ListUsersResponse objects returned by each ListUsers call, whereas the {@link java.lang.Iterable} + * returned by calling a RecordIterator method would iterate over the User records and we don't have + * to deal with ListUsersResponse objects at all. In either case, pagination will be automatically + * handled so we can iterate until there are no more responses or no more resources/records + * available. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CcdCommitmentsPaginators { + private final CcdCommitments client; + + public CcdCommitmentsPaginators(CcdCommitments client) { + this.client = client; + } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listCcdCommitments operation. This iterable will fetch more data from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses + * received from the service. + */ + public Iterable listCcdCommitmentsResponseIterator( + final ListCcdCommitmentsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListCcdCommitmentsRequest.Builder, + ListCcdCommitmentsRequest, + ListCcdCommitmentsResponse>( + new java.util.function.Supplier() { + @Override + public ListCcdCommitmentsRequest.Builder get() { + return ListCcdCommitmentsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCcdCommitmentsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCcdCommitmentsRequest.Builder>, + ListCcdCommitmentsRequest>() { + @Override + public ListCcdCommitmentsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCcdCommitmentsRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListCcdCommitmentsRequest, ListCcdCommitmentsResponse>() { + @Override + public ListCcdCommitmentsResponse apply(ListCcdCommitmentsRequest request) { + return client.listCcdCommitments(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.ccdoffers.model.CcdCommitmentSummary} objects contained in responses from the + * listCcdCommitments operation. This iterable will fetch more data from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link + * com.oracle.bmc.ccdoffers.model.CcdCommitmentSummary} objects contained in responses + * received from the service. + */ + public Iterable + listCcdCommitmentsRecordIterator(final ListCcdCommitmentsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListCcdCommitmentsRequest.Builder, + ListCcdCommitmentsRequest, + ListCcdCommitmentsResponse, + com.oracle.bmc.ccdoffers.model.CcdCommitmentSummary>( + new java.util.function.Supplier() { + @Override + public ListCcdCommitmentsRequest.Builder get() { + return ListCcdCommitmentsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCcdCommitmentsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCcdCommitmentsRequest.Builder>, + ListCcdCommitmentsRequest>() { + @Override + public ListCcdCommitmentsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCcdCommitmentsRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListCcdCommitmentsRequest, ListCcdCommitmentsResponse>() { + @Override + public ListCcdCommitmentsResponse apply(ListCcdCommitmentsRequest request) { + return client.listCcdCommitments(request); + } + }, + new java.util.function.Function< + ListCcdCommitmentsResponse, + java.util.List>() { + @Override + public java.util.List + apply(ListCcdCommitmentsResponse response) { + return response.getCcdCommitmentCollection().getItems(); + } + }); + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsWaiters.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsWaiters.java new file mode 100644 index 00000000000..71e1eb5832b --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdCommitmentsWaiters.java @@ -0,0 +1,131 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +/** + * Collection of helper methods to produce {@link com.oracle.bmc.waiter.Waiter}s for different + * resources of CcdCommitments. + * + *

The default configuration used is defined by {@link + * com.oracle.bmc.waiter.Waiters.Waiters#DEFAULT_POLLING_WAITER}. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CcdCommitmentsWaiters { + private final java.util.concurrent.ExecutorService executorService; + private final CcdCommitments client; + + public CcdCommitmentsWaiters( + java.util.concurrent.ExecutorService executorService, CcdCommitments client) { + this.executorService = executorService; + this.client = client; + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @param targetStates the desired states to wait for. If multiple states are provided then the + * waiter will return once the resource reaches any of the provided states + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forCcdCommitment( + GetCcdCommitmentRequest request, + com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleState... targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forCcdCommitment( + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param targetState the desired state to wait for + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@code com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forCcdCommitment( + GetCcdCommitmentRequest request, + com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleState targetState, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + com.oracle.bmc.util.internal.Validate.notNull( + targetState, "The targetState cannot be null"); + + return forCcdCommitment( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetState); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @param targetStates the desired states to wait for. The waiter will return once the resource + * reaches any of the provided states + * @return a new {@code com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forCcdCommitment( + GetCcdCommitmentRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleState... targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one target state must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null target states are not permitted"); + + return forCcdCommitment( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for CcdCommitment. + private com.oracle.bmc.waiter.Waiter + forCcdCommitment( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetCcdCommitmentRequest request, + final com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleState... + targetStates) { + final java.util.Set + targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates)); + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + waiter.toCallable( + () -> request, + new java.util.function.Function< + GetCcdCommitmentRequest, GetCcdCommitmentResponse>() { + @Override + public GetCcdCommitmentResponse apply(GetCcdCommitmentRequest request) { + return client.getCcdCommitment(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetCcdCommitmentResponse response) { + return targetStatesSet.contains( + response.getCcdCommitment().getLifecycleState()); + } + }, + false), + request); + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffers.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffers.java new file mode 100644 index 00000000000..a79e479140e --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffers.java @@ -0,0 +1,113 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +/** + * Use the Continuous Consumption Discounts API to manage continuous consumption discount + * operations. 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: 20240601") +public interface CcdOffers 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); + + /** + * Get a particular CCD offer 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 GetCcdOffer API. + */ + GetCcdOfferResponse getCcdOffer(GetCcdOfferRequest request); + + /** + * Lists the CCD offers for the requested subscription. A FLEX offer is no longer returned after + * it is either accepted, rejected or expired. + * + * @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 ListCcdOffers API. + */ + ListCcdOffersResponse listCcdOffers(ListCcdOffersRequest request); + + /** + * Gets the pre-configured waiters available for resources for this service. + * + * @return The service waiters. + */ + CcdOffersWaiters 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. + */ + CcdOffersPaginators getPaginators(); +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersAsync.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersAsync.java new file mode 100644 index 00000000000..13eafa4952f --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersAsync.java @@ -0,0 +1,94 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +/** + * Use the Continuous Consumption Discounts API to manage continuous consumption discount + * operations. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public interface CcdOffersAsync 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); + + /** + * Get a particular CCD offer 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 getCcdOffer( + GetCcdOfferRequest request, + com.oracle.bmc.responses.AsyncHandler handler); + + /** + * Lists the CCD offers for the requested subscription. A FLEX offer is no longer returned after + * it is either accepted, rejected or expired. + * + * @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 listCcdOffers( + ListCcdOffersRequest request, + com.oracle.bmc.responses.AsyncHandler + handler); +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersAsyncClient.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersAsyncClient.java new file mode 100644 index 00000000000..2993882ada7 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersAsyncClient.java @@ -0,0 +1,324 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.util.internal.Validate; +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +import java.util.Objects; + +/** + * Async client implementation for CcdOffers service.
+ * There are two ways to use async client: 1. Use AsyncHandler: using AsyncHandler, if the response + * to the call is an {@link java.io.InputStream}, like getObject Api in object storage service, + * developers need to process the stream in AsyncHandler, and not anywhere else, because the stream + * will be closed right after the AsyncHandler is invoked.
+ * 2. Use Java Future: using Java Future, developers need to close the stream after they are done + * with the Java Future.
+ * Accessing the result should be done in a mutually exclusive manner, either through the Future or + * the AsyncHandler, but not both. If the Future is used, the caller should pass in null as the + * AsyncHandler. If the AsyncHandler is used, it is still safe to use the Future to determine + * whether or not the request was completed via Future.isDone/isCancelled.
+ * Please refer to + * https://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/ResteasyClientWithObjectStorageExample.java + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CcdOffersAsyncClient extends com.oracle.bmc.http.internal.BaseAsyncClient + implements CcdOffersAsync { + /** Service instance for CcdOffers. */ + public static final com.oracle.bmc.Service SERVICE = + com.oracle.bmc.Services.serviceBuilder() + .serviceName(CcdOffersClient.class.getName()) + .serviceEndpointPrefix("") + .serviceEndpointTemplate("https://ccdOffers.{region}.oci.{secondLevelDomain}") + .build(); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(CcdOffersAsyncClient.class); + + CcdOffersAsyncClient( + com.oracle.bmc.common.ClientBuilderBase builder, + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider + authenticationDetailsProvider) { + super(builder, authenticationDetailsProvider); + } + + /** + * Create a builder for this client. + * + * @return builder + */ + public static Builder builder() { + return new Builder(SERVICE); + } + + /** + * Builder class for this client. The "authenticationDetailsProvider" is required and must be + * passed to the {@link #build(AbstractAuthenticationDetailsProvider)} method. + */ + public static class Builder + extends com.oracle.bmc.common.RegionalClientBuilder { + private Builder(com.oracle.bmc.Service service) { + super(service); + final String packageName = "ccdoffers"; + com.oracle.bmc.internal.DeveloperToolConfiguration + .throwDisabledServiceExceptionIfAppropriate(packageName); + requestSignerFactory = + new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory( + com.oracle.bmc.http.signing.SigningStrategy.STANDARD); + } + + /** + * Build the client. + * + * @param authenticationDetailsProvider authentication details provider + * @return the client + */ + public CcdOffersAsyncClient build( + @jakarta.annotation.Nonnull + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider + authenticationDetailsProvider) { + return new CcdOffersAsyncClient(this, authenticationDetailsProvider); + } + } + + @Override + public void setRegion(com.oracle.bmc.Region region) { + super.setRegion(region); + } + + @Override + public void setRegion(String regionId) { + super.setRegion(regionId); + } + + @Override + public java.util.concurrent.Future getCcdOffer( + GetCcdOfferRequest request, + final com.oracle.bmc.responses.AsyncHandler + handler) { + + Validate.notBlank(request.getCcdOfferId(), "ccdOfferId must not be blank"); + Objects.requireNonNull(request.getSubscriptionId(), "subscriptionId is required"); + + return clientCall(request, GetCcdOfferResponse::builder) + .logger(LOG, "getCcdOffer") + .serviceDetails("CcdOffers", "GetCcdOffer", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCcdOfferRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdOffers") + .appendPathParam(request.getCcdOfferId()) + .appendQueryParam("subscriptionId", request.getSubscriptionId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdOffer.class, + GetCcdOfferResponse.Builder::ccdOffer) + .handleResponseHeaderString( + "opc-request-id", GetCcdOfferResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCcdOfferResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future listCcdOffers( + ListCcdOffersRequest request, + final com.oracle.bmc.responses.AsyncHandler + handler) { + Objects.requireNonNull(request.getSubscriptionId(), "subscriptionId is required"); + + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCcdOffersResponse::builder) + .logger(LOG, "listCcdOffers") + .serviceDetails("CcdOffers", "ListCcdOffers", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCcdOffersRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdOffers") + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendEnumQueryParam("lifecycleDetails", request.getLifecycleDetails()) + .appendEnumQueryParam("typeOfOffer", request.getTypeOfOffer()) + .appendEnumQueryParam("sourceType", request.getSourceType()) + .appendQueryParam("subscriptionId", request.getSubscriptionId()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("displayName", request.getDisplayName()) + .appendQueryParam("compartmentId", request.getCompartmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdOfferCollection.class, + ListCcdOffersResponse.Builder::ccdOfferCollection) + .handleResponseHeaderString( + "opc-request-id", ListCcdOffersResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCcdOffersResponse.Builder::opcNextPage) + .callAsync(handler); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersAsyncClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider) { + this(builder(), authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersAsyncClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration) { + this(builder().configuration(configuration), authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersAsyncClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator) { + this( + builder().configuration(configuration).clientConfigurator(clientConfigurator), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @param signingStrategyRequestSignerFactories {@link + * Builder#signingStrategyRequestSignerFactories} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.Map< + com.oracle.bmc.http.signing.SigningStrategy, + com.oracle.bmc.http.signing.RequestSignerFactory> + signingStrategyRequestSignerFactories, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint) + .signingStrategyRequestSignerFactories( + signingStrategyRequestSignerFactories), + authenticationDetailsProvider); + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersClient.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersClient.java new file mode 100644 index 00000000000..481b210023f --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersClient.java @@ -0,0 +1,403 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.util.internal.Validate; +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; +import com.oracle.bmc.circuitbreaker.CircuitBreakerConfiguration; +import com.oracle.bmc.util.CircuitBreakerUtils; + +import java.util.Objects; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CcdOffersClient extends com.oracle.bmc.http.internal.BaseSyncClient + implements CcdOffers { + /** Service instance for CcdOffers. */ + public static final com.oracle.bmc.Service SERVICE = + com.oracle.bmc.Services.serviceBuilder() + .serviceName(CcdOffersClient.class.getName()) + .serviceEndpointPrefix("") + .serviceEndpointTemplate("https://ccdOffers.{region}.oci.{secondLevelDomain}") + .build(); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(CcdOffersClient.class); + + private final CcdOffersWaiters waiters; + + private final CcdOffersPaginators paginators; + + CcdOffersClient( + com.oracle.bmc.common.ClientBuilderBase builder, + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + java.util.concurrent.ExecutorService executorService) { + super( + builder, + authenticationDetailsProvider, + CircuitBreakerUtils.DEFAULT_CIRCUIT_BREAKER_CONFIGURATION); + + if (executorService == null) { + // up to 50 (core) threads, time out after 60s idle, all daemon + java.util.concurrent.ThreadPoolExecutor threadPoolExecutor = + new java.util.concurrent.ThreadPoolExecutor( + 50, + 50, + 60L, + java.util.concurrent.TimeUnit.SECONDS, + new java.util.concurrent.LinkedBlockingQueue(), + com.oracle.bmc.internal.ClientThreadFactory.builder() + .isDaemon(true) + .nameFormat("CcdOffers-waiters-%d") + .build()); + threadPoolExecutor.allowCoreThreadTimeOut(true); + + executorService = threadPoolExecutor; + } + this.waiters = new CcdOffersWaiters(executorService, this); + + this.paginators = new CcdOffersPaginators(this); + } + + /** + * Create a builder for this client. + * + * @return builder + */ + public static Builder builder() { + return new Builder(SERVICE); + } + + /** + * Builder class for this client. The "authenticationDetailsProvider" is required and must be + * passed to the {@link #build(AbstractAuthenticationDetailsProvider)} method. + */ + public static class Builder + extends com.oracle.bmc.common.RegionalClientBuilder { + private java.util.concurrent.ExecutorService executorService; + + private Builder(com.oracle.bmc.Service service) { + super(service); + final String packageName = "ccdoffers"; + com.oracle.bmc.internal.DeveloperToolConfiguration + .throwDisabledServiceExceptionIfAppropriate(packageName); + requestSignerFactory = + new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory( + com.oracle.bmc.http.signing.SigningStrategy.STANDARD); + } + + /** + * Set the ExecutorService for the client to be created. + * + * @param executorService executorService + * @return this builder + */ + public Builder executorService(java.util.concurrent.ExecutorService executorService) { + this.executorService = executorService; + return this; + } + + /** + * Build the client. + * + * @param authenticationDetailsProvider authentication details provider + * @return the client + */ + public CcdOffersClient build( + @jakarta.annotation.Nonnull + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider + authenticationDetailsProvider) { + return new CcdOffersClient(this, authenticationDetailsProvider, executorService); + } + } + + @Override + public void setRegion(com.oracle.bmc.Region region) { + super.setRegion(region); + } + + @Override + public void setRegion(String regionId) { + super.setRegion(regionId); + } + + @Override + public GetCcdOfferResponse getCcdOffer(GetCcdOfferRequest request) { + + Validate.notBlank(request.getCcdOfferId(), "ccdOfferId must not be blank"); + Objects.requireNonNull(request.getSubscriptionId(), "subscriptionId is required"); + + return clientCall(request, GetCcdOfferResponse::builder) + .logger(LOG, "getCcdOffer") + .serviceDetails("CcdOffers", "GetCcdOffer", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCcdOfferRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdOffers") + .appendPathParam(request.getCcdOfferId()) + .appendQueryParam("subscriptionId", request.getSubscriptionId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdOffer.class, + GetCcdOfferResponse.Builder::ccdOffer) + .handleResponseHeaderString( + "opc-request-id", GetCcdOfferResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCcdOfferResponse.Builder::etag) + .callSync(); + } + + @Override + public ListCcdOffersResponse listCcdOffers(ListCcdOffersRequest request) { + Objects.requireNonNull(request.getSubscriptionId(), "subscriptionId is required"); + + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCcdOffersResponse::builder) + .logger(LOG, "listCcdOffers") + .serviceDetails("CcdOffers", "ListCcdOffers", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCcdOffersRequest::builder) + .basePath("/20240601") + .appendPathParam("ccdOffers") + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendEnumQueryParam("lifecycleDetails", request.getLifecycleDetails()) + .appendEnumQueryParam("typeOfOffer", request.getTypeOfOffer()) + .appendEnumQueryParam("sourceType", request.getSourceType()) + .appendQueryParam("subscriptionId", request.getSubscriptionId()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("displayName", request.getDisplayName()) + .appendQueryParam("compartmentId", request.getCompartmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.ccdoffers.model.CcdOfferCollection.class, + ListCcdOffersResponse.Builder::ccdOfferCollection) + .handleResponseHeaderString( + "opc-request-id", ListCcdOffersResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCcdOffersResponse.Builder::opcNextPage) + .callSync(); + } + + @Override + public CcdOffersWaiters getWaiters() { + return waiters; + } + + @Override + public CcdOffersPaginators getPaginators() { + return paginators; + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider) { + this(builder(), authenticationDetailsProvider, null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration) { + this(builder().configuration(configuration), authenticationDetailsProvider, null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator) { + this( + builder().configuration(configuration).clientConfigurator(clientConfigurator), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @param signingStrategyRequestSignerFactories {@link + * Builder#signingStrategyRequestSignerFactories} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.Map< + com.oracle.bmc.http.signing.SigningStrategy, + com.oracle.bmc.http.signing.RequestSignerFactory> + signingStrategyRequestSignerFactories, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint) + .signingStrategyRequestSignerFactories( + signingStrategyRequestSignerFactories), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @param signingStrategyRequestSignerFactories {@link + * Builder#signingStrategyRequestSignerFactories} + * @param executorService {@link Builder#executorService} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CcdOffersClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.Map< + com.oracle.bmc.http.signing.SigningStrategy, + com.oracle.bmc.http.signing.RequestSignerFactory> + signingStrategyRequestSignerFactories, + java.util.List additionalClientConfigurators, + String endpoint, + java.util.concurrent.ExecutorService executorService) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint) + .signingStrategyRequestSignerFactories( + signingStrategyRequestSignerFactories), + authenticationDetailsProvider, + executorService); + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersPaginators.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersPaginators.java new file mode 100644 index 00000000000..82473d915bc --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersPaginators.java @@ -0,0 +1,157 @@ +/** + * 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.ccdoffers; + +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +/** + * Collection of helper methods that can be used to provide an {@link java.lang.Iterable} interface + * to any list operations of CcdOffers where multiple pages of data may be fetched. Two styles of + * iteration are supported: + * + *

+ * + * These iterables abstract away the need to write code to manually handle pagination via looping + * and using the page tokens. They will automatically fetch more data from the service when + * required. + * + *

As an example, if we were using the ListUsers operation in IdentityService, then the {@link + * java.lang.Iterable} returned by calling a ResponseIterator method would iterate over the + * ListUsersResponse objects returned by each ListUsers call, whereas the {@link java.lang.Iterable} + * returned by calling a RecordIterator method would iterate over the User records and we don't have + * to deal with ListUsersResponse objects at all. In either case, pagination will be automatically + * handled so we can iterate until there are no more responses or no more resources/records + * available. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CcdOffersPaginators { + private final CcdOffers client; + + public CcdOffersPaginators(CcdOffers client) { + this.client = client; + } + + /** + * Creates a new iterable which will iterate over the responses received from the listCcdOffers + * operation. This iterable will fetch more data from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses + * received from the service. + */ + public Iterable listCcdOffersResponseIterator( + final ListCcdOffersRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListCcdOffersRequest.Builder, ListCcdOffersRequest, ListCcdOffersResponse>( + new java.util.function.Supplier() { + @Override + public ListCcdOffersRequest.Builder get() { + return ListCcdOffersRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCcdOffersResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCcdOffersRequest.Builder>, + ListCcdOffersRequest>() { + @Override + public ListCcdOffersRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCcdOffersRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function() { + @Override + public ListCcdOffersResponse apply(ListCcdOffersRequest request) { + return client.listCcdOffers(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.ccdoffers.model.CcdOfferSummary} objects contained in responses from the + * listCcdOffers operation. This iterable will fetch more data from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link + * com.oracle.bmc.ccdoffers.model.CcdOfferSummary} objects contained in responses received + * from the service. + */ + public Iterable listCcdOffersRecordIterator( + final ListCcdOffersRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListCcdOffersRequest.Builder, + ListCcdOffersRequest, + ListCcdOffersResponse, + com.oracle.bmc.ccdoffers.model.CcdOfferSummary>( + new java.util.function.Supplier() { + @Override + public ListCcdOffersRequest.Builder get() { + return ListCcdOffersRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCcdOffersResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCcdOffersRequest.Builder>, + ListCcdOffersRequest>() { + @Override + public ListCcdOffersRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCcdOffersRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function() { + @Override + public ListCcdOffersResponse apply(ListCcdOffersRequest request) { + return client.listCcdOffers(request); + } + }, + new java.util.function.Function< + ListCcdOffersResponse, + java.util.List>() { + @Override + public java.util.List apply( + ListCcdOffersResponse response) { + return response.getCcdOfferCollection().getItems(); + } + }); + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersWaiters.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersWaiters.java new file mode 100644 index 00000000000..ad845c368b1 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/CcdOffersWaiters.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.ccdoffers; + +import com.oracle.bmc.ccdoffers.requests.*; +import com.oracle.bmc.ccdoffers.responses.*; + +/** + * Collection of helper methods to produce {@link com.oracle.bmc.waiter.Waiter}s for different + * resources of CcdOffers. + * + *

The default configuration used is defined by {@link + * com.oracle.bmc.waiter.Waiters.Waiters#DEFAULT_POLLING_WAITER}. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CcdOffersWaiters { + private final java.util.concurrent.ExecutorService executorService; + private final CcdOffers client; + + public CcdOffersWaiters( + java.util.concurrent.ExecutorService executorService, CcdOffers client) { + this.executorService = executorService; + this.client = client; + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @param targetStates the desired states to wait for. If multiple states are provided then the + * waiter will return once the resource reaches any of the provided states + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter forCcdOffer( + GetCcdOfferRequest request, + com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleState... targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forCcdOffer( + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param targetState the desired state to wait for + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@code com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter forCcdOffer( + GetCcdOfferRequest request, + com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleState targetState, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + com.oracle.bmc.util.internal.Validate.notNull( + targetState, "The targetState cannot be null"); + + return forCcdOffer( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetState); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @param targetStates the desired states to wait for. The waiter will return once the resource + * reaches any of the provided states + * @return a new {@code com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter forCcdOffer( + GetCcdOfferRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleState... targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one target state must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null target states are not permitted"); + + return forCcdOffer( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for CcdOffer. + private com.oracle.bmc.waiter.Waiter forCcdOffer( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetCcdOfferRequest request, + final com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleState... targetStates) { + final java.util.Set + targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates)); + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + waiter.toCallable( + () -> request, + new java.util.function.Function() { + @Override + public GetCcdOfferResponse apply(GetCcdOfferRequest request) { + return client.getCcdOffer(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetCcdOfferResponse response) { + return targetStatesSet.contains( + response.getCcdOffer().getLifecycleState()); + } + }, + false), + request); + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/BundleSku.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/BundleSku.java new file mode 100644 index 00000000000..8b9de7d0ec7 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/BundleSku.java @@ -0,0 +1,252 @@ +/** + * 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.ccdoffers.model; + +/** + * A polymorphic bundle SKU. The {@code quantityRule} discriminator identifies how the quantity for + * this bundled SKU is determined. Every bundled SKU in an offer must use the same {@code + * quantityRule}; don't mix {@code FIXED_RATIO} and {@code CUSTOMER_SELECTED} bundled SKUs in one + * offer.
+ * 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: 20240601") +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "quantityRule", + defaultImpl = BundleSku.class) +@com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = FixedRatioBundleSku.class, + name = "FIXED_RATIO"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = CustomerSelectedBundleSku.class, + name = "CUSTOMER_SELECTED") +}) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public class BundleSku extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "sku", + "skuDisplayName", + "skuMetric", + "listPrice", + "currencyCode" + }) + protected BundleSku( + String sku, + String skuDisplayName, + String skuMetric, + String listPrice, + String currencyCode) { + super(); + this.sku = sku; + this.skuDisplayName = skuDisplayName; + this.skuMetric = skuMetric; + this.listPrice = listPrice; + this.currencyCode = currencyCode; + } + + /** + * The bundled SKU part number (prefaced with "B"). For example, the "E4 MEMORY" SKU will be + * bundled with the main "E4 OCPUs" SKU. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private final String sku; + + /** + * The bundled SKU part number (prefaced with "B"). For example, the "E4 MEMORY" SKU will be + * bundled with the main "E4 OCPUs" SKU. + * + * @return the value + */ + public String getSku() { + return sku; + } + + /** + * The SKU display name is derived by CCD. If CCD cannot derive a unique value, it uses the + * caller-provided value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private final String skuDisplayName; + + /** + * The SKU display name is derived by CCD. If CCD cannot derive a unique value, it uses the + * caller-provided value. + * + * @return the value + */ + public String getSkuDisplayName() { + return skuDisplayName; + } + + /** + * The SKU billing metric is derived by CCD. If CCD cannot derive a unique value, it uses the + * caller-provided value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private final String skuMetric; + + /** + * The SKU billing metric is derived by CCD. If CCD cannot derive a unique value, it uses the + * caller-provided value. + * + * @return the value + */ + public String getSkuMetric() { + return skuMetric; + } + + /** + * List price of a SKU. Only set this property if the product or SKU is private. Tier pricing + * SKUs aren't supported. + */ + @com.fasterxml.jackson.annotation.JsonProperty("listPrice") + private final String listPrice; + + /** + * List price of a SKU. Only set this property if the product or SKU is private. Tier pricing + * SKUs aren't supported. + * + * @return the value + */ + public String getListPrice() { + return listPrice; + } + + /** + * The currency code of {@code listPrice} associated with the product or SKU. Only set this + * property if the product or SKU is private. Tier pricing SKUs aren't supported. + */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCode") + private final String currencyCode; + + /** + * The currency code of {@code listPrice} associated with the product or SKU. Only set this + * property if the product or SKU is private. Tier pricing SKUs aren't supported. + * + * @return the value + */ + public String getCurrencyCode() { + return currencyCode; + } + + @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("BundleSku("); + sb.append("super=").append(super.toString()); + sb.append("sku=").append(String.valueOf(this.sku)); + sb.append(", skuDisplayName=").append(String.valueOf(this.skuDisplayName)); + sb.append(", skuMetric=").append(String.valueOf(this.skuMetric)); + sb.append(", listPrice=").append(String.valueOf(this.listPrice)); + sb.append(", currencyCode=").append(String.valueOf(this.currencyCode)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BundleSku)) { + return false; + } + + BundleSku other = (BundleSku) o; + return java.util.Objects.equals(this.sku, other.sku) + && java.util.Objects.equals(this.skuDisplayName, other.skuDisplayName) + && java.util.Objects.equals(this.skuMetric, other.skuMetric) + && java.util.Objects.equals(this.listPrice, other.listPrice) + && java.util.Objects.equals(this.currencyCode, other.currencyCode) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.sku == null ? 43 : this.sku.hashCode()); + result = + (result * PRIME) + + (this.skuDisplayName == null ? 43 : this.skuDisplayName.hashCode()); + result = (result * PRIME) + (this.skuMetric == null ? 43 : this.skuMetric.hashCode()); + result = (result * PRIME) + (this.listPrice == null ? 43 : this.listPrice.hashCode()); + result = (result * PRIME) + (this.currencyCode == null ? 43 : this.currencyCode.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } + + /** + * Determines how CCD resolves the bundled SKU quantity. {@code FIXED_RATIO} quantities are + * derived from the primary quantity using {@code ratio}. {@code CUSTOMER_SELECTED} quantities + * are provided by the customer within the configured minimum and maximum. + */ + public enum QuantityRule implements com.oracle.bmc.http.internal.BmcEnum { + FixedRatio("FIXED_RATIO"), + CustomerSelected("CUSTOMER_SELECTED"), + + /** + * 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(QuantityRule.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (QuantityRule v : QuantityRule.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + QuantityRule(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static QuantityRule create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'QuantityRule', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdCommitment.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdCommitment.java new file mode 100644 index 00000000000..6f33eae120d --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdCommitment.java @@ -0,0 +1,1415 @@ +/** + * 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.ccdoffers.model; + +/** + * The created CCD commitment 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = CcdCommitment.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CcdCommitment extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "quantity", + "displayName", + "offerId", + "sourceType", + "reclaimTerm", + "reclaimTermUnit", + "timeCcdCommitmentStarts", + "timeCcdCommitmentEnds", + "subscriptionId", + "compartmentId", + "fillerTenancyId", + "fillerTenancyHomeRegion", + "usageEligibility", + "secondarySkus", + "lifecycleState", + "lifecycleDetails", + "skuQuantityPriceModel", + "timeCreated", + "timeUpdated", + "timeTerminated", + "freeformTags", + "definedTags", + "systemTags", + "lastUpdatedBy", + "createdBy", + "approvedBy" + }) + public CcdCommitment( + String id, + Long quantity, + String displayName, + String offerId, + CcdOffer.SourceType sourceType, + Long reclaimTerm, + CcdOffer.ReclaimTermUnit reclaimTermUnit, + java.util.Date timeCcdCommitmentStarts, + java.util.Date timeCcdCommitmentEnds, + String subscriptionId, + String compartmentId, + String fillerTenancyId, + String fillerTenancyHomeRegion, + UsageEligibility usageEligibility, + java.util.List secondarySkus, + LifecycleState lifecycleState, + LifecycleDetails lifecycleDetails, + java.util.List skuQuantityPriceModel, + java.util.Date timeCreated, + java.util.Date timeUpdated, + java.util.Date timeTerminated, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags, + String lastUpdatedBy, + String createdBy, + String approvedBy) { + super(); + this.id = id; + this.quantity = quantity; + this.displayName = displayName; + this.offerId = offerId; + this.sourceType = sourceType; + this.reclaimTerm = reclaimTerm; + this.reclaimTermUnit = reclaimTermUnit; + this.timeCcdCommitmentStarts = timeCcdCommitmentStarts; + this.timeCcdCommitmentEnds = timeCcdCommitmentEnds; + this.subscriptionId = subscriptionId; + this.compartmentId = compartmentId; + this.fillerTenancyId = fillerTenancyId; + this.fillerTenancyHomeRegion = fillerTenancyHomeRegion; + this.usageEligibility = usageEligibility; + this.secondarySkus = secondarySkus; + this.lifecycleState = lifecycleState; + this.lifecycleDetails = lifecycleDetails; + this.skuQuantityPriceModel = skuQuantityPriceModel; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.timeTerminated = timeTerminated; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + this.lastUpdatedBy = lastUpdatedBy; + this.createdBy = createdBy; + this.approvedBy = approvedBy; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The CCD commitment resource OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The CCD commitment resource OCID. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For + * example, if the quantity is 1000, then you are committing to a 1000 usage quantity value + * per hour. + */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private Long quantity; + + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For + * example, if the quantity is 1000, then you are committing to a 1000 usage quantity value + * per hour. + * + * @param quantity the value to set + * @return this builder + */ + public Builder quantity(Long quantity) { + this.quantity = quantity; + this.__explicitlySet__.add("quantity"); + return this; + } + /** + * The CCD commitment name. Ensure the name is unique for a given subscription ID. Avoid + * entering confidential information. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The CCD commitment name. Ensure the name is unique for a given subscription ID. 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; + } + /** The CCD offer OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("offerId") + private String offerId; + + /** + * The CCD offer OCID. + * + * @param offerId the value to set + * @return this builder + */ + public Builder offerId(String offerId) { + this.offerId = offerId; + this.__explicitlySet__.add("offerId"); + return this; + } + /** The commercial workflow of the associated CCD offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceType") + private CcdOffer.SourceType sourceType; + + /** + * The commercial workflow of the associated CCD offer. + * + * @param sourceType the value to set + * @return this builder + */ + public Builder sourceType(CcdOffer.SourceType sourceType) { + this.sourceType = sourceType; + this.__explicitlySet__.add("sourceType"); + return this; + } + /** + * The reclaim term copied from the offer when the commitment is created. The value is + * measured in {@code reclaimTermUnit}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTerm") + private Long reclaimTerm; + + /** + * The reclaim term copied from the offer when the commitment is created. The value is + * measured in {@code reclaimTermUnit}. + * + * @param reclaimTerm the value to set + * @return this builder + */ + public Builder reclaimTerm(Long reclaimTerm) { + this.reclaimTerm = reclaimTerm; + this.__explicitlySet__.add("reclaimTerm"); + return this; + } + /** + * The unit used to measure {@code reclaimTerm}, copied from the offer when the commitment + * is created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTermUnit") + private CcdOffer.ReclaimTermUnit reclaimTermUnit; + + /** + * The unit used to measure {@code reclaimTerm}, copied from the offer when the commitment + * is created. + * + * @param reclaimTermUnit the value to set + * @return this builder + */ + public Builder reclaimTermUnit(CcdOffer.ReclaimTermUnit reclaimTermUnit) { + this.reclaimTermUnit = reclaimTermUnit; + this.__explicitlySet__.add("reclaimTermUnit"); + return this; + } + /** + * The date and time the CCD commitment will be effective.The format is defined by RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentStarts") + private java.util.Date timeCcdCommitmentStarts; + + /** + * The date and time the CCD commitment will be effective.The format is defined by RFC 3339. + * + * @param timeCcdCommitmentStarts the value to set + * @return this builder + */ + public Builder timeCcdCommitmentStarts(java.util.Date timeCcdCommitmentStarts) { + this.timeCcdCommitmentStarts = timeCcdCommitmentStarts; + this.__explicitlySet__.add("timeCcdCommitmentStarts"); + return this; + } + /** + * The date and time the CCD commitment will be deactivated. The date and time is calculated + * based on {@code timeCcdCommitmentStarts}, the term, and units of the CCD offer. For + * example: {@code 2025-06-01T03:00:00}. The format is defined by RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentEnds") + private java.util.Date timeCcdCommitmentEnds; + + /** + * The date and time the CCD commitment will be deactivated. The date and time is calculated + * based on {@code timeCcdCommitmentStarts}, the term, and units of the CCD offer. For + * example: {@code 2025-06-01T03:00:00}. The format is defined by RFC 3339. + * + * @param timeCcdCommitmentEnds the value to set + * @return this builder + */ + public Builder timeCcdCommitmentEnds(java.util.Date timeCcdCommitmentEnds) { + this.timeCcdCommitmentEnds = timeCcdCommitmentEnds; + this.__explicitlySet__.add("timeCcdCommitmentEnds"); + return this; + } + /** The subscription ID the CCD offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private String subscriptionId; + + /** + * The subscription ID the CCD offer is applicable to. + * + * @param subscriptionId the value to set + * @return this builder + */ + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + this.__explicitlySet__.add("subscriptionId"); + return this; + } + /** + * The root compartment ID. The CCD Commitment is associated with the tenancy root + * compartment ID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The root compartment ID. The CCD Commitment is associated with the tenancy root + * compartment ID. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** The tenancy OCID that you want to apply filler usage to. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyId") + private String fillerTenancyId; + + /** + * The tenancy OCID that you want to apply filler usage to. + * + * @param fillerTenancyId the value to set + * @return this builder + */ + public Builder fillerTenancyId(String fillerTenancyId) { + this.fillerTenancyId = fillerTenancyId; + this.__explicitlySet__.add("fillerTenancyId"); + return this; + } + /** The filler tenancy home region. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyHomeRegion") + private String fillerTenancyHomeRegion; + + /** + * The filler tenancy home region. + * + * @param fillerTenancyHomeRegion the value to set + * @return this builder + */ + public Builder fillerTenancyHomeRegion(String fillerTenancyHomeRegion) { + this.fillerTenancyHomeRegion = fillerTenancyHomeRegion; + this.__explicitlySet__.add("fillerTenancyHomeRegion"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("usageEligibility") + private UsageEligibility usageEligibility; + + public Builder usageEligibility(UsageEligibility usageEligibility) { + this.usageEligibility = usageEligibility; + this.__explicitlySet__.add("usageEligibility"); + return this; + } + /** Secondary SKUs associated with the main SKU. */ + @com.fasterxml.jackson.annotation.JsonProperty("secondarySkus") + private java.util.List secondarySkus; + + /** + * Secondary SKUs associated with the main SKU. + * + * @param secondarySkus the value to set + * @return this builder + */ + public Builder secondarySkus(java.util.List secondarySkus) { + this.secondarySkus = secondarySkus; + this.__explicitlySet__.add("secondarySkus"); + return this; + } + /** + * This state always defaults to {@code Active}. For a detailed and exact state, check the + * {@code lifecycleDetails} state. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * This state always defaults to {@code Active}. For a detailed and exact state, check the + * {@code lifecycleDetails} state. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** + * The CCD commitment's current state. A commitment that's expected to get a dedicated + * capacity will be in the Awaiting Provisioning state unless the commitment is ended or + * canceled. Otherwise, the value is determined by {@code timeCcdCommitmentStarts}, {@code + * timeCcdCommitmentEnds}, and {@code timeTerminated}, with respect to the current time. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private LifecycleDetails lifecycleDetails; + + /** + * The CCD commitment's current state. A commitment that's expected to get a dedicated + * capacity will be in the Awaiting Provisioning state unless the commitment is ended or + * canceled. Otherwise, the value is determined by {@code timeCcdCommitmentStarts}, {@code + * timeCcdCommitmentEnds}, and {@code timeTerminated}, with respect to the current time. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(LifecycleDetails lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** + * The list of SKUs associated with the commitment and their prices in all currency codes. + */ + @com.fasterxml.jackson.annotation.JsonProperty("skuQuantityPriceModel") + private java.util.List skuQuantityPriceModel; + + /** + * The list of SKUs associated with the commitment and their prices in all currency codes. + * + * @param skuQuantityPriceModel the value to set + * @return this builder + */ + public Builder skuQuantityPriceModel( + java.util.List skuQuantityPriceModel) { + this.skuQuantityPriceModel = skuQuantityPriceModel; + this.__explicitlySet__.add("skuQuantityPriceModel"); + return this; + } + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @param timeCreated the value to set + * @return this builder + */ + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: + * {@code 2025-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: + * {@code 2025-01-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; + } + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeTerminated") + private java.util.Date timeTerminated; + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @param timeTerminated the value to set + * @return this builder + */ + public Builder timeTerminated(java.util.Date timeTerminated) { + this.timeTerminated = timeTerminated; + this.__explicitlySet__.add("timeTerminated"); + 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; + } + /** + * 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; + } + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + /** Entity/User who lastly updated the ccdCommitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdatedBy") + private String lastUpdatedBy; + + /** + * Entity/User who lastly updated the ccdCommitment. + * + * @param lastUpdatedBy the value to set + * @return this builder + */ + public Builder lastUpdatedBy(String lastUpdatedBy) { + this.lastUpdatedBy = lastUpdatedBy; + this.__explicitlySet__.add("lastUpdatedBy"); + return this; + } + /** The entity that created the CCD commitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private String createdBy; + + /** + * The entity that created the CCD commitment. + * + * @param createdBy the value to set + * @return this builder + */ + public Builder createdBy(String createdBy) { + this.createdBy = createdBy; + this.__explicitlySet__.add("createdBy"); + return this; + } + /** Entity/User who approved the ccdCommitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("approvedBy") + private String approvedBy; + + /** + * Entity/User who approved the ccdCommitment. + * + * @param approvedBy the value to set + * @return this builder + */ + public Builder approvedBy(String approvedBy) { + this.approvedBy = approvedBy; + this.__explicitlySet__.add("approvedBy"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CcdCommitment build() { + CcdCommitment model = + new CcdCommitment( + this.id, + this.quantity, + this.displayName, + this.offerId, + this.sourceType, + this.reclaimTerm, + this.reclaimTermUnit, + this.timeCcdCommitmentStarts, + this.timeCcdCommitmentEnds, + this.subscriptionId, + this.compartmentId, + this.fillerTenancyId, + this.fillerTenancyHomeRegion, + this.usageEligibility, + this.secondarySkus, + this.lifecycleState, + this.lifecycleDetails, + this.skuQuantityPriceModel, + this.timeCreated, + this.timeUpdated, + this.timeTerminated, + this.freeformTags, + this.definedTags, + this.systemTags, + this.lastUpdatedBy, + this.createdBy, + this.approvedBy); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CcdCommitment model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("quantity")) { + this.quantity(model.getQuantity()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("offerId")) { + this.offerId(model.getOfferId()); + } + if (model.wasPropertyExplicitlySet("sourceType")) { + this.sourceType(model.getSourceType()); + } + if (model.wasPropertyExplicitlySet("reclaimTerm")) { + this.reclaimTerm(model.getReclaimTerm()); + } + if (model.wasPropertyExplicitlySet("reclaimTermUnit")) { + this.reclaimTermUnit(model.getReclaimTermUnit()); + } + if (model.wasPropertyExplicitlySet("timeCcdCommitmentStarts")) { + this.timeCcdCommitmentStarts(model.getTimeCcdCommitmentStarts()); + } + if (model.wasPropertyExplicitlySet("timeCcdCommitmentEnds")) { + this.timeCcdCommitmentEnds(model.getTimeCcdCommitmentEnds()); + } + if (model.wasPropertyExplicitlySet("subscriptionId")) { + this.subscriptionId(model.getSubscriptionId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("fillerTenancyId")) { + this.fillerTenancyId(model.getFillerTenancyId()); + } + if (model.wasPropertyExplicitlySet("fillerTenancyHomeRegion")) { + this.fillerTenancyHomeRegion(model.getFillerTenancyHomeRegion()); + } + if (model.wasPropertyExplicitlySet("usageEligibility")) { + this.usageEligibility(model.getUsageEligibility()); + } + if (model.wasPropertyExplicitlySet("secondarySkus")) { + this.secondarySkus(model.getSecondarySkus()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("skuQuantityPriceModel")) { + this.skuQuantityPriceModel(model.getSkuQuantityPriceModel()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("timeTerminated")) { + this.timeTerminated(model.getTimeTerminated()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + if (model.wasPropertyExplicitlySet("lastUpdatedBy")) { + this.lastUpdatedBy(model.getLastUpdatedBy()); + } + if (model.wasPropertyExplicitlySet("createdBy")) { + this.createdBy(model.getCreatedBy()); + } + if (model.wasPropertyExplicitlySet("approvedBy")) { + this.approvedBy(model.getApprovedBy()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The CCD commitment resource OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The CCD commitment resource OCID. + * + * @return the value + */ + public String getId() { + return id; + } + + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For example, + * if the quantity is 1000, then you are committing to a 1000 usage quantity value per hour. + */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private final Long quantity; + + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For example, + * if the quantity is 1000, then you are committing to a 1000 usage quantity value per hour. + * + * @return the value + */ + public Long getQuantity() { + return quantity; + } + + /** + * The CCD commitment name. Ensure the name is unique for a given subscription ID. Avoid + * entering confidential information. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The CCD commitment name. Ensure the name is unique for a given subscription ID. Avoid + * entering confidential information. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** The CCD offer OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("offerId") + private final String offerId; + + /** + * The CCD offer OCID. + * + * @return the value + */ + public String getOfferId() { + return offerId; + } + + /** The commercial workflow of the associated CCD offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceType") + private final CcdOffer.SourceType sourceType; + + /** + * The commercial workflow of the associated CCD offer. + * + * @return the value + */ + public CcdOffer.SourceType getSourceType() { + return sourceType; + } + + /** + * The reclaim term copied from the offer when the commitment is created. The value is measured + * in {@code reclaimTermUnit}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTerm") + private final Long reclaimTerm; + + /** + * The reclaim term copied from the offer when the commitment is created. The value is measured + * in {@code reclaimTermUnit}. + * + * @return the value + */ + public Long getReclaimTerm() { + return reclaimTerm; + } + + /** + * The unit used to measure {@code reclaimTerm}, copied from the offer when the commitment is + * created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTermUnit") + private final CcdOffer.ReclaimTermUnit reclaimTermUnit; + + /** + * The unit used to measure {@code reclaimTerm}, copied from the offer when the commitment is + * created. + * + * @return the value + */ + public CcdOffer.ReclaimTermUnit getReclaimTermUnit() { + return reclaimTermUnit; + } + + /** The date and time the CCD commitment will be effective.The format is defined by RFC 3339. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentStarts") + private final java.util.Date timeCcdCommitmentStarts; + + /** + * The date and time the CCD commitment will be effective.The format is defined by RFC 3339. + * + * @return the value + */ + public java.util.Date getTimeCcdCommitmentStarts() { + return timeCcdCommitmentStarts; + } + + /** + * The date and time the CCD commitment will be deactivated. The date and time is calculated + * based on {@code timeCcdCommitmentStarts}, the term, and units of the CCD offer. For example: + * {@code 2025-06-01T03:00:00}. The format is defined by RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentEnds") + private final java.util.Date timeCcdCommitmentEnds; + + /** + * The date and time the CCD commitment will be deactivated. The date and time is calculated + * based on {@code timeCcdCommitmentStarts}, the term, and units of the CCD offer. For example: + * {@code 2025-06-01T03:00:00}. The format is defined by RFC 3339. + * + * @return the value + */ + public java.util.Date getTimeCcdCommitmentEnds() { + return timeCcdCommitmentEnds; + } + + /** The subscription ID the CCD offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private final String subscriptionId; + + /** + * The subscription ID the CCD offer is applicable to. + * + * @return the value + */ + public String getSubscriptionId() { + return subscriptionId; + } + + /** + * The root compartment ID. The CCD Commitment is associated with the tenancy root compartment + * ID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The root compartment ID. The CCD Commitment is associated with the tenancy root compartment + * ID. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The tenancy OCID that you want to apply filler usage to. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyId") + private final String fillerTenancyId; + + /** + * The tenancy OCID that you want to apply filler usage to. + * + * @return the value + */ + public String getFillerTenancyId() { + return fillerTenancyId; + } + + /** The filler tenancy home region. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyHomeRegion") + private final String fillerTenancyHomeRegion; + + /** + * The filler tenancy home region. + * + * @return the value + */ + public String getFillerTenancyHomeRegion() { + return fillerTenancyHomeRegion; + } + + @com.fasterxml.jackson.annotation.JsonProperty("usageEligibility") + private final UsageEligibility usageEligibility; + + public UsageEligibility getUsageEligibility() { + return usageEligibility; + } + + /** Secondary SKUs associated with the main SKU. */ + @com.fasterxml.jackson.annotation.JsonProperty("secondarySkus") + private final java.util.List secondarySkus; + + /** + * Secondary SKUs associated with the main SKU. + * + * @return the value + */ + public java.util.List getSecondarySkus() { + return secondarySkus; + } + + /** + * This state always defaults to {@code Active}. For a detailed and exact state, check the + * {@code lifecycleDetails} state. + */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Active("ACTIVE"), + + /** + * This value is used if a service returns a value for this enum that is not recognized by + * this version of the SDK. + */ + UnknownEnumValue(null); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(LifecycleState.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LifecycleState v : LifecycleState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LifecycleState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LifecycleState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LifecycleState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * This state always defaults to {@code Active}. For a detailed and exact state, check the + * {@code lifecycleDetails} state. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * This state always defaults to {@code Active}. For a detailed and exact state, check the + * {@code lifecycleDetails} state. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** + * The CCD commitment's current state. A commitment that's expected to get a dedicated capacity + * will be in the Awaiting Provisioning state unless the commitment is ended or canceled. + * Otherwise, the value is determined by {@code timeCcdCommitmentStarts}, {@code + * timeCcdCommitmentEnds}, and {@code timeTerminated}, with respect to the current time. + */ + public enum LifecycleDetails implements com.oracle.bmc.http.internal.BmcEnum { + Current("CURRENT"), + Ended("ENDED"), + Canceled("CANCELED"), + Scheduled("SCHEDULED"), + AwaitingProvisioning("AWAITING_PROVISIONING"), + + /** + * 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(LifecycleDetails.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LifecycleDetails v : LifecycleDetails.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LifecycleDetails(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LifecycleDetails create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LifecycleDetails', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The CCD commitment's current state. A commitment that's expected to get a dedicated capacity + * will be in the Awaiting Provisioning state unless the commitment is ended or canceled. + * Otherwise, the value is determined by {@code timeCcdCommitmentStarts}, {@code + * timeCcdCommitmentEnds}, and {@code timeTerminated}, with respect to the current time. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final LifecycleDetails lifecycleDetails; + + /** + * The CCD commitment's current state. A commitment that's expected to get a dedicated capacity + * will be in the Awaiting Provisioning state unless the commitment is ended or canceled. + * Otherwise, the value is determined by {@code timeCcdCommitmentStarts}, {@code + * timeCcdCommitmentEnds}, and {@code timeTerminated}, with respect to the current time. + * + * @return the value + */ + public LifecycleDetails getLifecycleDetails() { + return lifecycleDetails; + } + + /** The list of SKUs associated with the commitment and their prices in all currency codes. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuQuantityPriceModel") + private final java.util.List skuQuantityPriceModel; + + /** + * The list of SKUs associated with the commitment and their prices in all currency codes. + * + * @return the value + */ + public java.util.List getSkuQuantityPriceModel() { + return skuQuantityPriceModel; + } + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: {@code + * 2025-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: {@code + * 2025-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeTerminated") + private final java.util.Date timeTerminated; + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeTerminated() { + return timeTerminated; + } + + /** + * 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; + } + + /** + * 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; + } + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + /** Entity/User who lastly updated the ccdCommitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdatedBy") + private final String lastUpdatedBy; + + /** + * Entity/User who lastly updated the ccdCommitment. + * + * @return the value + */ + public String getLastUpdatedBy() { + return lastUpdatedBy; + } + + /** The entity that created the CCD commitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private final String createdBy; + + /** + * The entity that created the CCD commitment. + * + * @return the value + */ + public String getCreatedBy() { + return createdBy; + } + + /** Entity/User who approved the ccdCommitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("approvedBy") + private final String approvedBy; + + /** + * Entity/User who approved the ccdCommitment. + * + * @return the value + */ + public String getApprovedBy() { + return approvedBy; + } + + @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("CcdCommitment("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", quantity=").append(String.valueOf(this.quantity)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", offerId=").append(String.valueOf(this.offerId)); + sb.append(", sourceType=").append(String.valueOf(this.sourceType)); + sb.append(", reclaimTerm=").append(String.valueOf(this.reclaimTerm)); + sb.append(", reclaimTermUnit=").append(String.valueOf(this.reclaimTermUnit)); + sb.append(", timeCcdCommitmentStarts=") + .append(String.valueOf(this.timeCcdCommitmentStarts)); + sb.append(", timeCcdCommitmentEnds=").append(String.valueOf(this.timeCcdCommitmentEnds)); + sb.append(", subscriptionId=").append(String.valueOf(this.subscriptionId)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", fillerTenancyId=").append(String.valueOf(this.fillerTenancyId)); + sb.append(", fillerTenancyHomeRegion=") + .append(String.valueOf(this.fillerTenancyHomeRegion)); + sb.append(", usageEligibility=").append(String.valueOf(this.usageEligibility)); + sb.append(", secondarySkus=").append(String.valueOf(this.secondarySkus)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(", skuQuantityPriceModel=").append(String.valueOf(this.skuQuantityPriceModel)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", timeTerminated=").append(String.valueOf(this.timeTerminated)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(", lastUpdatedBy=").append(String.valueOf(this.lastUpdatedBy)); + sb.append(", createdBy=").append(String.valueOf(this.createdBy)); + sb.append(", approvedBy=").append(String.valueOf(this.approvedBy)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CcdCommitment)) { + return false; + } + + CcdCommitment other = (CcdCommitment) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.quantity, other.quantity) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.offerId, other.offerId) + && java.util.Objects.equals(this.sourceType, other.sourceType) + && java.util.Objects.equals(this.reclaimTerm, other.reclaimTerm) + && java.util.Objects.equals(this.reclaimTermUnit, other.reclaimTermUnit) + && java.util.Objects.equals( + this.timeCcdCommitmentStarts, other.timeCcdCommitmentStarts) + && java.util.Objects.equals(this.timeCcdCommitmentEnds, other.timeCcdCommitmentEnds) + && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.fillerTenancyId, other.fillerTenancyId) + && java.util.Objects.equals( + this.fillerTenancyHomeRegion, other.fillerTenancyHomeRegion) + && java.util.Objects.equals(this.usageEligibility, other.usageEligibility) + && java.util.Objects.equals(this.secondarySkus, other.secondarySkus) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.skuQuantityPriceModel, other.skuQuantityPriceModel) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.timeTerminated, other.timeTerminated) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && java.util.Objects.equals(this.lastUpdatedBy, other.lastUpdatedBy) + && java.util.Objects.equals(this.createdBy, other.createdBy) + && java.util.Objects.equals(this.approvedBy, other.approvedBy) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = (result * PRIME) + (this.quantity == null ? 43 : this.quantity.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = (result * PRIME) + (this.offerId == null ? 43 : this.offerId.hashCode()); + result = (result * PRIME) + (this.sourceType == null ? 43 : this.sourceType.hashCode()); + result = (result * PRIME) + (this.reclaimTerm == null ? 43 : this.reclaimTerm.hashCode()); + result = + (result * PRIME) + + (this.reclaimTermUnit == null ? 43 : this.reclaimTermUnit.hashCode()); + result = + (result * PRIME) + + (this.timeCcdCommitmentStarts == null + ? 43 + : this.timeCcdCommitmentStarts.hashCode()); + result = + (result * PRIME) + + (this.timeCcdCommitmentEnds == null + ? 43 + : this.timeCcdCommitmentEnds.hashCode()); + result = + (result * PRIME) + + (this.subscriptionId == null ? 43 : this.subscriptionId.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = + (result * PRIME) + + (this.fillerTenancyId == null ? 43 : this.fillerTenancyId.hashCode()); + result = + (result * PRIME) + + (this.fillerTenancyHomeRegion == null + ? 43 + : this.fillerTenancyHomeRegion.hashCode()); + result = + (result * PRIME) + + (this.usageEligibility == null ? 43 : this.usageEligibility.hashCode()); + result = + (result * PRIME) + + (this.secondarySkus == null ? 43 : this.secondarySkus.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode()); + result = + (result * PRIME) + + (this.skuQuantityPriceModel == null + ? 43 + : this.skuQuantityPriceModel.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.timeTerminated == null ? 43 : this.timeTerminated.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()); + result = + (result * PRIME) + + (this.lastUpdatedBy == null ? 43 : this.lastUpdatedBy.hashCode()); + result = (result * PRIME) + (this.createdBy == null ? 43 : this.createdBy.hashCode()); + result = (result * PRIME) + (this.approvedBy == null ? 43 : this.approvedBy.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdCommitmentCollection.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdCommitmentCollection.java new file mode 100644 index 00000000000..ff646ae76d5 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdCommitmentCollection.java @@ -0,0 +1,133 @@ +/** + * 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.ccdoffers.model; + +/** + * CCD commitment summary items.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CcdCommitmentCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CcdCommitmentCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public CcdCommitmentCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The CCD commitment summary. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * The CCD commitment summary. + * + * @param items the value to set + * @return this builder + */ + public Builder items(java.util.List items) { + this.items = items; + this.__explicitlySet__.add("items"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CcdCommitmentCollection build() { + CcdCommitmentCollection model = new CcdCommitmentCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CcdCommitmentCollection model) { + if (model.wasPropertyExplicitlySet("items")) { + this.items(model.getItems()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The CCD commitment summary. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * The CCD commitment summary. + * + * @return the value + */ + public java.util.List getItems() { + return items; + } + + @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("CcdCommitmentCollection("); + sb.append("super=").append(super.toString()); + sb.append("items=").append(String.valueOf(this.items)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CcdCommitmentCollection)) { + return false; + } + + CcdCommitmentCollection other = (CcdCommitmentCollection) o; + return java.util.Objects.equals(this.items, other.items) && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdCommitmentSummary.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdCommitmentSummary.java new file mode 100644 index 00000000000..61d37dcbd10 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdCommitmentSummary.java @@ -0,0 +1,1313 @@ +/** + * 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.ccdoffers.model; + +/** + * The CCD commitment summary.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CcdCommitmentSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CcdCommitmentSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "quantity", + "offerId", + "sourceType", + "reclaimTerm", + "reclaimTermUnit", + "displayName", + "timeCcdCommitmentStarts", + "timeCcdCommitmentEnds", + "subscriptionId", + "compartmentId", + "fillerTenancyId", + "fillerTenancyHomeRegion", + "usageEligibility", + "lifecycleState", + "lifecycleDetails", + "skuQuantityPriceModel", + "secondarySkus", + "timeCreated", + "timeUpdated", + "timeTerminated", + "freeformTags", + "definedTags", + "systemTags", + "lastUpdatedBy", + "createdBy", + "approvedBy" + }) + public CcdCommitmentSummary( + String id, + Long quantity, + String offerId, + CcdOffer.SourceType sourceType, + Long reclaimTerm, + CcdOffer.ReclaimTermUnit reclaimTermUnit, + String displayName, + java.util.Date timeCcdCommitmentStarts, + java.util.Date timeCcdCommitmentEnds, + String subscriptionId, + String compartmentId, + String fillerTenancyId, + String fillerTenancyHomeRegion, + UsageEligibility usageEligibility, + CcdCommitment.LifecycleState lifecycleState, + CcdCommitment.LifecycleDetails lifecycleDetails, + java.util.List skuQuantityPriceModel, + java.util.List secondarySkus, + java.util.Date timeCreated, + java.util.Date timeUpdated, + java.util.Date timeTerminated, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags, + String lastUpdatedBy, + String createdBy, + String approvedBy) { + super(); + this.id = id; + this.quantity = quantity; + this.offerId = offerId; + this.sourceType = sourceType; + this.reclaimTerm = reclaimTerm; + this.reclaimTermUnit = reclaimTermUnit; + this.displayName = displayName; + this.timeCcdCommitmentStarts = timeCcdCommitmentStarts; + this.timeCcdCommitmentEnds = timeCcdCommitmentEnds; + this.subscriptionId = subscriptionId; + this.compartmentId = compartmentId; + this.fillerTenancyId = fillerTenancyId; + this.fillerTenancyHomeRegion = fillerTenancyHomeRegion; + this.usageEligibility = usageEligibility; + this.lifecycleState = lifecycleState; + this.lifecycleDetails = lifecycleDetails; + this.skuQuantityPriceModel = skuQuantityPriceModel; + this.secondarySkus = secondarySkus; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.timeTerminated = timeTerminated; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + this.lastUpdatedBy = lastUpdatedBy; + this.createdBy = createdBy; + this.approvedBy = approvedBy; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The CCD commitment resource OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The CCD commitment resource OCID. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For + * example, if the quantity is 1000, then you are committing to a 1000 usage quantity value + * per hour. + */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private Long quantity; + + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For + * example, if the quantity is 1000, then you are committing to a 1000 usage quantity value + * per hour. + * + * @param quantity the value to set + * @return this builder + */ + public Builder quantity(Long quantity) { + this.quantity = quantity; + this.__explicitlySet__.add("quantity"); + return this; + } + /** The CCD offer OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("offerId") + private String offerId; + + /** + * The CCD offer OCID. + * + * @param offerId the value to set + * @return this builder + */ + public Builder offerId(String offerId) { + this.offerId = offerId; + this.__explicitlySet__.add("offerId"); + return this; + } + /** The commercial workflow of the associated CCD offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceType") + private CcdOffer.SourceType sourceType; + + /** + * The commercial workflow of the associated CCD offer. + * + * @param sourceType the value to set + * @return this builder + */ + public Builder sourceType(CcdOffer.SourceType sourceType) { + this.sourceType = sourceType; + this.__explicitlySet__.add("sourceType"); + return this; + } + /** + * The reclaim term copied from the offer when the commitment is created. The value is + * measured in {@code reclaimTermUnit}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTerm") + private Long reclaimTerm; + + /** + * The reclaim term copied from the offer when the commitment is created. The value is + * measured in {@code reclaimTermUnit}. + * + * @param reclaimTerm the value to set + * @return this builder + */ + public Builder reclaimTerm(Long reclaimTerm) { + this.reclaimTerm = reclaimTerm; + this.__explicitlySet__.add("reclaimTerm"); + return this; + } + /** + * The unit used to measure {@code reclaimTerm}, copied from the offer when the commitment + * is created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTermUnit") + private CcdOffer.ReclaimTermUnit reclaimTermUnit; + + /** + * The unit used to measure {@code reclaimTerm}, copied from the offer when the commitment + * is created. + * + * @param reclaimTermUnit the value to set + * @return this builder + */ + public Builder reclaimTermUnit(CcdOffer.ReclaimTermUnit reclaimTermUnit) { + this.reclaimTermUnit = reclaimTermUnit; + this.__explicitlySet__.add("reclaimTermUnit"); + return this; + } + /** + * The CCD commitment name. The name will be unique across the subscription for which the + * CCD commitment has been created. Avoid entering confidential information. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The CCD commitment name. The name will be unique across the subscription for which the + * CCD commitment has been created. 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; + } + /** + * The date and time, rounded down to an hour, that the CCD commitment will be effective. + * The format conforms to RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentStarts") + private java.util.Date timeCcdCommitmentStarts; + + /** + * The date and time, rounded down to an hour, that the CCD commitment will be effective. + * The format conforms to RFC 3339. + * + * @param timeCcdCommitmentStarts the value to set + * @return this builder + */ + public Builder timeCcdCommitmentStarts(java.util.Date timeCcdCommitmentStarts) { + this.timeCcdCommitmentStarts = timeCcdCommitmentStarts; + this.__explicitlySet__.add("timeCcdCommitmentStarts"); + return this; + } + /** + * The date and time the CCD commitment ends, which is calculated from the {@code + * timeCcdCommitmentStarts} of the {@code ccdCommitment}, the term, and {@code ccdOffer} + * units. The format must conform to RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentEnds") + private java.util.Date timeCcdCommitmentEnds; + + /** + * The date and time the CCD commitment ends, which is calculated from the {@code + * timeCcdCommitmentStarts} of the {@code ccdCommitment}, the term, and {@code ccdOffer} + * units. The format must conform to RFC 3339. + * + * @param timeCcdCommitmentEnds the value to set + * @return this builder + */ + public Builder timeCcdCommitmentEnds(java.util.Date timeCcdCommitmentEnds) { + this.timeCcdCommitmentEnds = timeCcdCommitmentEnds; + this.__explicitlySet__.add("timeCcdCommitmentEnds"); + return this; + } + /** The subscription OCID the CCD commitment is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private String subscriptionId; + + /** + * The subscription OCID the CCD commitment is applicable to. + * + * @param subscriptionId the value to set + * @return this builder + */ + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + this.__explicitlySet__.add("subscriptionId"); + return this; + } + /** The root compartment ID associated with the CCD offer the customer has signed up for. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The root compartment ID associated with the CCD offer the customer has signed up for. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** The tenancy OCID that you want to apply filler usage to. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyId") + private String fillerTenancyId; + + /** + * The tenancy OCID that you want to apply filler usage to. + * + * @param fillerTenancyId the value to set + * @return this builder + */ + public Builder fillerTenancyId(String fillerTenancyId) { + this.fillerTenancyId = fillerTenancyId; + this.__explicitlySet__.add("fillerTenancyId"); + return this; + } + /** The filler tenancy home region. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyHomeRegion") + private String fillerTenancyHomeRegion; + + /** + * The filler tenancy home region. + * + * @param fillerTenancyHomeRegion the value to set + * @return this builder + */ + public Builder fillerTenancyHomeRegion(String fillerTenancyHomeRegion) { + this.fillerTenancyHomeRegion = fillerTenancyHomeRegion; + this.__explicitlySet__.add("fillerTenancyHomeRegion"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("usageEligibility") + private UsageEligibility usageEligibility; + + public Builder usageEligibility(UsageEligibility usageEligibility) { + this.usageEligibility = usageEligibility; + this.__explicitlySet__.add("usageEligibility"); + return this; + } + /** + * The CCD commitment's current state, which always defaults to {@code Active}. For a more + * accurate detailed state, refer to {@code lifecycleDetails}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private CcdCommitment.LifecycleState lifecycleState; + + /** + * The CCD commitment's current state, which always defaults to {@code Active}. For a more + * accurate detailed state, refer to {@code lifecycleDetails}. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(CcdCommitment.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** + * The CCD commitment's current state. A commitment that's expected to get a dedicated + * capacity will be in the Awaiting Provisioning state unless the commitment is ended or + * canceled. Otherwise, the value is determined by {@code timeCcdCommitmentStarts}, {@code + * timeCcdCommitmentEnds}, and {@code timeTerminated}, with respect to the current time. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private CcdCommitment.LifecycleDetails lifecycleDetails; + + /** + * The CCD commitment's current state. A commitment that's expected to get a dedicated + * capacity will be in the Awaiting Provisioning state unless the commitment is ended or + * canceled. Otherwise, the value is determined by {@code timeCcdCommitmentStarts}, {@code + * timeCcdCommitmentEnds}, and {@code timeTerminated}, with respect to the current time. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(CcdCommitment.LifecycleDetails lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** + * The list of SKUs associated with the commitment and their prices in all currency codes. + */ + @com.fasterxml.jackson.annotation.JsonProperty("skuQuantityPriceModel") + private java.util.List skuQuantityPriceModel; + + /** + * The list of SKUs associated with the commitment and their prices in all currency codes. + * + * @param skuQuantityPriceModel the value to set + * @return this builder + */ + public Builder skuQuantityPriceModel( + java.util.List skuQuantityPriceModel) { + this.skuQuantityPriceModel = skuQuantityPriceModel; + this.__explicitlySet__.add("skuQuantityPriceModel"); + return this; + } + /** The secondary SKUs associated with the main SKU. */ + @com.fasterxml.jackson.annotation.JsonProperty("secondarySkus") + private java.util.List secondarySkus; + + /** + * The secondary SKUs associated with the main SKU. + * + * @param secondarySkus the value to set + * @return this builder + */ + public Builder secondarySkus(java.util.List secondarySkus) { + this.secondarySkus = secondarySkus; + this.__explicitlySet__.add("secondarySkus"); + return this; + } + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @param timeCreated the value to set + * @return this builder + */ + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: + * {@code 2025-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: + * {@code 2025-01-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; + } + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeTerminated") + private java.util.Date timeTerminated; + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @param timeTerminated the value to set + * @return this builder + */ + public Builder timeTerminated(java.util.Date timeTerminated) { + this.timeTerminated = timeTerminated; + this.__explicitlySet__.add("timeTerminated"); + 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; + } + /** + * 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; + } + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + /** Entity/User who lastly updated the ccdCommitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdatedBy") + private String lastUpdatedBy; + + /** + * Entity/User who lastly updated the ccdCommitment. + * + * @param lastUpdatedBy the value to set + * @return this builder + */ + public Builder lastUpdatedBy(String lastUpdatedBy) { + this.lastUpdatedBy = lastUpdatedBy; + this.__explicitlySet__.add("lastUpdatedBy"); + return this; + } + /** The entity that created the CCD commitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private String createdBy; + + /** + * The entity that created the CCD commitment. + * + * @param createdBy the value to set + * @return this builder + */ + public Builder createdBy(String createdBy) { + this.createdBy = createdBy; + this.__explicitlySet__.add("createdBy"); + return this; + } + /** Entity/User who approved the ccdCommitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("approvedBy") + private String approvedBy; + + /** + * Entity/User who approved the ccdCommitment. + * + * @param approvedBy the value to set + * @return this builder + */ + public Builder approvedBy(String approvedBy) { + this.approvedBy = approvedBy; + this.__explicitlySet__.add("approvedBy"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CcdCommitmentSummary build() { + CcdCommitmentSummary model = + new CcdCommitmentSummary( + this.id, + this.quantity, + this.offerId, + this.sourceType, + this.reclaimTerm, + this.reclaimTermUnit, + this.displayName, + this.timeCcdCommitmentStarts, + this.timeCcdCommitmentEnds, + this.subscriptionId, + this.compartmentId, + this.fillerTenancyId, + this.fillerTenancyHomeRegion, + this.usageEligibility, + this.lifecycleState, + this.lifecycleDetails, + this.skuQuantityPriceModel, + this.secondarySkus, + this.timeCreated, + this.timeUpdated, + this.timeTerminated, + this.freeformTags, + this.definedTags, + this.systemTags, + this.lastUpdatedBy, + this.createdBy, + this.approvedBy); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CcdCommitmentSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("quantity")) { + this.quantity(model.getQuantity()); + } + if (model.wasPropertyExplicitlySet("offerId")) { + this.offerId(model.getOfferId()); + } + if (model.wasPropertyExplicitlySet("sourceType")) { + this.sourceType(model.getSourceType()); + } + if (model.wasPropertyExplicitlySet("reclaimTerm")) { + this.reclaimTerm(model.getReclaimTerm()); + } + if (model.wasPropertyExplicitlySet("reclaimTermUnit")) { + this.reclaimTermUnit(model.getReclaimTermUnit()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("timeCcdCommitmentStarts")) { + this.timeCcdCommitmentStarts(model.getTimeCcdCommitmentStarts()); + } + if (model.wasPropertyExplicitlySet("timeCcdCommitmentEnds")) { + this.timeCcdCommitmentEnds(model.getTimeCcdCommitmentEnds()); + } + if (model.wasPropertyExplicitlySet("subscriptionId")) { + this.subscriptionId(model.getSubscriptionId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("fillerTenancyId")) { + this.fillerTenancyId(model.getFillerTenancyId()); + } + if (model.wasPropertyExplicitlySet("fillerTenancyHomeRegion")) { + this.fillerTenancyHomeRegion(model.getFillerTenancyHomeRegion()); + } + if (model.wasPropertyExplicitlySet("usageEligibility")) { + this.usageEligibility(model.getUsageEligibility()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("skuQuantityPriceModel")) { + this.skuQuantityPriceModel(model.getSkuQuantityPriceModel()); + } + if (model.wasPropertyExplicitlySet("secondarySkus")) { + this.secondarySkus(model.getSecondarySkus()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("timeTerminated")) { + this.timeTerminated(model.getTimeTerminated()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + if (model.wasPropertyExplicitlySet("lastUpdatedBy")) { + this.lastUpdatedBy(model.getLastUpdatedBy()); + } + if (model.wasPropertyExplicitlySet("createdBy")) { + this.createdBy(model.getCreatedBy()); + } + if (model.wasPropertyExplicitlySet("approvedBy")) { + this.approvedBy(model.getApprovedBy()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The CCD commitment resource OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The CCD commitment resource OCID. + * + * @return the value + */ + public String getId() { + return id; + } + + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For example, + * if the quantity is 1000, then you are committing to a 1000 usage quantity value per hour. + */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private final Long quantity; + + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For example, + * if the quantity is 1000, then you are committing to a 1000 usage quantity value per hour. + * + * @return the value + */ + public Long getQuantity() { + return quantity; + } + + /** The CCD offer OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("offerId") + private final String offerId; + + /** + * The CCD offer OCID. + * + * @return the value + */ + public String getOfferId() { + return offerId; + } + + /** The commercial workflow of the associated CCD offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceType") + private final CcdOffer.SourceType sourceType; + + /** + * The commercial workflow of the associated CCD offer. + * + * @return the value + */ + public CcdOffer.SourceType getSourceType() { + return sourceType; + } + + /** + * The reclaim term copied from the offer when the commitment is created. The value is measured + * in {@code reclaimTermUnit}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTerm") + private final Long reclaimTerm; + + /** + * The reclaim term copied from the offer when the commitment is created. The value is measured + * in {@code reclaimTermUnit}. + * + * @return the value + */ + public Long getReclaimTerm() { + return reclaimTerm; + } + + /** + * The unit used to measure {@code reclaimTerm}, copied from the offer when the commitment is + * created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTermUnit") + private final CcdOffer.ReclaimTermUnit reclaimTermUnit; + + /** + * The unit used to measure {@code reclaimTerm}, copied from the offer when the commitment is + * created. + * + * @return the value + */ + public CcdOffer.ReclaimTermUnit getReclaimTermUnit() { + return reclaimTermUnit; + } + + /** + * The CCD commitment name. The name will be unique across the subscription for which the CCD + * commitment has been created. Avoid entering confidential information. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The CCD commitment name. The name will be unique across the subscription for which the CCD + * commitment has been created. Avoid entering confidential information. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * The date and time, rounded down to an hour, that the CCD commitment will be effective. The + * format conforms to RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentStarts") + private final java.util.Date timeCcdCommitmentStarts; + + /** + * The date and time, rounded down to an hour, that the CCD commitment will be effective. The + * format conforms to RFC 3339. + * + * @return the value + */ + public java.util.Date getTimeCcdCommitmentStarts() { + return timeCcdCommitmentStarts; + } + + /** + * The date and time the CCD commitment ends, which is calculated from the {@code + * timeCcdCommitmentStarts} of the {@code ccdCommitment}, the term, and {@code ccdOffer} units. + * The format must conform to RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentEnds") + private final java.util.Date timeCcdCommitmentEnds; + + /** + * The date and time the CCD commitment ends, which is calculated from the {@code + * timeCcdCommitmentStarts} of the {@code ccdCommitment}, the term, and {@code ccdOffer} units. + * The format must conform to RFC 3339. + * + * @return the value + */ + public java.util.Date getTimeCcdCommitmentEnds() { + return timeCcdCommitmentEnds; + } + + /** The subscription OCID the CCD commitment is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private final String subscriptionId; + + /** + * The subscription OCID the CCD commitment is applicable to. + * + * @return the value + */ + public String getSubscriptionId() { + return subscriptionId; + } + + /** The root compartment ID associated with the CCD offer the customer has signed up for. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The root compartment ID associated with the CCD offer the customer has signed up for. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The tenancy OCID that you want to apply filler usage to. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyId") + private final String fillerTenancyId; + + /** + * The tenancy OCID that you want to apply filler usage to. + * + * @return the value + */ + public String getFillerTenancyId() { + return fillerTenancyId; + } + + /** The filler tenancy home region. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyHomeRegion") + private final String fillerTenancyHomeRegion; + + /** + * The filler tenancy home region. + * + * @return the value + */ + public String getFillerTenancyHomeRegion() { + return fillerTenancyHomeRegion; + } + + @com.fasterxml.jackson.annotation.JsonProperty("usageEligibility") + private final UsageEligibility usageEligibility; + + public UsageEligibility getUsageEligibility() { + return usageEligibility; + } + + /** + * The CCD commitment's current state, which always defaults to {@code Active}. For a more + * accurate detailed state, refer to {@code lifecycleDetails}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final CcdCommitment.LifecycleState lifecycleState; + + /** + * The CCD commitment's current state, which always defaults to {@code Active}. For a more + * accurate detailed state, refer to {@code lifecycleDetails}. + * + * @return the value + */ + public CcdCommitment.LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** + * The CCD commitment's current state. A commitment that's expected to get a dedicated capacity + * will be in the Awaiting Provisioning state unless the commitment is ended or canceled. + * Otherwise, the value is determined by {@code timeCcdCommitmentStarts}, {@code + * timeCcdCommitmentEnds}, and {@code timeTerminated}, with respect to the current time. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final CcdCommitment.LifecycleDetails lifecycleDetails; + + /** + * The CCD commitment's current state. A commitment that's expected to get a dedicated capacity + * will be in the Awaiting Provisioning state unless the commitment is ended or canceled. + * Otherwise, the value is determined by {@code timeCcdCommitmentStarts}, {@code + * timeCcdCommitmentEnds}, and {@code timeTerminated}, with respect to the current time. + * + * @return the value + */ + public CcdCommitment.LifecycleDetails getLifecycleDetails() { + return lifecycleDetails; + } + + /** The list of SKUs associated with the commitment and their prices in all currency codes. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuQuantityPriceModel") + private final java.util.List skuQuantityPriceModel; + + /** + * The list of SKUs associated with the commitment and their prices in all currency codes. + * + * @return the value + */ + public java.util.List getSkuQuantityPriceModel() { + return skuQuantityPriceModel; + } + + /** The secondary SKUs associated with the main SKU. */ + @com.fasterxml.jackson.annotation.JsonProperty("secondarySkus") + private final java.util.List secondarySkus; + + /** + * The secondary SKUs associated with the main SKU. + * + * @return the value + */ + public java.util.List getSecondarySkus() { + return secondarySkus; + } + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: {@code + * 2025-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: {@code + * 2025-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeTerminated") + private final java.util.Date timeTerminated; + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeTerminated() { + return timeTerminated; + } + + /** + * 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; + } + + /** + * 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; + } + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + /** Entity/User who lastly updated the ccdCommitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdatedBy") + private final String lastUpdatedBy; + + /** + * Entity/User who lastly updated the ccdCommitment. + * + * @return the value + */ + public String getLastUpdatedBy() { + return lastUpdatedBy; + } + + /** The entity that created the CCD commitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private final String createdBy; + + /** + * The entity that created the CCD commitment. + * + * @return the value + */ + public String getCreatedBy() { + return createdBy; + } + + /** Entity/User who approved the ccdCommitment. */ + @com.fasterxml.jackson.annotation.JsonProperty("approvedBy") + private final String approvedBy; + + /** + * Entity/User who approved the ccdCommitment. + * + * @return the value + */ + public String getApprovedBy() { + return approvedBy; + } + + @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("CcdCommitmentSummary("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", quantity=").append(String.valueOf(this.quantity)); + sb.append(", offerId=").append(String.valueOf(this.offerId)); + sb.append(", sourceType=").append(String.valueOf(this.sourceType)); + sb.append(", reclaimTerm=").append(String.valueOf(this.reclaimTerm)); + sb.append(", reclaimTermUnit=").append(String.valueOf(this.reclaimTermUnit)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", timeCcdCommitmentStarts=") + .append(String.valueOf(this.timeCcdCommitmentStarts)); + sb.append(", timeCcdCommitmentEnds=").append(String.valueOf(this.timeCcdCommitmentEnds)); + sb.append(", subscriptionId=").append(String.valueOf(this.subscriptionId)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", fillerTenancyId=").append(String.valueOf(this.fillerTenancyId)); + sb.append(", fillerTenancyHomeRegion=") + .append(String.valueOf(this.fillerTenancyHomeRegion)); + sb.append(", usageEligibility=").append(String.valueOf(this.usageEligibility)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(", skuQuantityPriceModel=").append(String.valueOf(this.skuQuantityPriceModel)); + sb.append(", secondarySkus=").append(String.valueOf(this.secondarySkus)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", timeTerminated=").append(String.valueOf(this.timeTerminated)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(", lastUpdatedBy=").append(String.valueOf(this.lastUpdatedBy)); + sb.append(", createdBy=").append(String.valueOf(this.createdBy)); + sb.append(", approvedBy=").append(String.valueOf(this.approvedBy)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CcdCommitmentSummary)) { + return false; + } + + CcdCommitmentSummary other = (CcdCommitmentSummary) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.quantity, other.quantity) + && java.util.Objects.equals(this.offerId, other.offerId) + && java.util.Objects.equals(this.sourceType, other.sourceType) + && java.util.Objects.equals(this.reclaimTerm, other.reclaimTerm) + && java.util.Objects.equals(this.reclaimTermUnit, other.reclaimTermUnit) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals( + this.timeCcdCommitmentStarts, other.timeCcdCommitmentStarts) + && java.util.Objects.equals(this.timeCcdCommitmentEnds, other.timeCcdCommitmentEnds) + && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.fillerTenancyId, other.fillerTenancyId) + && java.util.Objects.equals( + this.fillerTenancyHomeRegion, other.fillerTenancyHomeRegion) + && java.util.Objects.equals(this.usageEligibility, other.usageEligibility) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.skuQuantityPriceModel, other.skuQuantityPriceModel) + && java.util.Objects.equals(this.secondarySkus, other.secondarySkus) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.timeTerminated, other.timeTerminated) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && java.util.Objects.equals(this.lastUpdatedBy, other.lastUpdatedBy) + && java.util.Objects.equals(this.createdBy, other.createdBy) + && java.util.Objects.equals(this.approvedBy, other.approvedBy) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = (result * PRIME) + (this.quantity == null ? 43 : this.quantity.hashCode()); + result = (result * PRIME) + (this.offerId == null ? 43 : this.offerId.hashCode()); + result = (result * PRIME) + (this.sourceType == null ? 43 : this.sourceType.hashCode()); + result = (result * PRIME) + (this.reclaimTerm == null ? 43 : this.reclaimTerm.hashCode()); + result = + (result * PRIME) + + (this.reclaimTermUnit == null ? 43 : this.reclaimTermUnit.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.timeCcdCommitmentStarts == null + ? 43 + : this.timeCcdCommitmentStarts.hashCode()); + result = + (result * PRIME) + + (this.timeCcdCommitmentEnds == null + ? 43 + : this.timeCcdCommitmentEnds.hashCode()); + result = + (result * PRIME) + + (this.subscriptionId == null ? 43 : this.subscriptionId.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = + (result * PRIME) + + (this.fillerTenancyId == null ? 43 : this.fillerTenancyId.hashCode()); + result = + (result * PRIME) + + (this.fillerTenancyHomeRegion == null + ? 43 + : this.fillerTenancyHomeRegion.hashCode()); + result = + (result * PRIME) + + (this.usageEligibility == null ? 43 : this.usageEligibility.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode()); + result = + (result * PRIME) + + (this.skuQuantityPriceModel == null + ? 43 + : this.skuQuantityPriceModel.hashCode()); + result = + (result * PRIME) + + (this.secondarySkus == null ? 43 : this.secondarySkus.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.timeTerminated == null ? 43 : this.timeTerminated.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()); + result = + (result * PRIME) + + (this.lastUpdatedBy == null ? 43 : this.lastUpdatedBy.hashCode()); + result = (result * PRIME) + (this.createdBy == null ? 43 : this.createdBy.hashCode()); + result = (result * PRIME) + (this.approvedBy == null ? 43 : this.approvedBy.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdOffer.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdOffer.java new file mode 100644 index 00000000000..3b5c2e53a39 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdOffer.java @@ -0,0 +1,2053 @@ +/** + * 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.ccdoffers.model; + +/** + * The created CCD offer 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = CcdOffer.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CcdOffer extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "displayName", + "typeOfOffer", + "sourceType", + "reclaimTerm", + "reclaimTermUnit", + "lastUpdatedBy", + "createdBy", + "orderDocumentNumber", + "customerSegment", + "isFillerUsageEnable", + "reportingRegion", + "sku", + "skuDisplayName", + "skuMetric", + "minQuantity", + "maxQuantity", + "term", + "unit", + "discountPct", + "externalPriceOfSku", + "offerRestriction", + "bundleSkus", + "lifecycleState", + "lifecycleDetails", + "timeCreated", + "timeTerminated", + "timeUpdated", + "freeformTags", + "definedTags", + "systemTags", + "timeCcdOfferStarts", + "timeCcdOfferEnds", + "currencyCode", + "listPrice", + "subscriptionId", + "compartmentId" + }) + public CcdOffer( + String id, + String displayName, + TypeOfOffer typeOfOffer, + SourceType sourceType, + Long reclaimTerm, + ReclaimTermUnit reclaimTermUnit, + String lastUpdatedBy, + String createdBy, + String orderDocumentNumber, + CustomerSegment customerSegment, + Boolean isFillerUsageEnable, + String reportingRegion, + String sku, + String skuDisplayName, + String skuMetric, + Long minQuantity, + Long maxQuantity, + Integer term, + Unit unit, + String discountPct, + java.util.List externalPriceOfSku, + OfferRestriction offerRestriction, + java.util.List bundleSkus, + LifecycleState lifecycleState, + LifecycleDetails lifecycleDetails, + java.util.Date timeCreated, + java.util.Date timeTerminated, + java.util.Date timeUpdated, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags, + java.util.Date timeCcdOfferStarts, + java.util.Date timeCcdOfferEnds, + String currencyCode, + String listPrice, + String subscriptionId, + String compartmentId) { + super(); + this.id = id; + this.displayName = displayName; + this.typeOfOffer = typeOfOffer; + this.sourceType = sourceType; + this.reclaimTerm = reclaimTerm; + this.reclaimTermUnit = reclaimTermUnit; + this.lastUpdatedBy = lastUpdatedBy; + this.createdBy = createdBy; + this.orderDocumentNumber = orderDocumentNumber; + this.customerSegment = customerSegment; + this.isFillerUsageEnable = isFillerUsageEnable; + this.reportingRegion = reportingRegion; + this.sku = sku; + this.skuDisplayName = skuDisplayName; + this.skuMetric = skuMetric; + this.minQuantity = minQuantity; + this.maxQuantity = maxQuantity; + this.term = term; + this.unit = unit; + this.discountPct = discountPct; + this.externalPriceOfSku = externalPriceOfSku; + this.offerRestriction = offerRestriction; + this.bundleSkus = bundleSkus; + this.lifecycleState = lifecycleState; + this.lifecycleDetails = lifecycleDetails; + this.timeCreated = timeCreated; + this.timeTerminated = timeTerminated; + this.timeUpdated = timeUpdated; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + this.timeCcdOfferStarts = timeCcdOfferStarts; + this.timeCcdOfferEnds = timeCcdOfferEnds; + this.currencyCode = currencyCode; + this.listPrice = listPrice; + this.subscriptionId = subscriptionId; + this.compartmentId = compartmentId; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The CCD offer OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The CCD offer OCID. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** The CCD offer name. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The CCD offer name. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** The CCD offer type. */ + @com.fasterxml.jackson.annotation.JsonProperty("typeOfOffer") + private TypeOfOffer typeOfOffer; + + /** + * The CCD offer type. + * + * @param typeOfOffer the value to set + * @return this builder + */ + public Builder typeOfOffer(TypeOfOffer typeOfOffer) { + this.typeOfOffer = typeOfOffer; + this.__explicitlySet__.add("typeOfOffer"); + return this; + } + /** + * The commercial workflow that created the CCD offer/commitment. This value is immutable. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceType") + private SourceType sourceType; + + /** + * The commercial workflow that created the CCD offer/commitment. This value is immutable. + * + * @param sourceType the value to set + * @return this builder + */ + public Builder sourceType(SourceType sourceType) { + this.sourceType = sourceType; + this.__explicitlySet__.add("sourceType"); + return this; + } + /** The reclaim term for an offer, measured in {@code reclaimTermUnit}. */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTerm") + private Long reclaimTerm; + + /** + * The reclaim term for an offer, measured in {@code reclaimTermUnit}. + * + * @param reclaimTerm the value to set + * @return this builder + */ + public Builder reclaimTerm(Long reclaimTerm) { + this.reclaimTerm = reclaimTerm; + this.__explicitlySet__.add("reclaimTerm"); + return this; + } + /** The unit used to measure {@code reclaimTerm}. */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTermUnit") + private ReclaimTermUnit reclaimTermUnit; + + /** + * The unit used to measure {@code reclaimTerm}. + * + * @param reclaimTermUnit the value to set + * @return this builder + */ + public Builder reclaimTermUnit(ReclaimTermUnit reclaimTermUnit) { + this.reclaimTermUnit = reclaimTermUnit; + this.__explicitlySet__.add("reclaimTermUnit"); + return this; + } + /** Entity/User who lastly updated the ccdOffer. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdatedBy") + private String lastUpdatedBy; + + /** + * Entity/User who lastly updated the ccdOffer. + * + * @param lastUpdatedBy the value to set + * @return this builder + */ + public Builder lastUpdatedBy(String lastUpdatedBy) { + this.lastUpdatedBy = lastUpdatedBy; + this.__explicitlySet__.add("lastUpdatedBy"); + return this; + } + /** Entity/User who created the ccdOffer. */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private String createdBy; + + /** + * Entity/User who created the ccdOffer. + * + * @param createdBy the value to set + * @return this builder + */ + public Builder createdBy(String createdBy) { + this.createdBy = createdBy; + this.__explicitlySet__.add("createdBy"); + return this; + } + /** Sales order document number. */ + @com.fasterxml.jackson.annotation.JsonProperty("orderDocumentNumber") + private String orderDocumentNumber; + + /** + * Sales order document number. + * + * @param orderDocumentNumber the value to set + * @return this builder + */ + public Builder orderDocumentNumber(String orderDocumentNumber) { + this.orderDocumentNumber = orderDocumentNumber; + this.__explicitlySet__.add("orderDocumentNumber"); + return this; + } + /** The targeted customer segment. */ + @com.fasterxml.jackson.annotation.JsonProperty("customerSegment") + private CustomerSegment customerSegment; + + /** + * The targeted customer segment. + * + * @param customerSegment the value to set + * @return this builder + */ + public Builder customerSegment(CustomerSegment customerSegment) { + this.customerSegment = customerSegment; + this.__explicitlySet__.add("customerSegment"); + return this; + } + /** + * Enable or disable filler usage if the customer usage quantity is below the minimum + * quantity, and you want metering to fill in usages to meet the minimum quantity. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isFillerUsageEnable") + private Boolean isFillerUsageEnable; + + /** + * Enable or disable filler usage if the customer usage quantity is below the minimum + * quantity, and you want metering to fill in usages to meet the minimum quantity. + * + * @param isFillerUsageEnable the value to set + * @return this builder + */ + public Builder isFillerUsageEnable(Boolean isFillerUsageEnable) { + this.isFillerUsageEnable = isFillerUsageEnable; + this.__explicitlySet__.add("isFillerUsageEnable"); + return this; + } + /** Defines where the filler usage is reported */ + @com.fasterxml.jackson.annotation.JsonProperty("reportingRegion") + private String reportingRegion; + + /** + * Defines where the filler usage is reported + * + * @param reportingRegion the value to set + * @return this builder + */ + public Builder reportingRegion(String reportingRegion) { + this.reportingRegion = reportingRegion; + this.__explicitlySet__.add("reportingRegion"); + return this; + } + /** The SKU part number (prefaced with "B") the CCD is associated with. */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private String sku; + + /** + * The SKU part number (prefaced with "B") the CCD is associated with. + * + * @param sku the value to set + * @return this builder + */ + public Builder sku(String sku) { + this.sku = sku; + this.__explicitlySet__.add("sku"); + return this; + } + /** The canonical SKU display name. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private String skuDisplayName; + + /** + * The canonical SKU display name. + * + * @param skuDisplayName the value to set + * @return this builder + */ + public Builder skuDisplayName(String skuDisplayName) { + this.skuDisplayName = skuDisplayName; + this.__explicitlySet__.add("skuDisplayName"); + return this; + } + /** The canonical billing metric. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private String skuMetric; + + /** + * The canonical billing metric. + * + * @param skuMetric the value to set + * @return this builder + */ + public Builder skuMetric(String skuMetric) { + this.skuMetric = skuMetric; + this.__explicitlySet__.add("skuMetric"); + return this; + } + /** + * The minimum quantity of the primary SKU committed to the CCD offer. For FLEX offers, + * minQuantity and maxQuantity must both be equal if maxQuantity provided. + */ + @com.fasterxml.jackson.annotation.JsonProperty("minQuantity") + private Long minQuantity; + + /** + * The minimum quantity of the primary SKU committed to the CCD offer. For FLEX offers, + * minQuantity and maxQuantity must both be equal if maxQuantity provided. + * + * @param minQuantity the value to set + * @return this builder + */ + public Builder minQuantity(Long minQuantity) { + this.minQuantity = minQuantity; + this.__explicitlySet__.add("minQuantity"); + return this; + } + /** + * The maximum quantity of the primary SKU committed to the CCD offer. For FLEX offers if + * provided, it must equal minQuantity. + */ + @com.fasterxml.jackson.annotation.JsonProperty("maxQuantity") + private Long maxQuantity; + + /** + * The maximum quantity of the primary SKU committed to the CCD offer. For FLEX offers if + * provided, it must equal minQuantity. + * + * @param maxQuantity the value to set + * @return this builder + */ + public Builder maxQuantity(Long maxQuantity) { + this.maxQuantity = maxQuantity; + this.__explicitlySet__.add("maxQuantity"); + return this; + } + /** The number of terms the offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("term") + private Integer term; + + /** + * The number of terms the offer is applicable to. + * + * @param term the value to set + * @return this builder + */ + public Builder term(Integer term) { + this.term = term; + this.__explicitlySet__.add("term"); + return this; + } + /** The term units. */ + @com.fasterxml.jackson.annotation.JsonProperty("unit") + private Unit unit; + + /** + * The term units. + * + * @param unit the value to set + * @return this builder + */ + public Builder unit(Unit unit) { + this.unit = unit; + this.__explicitlySet__.add("unit"); + return this; + } + /** + * The discount percentage applicable to the CCD offer, represented as a decimal string from + * 0 through 100 inclusive. + */ + @com.fasterxml.jackson.annotation.JsonProperty("discountPct") + private String discountPct; + + /** + * The discount percentage applicable to the CCD offer, represented as a decimal string from + * 0 through 100 inclusive. + * + * @param discountPct the value to set + * @return this builder + */ + public Builder discountPct(String discountPct) { + this.discountPct = discountPct; + this.__explicitlySet__.add("discountPct"); + return this; + } + /** The SKU list price in all currency codes. */ + @com.fasterxml.jackson.annotation.JsonProperty("externalPriceOfSku") + private java.util.List externalPriceOfSku; + + /** + * The SKU list price in all currency codes. + * + * @param externalPriceOfSku the value to set + * @return this builder + */ + public Builder externalPriceOfSku( + java.util.List externalPriceOfSku) { + this.externalPriceOfSku = externalPriceOfSku; + this.__explicitlySet__.add("externalPriceOfSku"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("offerRestriction") + private OfferRestriction offerRestriction; + + public Builder offerRestriction(OfferRestriction offerRestriction) { + this.offerRestriction = offerRestriction; + this.__explicitlySet__.add("offerRestriction"); + return this; + } + /** + * The polymorphic bundled SKU definitions. Every bundled SKU in an offer must use the same + * {@code quantityRule}; don't mix {@code FIXED_RATIO} and {@code CUSTOMER_SELECTED} bundled + * SKUs in one offer. An offer can contain at most five SKUs in total, including the primary + * SKU. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bundleSkus") + private java.util.List bundleSkus; + + /** + * The polymorphic bundled SKU definitions. Every bundled SKU in an offer must use the same + * {@code quantityRule}; don't mix {@code FIXED_RATIO} and {@code CUSTOMER_SELECTED} bundled + * SKUs in one offer. An offer can contain at most five SKUs in total, including the primary + * SKU. + * + * @param bundleSkus the value to set + * @return this builder + */ + public Builder bundleSkus(java.util.List bundleSkus) { + this.bundleSkus = bundleSkus; + this.__explicitlySet__.add("bundleSkus"); + return this; + } + /** + * Always defaults to {@code Active}. For the accurate resource state, refer to the {@code + * lifecycleDetails} property value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * Always defaults to {@code Active}. For the accurate resource state, refer to the {@code + * lifecycleDetails} property value. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** + * The CCD offer's detailed current state. The state value is determined by {@code + * timeCcdOfferStarts}, {@code timeCcdOfferEnds}, and {@code timeTerminated} with respect to + * the current time. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private LifecycleDetails lifecycleDetails; + + /** + * The CCD offer's detailed current state. The state value is determined by {@code + * timeCcdOfferStarts}, {@code timeCcdOfferEnds}, and {@code timeTerminated} with respect to + * the current time. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(LifecycleDetails lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @param timeCreated the value to set + * @return this builder + */ + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeTerminated") + private java.util.Date timeTerminated; + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @param timeTerminated the value to set + * @return this builder + */ + public Builder timeTerminated(java.util.Date timeTerminated) { + this.timeTerminated = timeTerminated; + this.__explicitlySet__.add("timeTerminated"); + return this; + } + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: + * {@code 2025-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: + * {@code 2025-01-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; + } + /** + * 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; + } + /** + * 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; + } + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + /** + * The inclusive date the CCD offer will be effective. The format is defined by RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdOfferStarts") + private java.util.Date timeCcdOfferStarts; + + /** + * The inclusive date the CCD offer will be effective. The format is defined by RFC 3339. + * + * @param timeCcdOfferStarts the value to set + * @return this builder + */ + public Builder timeCcdOfferStarts(java.util.Date timeCcdOfferStarts) { + this.timeCcdOfferStarts = timeCcdOfferStarts; + this.__explicitlySet__.add("timeCcdOfferStarts"); + return this; + } + /** + * The inclusive time when the CCD offer is no longer in effect, and must be after {@code + * timeCcdOfferStarts}. The format is defined by RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdOfferEnds") + private java.util.Date timeCcdOfferEnds; + + /** + * The inclusive time when the CCD offer is no longer in effect, and must be after {@code + * timeCcdOfferStarts}. The format is defined by RFC 3339. + * + * @param timeCcdOfferEnds the value to set + * @return this builder + */ + public Builder timeCcdOfferEnds(java.util.Date timeCcdOfferEnds) { + this.timeCcdOfferEnds = timeCcdOfferEnds; + this.__explicitlySet__.add("timeCcdOfferEnds"); + return this; + } + /** + * Currency code of listPrice associated with primary product/sku. This will be always null. + * Please refer {@code externalPriceOfSku} to know product/sku's associated list price in + * its currency code. + */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCode") + private String currencyCode; + + /** + * Currency code of listPrice associated with primary product/sku. This will be always null. + * Please refer {@code externalPriceOfSku} to know product/sku's associated list price in + * its currency code. + * + * @param currencyCode the value to set + * @return this builder + */ + public Builder currencyCode(String currencyCode) { + this.currencyCode = currencyCode; + this.__explicitlySet__.add("currencyCode"); + return this; + } + /** + * ListPrice of a sku. Please refer {@code externalPriceOfSku} to know product/sku's + * associated list price in its currency code. + */ + @com.fasterxml.jackson.annotation.JsonProperty("listPrice") + private String listPrice; + + /** + * ListPrice of a sku. Please refer {@code externalPriceOfSku} to know product/sku's + * associated list price in its currency code. + * + * @param listPrice the value to set + * @return this builder + */ + public Builder listPrice(String listPrice) { + this.listPrice = listPrice; + this.__explicitlySet__.add("listPrice"); + return this; + } + /** The subscription OCID if a this is dedicated CCD offer for a customer. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private String subscriptionId; + + /** + * The subscription OCID if a this is dedicated CCD offer for a customer. + * + * @param subscriptionId the value to set + * @return this builder + */ + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + this.__explicitlySet__.add("subscriptionId"); + return this; + } + /** + * The root compartment OCID of the customer's tenancy if offer is dedicated to a particular + * customer only. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The root compartment OCID of the customer's tenancy if offer is dedicated to a particular + * customer only. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CcdOffer build() { + CcdOffer model = + new CcdOffer( + this.id, + this.displayName, + this.typeOfOffer, + this.sourceType, + this.reclaimTerm, + this.reclaimTermUnit, + this.lastUpdatedBy, + this.createdBy, + this.orderDocumentNumber, + this.customerSegment, + this.isFillerUsageEnable, + this.reportingRegion, + this.sku, + this.skuDisplayName, + this.skuMetric, + this.minQuantity, + this.maxQuantity, + this.term, + this.unit, + this.discountPct, + this.externalPriceOfSku, + this.offerRestriction, + this.bundleSkus, + this.lifecycleState, + this.lifecycleDetails, + this.timeCreated, + this.timeTerminated, + this.timeUpdated, + this.freeformTags, + this.definedTags, + this.systemTags, + this.timeCcdOfferStarts, + this.timeCcdOfferEnds, + this.currencyCode, + this.listPrice, + this.subscriptionId, + this.compartmentId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CcdOffer model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("typeOfOffer")) { + this.typeOfOffer(model.getTypeOfOffer()); + } + if (model.wasPropertyExplicitlySet("sourceType")) { + this.sourceType(model.getSourceType()); + } + if (model.wasPropertyExplicitlySet("reclaimTerm")) { + this.reclaimTerm(model.getReclaimTerm()); + } + if (model.wasPropertyExplicitlySet("reclaimTermUnit")) { + this.reclaimTermUnit(model.getReclaimTermUnit()); + } + if (model.wasPropertyExplicitlySet("lastUpdatedBy")) { + this.lastUpdatedBy(model.getLastUpdatedBy()); + } + if (model.wasPropertyExplicitlySet("createdBy")) { + this.createdBy(model.getCreatedBy()); + } + if (model.wasPropertyExplicitlySet("orderDocumentNumber")) { + this.orderDocumentNumber(model.getOrderDocumentNumber()); + } + if (model.wasPropertyExplicitlySet("customerSegment")) { + this.customerSegment(model.getCustomerSegment()); + } + if (model.wasPropertyExplicitlySet("isFillerUsageEnable")) { + this.isFillerUsageEnable(model.getIsFillerUsageEnable()); + } + if (model.wasPropertyExplicitlySet("reportingRegion")) { + this.reportingRegion(model.getReportingRegion()); + } + if (model.wasPropertyExplicitlySet("sku")) { + this.sku(model.getSku()); + } + if (model.wasPropertyExplicitlySet("skuDisplayName")) { + this.skuDisplayName(model.getSkuDisplayName()); + } + if (model.wasPropertyExplicitlySet("skuMetric")) { + this.skuMetric(model.getSkuMetric()); + } + if (model.wasPropertyExplicitlySet("minQuantity")) { + this.minQuantity(model.getMinQuantity()); + } + if (model.wasPropertyExplicitlySet("maxQuantity")) { + this.maxQuantity(model.getMaxQuantity()); + } + if (model.wasPropertyExplicitlySet("term")) { + this.term(model.getTerm()); + } + if (model.wasPropertyExplicitlySet("unit")) { + this.unit(model.getUnit()); + } + if (model.wasPropertyExplicitlySet("discountPct")) { + this.discountPct(model.getDiscountPct()); + } + if (model.wasPropertyExplicitlySet("externalPriceOfSku")) { + this.externalPriceOfSku(model.getExternalPriceOfSku()); + } + if (model.wasPropertyExplicitlySet("offerRestriction")) { + this.offerRestriction(model.getOfferRestriction()); + } + if (model.wasPropertyExplicitlySet("bundleSkus")) { + this.bundleSkus(model.getBundleSkus()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeTerminated")) { + this.timeTerminated(model.getTimeTerminated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + if (model.wasPropertyExplicitlySet("timeCcdOfferStarts")) { + this.timeCcdOfferStarts(model.getTimeCcdOfferStarts()); + } + if (model.wasPropertyExplicitlySet("timeCcdOfferEnds")) { + this.timeCcdOfferEnds(model.getTimeCcdOfferEnds()); + } + if (model.wasPropertyExplicitlySet("currencyCode")) { + this.currencyCode(model.getCurrencyCode()); + } + if (model.wasPropertyExplicitlySet("listPrice")) { + this.listPrice(model.getListPrice()); + } + if (model.wasPropertyExplicitlySet("subscriptionId")) { + this.subscriptionId(model.getSubscriptionId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The CCD offer OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The CCD offer OCID. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The CCD offer name. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The CCD offer name. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** The CCD offer type. */ + public enum TypeOfOffer implements com.oracle.bmc.http.internal.BmcEnum { + Standard("STANDARD"), + Custom("CUSTOM"), + Private("PRIVATE"), + Contractual("CONTRACTUAL"), + Flex("FLEX"), + + /** + * 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(TypeOfOffer.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (TypeOfOffer v : TypeOfOffer.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + TypeOfOffer(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static TypeOfOffer create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'TypeOfOffer', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The CCD offer type. */ + @com.fasterxml.jackson.annotation.JsonProperty("typeOfOffer") + private final TypeOfOffer typeOfOffer; + + /** + * The CCD offer type. + * + * @return the value + */ + public TypeOfOffer getTypeOfOffer() { + return typeOfOffer; + } + + /** The commercial workflow that created the CCD offer/commitment. This value is immutable. */ + public enum SourceType implements com.oracle.bmc.http.internal.BmcEnum { + ContractCommitment("CONTRACT_COMMITMENT"), + ContractOffer("CONTRACT_OFFER"), + Flex("FLEX"), + OciGenerated("OCI_GENERATED"), + + /** + * 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(SourceType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SourceType v : SourceType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + SourceType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SourceType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'SourceType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The commercial workflow that created the CCD offer/commitment. This value is immutable. */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceType") + private final SourceType sourceType; + + /** + * The commercial workflow that created the CCD offer/commitment. This value is immutable. + * + * @return the value + */ + public SourceType getSourceType() { + return sourceType; + } + + /** The reclaim term for an offer, measured in {@code reclaimTermUnit}. */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTerm") + private final Long reclaimTerm; + + /** + * The reclaim term for an offer, measured in {@code reclaimTermUnit}. + * + * @return the value + */ + public Long getReclaimTerm() { + return reclaimTerm; + } + + /** The unit used to measure {@code reclaimTerm}. */ + public enum ReclaimTermUnit implements com.oracle.bmc.http.internal.BmcEnum { + Days("DAYS"), + + /** + * This value is used if a service returns a value for this enum that is not recognized by + * this version of the SDK. + */ + UnknownEnumValue(null); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(ReclaimTermUnit.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (ReclaimTermUnit v : ReclaimTermUnit.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + ReclaimTermUnit(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static ReclaimTermUnit create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'ReclaimTermUnit', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The unit used to measure {@code reclaimTerm}. */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTermUnit") + private final ReclaimTermUnit reclaimTermUnit; + + /** + * The unit used to measure {@code reclaimTerm}. + * + * @return the value + */ + public ReclaimTermUnit getReclaimTermUnit() { + return reclaimTermUnit; + } + + /** Entity/User who lastly updated the ccdOffer. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdatedBy") + private final String lastUpdatedBy; + + /** + * Entity/User who lastly updated the ccdOffer. + * + * @return the value + */ + public String getLastUpdatedBy() { + return lastUpdatedBy; + } + + /** Entity/User who created the ccdOffer. */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private final String createdBy; + + /** + * Entity/User who created the ccdOffer. + * + * @return the value + */ + public String getCreatedBy() { + return createdBy; + } + + /** Sales order document number. */ + @com.fasterxml.jackson.annotation.JsonProperty("orderDocumentNumber") + private final String orderDocumentNumber; + + /** + * Sales order document number. + * + * @return the value + */ + public String getOrderDocumentNumber() { + return orderDocumentNumber; + } + + /** The targeted customer segment. */ + public enum CustomerSegment implements com.oracle.bmc.http.internal.BmcEnum { + Internal("INTERNAL"), + External("EXTERNAL"), + + /** + * 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(CustomerSegment.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (CustomerSegment v : CustomerSegment.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + CustomerSegment(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static CustomerSegment create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'CustomerSegment', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The targeted customer segment. */ + @com.fasterxml.jackson.annotation.JsonProperty("customerSegment") + private final CustomerSegment customerSegment; + + /** + * The targeted customer segment. + * + * @return the value + */ + public CustomerSegment getCustomerSegment() { + return customerSegment; + } + + /** + * Enable or disable filler usage if the customer usage quantity is below the minimum quantity, + * and you want metering to fill in usages to meet the minimum quantity. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isFillerUsageEnable") + private final Boolean isFillerUsageEnable; + + /** + * Enable or disable filler usage if the customer usage quantity is below the minimum quantity, + * and you want metering to fill in usages to meet the minimum quantity. + * + * @return the value + */ + public Boolean getIsFillerUsageEnable() { + return isFillerUsageEnable; + } + + /** Defines where the filler usage is reported */ + @com.fasterxml.jackson.annotation.JsonProperty("reportingRegion") + private final String reportingRegion; + + /** + * Defines where the filler usage is reported + * + * @return the value + */ + public String getReportingRegion() { + return reportingRegion; + } + + /** The SKU part number (prefaced with "B") the CCD is associated with. */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private final String sku; + + /** + * The SKU part number (prefaced with "B") the CCD is associated with. + * + * @return the value + */ + public String getSku() { + return sku; + } + + /** The canonical SKU display name. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private final String skuDisplayName; + + /** + * The canonical SKU display name. + * + * @return the value + */ + public String getSkuDisplayName() { + return skuDisplayName; + } + + /** The canonical billing metric. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private final String skuMetric; + + /** + * The canonical billing metric. + * + * @return the value + */ + public String getSkuMetric() { + return skuMetric; + } + + /** + * The minimum quantity of the primary SKU committed to the CCD offer. For FLEX offers, + * minQuantity and maxQuantity must both be equal if maxQuantity provided. + */ + @com.fasterxml.jackson.annotation.JsonProperty("minQuantity") + private final Long minQuantity; + + /** + * The minimum quantity of the primary SKU committed to the CCD offer. For FLEX offers, + * minQuantity and maxQuantity must both be equal if maxQuantity provided. + * + * @return the value + */ + public Long getMinQuantity() { + return minQuantity; + } + + /** + * The maximum quantity of the primary SKU committed to the CCD offer. For FLEX offers if + * provided, it must equal minQuantity. + */ + @com.fasterxml.jackson.annotation.JsonProperty("maxQuantity") + private final Long maxQuantity; + + /** + * The maximum quantity of the primary SKU committed to the CCD offer. For FLEX offers if + * provided, it must equal minQuantity. + * + * @return the value + */ + public Long getMaxQuantity() { + return maxQuantity; + } + + /** The number of terms the offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("term") + private final Integer term; + + /** + * The number of terms the offer is applicable to. + * + * @return the value + */ + public Integer getTerm() { + return term; + } + + /** The term units. */ + public enum Unit implements com.oracle.bmc.http.internal.BmcEnum { + Months("MONTHS"), + Years("YEARS"), + Days("DAYS"), + Hours("HOURS"), + + /** + * 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(Unit.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (Unit v : Unit.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + Unit(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static Unit create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'Unit', returning UnknownEnumValue", key); + return UnknownEnumValue; + } + }; + /** The term units. */ + @com.fasterxml.jackson.annotation.JsonProperty("unit") + private final Unit unit; + + /** + * The term units. + * + * @return the value + */ + public Unit getUnit() { + return unit; + } + + /** + * The discount percentage applicable to the CCD offer, represented as a decimal string from 0 + * through 100 inclusive. + */ + @com.fasterxml.jackson.annotation.JsonProperty("discountPct") + private final String discountPct; + + /** + * The discount percentage applicable to the CCD offer, represented as a decimal string from 0 + * through 100 inclusive. + * + * @return the value + */ + public String getDiscountPct() { + return discountPct; + } + + /** The SKU list price in all currency codes. */ + @com.fasterxml.jackson.annotation.JsonProperty("externalPriceOfSku") + private final java.util.List externalPriceOfSku; + + /** + * The SKU list price in all currency codes. + * + * @return the value + */ + public java.util.List getExternalPriceOfSku() { + return externalPriceOfSku; + } + + @com.fasterxml.jackson.annotation.JsonProperty("offerRestriction") + private final OfferRestriction offerRestriction; + + public OfferRestriction getOfferRestriction() { + return offerRestriction; + } + + /** + * The polymorphic bundled SKU definitions. Every bundled SKU in an offer must use the same + * {@code quantityRule}; don't mix {@code FIXED_RATIO} and {@code CUSTOMER_SELECTED} bundled + * SKUs in one offer. An offer can contain at most five SKUs in total, including the primary + * SKU. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bundleSkus") + private final java.util.List bundleSkus; + + /** + * The polymorphic bundled SKU definitions. Every bundled SKU in an offer must use the same + * {@code quantityRule}; don't mix {@code FIXED_RATIO} and {@code CUSTOMER_SELECTED} bundled + * SKUs in one offer. An offer can contain at most five SKUs in total, including the primary + * SKU. + * + * @return the value + */ + public java.util.List getBundleSkus() { + return bundleSkus; + } + + /** + * Always defaults to {@code Active}. For the accurate resource state, refer to the {@code + * lifecycleDetails} property value. + */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Active("ACTIVE"), + + /** + * This value is used if a service returns a value for this enum that is not recognized by + * this version of the SDK. + */ + UnknownEnumValue(null); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(LifecycleState.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LifecycleState v : LifecycleState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LifecycleState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LifecycleState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LifecycleState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * Always defaults to {@code Active}. For the accurate resource state, refer to the {@code + * lifecycleDetails} property value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * Always defaults to {@code Active}. For the accurate resource state, refer to the {@code + * lifecycleDetails} property value. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** + * The CCD offer's detailed current state. The state value is determined by {@code + * timeCcdOfferStarts}, {@code timeCcdOfferEnds}, and {@code timeTerminated} with respect to the + * current time. + */ + public enum LifecycleDetails implements com.oracle.bmc.http.internal.BmcEnum { + Scheduled("SCHEDULED"), + Current("CURRENT"), + Canceled("CANCELED"), + Ended("ENDED"), + + /** + * 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(LifecycleDetails.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LifecycleDetails v : LifecycleDetails.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LifecycleDetails(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LifecycleDetails create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LifecycleDetails', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The CCD offer's detailed current state. The state value is determined by {@code + * timeCcdOfferStarts}, {@code timeCcdOfferEnds}, and {@code timeTerminated} with respect to the + * current time. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final LifecycleDetails lifecycleDetails; + + /** + * The CCD offer's detailed current state. The state value is determined by {@code + * timeCcdOfferStarts}, {@code timeCcdOfferEnds}, and {@code timeTerminated} with respect to the + * current time. + * + * @return the value + */ + public LifecycleDetails getLifecycleDetails() { + return lifecycleDetails; + } + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeTerminated") + private final java.util.Date timeTerminated; + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeTerminated() { + return timeTerminated; + } + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: {@code + * 2025-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: {@code + * 2025-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * 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; + } + + /** + * 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; + } + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + /** The inclusive date the CCD offer will be effective. The format is defined by RFC 3339. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdOfferStarts") + private final java.util.Date timeCcdOfferStarts; + + /** + * The inclusive date the CCD offer will be effective. The format is defined by RFC 3339. + * + * @return the value + */ + public java.util.Date getTimeCcdOfferStarts() { + return timeCcdOfferStarts; + } + + /** + * The inclusive time when the CCD offer is no longer in effect, and must be after {@code + * timeCcdOfferStarts}. The format is defined by RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdOfferEnds") + private final java.util.Date timeCcdOfferEnds; + + /** + * The inclusive time when the CCD offer is no longer in effect, and must be after {@code + * timeCcdOfferStarts}. The format is defined by RFC 3339. + * + * @return the value + */ + public java.util.Date getTimeCcdOfferEnds() { + return timeCcdOfferEnds; + } + + /** + * Currency code of listPrice associated with primary product/sku. This will be always null. + * Please refer {@code externalPriceOfSku} to know product/sku's associated list price in its + * currency code. + */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCode") + private final String currencyCode; + + /** + * Currency code of listPrice associated with primary product/sku. This will be always null. + * Please refer {@code externalPriceOfSku} to know product/sku's associated list price in its + * currency code. + * + * @return the value + */ + public String getCurrencyCode() { + return currencyCode; + } + + /** + * ListPrice of a sku. Please refer {@code externalPriceOfSku} to know product/sku's associated + * list price in its currency code. + */ + @com.fasterxml.jackson.annotation.JsonProperty("listPrice") + private final String listPrice; + + /** + * ListPrice of a sku. Please refer {@code externalPriceOfSku} to know product/sku's associated + * list price in its currency code. + * + * @return the value + */ + public String getListPrice() { + return listPrice; + } + + /** The subscription OCID if a this is dedicated CCD offer for a customer. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private final String subscriptionId; + + /** + * The subscription OCID if a this is dedicated CCD offer for a customer. + * + * @return the value + */ + public String getSubscriptionId() { + return subscriptionId; + } + + /** + * The root compartment OCID of the customer's tenancy if offer is dedicated to a particular + * customer only. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The root compartment OCID of the customer's tenancy if offer is dedicated to a particular + * customer only. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + @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("CcdOffer("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", typeOfOffer=").append(String.valueOf(this.typeOfOffer)); + sb.append(", sourceType=").append(String.valueOf(this.sourceType)); + sb.append(", reclaimTerm=").append(String.valueOf(this.reclaimTerm)); + sb.append(", reclaimTermUnit=").append(String.valueOf(this.reclaimTermUnit)); + sb.append(", lastUpdatedBy=").append(String.valueOf(this.lastUpdatedBy)); + sb.append(", createdBy=").append(String.valueOf(this.createdBy)); + sb.append(", orderDocumentNumber=").append(String.valueOf(this.orderDocumentNumber)); + sb.append(", customerSegment=").append(String.valueOf(this.customerSegment)); + sb.append(", isFillerUsageEnable=").append(String.valueOf(this.isFillerUsageEnable)); + sb.append(", reportingRegion=").append(String.valueOf(this.reportingRegion)); + sb.append(", sku=").append(String.valueOf(this.sku)); + sb.append(", skuDisplayName=").append(String.valueOf(this.skuDisplayName)); + sb.append(", skuMetric=").append(String.valueOf(this.skuMetric)); + sb.append(", minQuantity=").append(String.valueOf(this.minQuantity)); + sb.append(", maxQuantity=").append(String.valueOf(this.maxQuantity)); + sb.append(", term=").append(String.valueOf(this.term)); + sb.append(", unit=").append(String.valueOf(this.unit)); + sb.append(", discountPct=").append(String.valueOf(this.discountPct)); + sb.append(", externalPriceOfSku=").append(String.valueOf(this.externalPriceOfSku)); + sb.append(", offerRestriction=").append(String.valueOf(this.offerRestriction)); + sb.append(", bundleSkus=").append(String.valueOf(this.bundleSkus)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeTerminated=").append(String.valueOf(this.timeTerminated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(", timeCcdOfferStarts=").append(String.valueOf(this.timeCcdOfferStarts)); + sb.append(", timeCcdOfferEnds=").append(String.valueOf(this.timeCcdOfferEnds)); + sb.append(", currencyCode=").append(String.valueOf(this.currencyCode)); + sb.append(", listPrice=").append(String.valueOf(this.listPrice)); + sb.append(", subscriptionId=").append(String.valueOf(this.subscriptionId)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CcdOffer)) { + return false; + } + + CcdOffer other = (CcdOffer) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.typeOfOffer, other.typeOfOffer) + && java.util.Objects.equals(this.sourceType, other.sourceType) + && java.util.Objects.equals(this.reclaimTerm, other.reclaimTerm) + && java.util.Objects.equals(this.reclaimTermUnit, other.reclaimTermUnit) + && java.util.Objects.equals(this.lastUpdatedBy, other.lastUpdatedBy) + && java.util.Objects.equals(this.createdBy, other.createdBy) + && java.util.Objects.equals(this.orderDocumentNumber, other.orderDocumentNumber) + && java.util.Objects.equals(this.customerSegment, other.customerSegment) + && java.util.Objects.equals(this.isFillerUsageEnable, other.isFillerUsageEnable) + && java.util.Objects.equals(this.reportingRegion, other.reportingRegion) + && java.util.Objects.equals(this.sku, other.sku) + && java.util.Objects.equals(this.skuDisplayName, other.skuDisplayName) + && java.util.Objects.equals(this.skuMetric, other.skuMetric) + && java.util.Objects.equals(this.minQuantity, other.minQuantity) + && java.util.Objects.equals(this.maxQuantity, other.maxQuantity) + && java.util.Objects.equals(this.term, other.term) + && java.util.Objects.equals(this.unit, other.unit) + && java.util.Objects.equals(this.discountPct, other.discountPct) + && java.util.Objects.equals(this.externalPriceOfSku, other.externalPriceOfSku) + && java.util.Objects.equals(this.offerRestriction, other.offerRestriction) + && java.util.Objects.equals(this.bundleSkus, other.bundleSkus) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeTerminated, other.timeTerminated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && java.util.Objects.equals(this.timeCcdOfferStarts, other.timeCcdOfferStarts) + && java.util.Objects.equals(this.timeCcdOfferEnds, other.timeCcdOfferEnds) + && java.util.Objects.equals(this.currencyCode, other.currencyCode) + && java.util.Objects.equals(this.listPrice, other.listPrice) + && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = (result * PRIME) + (this.typeOfOffer == null ? 43 : this.typeOfOffer.hashCode()); + result = (result * PRIME) + (this.sourceType == null ? 43 : this.sourceType.hashCode()); + result = (result * PRIME) + (this.reclaimTerm == null ? 43 : this.reclaimTerm.hashCode()); + result = + (result * PRIME) + + (this.reclaimTermUnit == null ? 43 : this.reclaimTermUnit.hashCode()); + result = + (result * PRIME) + + (this.lastUpdatedBy == null ? 43 : this.lastUpdatedBy.hashCode()); + result = (result * PRIME) + (this.createdBy == null ? 43 : this.createdBy.hashCode()); + result = + (result * PRIME) + + (this.orderDocumentNumber == null + ? 43 + : this.orderDocumentNumber.hashCode()); + result = + (result * PRIME) + + (this.customerSegment == null ? 43 : this.customerSegment.hashCode()); + result = + (result * PRIME) + + (this.isFillerUsageEnable == null + ? 43 + : this.isFillerUsageEnable.hashCode()); + result = + (result * PRIME) + + (this.reportingRegion == null ? 43 : this.reportingRegion.hashCode()); + result = (result * PRIME) + (this.sku == null ? 43 : this.sku.hashCode()); + result = + (result * PRIME) + + (this.skuDisplayName == null ? 43 : this.skuDisplayName.hashCode()); + result = (result * PRIME) + (this.skuMetric == null ? 43 : this.skuMetric.hashCode()); + result = (result * PRIME) + (this.minQuantity == null ? 43 : this.minQuantity.hashCode()); + result = (result * PRIME) + (this.maxQuantity == null ? 43 : this.maxQuantity.hashCode()); + result = (result * PRIME) + (this.term == null ? 43 : this.term.hashCode()); + result = (result * PRIME) + (this.unit == null ? 43 : this.unit.hashCode()); + result = (result * PRIME) + (this.discountPct == null ? 43 : this.discountPct.hashCode()); + result = + (result * PRIME) + + (this.externalPriceOfSku == null + ? 43 + : this.externalPriceOfSku.hashCode()); + result = + (result * PRIME) + + (this.offerRestriction == null ? 43 : this.offerRestriction.hashCode()); + result = (result * PRIME) + (this.bundleSkus == null ? 43 : this.bundleSkus.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode()); + result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); + result = + (result * PRIME) + + (this.timeTerminated == null ? 43 : this.timeTerminated.hashCode()); + result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.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()); + result = + (result * PRIME) + + (this.timeCcdOfferStarts == null + ? 43 + : this.timeCcdOfferStarts.hashCode()); + result = + (result * PRIME) + + (this.timeCcdOfferEnds == null ? 43 : this.timeCcdOfferEnds.hashCode()); + result = (result * PRIME) + (this.currencyCode == null ? 43 : this.currencyCode.hashCode()); + result = (result * PRIME) + (this.listPrice == null ? 43 : this.listPrice.hashCode()); + result = + (result * PRIME) + + (this.subscriptionId == null ? 43 : this.subscriptionId.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdOfferCollection.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdOfferCollection.java new file mode 100644 index 00000000000..274070d8855 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdOfferCollection.java @@ -0,0 +1,133 @@ +/** + * 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.ccdoffers.model; + +/** + * CCD offer summary items.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CcdOfferCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CcdOfferCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public CcdOfferCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The CCD offer summary. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * The CCD offer summary. + * + * @param items the value to set + * @return this builder + */ + public Builder items(java.util.List items) { + this.items = items; + this.__explicitlySet__.add("items"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CcdOfferCollection build() { + CcdOfferCollection model = new CcdOfferCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CcdOfferCollection model) { + if (model.wasPropertyExplicitlySet("items")) { + this.items(model.getItems()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The CCD offer summary. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * The CCD offer summary. + * + * @return the value + */ + public java.util.List getItems() { + return items; + } + + @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("CcdOfferCollection("); + sb.append("super=").append(super.toString()); + sb.append("items=").append(String.valueOf(this.items)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CcdOfferCollection)) { + return false; + } + + CcdOfferCollection other = (CcdOfferCollection) o; + return java.util.Objects.equals(this.items, other.items) && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdOfferSummary.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdOfferSummary.java new file mode 100644 index 00000000000..55895282823 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CcdOfferSummary.java @@ -0,0 +1,1851 @@ +/** + * 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.ccdoffers.model; + +/** + * CCD offer 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = CcdOfferSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CcdOfferSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "displayName", + "subscriptionId", + "compartmentId", + "typeOfOffer", + "sourceType", + "reclaimTerm", + "reclaimTermUnit", + "customerSegment", + "isFillerUsageEnable", + "lastUpdatedBy", + "createdBy", + "orderDocumentNumber", + "reportingRegion", + "sku", + "skuDisplayName", + "skuMetric", + "minQuantity", + "maxQuantity", + "term", + "unit", + "discountPct", + "offerRestriction", + "bundleSkus", + "externalPriceOfSku", + "lifecycleState", + "lifecycleDetails", + "timeCreated", + "timeUpdated", + "timeTerminated", + "freeformTags", + "definedTags", + "systemTags", + "timeCcdOfferStarts", + "timeCcdOfferEnds", + "currencyCode", + "listPrice" + }) + public CcdOfferSummary( + String id, + String displayName, + String subscriptionId, + String compartmentId, + TypeOfOffer typeOfOffer, + CcdOffer.SourceType sourceType, + Long reclaimTerm, + CcdOffer.ReclaimTermUnit reclaimTermUnit, + CustomerSegment customerSegment, + Boolean isFillerUsageEnable, + String lastUpdatedBy, + String createdBy, + String orderDocumentNumber, + String reportingRegion, + String sku, + String skuDisplayName, + String skuMetric, + Long minQuantity, + Long maxQuantity, + Integer term, + Unit unit, + String discountPct, + OfferRestriction offerRestriction, + java.util.List bundleSkus, + java.util.List externalPriceOfSku, + CcdOffer.LifecycleState lifecycleState, + CcdOffer.LifecycleDetails lifecycleDetails, + java.util.Date timeCreated, + java.util.Date timeUpdated, + java.util.Date timeTerminated, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags, + java.util.Date timeCcdOfferStarts, + java.util.Date timeCcdOfferEnds, + String currencyCode, + String listPrice) { + super(); + this.id = id; + this.displayName = displayName; + this.subscriptionId = subscriptionId; + this.compartmentId = compartmentId; + this.typeOfOffer = typeOfOffer; + this.sourceType = sourceType; + this.reclaimTerm = reclaimTerm; + this.reclaimTermUnit = reclaimTermUnit; + this.customerSegment = customerSegment; + this.isFillerUsageEnable = isFillerUsageEnable; + this.lastUpdatedBy = lastUpdatedBy; + this.createdBy = createdBy; + this.orderDocumentNumber = orderDocumentNumber; + this.reportingRegion = reportingRegion; + this.sku = sku; + this.skuDisplayName = skuDisplayName; + this.skuMetric = skuMetric; + this.minQuantity = minQuantity; + this.maxQuantity = maxQuantity; + this.term = term; + this.unit = unit; + this.discountPct = discountPct; + this.offerRestriction = offerRestriction; + this.bundleSkus = bundleSkus; + this.externalPriceOfSku = externalPriceOfSku; + this.lifecycleState = lifecycleState; + this.lifecycleDetails = lifecycleDetails; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.timeTerminated = timeTerminated; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + this.timeCcdOfferStarts = timeCcdOfferStarts; + this.timeCcdOfferEnds = timeCcdOfferEnds; + this.currencyCode = currencyCode; + this.listPrice = listPrice; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The CCD offer resource OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The CCD offer resource OCID. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** The CCD offer name. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The CCD offer name. 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; + } + /** The subscription OCID for which the dedicated CCD offer has been created. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private String subscriptionId; + + /** + * The subscription OCID for which the dedicated CCD offer has been created. + * + * @param subscriptionId the value to set + * @return this builder + */ + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + this.__explicitlySet__.add("subscriptionId"); + return this; + } + /** The root compartment OCID of the customer's tenancy. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The root compartment OCID of the customer's tenancy. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** The created CCD offer type. */ + @com.fasterxml.jackson.annotation.JsonProperty("typeOfOffer") + private TypeOfOffer typeOfOffer; + + /** + * The created CCD offer type. + * + * @param typeOfOffer the value to set + * @return this builder + */ + public Builder typeOfOffer(TypeOfOffer typeOfOffer) { + this.typeOfOffer = typeOfOffer; + this.__explicitlySet__.add("typeOfOffer"); + return this; + } + /** The commercial workflow that created the CCD offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceType") + private CcdOffer.SourceType sourceType; + + /** + * The commercial workflow that created the CCD offer. + * + * @param sourceType the value to set + * @return this builder + */ + public Builder sourceType(CcdOffer.SourceType sourceType) { + this.sourceType = sourceType; + this.__explicitlySet__.add("sourceType"); + return this; + } + /** The reclaim term for an offer, measured in {@code reclaimTermUnit}. */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTerm") + private Long reclaimTerm; + + /** + * The reclaim term for an offer, measured in {@code reclaimTermUnit}. + * + * @param reclaimTerm the value to set + * @return this builder + */ + public Builder reclaimTerm(Long reclaimTerm) { + this.reclaimTerm = reclaimTerm; + this.__explicitlySet__.add("reclaimTerm"); + return this; + } + /** The unit used to measure {@code reclaimTerm}. */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTermUnit") + private CcdOffer.ReclaimTermUnit reclaimTermUnit; + + /** + * The unit used to measure {@code reclaimTerm}. + * + * @param reclaimTermUnit the value to set + * @return this builder + */ + public Builder reclaimTermUnit(CcdOffer.ReclaimTermUnit reclaimTermUnit) { + this.reclaimTermUnit = reclaimTermUnit; + this.__explicitlySet__.add("reclaimTermUnit"); + return this; + } + /** The targeted customer segment. */ + @com.fasterxml.jackson.annotation.JsonProperty("customerSegment") + private CustomerSegment customerSegment; + + /** + * The targeted customer segment. + * + * @param customerSegment the value to set + * @return this builder + */ + public Builder customerSegment(CustomerSegment customerSegment) { + this.customerSegment = customerSegment; + this.__explicitlySet__.add("customerSegment"); + return this; + } + /** + * Enable or disable filler usage if the customer usage quantity is below the minimum + * quantity, and you want metering to fill in usages to meet the minimum quantity. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isFillerUsageEnable") + private Boolean isFillerUsageEnable; + + /** + * Enable or disable filler usage if the customer usage quantity is below the minimum + * quantity, and you want metering to fill in usages to meet the minimum quantity. + * + * @param isFillerUsageEnable the value to set + * @return this builder + */ + public Builder isFillerUsageEnable(Boolean isFillerUsageEnable) { + this.isFillerUsageEnable = isFillerUsageEnable; + this.__explicitlySet__.add("isFillerUsageEnable"); + return this; + } + /** Entity/User who lastly updated the ccdOffer. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdatedBy") + private String lastUpdatedBy; + + /** + * Entity/User who lastly updated the ccdOffer. + * + * @param lastUpdatedBy the value to set + * @return this builder + */ + public Builder lastUpdatedBy(String lastUpdatedBy) { + this.lastUpdatedBy = lastUpdatedBy; + this.__explicitlySet__.add("lastUpdatedBy"); + return this; + } + /** Entity/User who created the ccdOffer. */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private String createdBy; + + /** + * Entity/User who created the ccdOffer. + * + * @param createdBy the value to set + * @return this builder + */ + public Builder createdBy(String createdBy) { + this.createdBy = createdBy; + this.__explicitlySet__.add("createdBy"); + return this; + } + /** Sales order document number. */ + @com.fasterxml.jackson.annotation.JsonProperty("orderDocumentNumber") + private String orderDocumentNumber; + + /** + * Sales order document number. + * + * @param orderDocumentNumber the value to set + * @return this builder + */ + public Builder orderDocumentNumber(String orderDocumentNumber) { + this.orderDocumentNumber = orderDocumentNumber; + this.__explicitlySet__.add("orderDocumentNumber"); + return this; + } + /** Defines where the filler usage is reported */ + @com.fasterxml.jackson.annotation.JsonProperty("reportingRegion") + private String reportingRegion; + + /** + * Defines where the filler usage is reported + * + * @param reportingRegion the value to set + * @return this builder + */ + public Builder reportingRegion(String reportingRegion) { + this.reportingRegion = reportingRegion; + this.__explicitlySet__.add("reportingRegion"); + return this; + } + /** The SKU part number (prefaced with "B") the CCD is associated with. */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private String sku; + + /** + * The SKU part number (prefaced with "B") the CCD is associated with. + * + * @param sku the value to set + * @return this builder + */ + public Builder sku(String sku) { + this.sku = sku; + this.__explicitlySet__.add("sku"); + return this; + } + /** The canonical SKU display name. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private String skuDisplayName; + + /** + * The canonical SKU display name. + * + * @param skuDisplayName the value to set + * @return this builder + */ + public Builder skuDisplayName(String skuDisplayName) { + this.skuDisplayName = skuDisplayName; + this.__explicitlySet__.add("skuDisplayName"); + return this; + } + /** The canonical billing metric. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private String skuMetric; + + /** + * The canonical billing metric. + * + * @param skuMetric the value to set + * @return this builder + */ + public Builder skuMetric(String skuMetric) { + this.skuMetric = skuMetric; + this.__explicitlySet__.add("skuMetric"); + return this; + } + /** + * The minimum quantity of the primary SKU committed to the CCD offer. For FLEX offers, + * minQuantity and maxQuantity must both be equal if maxQuantity provided. + */ + @com.fasterxml.jackson.annotation.JsonProperty("minQuantity") + private Long minQuantity; + + /** + * The minimum quantity of the primary SKU committed to the CCD offer. For FLEX offers, + * minQuantity and maxQuantity must both be equal if maxQuantity provided. + * + * @param minQuantity the value to set + * @return this builder + */ + public Builder minQuantity(Long minQuantity) { + this.minQuantity = minQuantity; + this.__explicitlySet__.add("minQuantity"); + return this; + } + /** + * The maximum quantity of the primary SKU committed to the CCD offer. For FLEX offers if + * provided, it must equal minQuantity. + */ + @com.fasterxml.jackson.annotation.JsonProperty("maxQuantity") + private Long maxQuantity; + + /** + * The maximum quantity of the primary SKU committed to the CCD offer. For FLEX offers if + * provided, it must equal minQuantity. + * + * @param maxQuantity the value to set + * @return this builder + */ + public Builder maxQuantity(Long maxQuantity) { + this.maxQuantity = maxQuantity; + this.__explicitlySet__.add("maxQuantity"); + return this; + } + /** The number of terms the offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("term") + private Integer term; + + /** + * The number of terms the offer is applicable to. + * + * @param term the value to set + * @return this builder + */ + public Builder term(Integer term) { + this.term = term; + this.__explicitlySet__.add("term"); + return this; + } + /** The term units. */ + @com.fasterxml.jackson.annotation.JsonProperty("unit") + private Unit unit; + + /** + * The term units. + * + * @param unit the value to set + * @return this builder + */ + public Builder unit(Unit unit) { + this.unit = unit; + this.__explicitlySet__.add("unit"); + return this; + } + /** + * The discount percentage applicable to the CCD offer, represented as a decimal string from + * 0 through 100 inclusive. + */ + @com.fasterxml.jackson.annotation.JsonProperty("discountPct") + private String discountPct; + + /** + * The discount percentage applicable to the CCD offer, represented as a decimal string from + * 0 through 100 inclusive. + * + * @param discountPct the value to set + * @return this builder + */ + public Builder discountPct(String discountPct) { + this.discountPct = discountPct; + this.__explicitlySet__.add("discountPct"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("offerRestriction") + private OfferRestriction offerRestriction; + + public Builder offerRestriction(OfferRestriction offerRestriction) { + this.offerRestriction = offerRestriction; + this.__explicitlySet__.add("offerRestriction"); + return this; + } + /** + * The polymorphic bundled SKU definitions. Every bundled SKU in an offer must use the same + * {@code quantityRule}; don't mix {@code FIXED_RATIO} and {@code CUSTOMER_SELECTED} bundled + * SKUs in one offer. An offer can contain at most five SKUs in total, including the primary + * SKU. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bundleSkus") + private java.util.List bundleSkus; + + /** + * The polymorphic bundled SKU definitions. Every bundled SKU in an offer must use the same + * {@code quantityRule}; don't mix {@code FIXED_RATIO} and {@code CUSTOMER_SELECTED} bundled + * SKUs in one offer. An offer can contain at most five SKUs in total, including the primary + * SKU. + * + * @param bundleSkus the value to set + * @return this builder + */ + public Builder bundleSkus(java.util.List bundleSkus) { + this.bundleSkus = bundleSkus; + this.__explicitlySet__.add("bundleSkus"); + return this; + } + /** The SKU list price in all currency codes. */ + @com.fasterxml.jackson.annotation.JsonProperty("externalPriceOfSku") + private java.util.List externalPriceOfSku; + + /** + * The SKU list price in all currency codes. + * + * @param externalPriceOfSku the value to set + * @return this builder + */ + public Builder externalPriceOfSku( + java.util.List externalPriceOfSku) { + this.externalPriceOfSku = externalPriceOfSku; + this.__explicitlySet__.add("externalPriceOfSku"); + return this; + } + /** + * The CCD offer's current state. This always defaults to {@code Active}. For the accurate + * resource state, refer to the {@code lifecycleDetails} property value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private CcdOffer.LifecycleState lifecycleState; + + /** + * The CCD offer's current state. This always defaults to {@code Active}. For the accurate + * resource state, refer to the {@code lifecycleDetails} property value. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(CcdOffer.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** + * The CCD offer's detailed current state. The state value is determined by {@code + * timeCcdOfferStarts}, {@code timeCcdOfferEnds}, and {@code timeTerminated} with respect to + * the current time. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private CcdOffer.LifecycleDetails lifecycleDetails; + + /** + * The CCD offer's detailed current state. The state value is determined by {@code + * timeCcdOfferStarts}, {@code timeCcdOfferEnds}, and {@code timeTerminated} with respect to + * the current time. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(CcdOffer.LifecycleDetails lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @param timeCreated the value to set + * @return this builder + */ + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: + * {@code 2025-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: + * {@code 2025-01-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; + } + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeTerminated") + private java.util.Date timeTerminated; + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @param timeTerminated the value to set + * @return this builder + */ + public Builder timeTerminated(java.util.Date timeTerminated) { + this.timeTerminated = timeTerminated; + this.__explicitlySet__.add("timeTerminated"); + 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; + } + /** + * 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; + } + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + /** + * The inclusive date the CCD offer will be effective. The format is defined by RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdOfferStarts") + private java.util.Date timeCcdOfferStarts; + + /** + * The inclusive date the CCD offer will be effective. The format is defined by RFC 3339. + * + * @param timeCcdOfferStarts the value to set + * @return this builder + */ + public Builder timeCcdOfferStarts(java.util.Date timeCcdOfferStarts) { + this.timeCcdOfferStarts = timeCcdOfferStarts; + this.__explicitlySet__.add("timeCcdOfferStarts"); + return this; + } + /** + * The inclusive time when the CCD offer is no longer in effect. The format is defined by + * RFC 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdOfferEnds") + private java.util.Date timeCcdOfferEnds; + + /** + * The inclusive time when the CCD offer is no longer in effect. The format is defined by + * RFC 3339. + * + * @param timeCcdOfferEnds the value to set + * @return this builder + */ + public Builder timeCcdOfferEnds(java.util.Date timeCcdOfferEnds) { + this.timeCcdOfferEnds = timeCcdOfferEnds; + this.__explicitlySet__.add("timeCcdOfferEnds"); + return this; + } + /** + * Currency code of listPrice associated with primary product/sku. This will be always null. + * Please refer {@code externalPriceOfSku} to know product/sku's associated list price in + * its currency code. + */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCode") + private String currencyCode; + + /** + * Currency code of listPrice associated with primary product/sku. This will be always null. + * Please refer {@code externalPriceOfSku} to know product/sku's associated list price in + * its currency code. + * + * @param currencyCode the value to set + * @return this builder + */ + public Builder currencyCode(String currencyCode) { + this.currencyCode = currencyCode; + this.__explicitlySet__.add("currencyCode"); + return this; + } + /** + * ListPrice of a sku. Please refer {@code externalPriceOfSku} to know product/sku's + * associated list price in its currency code. + */ + @com.fasterxml.jackson.annotation.JsonProperty("listPrice") + private String listPrice; + + /** + * ListPrice of a sku. Please refer {@code externalPriceOfSku} to know product/sku's + * associated list price in its currency code. + * + * @param listPrice the value to set + * @return this builder + */ + public Builder listPrice(String listPrice) { + this.listPrice = listPrice; + this.__explicitlySet__.add("listPrice"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CcdOfferSummary build() { + CcdOfferSummary model = + new CcdOfferSummary( + this.id, + this.displayName, + this.subscriptionId, + this.compartmentId, + this.typeOfOffer, + this.sourceType, + this.reclaimTerm, + this.reclaimTermUnit, + this.customerSegment, + this.isFillerUsageEnable, + this.lastUpdatedBy, + this.createdBy, + this.orderDocumentNumber, + this.reportingRegion, + this.sku, + this.skuDisplayName, + this.skuMetric, + this.minQuantity, + this.maxQuantity, + this.term, + this.unit, + this.discountPct, + this.offerRestriction, + this.bundleSkus, + this.externalPriceOfSku, + this.lifecycleState, + this.lifecycleDetails, + this.timeCreated, + this.timeUpdated, + this.timeTerminated, + this.freeformTags, + this.definedTags, + this.systemTags, + this.timeCcdOfferStarts, + this.timeCcdOfferEnds, + this.currencyCode, + this.listPrice); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CcdOfferSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("subscriptionId")) { + this.subscriptionId(model.getSubscriptionId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("typeOfOffer")) { + this.typeOfOffer(model.getTypeOfOffer()); + } + if (model.wasPropertyExplicitlySet("sourceType")) { + this.sourceType(model.getSourceType()); + } + if (model.wasPropertyExplicitlySet("reclaimTerm")) { + this.reclaimTerm(model.getReclaimTerm()); + } + if (model.wasPropertyExplicitlySet("reclaimTermUnit")) { + this.reclaimTermUnit(model.getReclaimTermUnit()); + } + if (model.wasPropertyExplicitlySet("customerSegment")) { + this.customerSegment(model.getCustomerSegment()); + } + if (model.wasPropertyExplicitlySet("isFillerUsageEnable")) { + this.isFillerUsageEnable(model.getIsFillerUsageEnable()); + } + if (model.wasPropertyExplicitlySet("lastUpdatedBy")) { + this.lastUpdatedBy(model.getLastUpdatedBy()); + } + if (model.wasPropertyExplicitlySet("createdBy")) { + this.createdBy(model.getCreatedBy()); + } + if (model.wasPropertyExplicitlySet("orderDocumentNumber")) { + this.orderDocumentNumber(model.getOrderDocumentNumber()); + } + if (model.wasPropertyExplicitlySet("reportingRegion")) { + this.reportingRegion(model.getReportingRegion()); + } + if (model.wasPropertyExplicitlySet("sku")) { + this.sku(model.getSku()); + } + if (model.wasPropertyExplicitlySet("skuDisplayName")) { + this.skuDisplayName(model.getSkuDisplayName()); + } + if (model.wasPropertyExplicitlySet("skuMetric")) { + this.skuMetric(model.getSkuMetric()); + } + if (model.wasPropertyExplicitlySet("minQuantity")) { + this.minQuantity(model.getMinQuantity()); + } + if (model.wasPropertyExplicitlySet("maxQuantity")) { + this.maxQuantity(model.getMaxQuantity()); + } + if (model.wasPropertyExplicitlySet("term")) { + this.term(model.getTerm()); + } + if (model.wasPropertyExplicitlySet("unit")) { + this.unit(model.getUnit()); + } + if (model.wasPropertyExplicitlySet("discountPct")) { + this.discountPct(model.getDiscountPct()); + } + if (model.wasPropertyExplicitlySet("offerRestriction")) { + this.offerRestriction(model.getOfferRestriction()); + } + if (model.wasPropertyExplicitlySet("bundleSkus")) { + this.bundleSkus(model.getBundleSkus()); + } + if (model.wasPropertyExplicitlySet("externalPriceOfSku")) { + this.externalPriceOfSku(model.getExternalPriceOfSku()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("timeTerminated")) { + this.timeTerminated(model.getTimeTerminated()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + if (model.wasPropertyExplicitlySet("timeCcdOfferStarts")) { + this.timeCcdOfferStarts(model.getTimeCcdOfferStarts()); + } + if (model.wasPropertyExplicitlySet("timeCcdOfferEnds")) { + this.timeCcdOfferEnds(model.getTimeCcdOfferEnds()); + } + if (model.wasPropertyExplicitlySet("currencyCode")) { + this.currencyCode(model.getCurrencyCode()); + } + if (model.wasPropertyExplicitlySet("listPrice")) { + this.listPrice(model.getListPrice()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The CCD offer resource OCID. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The CCD offer resource OCID. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The CCD offer name. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The CCD offer name. Avoid entering confidential information. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** The subscription OCID for which the dedicated CCD offer has been created. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private final String subscriptionId; + + /** + * The subscription OCID for which the dedicated CCD offer has been created. + * + * @return the value + */ + public String getSubscriptionId() { + return subscriptionId; + } + + /** The root compartment OCID of the customer's tenancy. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The root compartment OCID of the customer's tenancy. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The created CCD offer type. */ + public enum TypeOfOffer implements com.oracle.bmc.http.internal.BmcEnum { + Standard("STANDARD"), + Custom("CUSTOM"), + Private("PRIVATE"), + Contractual("CONTRACTUAL"), + Flex("FLEX"), + + /** + * 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(TypeOfOffer.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (TypeOfOffer v : TypeOfOffer.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + TypeOfOffer(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static TypeOfOffer create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'TypeOfOffer', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The created CCD offer type. */ + @com.fasterxml.jackson.annotation.JsonProperty("typeOfOffer") + private final TypeOfOffer typeOfOffer; + + /** + * The created CCD offer type. + * + * @return the value + */ + public TypeOfOffer getTypeOfOffer() { + return typeOfOffer; + } + + /** The commercial workflow that created the CCD offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceType") + private final CcdOffer.SourceType sourceType; + + /** + * The commercial workflow that created the CCD offer. + * + * @return the value + */ + public CcdOffer.SourceType getSourceType() { + return sourceType; + } + + /** The reclaim term for an offer, measured in {@code reclaimTermUnit}. */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTerm") + private final Long reclaimTerm; + + /** + * The reclaim term for an offer, measured in {@code reclaimTermUnit}. + * + * @return the value + */ + public Long getReclaimTerm() { + return reclaimTerm; + } + + /** The unit used to measure {@code reclaimTerm}. */ + @com.fasterxml.jackson.annotation.JsonProperty("reclaimTermUnit") + private final CcdOffer.ReclaimTermUnit reclaimTermUnit; + + /** + * The unit used to measure {@code reclaimTerm}. + * + * @return the value + */ + public CcdOffer.ReclaimTermUnit getReclaimTermUnit() { + return reclaimTermUnit; + } + + /** The targeted customer segment. */ + public enum CustomerSegment implements com.oracle.bmc.http.internal.BmcEnum { + Internal("INTERNAL"), + External("EXTERNAL"), + + /** + * 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(CustomerSegment.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (CustomerSegment v : CustomerSegment.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + CustomerSegment(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static CustomerSegment create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'CustomerSegment', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The targeted customer segment. */ + @com.fasterxml.jackson.annotation.JsonProperty("customerSegment") + private final CustomerSegment customerSegment; + + /** + * The targeted customer segment. + * + * @return the value + */ + public CustomerSegment getCustomerSegment() { + return customerSegment; + } + + /** + * Enable or disable filler usage if the customer usage quantity is below the minimum quantity, + * and you want metering to fill in usages to meet the minimum quantity. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isFillerUsageEnable") + private final Boolean isFillerUsageEnable; + + /** + * Enable or disable filler usage if the customer usage quantity is below the minimum quantity, + * and you want metering to fill in usages to meet the minimum quantity. + * + * @return the value + */ + public Boolean getIsFillerUsageEnable() { + return isFillerUsageEnable; + } + + /** Entity/User who lastly updated the ccdOffer. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdatedBy") + private final String lastUpdatedBy; + + /** + * Entity/User who lastly updated the ccdOffer. + * + * @return the value + */ + public String getLastUpdatedBy() { + return lastUpdatedBy; + } + + /** Entity/User who created the ccdOffer. */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private final String createdBy; + + /** + * Entity/User who created the ccdOffer. + * + * @return the value + */ + public String getCreatedBy() { + return createdBy; + } + + /** Sales order document number. */ + @com.fasterxml.jackson.annotation.JsonProperty("orderDocumentNumber") + private final String orderDocumentNumber; + + /** + * Sales order document number. + * + * @return the value + */ + public String getOrderDocumentNumber() { + return orderDocumentNumber; + } + + /** Defines where the filler usage is reported */ + @com.fasterxml.jackson.annotation.JsonProperty("reportingRegion") + private final String reportingRegion; + + /** + * Defines where the filler usage is reported + * + * @return the value + */ + public String getReportingRegion() { + return reportingRegion; + } + + /** The SKU part number (prefaced with "B") the CCD is associated with. */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private final String sku; + + /** + * The SKU part number (prefaced with "B") the CCD is associated with. + * + * @return the value + */ + public String getSku() { + return sku; + } + + /** The canonical SKU display name. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private final String skuDisplayName; + + /** + * The canonical SKU display name. + * + * @return the value + */ + public String getSkuDisplayName() { + return skuDisplayName; + } + + /** The canonical billing metric. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private final String skuMetric; + + /** + * The canonical billing metric. + * + * @return the value + */ + public String getSkuMetric() { + return skuMetric; + } + + /** + * The minimum quantity of the primary SKU committed to the CCD offer. For FLEX offers, + * minQuantity and maxQuantity must both be equal if maxQuantity provided. + */ + @com.fasterxml.jackson.annotation.JsonProperty("minQuantity") + private final Long minQuantity; + + /** + * The minimum quantity of the primary SKU committed to the CCD offer. For FLEX offers, + * minQuantity and maxQuantity must both be equal if maxQuantity provided. + * + * @return the value + */ + public Long getMinQuantity() { + return minQuantity; + } + + /** + * The maximum quantity of the primary SKU committed to the CCD offer. For FLEX offers if + * provided, it must equal minQuantity. + */ + @com.fasterxml.jackson.annotation.JsonProperty("maxQuantity") + private final Long maxQuantity; + + /** + * The maximum quantity of the primary SKU committed to the CCD offer. For FLEX offers if + * provided, it must equal minQuantity. + * + * @return the value + */ + public Long getMaxQuantity() { + return maxQuantity; + } + + /** The number of terms the offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("term") + private final Integer term; + + /** + * The number of terms the offer is applicable to. + * + * @return the value + */ + public Integer getTerm() { + return term; + } + + /** The term units. */ + public enum Unit implements com.oracle.bmc.http.internal.BmcEnum { + Months("MONTHS"), + Years("YEARS"), + Days("DAYS"), + Hours("HOURS"), + + /** + * 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(Unit.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (Unit v : Unit.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + Unit(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static Unit create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'Unit', returning UnknownEnumValue", key); + return UnknownEnumValue; + } + }; + /** The term units. */ + @com.fasterxml.jackson.annotation.JsonProperty("unit") + private final Unit unit; + + /** + * The term units. + * + * @return the value + */ + public Unit getUnit() { + return unit; + } + + /** + * The discount percentage applicable to the CCD offer, represented as a decimal string from 0 + * through 100 inclusive. + */ + @com.fasterxml.jackson.annotation.JsonProperty("discountPct") + private final String discountPct; + + /** + * The discount percentage applicable to the CCD offer, represented as a decimal string from 0 + * through 100 inclusive. + * + * @return the value + */ + public String getDiscountPct() { + return discountPct; + } + + @com.fasterxml.jackson.annotation.JsonProperty("offerRestriction") + private final OfferRestriction offerRestriction; + + public OfferRestriction getOfferRestriction() { + return offerRestriction; + } + + /** + * The polymorphic bundled SKU definitions. Every bundled SKU in an offer must use the same + * {@code quantityRule}; don't mix {@code FIXED_RATIO} and {@code CUSTOMER_SELECTED} bundled + * SKUs in one offer. An offer can contain at most five SKUs in total, including the primary + * SKU. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bundleSkus") + private final java.util.List bundleSkus; + + /** + * The polymorphic bundled SKU definitions. Every bundled SKU in an offer must use the same + * {@code quantityRule}; don't mix {@code FIXED_RATIO} and {@code CUSTOMER_SELECTED} bundled + * SKUs in one offer. An offer can contain at most five SKUs in total, including the primary + * SKU. + * + * @return the value + */ + public java.util.List getBundleSkus() { + return bundleSkus; + } + + /** The SKU list price in all currency codes. */ + @com.fasterxml.jackson.annotation.JsonProperty("externalPriceOfSku") + private final java.util.List externalPriceOfSku; + + /** + * The SKU list price in all currency codes. + * + * @return the value + */ + public java.util.List getExternalPriceOfSku() { + return externalPriceOfSku; + } + + /** + * The CCD offer's current state. This always defaults to {@code Active}. For the accurate + * resource state, refer to the {@code lifecycleDetails} property value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final CcdOffer.LifecycleState lifecycleState; + + /** + * The CCD offer's current state. This always defaults to {@code Active}. For the accurate + * resource state, refer to the {@code lifecycleDetails} property value. + * + * @return the value + */ + public CcdOffer.LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** + * The CCD offer's detailed current state. The state value is determined by {@code + * timeCcdOfferStarts}, {@code timeCcdOfferEnds}, and {@code timeTerminated} with respect to the + * current time. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final CcdOffer.LifecycleDetails lifecycleDetails; + + /** + * The CCD offer's detailed current state. The state value is determined by {@code + * timeCcdOfferStarts}, {@code timeCcdOfferEnds}, and {@code timeTerminated} with respect to the + * current time. + * + * @return the value + */ + public CcdOffer.LifecycleDetails getLifecycleDetails() { + return lifecycleDetails; + } + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * Date and time the CCD was created. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: {@code + * 2025-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * Date and time the CCD was updated lastly. The format is defined by RFC 3339. Example: {@code + * 2025-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeTerminated") + private final java.util.Date timeTerminated; + + /** + * Date and time the CCD was terminated. The format is defined by RFC 3339. Example: {@code + * 2022-01-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeTerminated() { + return timeTerminated; + } + + /** + * 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; + } + + /** + * 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; + } + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + /** The inclusive date the CCD offer will be effective. The format is defined by RFC 3339. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdOfferStarts") + private final java.util.Date timeCcdOfferStarts; + + /** + * The inclusive date the CCD offer will be effective. The format is defined by RFC 3339. + * + * @return the value + */ + public java.util.Date getTimeCcdOfferStarts() { + return timeCcdOfferStarts; + } + + /** + * The inclusive time when the CCD offer is no longer in effect. The format is defined by RFC + * 3339. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdOfferEnds") + private final java.util.Date timeCcdOfferEnds; + + /** + * The inclusive time when the CCD offer is no longer in effect. The format is defined by RFC + * 3339. + * + * @return the value + */ + public java.util.Date getTimeCcdOfferEnds() { + return timeCcdOfferEnds; + } + + /** + * Currency code of listPrice associated with primary product/sku. This will be always null. + * Please refer {@code externalPriceOfSku} to know product/sku's associated list price in its + * currency code. + */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCode") + private final String currencyCode; + + /** + * Currency code of listPrice associated with primary product/sku. This will be always null. + * Please refer {@code externalPriceOfSku} to know product/sku's associated list price in its + * currency code. + * + * @return the value + */ + public String getCurrencyCode() { + return currencyCode; + } + + /** + * ListPrice of a sku. Please refer {@code externalPriceOfSku} to know product/sku's associated + * list price in its currency code. + */ + @com.fasterxml.jackson.annotation.JsonProperty("listPrice") + private final String listPrice; + + /** + * ListPrice of a sku. Please refer {@code externalPriceOfSku} to know product/sku's associated + * list price in its currency code. + * + * @return the value + */ + public String getListPrice() { + return listPrice; + } + + @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("CcdOfferSummary("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", subscriptionId=").append(String.valueOf(this.subscriptionId)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", typeOfOffer=").append(String.valueOf(this.typeOfOffer)); + sb.append(", sourceType=").append(String.valueOf(this.sourceType)); + sb.append(", reclaimTerm=").append(String.valueOf(this.reclaimTerm)); + sb.append(", reclaimTermUnit=").append(String.valueOf(this.reclaimTermUnit)); + sb.append(", customerSegment=").append(String.valueOf(this.customerSegment)); + sb.append(", isFillerUsageEnable=").append(String.valueOf(this.isFillerUsageEnable)); + sb.append(", lastUpdatedBy=").append(String.valueOf(this.lastUpdatedBy)); + sb.append(", createdBy=").append(String.valueOf(this.createdBy)); + sb.append(", orderDocumentNumber=").append(String.valueOf(this.orderDocumentNumber)); + sb.append(", reportingRegion=").append(String.valueOf(this.reportingRegion)); + sb.append(", sku=").append(String.valueOf(this.sku)); + sb.append(", skuDisplayName=").append(String.valueOf(this.skuDisplayName)); + sb.append(", skuMetric=").append(String.valueOf(this.skuMetric)); + sb.append(", minQuantity=").append(String.valueOf(this.minQuantity)); + sb.append(", maxQuantity=").append(String.valueOf(this.maxQuantity)); + sb.append(", term=").append(String.valueOf(this.term)); + sb.append(", unit=").append(String.valueOf(this.unit)); + sb.append(", discountPct=").append(String.valueOf(this.discountPct)); + sb.append(", offerRestriction=").append(String.valueOf(this.offerRestriction)); + sb.append(", bundleSkus=").append(String.valueOf(this.bundleSkus)); + sb.append(", externalPriceOfSku=").append(String.valueOf(this.externalPriceOfSku)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", timeTerminated=").append(String.valueOf(this.timeTerminated)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(", timeCcdOfferStarts=").append(String.valueOf(this.timeCcdOfferStarts)); + sb.append(", timeCcdOfferEnds=").append(String.valueOf(this.timeCcdOfferEnds)); + sb.append(", currencyCode=").append(String.valueOf(this.currencyCode)); + sb.append(", listPrice=").append(String.valueOf(this.listPrice)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CcdOfferSummary)) { + return false; + } + + CcdOfferSummary other = (CcdOfferSummary) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.typeOfOffer, other.typeOfOffer) + && java.util.Objects.equals(this.sourceType, other.sourceType) + && java.util.Objects.equals(this.reclaimTerm, other.reclaimTerm) + && java.util.Objects.equals(this.reclaimTermUnit, other.reclaimTermUnit) + && java.util.Objects.equals(this.customerSegment, other.customerSegment) + && java.util.Objects.equals(this.isFillerUsageEnable, other.isFillerUsageEnable) + && java.util.Objects.equals(this.lastUpdatedBy, other.lastUpdatedBy) + && java.util.Objects.equals(this.createdBy, other.createdBy) + && java.util.Objects.equals(this.orderDocumentNumber, other.orderDocumentNumber) + && java.util.Objects.equals(this.reportingRegion, other.reportingRegion) + && java.util.Objects.equals(this.sku, other.sku) + && java.util.Objects.equals(this.skuDisplayName, other.skuDisplayName) + && java.util.Objects.equals(this.skuMetric, other.skuMetric) + && java.util.Objects.equals(this.minQuantity, other.minQuantity) + && java.util.Objects.equals(this.maxQuantity, other.maxQuantity) + && java.util.Objects.equals(this.term, other.term) + && java.util.Objects.equals(this.unit, other.unit) + && java.util.Objects.equals(this.discountPct, other.discountPct) + && java.util.Objects.equals(this.offerRestriction, other.offerRestriction) + && java.util.Objects.equals(this.bundleSkus, other.bundleSkus) + && java.util.Objects.equals(this.externalPriceOfSku, other.externalPriceOfSku) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.timeTerminated, other.timeTerminated) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && java.util.Objects.equals(this.timeCcdOfferStarts, other.timeCcdOfferStarts) + && java.util.Objects.equals(this.timeCcdOfferEnds, other.timeCcdOfferEnds) + && java.util.Objects.equals(this.currencyCode, other.currencyCode) + && java.util.Objects.equals(this.listPrice, other.listPrice) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.subscriptionId == null ? 43 : this.subscriptionId.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.typeOfOffer == null ? 43 : this.typeOfOffer.hashCode()); + result = (result * PRIME) + (this.sourceType == null ? 43 : this.sourceType.hashCode()); + result = (result * PRIME) + (this.reclaimTerm == null ? 43 : this.reclaimTerm.hashCode()); + result = + (result * PRIME) + + (this.reclaimTermUnit == null ? 43 : this.reclaimTermUnit.hashCode()); + result = + (result * PRIME) + + (this.customerSegment == null ? 43 : this.customerSegment.hashCode()); + result = + (result * PRIME) + + (this.isFillerUsageEnable == null + ? 43 + : this.isFillerUsageEnable.hashCode()); + result = + (result * PRIME) + + (this.lastUpdatedBy == null ? 43 : this.lastUpdatedBy.hashCode()); + result = (result * PRIME) + (this.createdBy == null ? 43 : this.createdBy.hashCode()); + result = + (result * PRIME) + + (this.orderDocumentNumber == null + ? 43 + : this.orderDocumentNumber.hashCode()); + result = + (result * PRIME) + + (this.reportingRegion == null ? 43 : this.reportingRegion.hashCode()); + result = (result * PRIME) + (this.sku == null ? 43 : this.sku.hashCode()); + result = + (result * PRIME) + + (this.skuDisplayName == null ? 43 : this.skuDisplayName.hashCode()); + result = (result * PRIME) + (this.skuMetric == null ? 43 : this.skuMetric.hashCode()); + result = (result * PRIME) + (this.minQuantity == null ? 43 : this.minQuantity.hashCode()); + result = (result * PRIME) + (this.maxQuantity == null ? 43 : this.maxQuantity.hashCode()); + result = (result * PRIME) + (this.term == null ? 43 : this.term.hashCode()); + result = (result * PRIME) + (this.unit == null ? 43 : this.unit.hashCode()); + result = (result * PRIME) + (this.discountPct == null ? 43 : this.discountPct.hashCode()); + result = + (result * PRIME) + + (this.offerRestriction == null ? 43 : this.offerRestriction.hashCode()); + result = (result * PRIME) + (this.bundleSkus == null ? 43 : this.bundleSkus.hashCode()); + result = + (result * PRIME) + + (this.externalPriceOfSku == null + ? 43 + : this.externalPriceOfSku.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.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.timeTerminated == null ? 43 : this.timeTerminated.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()); + result = + (result * PRIME) + + (this.timeCcdOfferStarts == null + ? 43 + : this.timeCcdOfferStarts.hashCode()); + result = + (result * PRIME) + + (this.timeCcdOfferEnds == null ? 43 : this.timeCcdOfferEnds.hashCode()); + result = (result * PRIME) + (this.currencyCode == null ? 43 : this.currencyCode.hashCode()); + result = (result * PRIME) + (this.listPrice == null ? 43 : this.listPrice.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CommittedSkuQuantityPriceModel.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CommittedSkuQuantityPriceModel.java new file mode 100644 index 00000000000..f30058b09a0 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CommittedSkuQuantityPriceModel.java @@ -0,0 +1,338 @@ +/** + * 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.ccdoffers.model; + +/** + * The committed SKU, quantity, and its price information model.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CommittedSkuQuantityPriceModel.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CommittedSkuQuantityPriceModel + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "sku", + "skuDisplayName", + "skuMetric", + "isMainSku", + "quantity", + "currencyCodeLocalization" + }) + public CommittedSkuQuantityPriceModel( + String sku, + String skuDisplayName, + String skuMetric, + Boolean isMainSku, + Long quantity, + java.util.List currencyCodeLocalization) { + super(); + this.sku = sku; + this.skuDisplayName = skuDisplayName; + this.skuMetric = skuMetric; + this.isMainSku = isMainSku; + this.quantity = quantity; + this.currencyCodeLocalization = currencyCodeLocalization; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The SKU part number (prefaced with "B") associated with the committed CCD. */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private String sku; + + /** + * The SKU part number (prefaced with "B") associated with the committed CCD. + * + * @param sku the value to set + * @return this builder + */ + public Builder sku(String sku) { + this.sku = sku; + this.__explicitlySet__.add("sku"); + return this; + } + /** The canonical SKU display name derived from the associated offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private String skuDisplayName; + + /** + * The canonical SKU display name derived from the associated offer. + * + * @param skuDisplayName the value to set + * @return this builder + */ + public Builder skuDisplayName(String skuDisplayName) { + this.skuDisplayName = skuDisplayName; + this.__explicitlySet__.add("skuDisplayName"); + return this; + } + /** The canonical billing metric derived from the associated offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private String skuMetric; + + /** + * The canonical billing metric derived from the associated offer. + * + * @param skuMetric the value to set + * @return this builder + */ + public Builder skuMetric(String skuMetric) { + this.skuMetric = skuMetric; + this.__explicitlySet__.add("skuMetric"); + return this; + } + /** True if the SKU is the primary SKU of a CCD offer, otheriwse, false. */ + @com.fasterxml.jackson.annotation.JsonProperty("isMainSku") + private Boolean isMainSku; + + /** + * True if the SKU is the primary SKU of a CCD offer, otheriwse, false. + * + * @param isMainSku the value to set + * @return this builder + */ + public Builder isMainSku(Boolean isMainSku) { + this.isMainSku = isMainSku; + this.__explicitlySet__.add("isMainSku"); + return this; + } + /** The SKU quantity that's getting committed. */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private Long quantity; + + /** + * The SKU quantity that's getting committed. + * + * @param quantity the value to set + * @return this builder + */ + public Builder quantity(Long quantity) { + this.quantity = quantity; + this.__explicitlySet__.add("quantity"); + return this; + } + /** The pricing model associated with the currency code. */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCodeLocalization") + private java.util.List currencyCodeLocalization; + + /** + * The pricing model associated with the currency code. + * + * @param currencyCodeLocalization the value to set + * @return this builder + */ + public Builder currencyCodeLocalization( + java.util.List currencyCodeLocalization) { + this.currencyCodeLocalization = currencyCodeLocalization; + this.__explicitlySet__.add("currencyCodeLocalization"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CommittedSkuQuantityPriceModel build() { + CommittedSkuQuantityPriceModel model = + new CommittedSkuQuantityPriceModel( + this.sku, + this.skuDisplayName, + this.skuMetric, + this.isMainSku, + this.quantity, + this.currencyCodeLocalization); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CommittedSkuQuantityPriceModel model) { + if (model.wasPropertyExplicitlySet("sku")) { + this.sku(model.getSku()); + } + if (model.wasPropertyExplicitlySet("skuDisplayName")) { + this.skuDisplayName(model.getSkuDisplayName()); + } + if (model.wasPropertyExplicitlySet("skuMetric")) { + this.skuMetric(model.getSkuMetric()); + } + if (model.wasPropertyExplicitlySet("isMainSku")) { + this.isMainSku(model.getIsMainSku()); + } + if (model.wasPropertyExplicitlySet("quantity")) { + this.quantity(model.getQuantity()); + } + if (model.wasPropertyExplicitlySet("currencyCodeLocalization")) { + this.currencyCodeLocalization(model.getCurrencyCodeLocalization()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The SKU part number (prefaced with "B") associated with the committed CCD. */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private final String sku; + + /** + * The SKU part number (prefaced with "B") associated with the committed CCD. + * + * @return the value + */ + public String getSku() { + return sku; + } + + /** The canonical SKU display name derived from the associated offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private final String skuDisplayName; + + /** + * The canonical SKU display name derived from the associated offer. + * + * @return the value + */ + public String getSkuDisplayName() { + return skuDisplayName; + } + + /** The canonical billing metric derived from the associated offer. */ + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private final String skuMetric; + + /** + * The canonical billing metric derived from the associated offer. + * + * @return the value + */ + public String getSkuMetric() { + return skuMetric; + } + + /** True if the SKU is the primary SKU of a CCD offer, otheriwse, false. */ + @com.fasterxml.jackson.annotation.JsonProperty("isMainSku") + private final Boolean isMainSku; + + /** + * True if the SKU is the primary SKU of a CCD offer, otheriwse, false. + * + * @return the value + */ + public Boolean getIsMainSku() { + return isMainSku; + } + + /** The SKU quantity that's getting committed. */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private final Long quantity; + + /** + * The SKU quantity that's getting committed. + * + * @return the value + */ + public Long getQuantity() { + return quantity; + } + + /** The pricing model associated with the currency code. */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCodeLocalization") + private final java.util.List currencyCodeLocalization; + + /** + * The pricing model associated with the currency code. + * + * @return the value + */ + public java.util.List getCurrencyCodeLocalization() { + return currencyCodeLocalization; + } + + @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("CommittedSkuQuantityPriceModel("); + sb.append("super=").append(super.toString()); + sb.append("sku=").append(String.valueOf(this.sku)); + sb.append(", skuDisplayName=").append(String.valueOf(this.skuDisplayName)); + sb.append(", skuMetric=").append(String.valueOf(this.skuMetric)); + sb.append(", isMainSku=").append(String.valueOf(this.isMainSku)); + sb.append(", quantity=").append(String.valueOf(this.quantity)); + sb.append(", currencyCodeLocalization=") + .append(String.valueOf(this.currencyCodeLocalization)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CommittedSkuQuantityPriceModel)) { + return false; + } + + CommittedSkuQuantityPriceModel other = (CommittedSkuQuantityPriceModel) o; + return java.util.Objects.equals(this.sku, other.sku) + && java.util.Objects.equals(this.skuDisplayName, other.skuDisplayName) + && java.util.Objects.equals(this.skuMetric, other.skuMetric) + && java.util.Objects.equals(this.isMainSku, other.isMainSku) + && java.util.Objects.equals(this.quantity, other.quantity) + && java.util.Objects.equals( + this.currencyCodeLocalization, other.currencyCodeLocalization) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.sku == null ? 43 : this.sku.hashCode()); + result = + (result * PRIME) + + (this.skuDisplayName == null ? 43 : this.skuDisplayName.hashCode()); + result = (result * PRIME) + (this.skuMetric == null ? 43 : this.skuMetric.hashCode()); + result = (result * PRIME) + (this.isMainSku == null ? 43 : this.isMainSku.hashCode()); + result = (result * PRIME) + (this.quantity == null ? 43 : this.quantity.hashCode()); + result = + (result * PRIME) + + (this.currencyCodeLocalization == null + ? 43 + : this.currencyCodeLocalization.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CreateCcdCommitmentDetails.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CreateCcdCommitmentDetails.java new file mode 100644 index 00000000000..3358351a128 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CreateCcdCommitmentDetails.java @@ -0,0 +1,648 @@ +/** + * 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.ccdoffers.model; + +/** + * CCD commitment creation 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateCcdCommitmentDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateCcdCommitmentDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "quantity", + "displayName", + "subscriptionId", + "compartmentId", + "fillerTenancyId", + "usageEligibility", + "secondarySkus", + "timeCcdCommitmentStarts", + "timeCcdCommitmentEnds", + "freeformTags", + "definedTags" + }) + public CreateCcdCommitmentDetails( + Long quantity, + String displayName, + String subscriptionId, + String compartmentId, + String fillerTenancyId, + UsageEligibility usageEligibility, + java.util.List secondarySkus, + java.util.Date timeCcdCommitmentStarts, + java.util.Date timeCcdCommitmentEnds, + java.util.Map freeformTags, + java.util.Map> definedTags) { + super(); + this.quantity = quantity; + this.displayName = displayName; + this.subscriptionId = subscriptionId; + this.compartmentId = compartmentId; + this.fillerTenancyId = fillerTenancyId; + this.usageEligibility = usageEligibility; + this.secondarySkus = secondarySkus; + this.timeCcdCommitmentStarts = timeCcdCommitmentStarts; + this.timeCcdCommitmentEnds = timeCcdCommitmentEnds; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For FLEX + * offers, this quantity must equal the CCD offer's minQuantity and maxQuantity when both + * are provided. For example, if the quantity is 1000, then you are committing to a 1000 + * usage quantity value per hour. + */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private Long quantity; + + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For FLEX + * offers, this quantity must equal the CCD offer's minQuantity and maxQuantity when both + * are provided. For example, if the quantity is 1000, then you are committing to a 1000 + * usage quantity value per hour. + * + * @param quantity the value to set + * @return this builder + */ + public Builder quantity(Long quantity) { + this.quantity = quantity; + this.__explicitlySet__.add("quantity"); + return this; + } + /** + * The CCD commitment name. Ensure the name is unique across subscription IDs. Avoid + * entering confidential information. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The CCD commitment name. Ensure the name is unique across subscription IDs. 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; + } + /** The subscription OCID value the CCD offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private String subscriptionId; + + /** + * The subscription OCID value the CCD offer is applicable to. + * + * @param subscriptionId the value to set + * @return this builder + */ + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + this.__explicitlySet__.add("subscriptionId"); + return this; + } + /** + * The compartment OCID where you want to create the CCD commitment. Must be the root + * compartment OCID of a parent tenancy (if part of an organization), or a standalone + * tenancy to which the subscription is associated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The compartment OCID where you want to create the CCD commitment. Must be the root + * compartment OCID of a parent tenancy (if part of an organization), or a standalone + * tenancy to which the subscription is associated. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** The tenancy OCID you want to apply filler usage to. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyId") + private String fillerTenancyId; + + /** + * The tenancy OCID you want to apply filler usage to. + * + * @param fillerTenancyId the value to set + * @return this builder + */ + public Builder fillerTenancyId(String fillerTenancyId) { + this.fillerTenancyId = fillerTenancyId; + this.__explicitlySet__.add("fillerTenancyId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("usageEligibility") + private UsageEligibility usageEligibility; + + public Builder usageEligibility(UsageEligibility usageEligibility) { + this.usageEligibility = usageEligibility; + this.__explicitlySet__.add("usageEligibility"); + return this; + } + /** + * The bundled SKUs selected for this commitment. Supply {@code quantity} only for + * components whose offer quantity rule is {@code CUSTOMER_SELECTED}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secondarySkus") + private java.util.List secondarySkus; + + /** + * The bundled SKUs selected for this commitment. Supply {@code quantity} only for + * components whose offer quantity rule is {@code CUSTOMER_SELECTED}. + * + * @param secondarySkus the value to set + * @return this builder + */ + public Builder secondarySkus(java.util.List secondarySkus) { + this.secondarySkus = secondarySkus; + this.__explicitlySet__.add("secondarySkus"); + return this; + } + /** + * The inclusive date and time when the CCD commitment will be effective. The date and time + * must be rounded up to the exact hour, and must be in the future. The format is defined by + * RFC 3339. For example, if you want to commit to a CCD on 2025-06-01 12:00:00, you should + * create a request any time before 2025-06-01 12:00:00. You can only create CCD for a + * Scheduled or Current CCD offer. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentStarts") + private java.util.Date timeCcdCommitmentStarts; + + /** + * The inclusive date and time when the CCD commitment will be effective. The date and time + * must be rounded up to the exact hour, and must be in the future. The format is defined by + * RFC 3339. For example, if you want to commit to a CCD on 2025-06-01 12:00:00, you should + * create a request any time before 2025-06-01 12:00:00. You can only create CCD for a + * Scheduled or Current CCD offer. + * + * @param timeCcdCommitmentStarts the value to set + * @return this builder + */ + public Builder timeCcdCommitmentStarts(java.util.Date timeCcdCommitmentStarts) { + this.timeCcdCommitmentStarts = timeCcdCommitmentStarts; + this.__explicitlySet__.add("timeCcdCommitmentStarts"); + return this; + } + /** + * The exclusive time the CCD commitment ends. The time gets computed using {@code + * timeCcdCommitmentStarts} from the {@code ccdCommitment}, and the minimum commitment term + * associated with {@code CcdOffer}. The default value is set as null at the time of CCD + * commitment creation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentEnds") + private java.util.Date timeCcdCommitmentEnds; + + /** + * The exclusive time the CCD commitment ends. The time gets computed using {@code + * timeCcdCommitmentStarts} from the {@code ccdCommitment}, and the minimum commitment term + * associated with {@code CcdOffer}. The default value is set as null at the time of CCD + * commitment creation. + * + * @param timeCcdCommitmentEnds the value to set + * @return this builder + */ + public Builder timeCcdCommitmentEnds(java.util.Date timeCcdCommitmentEnds) { + this.timeCcdCommitmentEnds = timeCcdCommitmentEnds; + this.__explicitlySet__.add("timeCcdCommitmentEnds"); + 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; + } + /** + * 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; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateCcdCommitmentDetails build() { + CreateCcdCommitmentDetails model = + new CreateCcdCommitmentDetails( + this.quantity, + this.displayName, + this.subscriptionId, + this.compartmentId, + this.fillerTenancyId, + this.usageEligibility, + this.secondarySkus, + this.timeCcdCommitmentStarts, + this.timeCcdCommitmentEnds, + this.freeformTags, + this.definedTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateCcdCommitmentDetails model) { + if (model.wasPropertyExplicitlySet("quantity")) { + this.quantity(model.getQuantity()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("subscriptionId")) { + this.subscriptionId(model.getSubscriptionId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("fillerTenancyId")) { + this.fillerTenancyId(model.getFillerTenancyId()); + } + if (model.wasPropertyExplicitlySet("usageEligibility")) { + this.usageEligibility(model.getUsageEligibility()); + } + if (model.wasPropertyExplicitlySet("secondarySkus")) { + this.secondarySkus(model.getSecondarySkus()); + } + if (model.wasPropertyExplicitlySet("timeCcdCommitmentStarts")) { + this.timeCcdCommitmentStarts(model.getTimeCcdCommitmentStarts()); + } + if (model.wasPropertyExplicitlySet("timeCcdCommitmentEnds")) { + this.timeCcdCommitmentEnds(model.getTimeCcdCommitmentEnds()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For FLEX + * offers, this quantity must equal the CCD offer's minQuantity and maxQuantity when both are + * provided. For example, if the quantity is 1000, then you are committing to a 1000 usage + * quantity value per hour. + */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private final Long quantity; + + /** + * The hourly quantity that the customer is committing to a CCD offer's main SKU. For FLEX + * offers, this quantity must equal the CCD offer's minQuantity and maxQuantity when both are + * provided. For example, if the quantity is 1000, then you are committing to a 1000 usage + * quantity value per hour. + * + * @return the value + */ + public Long getQuantity() { + return quantity; + } + + /** + * The CCD commitment name. Ensure the name is unique across subscription IDs. Avoid entering + * confidential information. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The CCD commitment name. Ensure the name is unique across subscription IDs. Avoid entering + * confidential information. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** The subscription OCID value the CCD offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private final String subscriptionId; + + /** + * The subscription OCID value the CCD offer is applicable to. + * + * @return the value + */ + public String getSubscriptionId() { + return subscriptionId; + } + + /** + * The compartment OCID where you want to create the CCD commitment. Must be the root + * compartment OCID of a parent tenancy (if part of an organization), or a standalone tenancy to + * which the subscription is associated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The compartment OCID where you want to create the CCD commitment. Must be the root + * compartment OCID of a parent tenancy (if part of an organization), or a standalone tenancy to + * which the subscription is associated. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The tenancy OCID you want to apply filler usage to. */ + @com.fasterxml.jackson.annotation.JsonProperty("fillerTenancyId") + private final String fillerTenancyId; + + /** + * The tenancy OCID you want to apply filler usage to. + * + * @return the value + */ + public String getFillerTenancyId() { + return fillerTenancyId; + } + + @com.fasterxml.jackson.annotation.JsonProperty("usageEligibility") + private final UsageEligibility usageEligibility; + + public UsageEligibility getUsageEligibility() { + return usageEligibility; + } + + /** + * The bundled SKUs selected for this commitment. Supply {@code quantity} only for components + * whose offer quantity rule is {@code CUSTOMER_SELECTED}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secondarySkus") + private final java.util.List secondarySkus; + + /** + * The bundled SKUs selected for this commitment. Supply {@code quantity} only for components + * whose offer quantity rule is {@code CUSTOMER_SELECTED}. + * + * @return the value + */ + public java.util.List getSecondarySkus() { + return secondarySkus; + } + + /** + * The inclusive date and time when the CCD commitment will be effective. The date and time must + * be rounded up to the exact hour, and must be in the future. The format is defined by RFC + * 3339. For example, if you want to commit to a CCD on 2025-06-01 12:00:00, you should create a + * request any time before 2025-06-01 12:00:00. You can only create CCD for a Scheduled or + * Current CCD offer. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentStarts") + private final java.util.Date timeCcdCommitmentStarts; + + /** + * The inclusive date and time when the CCD commitment will be effective. The date and time must + * be rounded up to the exact hour, and must be in the future. The format is defined by RFC + * 3339. For example, if you want to commit to a CCD on 2025-06-01 12:00:00, you should create a + * request any time before 2025-06-01 12:00:00. You can only create CCD for a Scheduled or + * Current CCD offer. + * + * @return the value + */ + public java.util.Date getTimeCcdCommitmentStarts() { + return timeCcdCommitmentStarts; + } + + /** + * The exclusive time the CCD commitment ends. The time gets computed using {@code + * timeCcdCommitmentStarts} from the {@code ccdCommitment}, and the minimum commitment term + * associated with {@code CcdOffer}. The default value is set as null at the time of CCD + * commitment creation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCcdCommitmentEnds") + private final java.util.Date timeCcdCommitmentEnds; + + /** + * The exclusive time the CCD commitment ends. The time gets computed using {@code + * timeCcdCommitmentStarts} from the {@code ccdCommitment}, and the minimum commitment term + * associated with {@code CcdOffer}. The default value is set as null at the time of CCD + * commitment creation. + * + * @return the value + */ + public java.util.Date getTimeCcdCommitmentEnds() { + return timeCcdCommitmentEnds; + } + + /** + * 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; + } + + /** + * 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; + } + + @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("CreateCcdCommitmentDetails("); + sb.append("super=").append(super.toString()); + sb.append("quantity=").append(String.valueOf(this.quantity)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", subscriptionId=").append(String.valueOf(this.subscriptionId)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", fillerTenancyId=").append(String.valueOf(this.fillerTenancyId)); + sb.append(", usageEligibility=").append(String.valueOf(this.usageEligibility)); + sb.append(", secondarySkus=").append(String.valueOf(this.secondarySkus)); + sb.append(", timeCcdCommitmentStarts=") + .append(String.valueOf(this.timeCcdCommitmentStarts)); + sb.append(", timeCcdCommitmentEnds=").append(String.valueOf(this.timeCcdCommitmentEnds)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateCcdCommitmentDetails)) { + return false; + } + + CreateCcdCommitmentDetails other = (CreateCcdCommitmentDetails) o; + return java.util.Objects.equals(this.quantity, other.quantity) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.fillerTenancyId, other.fillerTenancyId) + && java.util.Objects.equals(this.usageEligibility, other.usageEligibility) + && java.util.Objects.equals(this.secondarySkus, other.secondarySkus) + && java.util.Objects.equals( + this.timeCcdCommitmentStarts, other.timeCcdCommitmentStarts) + && java.util.Objects.equals(this.timeCcdCommitmentEnds, other.timeCcdCommitmentEnds) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.quantity == null ? 43 : this.quantity.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.subscriptionId == null ? 43 : this.subscriptionId.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = + (result * PRIME) + + (this.fillerTenancyId == null ? 43 : this.fillerTenancyId.hashCode()); + result = + (result * PRIME) + + (this.usageEligibility == null ? 43 : this.usageEligibility.hashCode()); + result = + (result * PRIME) + + (this.secondarySkus == null ? 43 : this.secondarySkus.hashCode()); + result = + (result * PRIME) + + (this.timeCcdCommitmentStarts == null + ? 43 + : this.timeCcdCommitmentStarts.hashCode()); + result = + (result * PRIME) + + (this.timeCcdCommitmentEnds == null + ? 43 + : this.timeCcdCommitmentEnds.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CurrencyCodeLocalization.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CurrencyCodeLocalization.java new file mode 100644 index 00000000000..b8ab9c6935c --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CurrencyCodeLocalization.java @@ -0,0 +1,170 @@ +/** + * 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.ccdoffers.model; + +/** + * The currency code and its listing price.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CurrencyCodeLocalization.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CurrencyCodeLocalization + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"currencyCode", "prices"}) + public CurrencyCodeLocalization(String currencyCode, java.util.List prices) { + super(); + this.currencyCode = currencyCode; + this.prices = prices; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The currency code. */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCode") + private String currencyCode; + + /** + * The currency code. + * + * @param currencyCode the value to set + * @return this builder + */ + public Builder currencyCode(String currencyCode) { + this.currencyCode = currencyCode; + this.__explicitlySet__.add("currencyCode"); + return this; + } + /** The pricing model associated with the currency code. */ + @com.fasterxml.jackson.annotation.JsonProperty("prices") + private java.util.List prices; + + /** + * The pricing model associated with the currency code. + * + * @param prices the value to set + * @return this builder + */ + public Builder prices(java.util.List prices) { + this.prices = prices; + this.__explicitlySet__.add("prices"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CurrencyCodeLocalization build() { + CurrencyCodeLocalization model = + new CurrencyCodeLocalization(this.currencyCode, this.prices); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CurrencyCodeLocalization model) { + if (model.wasPropertyExplicitlySet("currencyCode")) { + this.currencyCode(model.getCurrencyCode()); + } + if (model.wasPropertyExplicitlySet("prices")) { + this.prices(model.getPrices()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The currency code. */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCode") + private final String currencyCode; + + /** + * The currency code. + * + * @return the value + */ + public String getCurrencyCode() { + return currencyCode; + } + + /** The pricing model associated with the currency code. */ + @com.fasterxml.jackson.annotation.JsonProperty("prices") + private final java.util.List prices; + + /** + * The pricing model associated with the currency code. + * + * @return the value + */ + public java.util.List getPrices() { + return prices; + } + + @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("CurrencyCodeLocalization("); + sb.append("super=").append(super.toString()); + sb.append("currencyCode=").append(String.valueOf(this.currencyCode)); + sb.append(", prices=").append(String.valueOf(this.prices)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CurrencyCodeLocalization)) { + return false; + } + + CurrencyCodeLocalization other = (CurrencyCodeLocalization) o; + return java.util.Objects.equals(this.currencyCode, other.currencyCode) + && java.util.Objects.equals(this.prices, other.prices) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.currencyCode == null ? 43 : this.currencyCode.hashCode()); + result = (result * PRIME) + (this.prices == null ? 43 : this.prices.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CustomerSelectedBundleSku.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CustomerSelectedBundleSku.java new file mode 100644 index 00000000000..df65094c676 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/CustomerSelectedBundleSku.java @@ -0,0 +1,261 @@ +/** + * 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.ccdoffers.model; + +/** + * A bundle SKU whose quantity is selected by the customer within the configured range. For FLEX + * offers, the maxQuantity should be equal to minQuantity if provided.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CustomerSelectedBundleSku.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "quantityRule") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CustomerSelectedBundleSku extends BundleSku { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private String sku; + + public Builder sku(String sku) { + this.sku = sku; + this.__explicitlySet__.add("sku"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private String skuDisplayName; + + public Builder skuDisplayName(String skuDisplayName) { + this.skuDisplayName = skuDisplayName; + this.__explicitlySet__.add("skuDisplayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private String skuMetric; + + public Builder skuMetric(String skuMetric) { + this.skuMetric = skuMetric; + this.__explicitlySet__.add("skuMetric"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("listPrice") + private String listPrice; + + public Builder listPrice(String listPrice) { + this.listPrice = listPrice; + this.__explicitlySet__.add("listPrice"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("currencyCode") + private String currencyCode; + + public Builder currencyCode(String currencyCode) { + this.currencyCode = currencyCode; + this.__explicitlySet__.add("currencyCode"); + return this; + } + /** + * The minimum quantity the customer can select for this bundled SKU. For FLEX offers, + * minQuantity and maxQuantity must be equal if maxQuantity provided. + */ + @com.fasterxml.jackson.annotation.JsonProperty("minQuantity") + private Long minQuantity; + + /** + * The minimum quantity the customer can select for this bundled SKU. For FLEX offers, + * minQuantity and maxQuantity must be equal if maxQuantity provided. + * + * @param minQuantity the value to set + * @return this builder + */ + public Builder minQuantity(Long minQuantity) { + this.minQuantity = minQuantity; + this.__explicitlySet__.add("minQuantity"); + return this; + } + /** + * The maximum quantity the customer can select for this bundled SKU. For FLEX offers must + * be equal to minQuantity if provided. + */ + @com.fasterxml.jackson.annotation.JsonProperty("maxQuantity") + private Long maxQuantity; + + /** + * The maximum quantity the customer can select for this bundled SKU. For FLEX offers must + * be equal to minQuantity if provided. + * + * @param maxQuantity the value to set + * @return this builder + */ + public Builder maxQuantity(Long maxQuantity) { + this.maxQuantity = maxQuantity; + this.__explicitlySet__.add("maxQuantity"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CustomerSelectedBundleSku build() { + CustomerSelectedBundleSku model = + new CustomerSelectedBundleSku( + this.sku, + this.skuDisplayName, + this.skuMetric, + this.listPrice, + this.currencyCode, + this.minQuantity, + this.maxQuantity); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CustomerSelectedBundleSku model) { + if (model.wasPropertyExplicitlySet("sku")) { + this.sku(model.getSku()); + } + if (model.wasPropertyExplicitlySet("skuDisplayName")) { + this.skuDisplayName(model.getSkuDisplayName()); + } + if (model.wasPropertyExplicitlySet("skuMetric")) { + this.skuMetric(model.getSkuMetric()); + } + if (model.wasPropertyExplicitlySet("listPrice")) { + this.listPrice(model.getListPrice()); + } + if (model.wasPropertyExplicitlySet("currencyCode")) { + this.currencyCode(model.getCurrencyCode()); + } + if (model.wasPropertyExplicitlySet("minQuantity")) { + this.minQuantity(model.getMinQuantity()); + } + if (model.wasPropertyExplicitlySet("maxQuantity")) { + this.maxQuantity(model.getMaxQuantity()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public CustomerSelectedBundleSku( + String sku, + String skuDisplayName, + String skuMetric, + String listPrice, + String currencyCode, + Long minQuantity, + Long maxQuantity) { + super(sku, skuDisplayName, skuMetric, listPrice, currencyCode); + this.minQuantity = minQuantity; + this.maxQuantity = maxQuantity; + } + + /** + * The minimum quantity the customer can select for this bundled SKU. For FLEX offers, + * minQuantity and maxQuantity must be equal if maxQuantity provided. + */ + @com.fasterxml.jackson.annotation.JsonProperty("minQuantity") + private final Long minQuantity; + + /** + * The minimum quantity the customer can select for this bundled SKU. For FLEX offers, + * minQuantity and maxQuantity must be equal if maxQuantity provided. + * + * @return the value + */ + public Long getMinQuantity() { + return minQuantity; + } + + /** + * The maximum quantity the customer can select for this bundled SKU. For FLEX offers must be + * equal to minQuantity if provided. + */ + @com.fasterxml.jackson.annotation.JsonProperty("maxQuantity") + private final Long maxQuantity; + + /** + * The maximum quantity the customer can select for this bundled SKU. For FLEX offers must be + * equal to minQuantity if provided. + * + * @return the value + */ + public Long getMaxQuantity() { + return maxQuantity; + } + + @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("CustomerSelectedBundleSku("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", minQuantity=").append(String.valueOf(this.minQuantity)); + sb.append(", maxQuantity=").append(String.valueOf(this.maxQuantity)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CustomerSelectedBundleSku)) { + return false; + } + + CustomerSelectedBundleSku other = (CustomerSelectedBundleSku) o; + return java.util.Objects.equals(this.minQuantity, other.minQuantity) + && java.util.Objects.equals(this.maxQuantity, other.maxQuantity) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.minQuantity == null ? 43 : this.minQuantity.hashCode()); + result = (result * PRIME) + (this.maxQuantity == null ? 43 : this.maxQuantity.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/FixedRatioBundleSku.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/FixedRatioBundleSku.java new file mode 100644 index 00000000000..f64ba1f2569 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/FixedRatioBundleSku.java @@ -0,0 +1,206 @@ +/** + * 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.ccdoffers.model; + +/** + * A bundle SKU whose quantity is derived from the primary SKU quantity using a fixed ratio.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = FixedRatioBundleSku.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "quantityRule") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class FixedRatioBundleSku extends BundleSku { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private String sku; + + public Builder sku(String sku) { + this.sku = sku; + this.__explicitlySet__.add("sku"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private String skuDisplayName; + + public Builder skuDisplayName(String skuDisplayName) { + this.skuDisplayName = skuDisplayName; + this.__explicitlySet__.add("skuDisplayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private String skuMetric; + + public Builder skuMetric(String skuMetric) { + this.skuMetric = skuMetric; + this.__explicitlySet__.add("skuMetric"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("listPrice") + private String listPrice; + + public Builder listPrice(String listPrice) { + this.listPrice = listPrice; + this.__explicitlySet__.add("listPrice"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("currencyCode") + private String currencyCode; + + public Builder currencyCode(String currencyCode) { + this.currencyCode = currencyCode; + this.__explicitlySet__.add("currencyCode"); + return this; + } + /** The primary-to-bundled SKU quantity ratio. */ + @com.fasterxml.jackson.annotation.JsonProperty("ratio") + private String ratio; + + /** + * The primary-to-bundled SKU quantity ratio. + * + * @param ratio the value to set + * @return this builder + */ + public Builder ratio(String ratio) { + this.ratio = ratio; + this.__explicitlySet__.add("ratio"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public FixedRatioBundleSku build() { + FixedRatioBundleSku model = + new FixedRatioBundleSku( + this.sku, + this.skuDisplayName, + this.skuMetric, + this.listPrice, + this.currencyCode, + this.ratio); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(FixedRatioBundleSku model) { + if (model.wasPropertyExplicitlySet("sku")) { + this.sku(model.getSku()); + } + if (model.wasPropertyExplicitlySet("skuDisplayName")) { + this.skuDisplayName(model.getSkuDisplayName()); + } + if (model.wasPropertyExplicitlySet("skuMetric")) { + this.skuMetric(model.getSkuMetric()); + } + if (model.wasPropertyExplicitlySet("listPrice")) { + this.listPrice(model.getListPrice()); + } + if (model.wasPropertyExplicitlySet("currencyCode")) { + this.currencyCode(model.getCurrencyCode()); + } + if (model.wasPropertyExplicitlySet("ratio")) { + this.ratio(model.getRatio()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public FixedRatioBundleSku( + String sku, + String skuDisplayName, + String skuMetric, + String listPrice, + String currencyCode, + String ratio) { + super(sku, skuDisplayName, skuMetric, listPrice, currencyCode); + this.ratio = ratio; + } + + /** The primary-to-bundled SKU quantity ratio. */ + @com.fasterxml.jackson.annotation.JsonProperty("ratio") + private final String ratio; + + /** + * The primary-to-bundled SKU quantity ratio. + * + * @return the value + */ + public String getRatio() { + return ratio; + } + + @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("FixedRatioBundleSku("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", ratio=").append(String.valueOf(this.ratio)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof FixedRatioBundleSku)) { + return false; + } + + FixedRatioBundleSku other = (FixedRatioBundleSku) o; + return java.util.Objects.equals(this.ratio, other.ratio) && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.ratio == null ? 43 : this.ratio.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/OfferRestriction.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/OfferRestriction.java new file mode 100644 index 00000000000..a1afe077e85 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/OfferRestriction.java @@ -0,0 +1,228 @@ +/** + * 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.ccdoffers.model; + +/** + * CCD offer applicability restrictions.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = OfferRestriction.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class OfferRestriction + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"region", "availabilityDomain", "subscriptionIds"}) + public OfferRestriction( + String region, String availabilityDomain, java.util.List subscriptionIds) { + super(); + this.region = region; + this.availabilityDomain = availabilityDomain; + this.subscriptionIds = subscriptionIds; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The region the CCD offer is applicable to. For example, a CCD offer applicable only to + * us-ashburn-1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private String region; + + /** + * The region the CCD offer is applicable to. For example, a CCD offer applicable only to + * us-ashburn-1. + * + * @param region the value to set + * @return this builder + */ + public Builder region(String region) { + this.region = region; + this.__explicitlySet__.add("region"); + return this; + } + /** + * The Availability Domain the CCD offer is applicable to. If you are setting {@code + * availabilityDomain}, ensure to also set the {@code region} property value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private String availabilityDomain; + + /** + * The Availability Domain the CCD offer is applicable to. If you are setting {@code + * availabilityDomain}, ensure to also set the {@code region} property value. + * + * @param availabilityDomain the value to set + * @return this builder + */ + public Builder availabilityDomain(String availabilityDomain) { + this.availabilityDomain = availabilityDomain; + this.__explicitlySet__.add("availabilityDomain"); + return this; + } + /** The subscription OCIDs the CCD offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionIds") + private java.util.List subscriptionIds; + + /** + * The subscription OCIDs the CCD offer is applicable to. + * + * @param subscriptionIds the value to set + * @return this builder + */ + public Builder subscriptionIds(java.util.List subscriptionIds) { + this.subscriptionIds = subscriptionIds; + this.__explicitlySet__.add("subscriptionIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public OfferRestriction build() { + OfferRestriction model = + new OfferRestriction( + this.region, this.availabilityDomain, this.subscriptionIds); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(OfferRestriction model) { + if (model.wasPropertyExplicitlySet("region")) { + this.region(model.getRegion()); + } + if (model.wasPropertyExplicitlySet("availabilityDomain")) { + this.availabilityDomain(model.getAvailabilityDomain()); + } + if (model.wasPropertyExplicitlySet("subscriptionIds")) { + this.subscriptionIds(model.getSubscriptionIds()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The region the CCD offer is applicable to. For example, a CCD offer applicable only to + * us-ashburn-1. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private final String region; + + /** + * The region the CCD offer is applicable to. For example, a CCD offer applicable only to + * us-ashburn-1. + * + * @return the value + */ + public String getRegion() { + return region; + } + + /** + * The Availability Domain the CCD offer is applicable to. If you are setting {@code + * availabilityDomain}, ensure to also set the {@code region} property value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private final String availabilityDomain; + + /** + * The Availability Domain the CCD offer is applicable to. If you are setting {@code + * availabilityDomain}, ensure to also set the {@code region} property value. + * + * @return the value + */ + public String getAvailabilityDomain() { + return availabilityDomain; + } + + /** The subscription OCIDs the CCD offer is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionIds") + private final java.util.List subscriptionIds; + + /** + * The subscription OCIDs the CCD offer is applicable to. + * + * @return the value + */ + public java.util.List getSubscriptionIds() { + return subscriptionIds; + } + + @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("OfferRestriction("); + sb.append("super=").append(super.toString()); + sb.append("region=").append(String.valueOf(this.region)); + sb.append(", availabilityDomain=").append(String.valueOf(this.availabilityDomain)); + sb.append(", subscriptionIds=").append(String.valueOf(this.subscriptionIds)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OfferRestriction)) { + return false; + } + + OfferRestriction other = (OfferRestriction) o; + return java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.availabilityDomain, other.availabilityDomain) + && java.util.Objects.equals(this.subscriptionIds, other.subscriptionIds) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = + (result * PRIME) + + (this.availabilityDomain == null + ? 43 + : this.availabilityDomain.hashCode()); + result = + (result * PRIME) + + (this.subscriptionIds == null ? 43 : this.subscriptionIds.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/Prices.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/Prices.java new file mode 100644 index 00000000000..4aa86f405b2 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/Prices.java @@ -0,0 +1,340 @@ +/** + * 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.ccdoffers.model; + +/** + * The SKU external listing price.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = Prices.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class Prices extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"model", "value", "rangeMin", "rangeMax", "rangeUnit"}) + public Prices(Model model, String value, String rangeMin, String rangeMax, String rangeUnit) { + super(); + this.model = model; + this.value = value; + this.rangeMin = rangeMin; + this.rangeMax = rangeMax; + this.rangeUnit = rangeUnit; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** Pricing model. */ + @com.fasterxml.jackson.annotation.JsonProperty("model") + private Model model; + + /** + * Pricing model. + * + * @param model the value to set + * @return this builder + */ + public Builder model(Model model) { + this.model = model; + this.__explicitlySet__.add("model"); + return this; + } + /** Currency value. */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + private String value; + + /** + * Currency value. + * + * @param value the value to set + * @return this builder + */ + public Builder value(String value) { + this.value = value; + this.__explicitlySet__.add("value"); + return this; + } + /** + * The minimum quantity for tier pricing (exclusive). Only applicable for products that + * support range-based pricing. + */ + @com.fasterxml.jackson.annotation.JsonProperty("rangeMin") + private String rangeMin; + + /** + * The minimum quantity for tier pricing (exclusive). Only applicable for products that + * support range-based pricing. + * + * @param rangeMin the value to set + * @return this builder + */ + public Builder rangeMin(String rangeMin) { + this.rangeMin = rangeMin; + this.__explicitlySet__.add("rangeMin"); + return this; + } + /** + * The maximum quantity for tier pricing (inclusive). Only applicable for products that + * support range-based pricing. + */ + @com.fasterxml.jackson.annotation.JsonProperty("rangeMax") + private String rangeMax; + + /** + * The maximum quantity for tier pricing (inclusive). Only applicable for products that + * support range-based pricing. + * + * @param rangeMax the value to set + * @return this builder + */ + public Builder rangeMax(String rangeMax) { + this.rangeMax = rangeMax; + this.__explicitlySet__.add("rangeMax"); + return this; + } + /** + * The {@code rangeMin} and {@code rangeMax} unit of measurement (for example, "GB" or + * "TB"). + */ + @com.fasterxml.jackson.annotation.JsonProperty("rangeUnit") + private String rangeUnit; + + /** + * The {@code rangeMin} and {@code rangeMax} unit of measurement (for example, "GB" or + * "TB"). + * + * @param rangeUnit the value to set + * @return this builder + */ + public Builder rangeUnit(String rangeUnit) { + this.rangeUnit = rangeUnit; + this.__explicitlySet__.add("rangeUnit"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public Prices build() { + Prices model = + new Prices( + this.model, this.value, this.rangeMin, this.rangeMax, this.rangeUnit); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(Prices model) { + if (model.wasPropertyExplicitlySet("model")) { + this.model(model.getModel()); + } + if (model.wasPropertyExplicitlySet("value")) { + this.value(model.getValue()); + } + if (model.wasPropertyExplicitlySet("rangeMin")) { + this.rangeMin(model.getRangeMin()); + } + if (model.wasPropertyExplicitlySet("rangeMax")) { + this.rangeMax(model.getRangeMax()); + } + if (model.wasPropertyExplicitlySet("rangeUnit")) { + this.rangeUnit(model.getRangeUnit()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** Pricing model. */ + public enum Model implements com.oracle.bmc.http.internal.BmcEnum { + PayAsYouGo("PAY_AS_YOU_GO"), + + /** + * 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(Model.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (Model v : Model.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + Model(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static Model create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'Model', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** Pricing model. */ + @com.fasterxml.jackson.annotation.JsonProperty("model") + private final Model model; + + /** + * Pricing model. + * + * @return the value + */ + public Model getModel() { + return model; + } + + /** Currency value. */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + private final String value; + + /** + * Currency value. + * + * @return the value + */ + public String getValue() { + return value; + } + + /** + * The minimum quantity for tier pricing (exclusive). Only applicable for products that support + * range-based pricing. + */ + @com.fasterxml.jackson.annotation.JsonProperty("rangeMin") + private final String rangeMin; + + /** + * The minimum quantity for tier pricing (exclusive). Only applicable for products that support + * range-based pricing. + * + * @return the value + */ + public String getRangeMin() { + return rangeMin; + } + + /** + * The maximum quantity for tier pricing (inclusive). Only applicable for products that support + * range-based pricing. + */ + @com.fasterxml.jackson.annotation.JsonProperty("rangeMax") + private final String rangeMax; + + /** + * The maximum quantity for tier pricing (inclusive). Only applicable for products that support + * range-based pricing. + * + * @return the value + */ + public String getRangeMax() { + return rangeMax; + } + + /** + * The {@code rangeMin} and {@code rangeMax} unit of measurement (for example, "GB" or "TB"). + */ + @com.fasterxml.jackson.annotation.JsonProperty("rangeUnit") + private final String rangeUnit; + + /** + * The {@code rangeMin} and {@code rangeMax} unit of measurement (for example, "GB" or "TB"). + * + * @return the value + */ + public String getRangeUnit() { + return rangeUnit; + } + + @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("Prices("); + sb.append("super=").append(super.toString()); + sb.append("model=").append(String.valueOf(this.model)); + sb.append(", value=").append(String.valueOf(this.value)); + sb.append(", rangeMin=").append(String.valueOf(this.rangeMin)); + sb.append(", rangeMax=").append(String.valueOf(this.rangeMax)); + sb.append(", rangeUnit=").append(String.valueOf(this.rangeUnit)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Prices)) { + return false; + } + + Prices other = (Prices) o; + return java.util.Objects.equals(this.model, other.model) + && java.util.Objects.equals(this.value, other.value) + && java.util.Objects.equals(this.rangeMin, other.rangeMin) + && java.util.Objects.equals(this.rangeMax, other.rangeMax) + && java.util.Objects.equals(this.rangeUnit, other.rangeUnit) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.model == null ? 43 : this.model.hashCode()); + result = (result * PRIME) + (this.value == null ? 43 : this.value.hashCode()); + result = (result * PRIME) + (this.rangeMin == null ? 43 : this.rangeMin.hashCode()); + result = (result * PRIME) + (this.rangeMax == null ? 43 : this.rangeMax.hashCode()); + result = (result * PRIME) + (this.rangeUnit == null ? 43 : this.rangeUnit.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/SecondarySkus.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/SecondarySkus.java new file mode 100644 index 00000000000..f3bd0d22513 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/SecondarySkus.java @@ -0,0 +1,309 @@ +/** + * 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.ccdoffers.model; + +/** + * A secondary SKU associated with a CCD commitment. Its quantity behavior is defined by the + * corresponding bundled SKU on the CCD offer.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = SecondarySkus.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class SecondarySkus extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"sku", "skuDisplayName", "skuMetric", "quantity"}) + public SecondarySkus(String sku, String skuDisplayName, String skuMetric, Long quantity) { + super(); + this.sku = sku; + this.skuDisplayName = skuDisplayName; + this.skuMetric = skuMetric; + this.quantity = quantity; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The secondary SKU part number (prefaced with "B"). For example, the "E4 MEMORY" SKU will + * be the secondary SKU with the main "E4 OCPUs" SKU. Must also be the same as {@code + * CcdOffers's} {@code bundleSkus} {@code sku} value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private String sku; + + /** + * The secondary SKU part number (prefaced with "B"). For example, the "E4 MEMORY" SKU will + * be the secondary SKU with the main "E4 OCPUs" SKU. Must also be the same as {@code + * CcdOffers's} {@code bundleSkus} {@code sku} value. + * + * @param sku the value to set + * @return this builder + */ + public Builder sku(String sku) { + this.sku = sku; + this.__explicitlySet__.add("sku"); + return this; + } + /** + * The canonical SKU display name derived from the associated offer. This property remains + * accepted in create and update requests for compatibility, but CCD uses the offer-derived + * value. Avoid entering confidential information. + */ + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private String skuDisplayName; + + /** + * The canonical SKU display name derived from the associated offer. This property remains + * accepted in create and update requests for compatibility, but CCD uses the offer-derived + * value. Avoid entering confidential information. + * + * @param skuDisplayName the value to set + * @return this builder + */ + public Builder skuDisplayName(String skuDisplayName) { + this.skuDisplayName = skuDisplayName; + this.__explicitlySet__.add("skuDisplayName"); + return this; + } + /** + * The canonical billing metric derived from the associated offer. This property remains + * accepted in create and update requests for compatibility, but CCD uses the offer-derived + * value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private String skuMetric; + + /** + * The canonical billing metric derived from the associated offer. This property remains + * accepted in create and update requests for compatibility, but CCD uses the offer-derived + * value. + * + * @param skuMetric the value to set + * @return this builder + */ + public Builder skuMetric(String skuMetric) { + this.skuMetric = skuMetric; + this.__explicitlySet__.add("skuMetric"); + return this; + } + /** + * The resolved hourly commitment quantity for this secondary SKU. In create or update + * requests, this property is required when the corresponding offer component uses {@code + * CUSTOMER_SELECTED}, and the value must be within the offer component's minimum and + * maximum. For FLEX offers with {@code CUSTOMER_SELECTED}, this quantity must equal the + * offer component's {@code minQuantity} and, if defined, {@code maxQuantity}. For {@code + * FIXED_RATIO}, this property may be omitted because CCD derives it from the primary + * quantity and the offer-defined ratio. If an existing client supplies a quantity for + * {@code FIXED_RATIO}, the offer-defined ratio is authoritative. + */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private Long quantity; + + /** + * The resolved hourly commitment quantity for this secondary SKU. In create or update + * requests, this property is required when the corresponding offer component uses {@code + * CUSTOMER_SELECTED}, and the value must be within the offer component's minimum and + * maximum. For FLEX offers with {@code CUSTOMER_SELECTED}, this quantity must equal the + * offer component's {@code minQuantity} and, if defined, {@code maxQuantity}. For {@code + * FIXED_RATIO}, this property may be omitted because CCD derives it from the primary + * quantity and the offer-defined ratio. If an existing client supplies a quantity for + * {@code FIXED_RATIO}, the offer-defined ratio is authoritative. + * + * @param quantity the value to set + * @return this builder + */ + public Builder quantity(Long quantity) { + this.quantity = quantity; + this.__explicitlySet__.add("quantity"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public SecondarySkus build() { + SecondarySkus model = + new SecondarySkus(this.sku, this.skuDisplayName, this.skuMetric, this.quantity); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(SecondarySkus model) { + if (model.wasPropertyExplicitlySet("sku")) { + this.sku(model.getSku()); + } + if (model.wasPropertyExplicitlySet("skuDisplayName")) { + this.skuDisplayName(model.getSkuDisplayName()); + } + if (model.wasPropertyExplicitlySet("skuMetric")) { + this.skuMetric(model.getSkuMetric()); + } + if (model.wasPropertyExplicitlySet("quantity")) { + this.quantity(model.getQuantity()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The secondary SKU part number (prefaced with "B"). For example, the "E4 MEMORY" SKU will be + * the secondary SKU with the main "E4 OCPUs" SKU. Must also be the same as {@code CcdOffers's} + * {@code bundleSkus} {@code sku} value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private final String sku; + + /** + * The secondary SKU part number (prefaced with "B"). For example, the "E4 MEMORY" SKU will be + * the secondary SKU with the main "E4 OCPUs" SKU. Must also be the same as {@code CcdOffers's} + * {@code bundleSkus} {@code sku} value. + * + * @return the value + */ + public String getSku() { + return sku; + } + + /** + * The canonical SKU display name derived from the associated offer. This property remains + * accepted in create and update requests for compatibility, but CCD uses the offer-derived + * value. Avoid entering confidential information. + */ + @com.fasterxml.jackson.annotation.JsonProperty("skuDisplayName") + private final String skuDisplayName; + + /** + * The canonical SKU display name derived from the associated offer. This property remains + * accepted in create and update requests for compatibility, but CCD uses the offer-derived + * value. Avoid entering confidential information. + * + * @return the value + */ + public String getSkuDisplayName() { + return skuDisplayName; + } + + /** + * The canonical billing metric derived from the associated offer. This property remains + * accepted in create and update requests for compatibility, but CCD uses the offer-derived + * value. + */ + @com.fasterxml.jackson.annotation.JsonProperty("skuMetric") + private final String skuMetric; + + /** + * The canonical billing metric derived from the associated offer. This property remains + * accepted in create and update requests for compatibility, but CCD uses the offer-derived + * value. + * + * @return the value + */ + public String getSkuMetric() { + return skuMetric; + } + + /** + * The resolved hourly commitment quantity for this secondary SKU. In create or update requests, + * this property is required when the corresponding offer component uses {@code + * CUSTOMER_SELECTED}, and the value must be within the offer component's minimum and maximum. + * For FLEX offers with {@code CUSTOMER_SELECTED}, this quantity must equal the offer + * component's {@code minQuantity} and, if defined, {@code maxQuantity}. For {@code + * FIXED_RATIO}, this property may be omitted because CCD derives it from the primary quantity + * and the offer-defined ratio. If an existing client supplies a quantity for {@code + * FIXED_RATIO}, the offer-defined ratio is authoritative. + */ + @com.fasterxml.jackson.annotation.JsonProperty("quantity") + private final Long quantity; + + /** + * The resolved hourly commitment quantity for this secondary SKU. In create or update requests, + * this property is required when the corresponding offer component uses {@code + * CUSTOMER_SELECTED}, and the value must be within the offer component's minimum and maximum. + * For FLEX offers with {@code CUSTOMER_SELECTED}, this quantity must equal the offer + * component's {@code minQuantity} and, if defined, {@code maxQuantity}. For {@code + * FIXED_RATIO}, this property may be omitted because CCD derives it from the primary quantity + * and the offer-defined ratio. If an existing client supplies a quantity for {@code + * FIXED_RATIO}, the offer-defined ratio is authoritative. + * + * @return the value + */ + public Long getQuantity() { + return quantity; + } + + @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("SecondarySkus("); + sb.append("super=").append(super.toString()); + sb.append("sku=").append(String.valueOf(this.sku)); + sb.append(", skuDisplayName=").append(String.valueOf(this.skuDisplayName)); + sb.append(", skuMetric=").append(String.valueOf(this.skuMetric)); + sb.append(", quantity=").append(String.valueOf(this.quantity)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof SecondarySkus)) { + return false; + } + + SecondarySkus other = (SecondarySkus) o; + return java.util.Objects.equals(this.sku, other.sku) + && java.util.Objects.equals(this.skuDisplayName, other.skuDisplayName) + && java.util.Objects.equals(this.skuMetric, other.skuMetric) + && java.util.Objects.equals(this.quantity, other.quantity) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.sku == null ? 43 : this.sku.hashCode()); + result = + (result * PRIME) + + (this.skuDisplayName == null ? 43 : this.skuDisplayName.hashCode()); + result = (result * PRIME) + (this.skuMetric == null ? 43 : this.skuMetric.hashCode()); + result = (result * PRIME) + (this.quantity == null ? 43 : this.quantity.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/SkuExternalPriceModel.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/SkuExternalPriceModel.java new file mode 100644 index 00000000000..8d5132c8be4 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/SkuExternalPriceModel.java @@ -0,0 +1,178 @@ +/** + * 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.ccdoffers.model; + +/** + * The currency code and listing price.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = SkuExternalPriceModel.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class SkuExternalPriceModel + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"sku", "currencyCodeLocalization"}) + public SkuExternalPriceModel( + String sku, java.util.List currencyCodeLocalization) { + super(); + this.sku = sku; + this.currencyCodeLocalization = currencyCodeLocalization; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The SKU part number (prefaced with "B") the CCD is associated with. */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private String sku; + + /** + * The SKU part number (prefaced with "B") the CCD is associated with. + * + * @param sku the value to set + * @return this builder + */ + public Builder sku(String sku) { + this.sku = sku; + this.__explicitlySet__.add("sku"); + return this; + } + /** The pricing model associated with the currency code. */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCodeLocalization") + private java.util.List currencyCodeLocalization; + + /** + * The pricing model associated with the currency code. + * + * @param currencyCodeLocalization the value to set + * @return this builder + */ + public Builder currencyCodeLocalization( + java.util.List currencyCodeLocalization) { + this.currencyCodeLocalization = currencyCodeLocalization; + this.__explicitlySet__.add("currencyCodeLocalization"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public SkuExternalPriceModel build() { + SkuExternalPriceModel model = + new SkuExternalPriceModel(this.sku, this.currencyCodeLocalization); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(SkuExternalPriceModel model) { + if (model.wasPropertyExplicitlySet("sku")) { + this.sku(model.getSku()); + } + if (model.wasPropertyExplicitlySet("currencyCodeLocalization")) { + this.currencyCodeLocalization(model.getCurrencyCodeLocalization()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The SKU part number (prefaced with "B") the CCD is associated with. */ + @com.fasterxml.jackson.annotation.JsonProperty("sku") + private final String sku; + + /** + * The SKU part number (prefaced with "B") the CCD is associated with. + * + * @return the value + */ + public String getSku() { + return sku; + } + + /** The pricing model associated with the currency code. */ + @com.fasterxml.jackson.annotation.JsonProperty("currencyCodeLocalization") + private final java.util.List currencyCodeLocalization; + + /** + * The pricing model associated with the currency code. + * + * @return the value + */ + public java.util.List getCurrencyCodeLocalization() { + return currencyCodeLocalization; + } + + @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("SkuExternalPriceModel("); + sb.append("super=").append(super.toString()); + sb.append("sku=").append(String.valueOf(this.sku)); + sb.append(", currencyCodeLocalization=") + .append(String.valueOf(this.currencyCodeLocalization)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof SkuExternalPriceModel)) { + return false; + } + + SkuExternalPriceModel other = (SkuExternalPriceModel) o; + return java.util.Objects.equals(this.sku, other.sku) + && java.util.Objects.equals( + this.currencyCodeLocalization, other.currencyCodeLocalization) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.sku == null ? 43 : this.sku.hashCode()); + result = + (result * PRIME) + + (this.currencyCodeLocalization == null + ? 43 + : this.currencyCodeLocalization.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/UpdateCcdCommitmentDetails.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/UpdateCcdCommitmentDetails.java new file mode 100644 index 00000000000..0a6a9a64949 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/UpdateCcdCommitmentDetails.java @@ -0,0 +1,215 @@ +/** + * 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.ccdoffers.model; + +/** + * Tag-only update details for a CCD commitment. At least one tag family must be supplied. An + * omitted tag family is preserved, an empty map removes all tags in that family, and a non-empty + * map replaces the complete tag family.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateCcdCommitmentDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateCcdCommitmentDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"freeformTags", "definedTags"}) + public UpdateCcdCommitmentDetails( + java.util.Map freeformTags, + java.util.Map> definedTags) { + super(); + this.freeformTags = freeformTags; + this.definedTags = definedTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * 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; + } + /** + * 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; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateCcdCommitmentDetails build() { + UpdateCcdCommitmentDetails model = + new UpdateCcdCommitmentDetails(this.freeformTags, this.definedTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateCcdCommitmentDetails model) { + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(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 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; + } + + /** + * 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; + } + + @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("UpdateCcdCommitmentDetails("); + sb.append("super=").append(super.toString()); + sb.append("freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateCcdCommitmentDetails)) { + return false; + } + + UpdateCcdCommitmentDetails other = (UpdateCcdCommitmentDetails) o; + return java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/UsageEligibility.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/UsageEligibility.java new file mode 100644 index 00000000000..52a16570b42 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/model/UsageEligibility.java @@ -0,0 +1,284 @@ +/** + * 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.ccdoffers.model; + +/** + * The CCD commitment applicability restrictions. If the CCD offer has been created with any region- + * or AD-specific offer restriction, then it will be honored first over the usage eligibility + * criteria.
+ * 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: 20240601") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = UsageEligibility.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UsageEligibility + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "compartmentIds", + "region", + "availabilityDomain", + "tenancyIds" + }) + public UsageEligibility( + java.util.List compartmentIds, + String region, + String availabilityDomain, + java.util.List tenancyIds) { + super(); + this.compartmentIds = compartmentIds; + this.region = region; + this.availabilityDomain = availabilityDomain; + this.tenancyIds = tenancyIds; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The compartment OCID the CCD commitment is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentIds") + private java.util.List compartmentIds; + + /** + * The compartment OCID the CCD commitment is applicable to. + * + * @param compartmentIds the value to set + * @return this builder + */ + public Builder compartmentIds(java.util.List compartmentIds) { + this.compartmentIds = compartmentIds; + this.__explicitlySet__.add("compartmentIds"); + return this; + } + /** + * The region the CCD commitment is applicable to. If the CCD offer has already been + * restricted to any specific region, then the offer will supersede this input. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private String region; + + /** + * The region the CCD commitment is applicable to. If the CCD offer has already been + * restricted to any specific region, then the offer will supersede this input. + * + * @param region the value to set + * @return this builder + */ + public Builder region(String region) { + this.region = region; + this.__explicitlySet__.add("region"); + return this; + } + /** + * The Availability Domain the CCD is applicable to. If you're setting the {@code + * availabilityDomain}, ensure to also set the {@code region} property value. If the CCD + * offer has already been restricted to a specific Availability Domain, then the offer will + * supersede this input. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private String availabilityDomain; + + /** + * The Availability Domain the CCD is applicable to. If you're setting the {@code + * availabilityDomain}, ensure to also set the {@code region} property value. If the CCD + * offer has already been restricted to a specific Availability Domain, then the offer will + * supersede this input. + * + * @param availabilityDomain the value to set + * @return this builder + */ + public Builder availabilityDomain(String availabilityDomain) { + this.availabilityDomain = availabilityDomain; + this.__explicitlySet__.add("availabilityDomain"); + return this; + } + /** The tenancy IDs the CCD commitment is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyIds") + private java.util.List tenancyIds; + + /** + * The tenancy IDs the CCD commitment is applicable to. + * + * @param tenancyIds the value to set + * @return this builder + */ + public Builder tenancyIds(java.util.List tenancyIds) { + this.tenancyIds = tenancyIds; + this.__explicitlySet__.add("tenancyIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UsageEligibility build() { + UsageEligibility model = + new UsageEligibility( + this.compartmentIds, + this.region, + this.availabilityDomain, + this.tenancyIds); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UsageEligibility model) { + if (model.wasPropertyExplicitlySet("compartmentIds")) { + this.compartmentIds(model.getCompartmentIds()); + } + if (model.wasPropertyExplicitlySet("region")) { + this.region(model.getRegion()); + } + if (model.wasPropertyExplicitlySet("availabilityDomain")) { + this.availabilityDomain(model.getAvailabilityDomain()); + } + if (model.wasPropertyExplicitlySet("tenancyIds")) { + this.tenancyIds(model.getTenancyIds()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The compartment OCID the CCD commitment is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentIds") + private final java.util.List compartmentIds; + + /** + * The compartment OCID the CCD commitment is applicable to. + * + * @return the value + */ + public java.util.List getCompartmentIds() { + return compartmentIds; + } + + /** + * The region the CCD commitment is applicable to. If the CCD offer has already been restricted + * to any specific region, then the offer will supersede this input. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private final String region; + + /** + * The region the CCD commitment is applicable to. If the CCD offer has already been restricted + * to any specific region, then the offer will supersede this input. + * + * @return the value + */ + public String getRegion() { + return region; + } + + /** + * The Availability Domain the CCD is applicable to. If you're setting the {@code + * availabilityDomain}, ensure to also set the {@code region} property value. If the CCD offer + * has already been restricted to a specific Availability Domain, then the offer will supersede + * this input. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private final String availabilityDomain; + + /** + * The Availability Domain the CCD is applicable to. If you're setting the {@code + * availabilityDomain}, ensure to also set the {@code region} property value. If the CCD offer + * has already been restricted to a specific Availability Domain, then the offer will supersede + * this input. + * + * @return the value + */ + public String getAvailabilityDomain() { + return availabilityDomain; + } + + /** The tenancy IDs the CCD commitment is applicable to. */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyIds") + private final java.util.List tenancyIds; + + /** + * The tenancy IDs the CCD commitment is applicable to. + * + * @return the value + */ + public java.util.List getTenancyIds() { + return tenancyIds; + } + + @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("UsageEligibility("); + sb.append("super=").append(super.toString()); + sb.append("compartmentIds=").append(String.valueOf(this.compartmentIds)); + sb.append(", region=").append(String.valueOf(this.region)); + sb.append(", availabilityDomain=").append(String.valueOf(this.availabilityDomain)); + sb.append(", tenancyIds=").append(String.valueOf(this.tenancyIds)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UsageEligibility)) { + return false; + } + + UsageEligibility other = (UsageEligibility) o; + return java.util.Objects.equals(this.compartmentIds, other.compartmentIds) + && java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.availabilityDomain, other.availabilityDomain) + && java.util.Objects.equals(this.tenancyIds, other.tenancyIds) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.compartmentIds == null ? 43 : this.compartmentIds.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = + (result * PRIME) + + (this.availabilityDomain == null + ? 43 + : this.availabilityDomain.hashCode()); + result = (result * PRIME) + (this.tenancyIds == null ? 43 : this.tenancyIds.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/CreateCcdCommitmentRequest.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/CreateCcdCommitmentRequest.java new file mode 100644 index 00000000000..c38d4c6417c --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/CreateCcdCommitmentRequest.java @@ -0,0 +1,319 @@ +/** + * 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.ccdoffers.requests; + +import com.oracle.bmc.ccdoffers.model.*; +/** + * Example: Click here to see how to use CreateCcdCommitmentRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CreateCcdCommitmentRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.ccdoffers.model.CreateCcdCommitmentDetails> { + + /** + * CCD offer OCID. If you're trying to commit against the CCD offer, ensure that the CCD offer's + * {@code lifecycleDetails} field value is Current or Scheduled. You can only sign up for a + * current or scheduled CCD offer, but not for any canceled, or ended CCD offer. + */ + private String ccdOfferId; + + /** + * CCD offer OCID. If you're trying to commit against the CCD offer, ensure that the CCD offer's + * {@code lifecycleDetails} field value is Current or Scheduled. You can only sign up for a + * current or scheduled CCD offer, but not for any canceled, or ended CCD offer. + */ + public String getCcdOfferId() { + return ccdOfferId; + } + /** The create CCD commitment details model. */ + private com.oracle.bmc.ccdoffers.model.CreateCcdCommitmentDetails createCcdCommitmentDetails; + + /** The create CCD commitment details model. */ + public com.oracle.bmc.ccdoffers.model.CreateCcdCommitmentDetails + getCreateCcdCommitmentDetails() { + return createCcdCommitmentDetails; + } + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.ccdoffers.model.CreateCcdCommitmentDetails getBody$() { + return createCcdCommitmentDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + CreateCcdCommitmentRequest, + com.oracle.bmc.ccdoffers.model.CreateCcdCommitmentDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * CCD offer OCID. If you're trying to commit against the CCD offer, ensure that the CCD + * offer's {@code lifecycleDetails} field value is Current or Scheduled. You can only sign + * up for a current or scheduled CCD offer, but not for any canceled, or ended CCD offer. + */ + private String ccdOfferId = null; + + /** + * CCD offer OCID. If you're trying to commit against the CCD offer, ensure that the CCD + * offer's {@code lifecycleDetails} field value is Current or Scheduled. You can only sign + * up for a current or scheduled CCD offer, but not for any canceled, or ended CCD offer. + * + * @param ccdOfferId the value to set + * @return this builder instance + */ + public Builder ccdOfferId(String ccdOfferId) { + this.ccdOfferId = ccdOfferId; + return this; + } + + /** The create CCD commitment details model. */ + private com.oracle.bmc.ccdoffers.model.CreateCcdCommitmentDetails + createCcdCommitmentDetails = null; + + /** + * The create CCD commitment details model. + * + * @param createCcdCommitmentDetails the value to set + * @return this builder instance + */ + public Builder createCcdCommitmentDetails( + com.oracle.bmc.ccdoffers.model.CreateCcdCommitmentDetails + createCcdCommitmentDetails) { + this.createCcdCommitmentDetails = createCcdCommitmentDetails; + return this; + } + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(CreateCcdCommitmentRequest o) { + ccdOfferId(o.getCcdOfferId()); + createCcdCommitmentDetails(o.getCreateCcdCommitmentDetails()); + opcRetryToken(o.getOpcRetryToken()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of CreateCcdCommitmentRequest 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 CreateCcdCommitmentRequest + */ + public CreateCcdCommitmentRequest build() { + CreateCcdCommitmentRequest 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.ccdoffers.model.CreateCcdCommitmentDetails body) { + createCcdCommitmentDetails(body); + return this; + } + + /** + * Build the instance of CreateCcdCommitmentRequest 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 CreateCcdCommitmentRequest + */ + public CreateCcdCommitmentRequest buildWithoutInvocationCallback() { + CreateCcdCommitmentRequest request = new CreateCcdCommitmentRequest(); + request.ccdOfferId = ccdOfferId; + request.createCcdCommitmentDetails = createCcdCommitmentDetails; + request.opcRetryToken = opcRetryToken; + request.opcRequestId = opcRequestId; + return request; + // new CreateCcdCommitmentRequest(ccdOfferId, createCcdCommitmentDetails, opcRetryToken, + // opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .ccdOfferId(ccdOfferId) + .createCcdCommitmentDetails(createCcdCommitmentDetails) + .opcRetryToken(opcRetryToken) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",ccdOfferId=").append(String.valueOf(this.ccdOfferId)); + sb.append(",createCcdCommitmentDetails=") + .append(String.valueOf(this.createCcdCommitmentDetails)); + sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateCcdCommitmentRequest)) { + return false; + } + + CreateCcdCommitmentRequest other = (CreateCcdCommitmentRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.ccdOfferId, other.ccdOfferId) + && java.util.Objects.equals( + this.createCcdCommitmentDetails, other.createCcdCommitmentDetails) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.ccdOfferId == null ? 43 : this.ccdOfferId.hashCode()); + result = + (result * PRIME) + + (this.createCcdCommitmentDetails == null + ? 43 + : this.createCcdCommitmentDetails.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/DeleteCcdCommitmentRequest.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/DeleteCcdCommitmentRequest.java new file mode 100644 index 00000000000..42be9d39d0c --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/DeleteCcdCommitmentRequest.java @@ -0,0 +1,249 @@ +/** + * 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.ccdoffers.requests; + +import com.oracle.bmc.ccdoffers.model.*; +/** + * Example: Click here to see how to use DeleteCcdCommitmentRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class DeleteCcdCommitmentRequest extends com.oracle.bmc.requests.BmcRequest { + + /** CCD commitment OCID. */ + private String ccdCommitmentId; + + /** CCD commitment OCID. */ + public String getCcdCommitmentId() { + return ccdCommitmentId; + } + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource is 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 is updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + DeleteCcdCommitmentRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** CCD commitment OCID. */ + private String ccdCommitmentId = null; + + /** + * CCD commitment OCID. + * + * @param ccdCommitmentId the value to set + * @return this builder instance + */ + public Builder ccdCommitmentId(String ccdCommitmentId) { + this.ccdCommitmentId = ccdCommitmentId; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource is 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 is updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(DeleteCcdCommitmentRequest o) { + ccdCommitmentId(o.getCcdCommitmentId()); + opcRequestId(o.getOpcRequestId()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of DeleteCcdCommitmentRequest 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 DeleteCcdCommitmentRequest + */ + public DeleteCcdCommitmentRequest build() { + DeleteCcdCommitmentRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of DeleteCcdCommitmentRequest 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 DeleteCcdCommitmentRequest + */ + public DeleteCcdCommitmentRequest buildWithoutInvocationCallback() { + DeleteCcdCommitmentRequest request = new DeleteCcdCommitmentRequest(); + request.ccdCommitmentId = ccdCommitmentId; + request.opcRequestId = opcRequestId; + request.ifMatch = ifMatch; + return request; + // new DeleteCcdCommitmentRequest(ccdCommitmentId, opcRequestId, ifMatch); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .ccdCommitmentId(ccdCommitmentId) + .opcRequestId(opcRequestId) + .ifMatch(ifMatch); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",ccdCommitmentId=").append(String.valueOf(this.ccdCommitmentId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DeleteCcdCommitmentRequest)) { + return false; + } + + DeleteCcdCommitmentRequest other = (DeleteCcdCommitmentRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.ccdCommitmentId, other.ccdCommitmentId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.ifMatch, other.ifMatch); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.ccdCommitmentId == null ? 43 : this.ccdCommitmentId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/GetCcdCommitmentRequest.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/GetCcdCommitmentRequest.java new file mode 100644 index 00000000000..11add75eeaa --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/GetCcdCommitmentRequest.java @@ -0,0 +1,202 @@ +/** + * 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.ccdoffers.requests; + +import com.oracle.bmc.ccdoffers.model.*; +/** + * Example: Click here to see how to use GetCcdCommitmentRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class GetCcdCommitmentRequest extends com.oracle.bmc.requests.BmcRequest { + + /** CCD commitment OCID. */ + private String ccdCommitmentId; + + /** CCD commitment OCID. */ + public String getCcdCommitmentId() { + return ccdCommitmentId; + } + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + GetCcdCommitmentRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** CCD commitment OCID. */ + private String ccdCommitmentId = null; + + /** + * CCD commitment OCID. + * + * @param ccdCommitmentId the value to set + * @return this builder instance + */ + public Builder ccdCommitmentId(String ccdCommitmentId) { + this.ccdCommitmentId = ccdCommitmentId; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(GetCcdCommitmentRequest o) { + ccdCommitmentId(o.getCcdCommitmentId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetCcdCommitmentRequest 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 GetCcdCommitmentRequest + */ + public GetCcdCommitmentRequest build() { + GetCcdCommitmentRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetCcdCommitmentRequest 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 GetCcdCommitmentRequest + */ + public GetCcdCommitmentRequest buildWithoutInvocationCallback() { + GetCcdCommitmentRequest request = new GetCcdCommitmentRequest(); + request.ccdCommitmentId = ccdCommitmentId; + request.opcRequestId = opcRequestId; + return request; + // new GetCcdCommitmentRequest(ccdCommitmentId, opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder().ccdCommitmentId(ccdCommitmentId).opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",ccdCommitmentId=").append(String.valueOf(this.ccdCommitmentId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetCcdCommitmentRequest)) { + return false; + } + + GetCcdCommitmentRequest other = (GetCcdCommitmentRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.ccdCommitmentId, other.ccdCommitmentId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.ccdCommitmentId == null ? 43 : this.ccdCommitmentId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/GetCcdOfferRequest.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/GetCcdOfferRequest.java new file mode 100644 index 00000000000..579b71e90c6 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/GetCcdOfferRequest.java @@ -0,0 +1,239 @@ +/** + * 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.ccdoffers.requests; + +import com.oracle.bmc.ccdoffers.model.*; +/** + * Example: Click here to see how to use GetCcdOfferRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class GetCcdOfferRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The CCD offer [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String ccdOfferId; + + /** + * The CCD offer [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getCcdOfferId() { + return ccdOfferId; + } + /** The subscription ID associated with the CCD offer. */ + private String subscriptionId; + + /** The subscription ID associated with the CCD offer. */ + public String getSubscriptionId() { + return subscriptionId; + } + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + GetCcdOfferRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The CCD offer + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String ccdOfferId = null; + + /** + * The CCD offer + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param ccdOfferId the value to set + * @return this builder instance + */ + public Builder ccdOfferId(String ccdOfferId) { + this.ccdOfferId = ccdOfferId; + return this; + } + + /** The subscription ID associated with the CCD offer. */ + private String subscriptionId = null; + + /** + * The subscription ID associated with the CCD offer. + * + * @param subscriptionId the value to set + * @return this builder instance + */ + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(GetCcdOfferRequest o) { + ccdOfferId(o.getCcdOfferId()); + subscriptionId(o.getSubscriptionId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetCcdOfferRequest 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 GetCcdOfferRequest + */ + public GetCcdOfferRequest build() { + GetCcdOfferRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetCcdOfferRequest 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 GetCcdOfferRequest + */ + public GetCcdOfferRequest buildWithoutInvocationCallback() { + GetCcdOfferRequest request = new GetCcdOfferRequest(); + request.ccdOfferId = ccdOfferId; + request.subscriptionId = subscriptionId; + request.opcRequestId = opcRequestId; + return request; + // new GetCcdOfferRequest(ccdOfferId, subscriptionId, opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .ccdOfferId(ccdOfferId) + .subscriptionId(subscriptionId) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",ccdOfferId=").append(String.valueOf(this.ccdOfferId)); + sb.append(",subscriptionId=").append(String.valueOf(this.subscriptionId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetCcdOfferRequest)) { + return false; + } + + GetCcdOfferRequest other = (GetCcdOfferRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.ccdOfferId, other.ccdOfferId) + && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.ccdOfferId == null ? 43 : this.ccdOfferId.hashCode()); + result = + (result * PRIME) + + (this.subscriptionId == null ? 43 : this.subscriptionId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/ListCcdCommitmentsRequest.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/ListCcdCommitmentsRequest.java new file mode 100644 index 00000000000..24a9ee599e0 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/ListCcdCommitmentsRequest.java @@ -0,0 +1,578 @@ +/** + * 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.ccdoffers.requests; + +import com.oracle.bmc.ccdoffers.model.*; +/** + * Example: Click here to see how to use ListCcdCommitmentsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class ListCcdCommitmentsRequest extends com.oracle.bmc.requests.BmcRequest { + + /** The subscription ID associated with the CCD offer. */ + private String subscriptionId; + + /** The subscription ID associated with the CCD offer. */ + public String getSubscriptionId() { + return subscriptionId; + } + /** The OCID of the compartment (remember that the tenancy is simply the root compartment). */ + private String compartmentId; + + /** The OCID of the compartment (remember that the tenancy is simply the root compartment). */ + public String getCompartmentId() { + return compartmentId; + } + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + /** The value of the {@code opc-next-page} response header from the previous "List" call. */ + private String page; + + /** The value of the {@code opc-next-page} response header from the previous "List" call. */ + public String getPage() { + return page; + } + /** The maximum number of items to return in a paginated "List" call. */ + private Integer limit; + + /** The maximum number of items to return in a paginated "List" call. */ + public Integer getLimit() { + return limit; + } + /** + * The lifecycle of a CCD commitment that's being requested, which always defaults to Active. If + * you want to filter by scheduled, current, awaiting provisioning, canceled, or ended, use the + * {@code lifecycleDetails} query parameter. + */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleState lifecycleState; + + /** + * The lifecycle of a CCD commitment that's being requested, which always defaults to Active. If + * you want to filter by scheduled, current, awaiting provisioning, canceled, or ended, use the + * {@code lifecycleDetails} query parameter. + */ + public com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleState getLifecycleState() { + return lifecycleState; + } + /** + * The lifecycle details of a CCD commitment that's being requested. The accepted values are + * Scheduled, Current, Awaiting Provisioning, Canceled, or Ended. If a null or empty value is + * passed, it will return for all resources. + */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleDetails lifecycleDetails; + + /** + * The lifecycle details of a CCD commitment that's being requested. The accepted values are + * Scheduled, Current, Awaiting Provisioning, Canceled, or Ended. If a null or empty value is + * passed, it will return for all resources. + */ + public com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleDetails getLifecycleDetails() { + return lifecycleDetails; + } + /** + * Filter CCD offers or commitments by the commercial workflow that created the associated + * offer. + */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.SourceType sourceType; + + /** + * Filter CCD offers or commitments by the commercial workflow that created the associated + * offer. + */ + public com.oracle.bmc.ccdoffers.model.CcdOffer.SourceType getSourceType() { + return sourceType; + } + /** The sort order to use, whether "asc" or "desc". By default, it is ascending. */ + private SortOrder sortOrder; + + /** The sort order to use, whether "asc" or "desc". By default, it is ascending. */ + public enum SortOrder implements com.oracle.bmc.http.internal.BmcEnum { + Asc("ASC"), + Desc("DESC"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortOrder v : SortOrder.values()) { + map.put(v.getValue(), v); + } + } + + SortOrder(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortOrder create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortOrder: " + key); + } + }; + + /** The sort order to use, whether "asc" or "desc". By default, it is ascending. */ + public SortOrder getSortOrder() { + return sortOrder; + } + /** Filter by the resource display name. */ + private String displayName; + + /** Filter by the resource display name. */ + public String getDisplayName() { + return displayName; + } + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + */ + private SortBy sortBy; + + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + */ + public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum { + Displayname("DISPLAYNAME"), + Timecreated("TIMECREATED"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortBy v : SortBy.values()) { + map.put(v.getValue(), v); + } + } + + SortBy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortBy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortBy: " + key); + } + }; + + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + */ + public SortBy getSortBy() { + return sortBy; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListCcdCommitmentsRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The subscription ID associated with the CCD offer. */ + private String subscriptionId = null; + + /** + * The subscription ID associated with the CCD offer. + * + * @param subscriptionId the value to set + * @return this builder instance + */ + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * The OCID of the compartment (remember that the tenancy is simply the root compartment). + */ + private String compartmentId = null; + + /** + * The OCID of the compartment (remember that the tenancy is simply the root compartment). + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** The value of the {@code opc-next-page} response header from the previous "List" call. */ + private String page = null; + + /** + * The value of the {@code opc-next-page} response header from the previous "List" call. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** The maximum number of items to return in a paginated "List" call. */ + private Integer limit = null; + + /** + * The maximum number of items to return in a paginated "List" call. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * The lifecycle of a CCD commitment that's being requested, which always defaults to + * Active. If you want to filter by scheduled, current, awaiting provisioning, canceled, or + * ended, use the {@code lifecycleDetails} query parameter. + */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleState lifecycleState = null; + + /** + * The lifecycle of a CCD commitment that's being requested, which always defaults to + * Active. If you want to filter by scheduled, current, awaiting provisioning, canceled, or + * ended, use the {@code lifecycleDetails} query parameter. + * + * @param lifecycleState the value to set + * @return this builder instance + */ + public Builder lifecycleState( + com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + return this; + } + + /** + * The lifecycle details of a CCD commitment that's being requested. The accepted values are + * Scheduled, Current, Awaiting Provisioning, Canceled, or Ended. If a null or empty value + * is passed, it will return for all resources. + */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleDetails lifecycleDetails = + null; + + /** + * The lifecycle details of a CCD commitment that's being requested. The accepted values are + * Scheduled, Current, Awaiting Provisioning, Canceled, or Ended. If a null or empty value + * is passed, it will return for all resources. + * + * @param lifecycleDetails the value to set + * @return this builder instance + */ + public Builder lifecycleDetails( + com.oracle.bmc.ccdoffers.model.CcdCommitment.LifecycleDetails lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + return this; + } + + /** + * Filter CCD offers or commitments by the commercial workflow that created the associated + * offer. + */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.SourceType sourceType = null; + + /** + * Filter CCD offers or commitments by the commercial workflow that created the associated + * offer. + * + * @param sourceType the value to set + * @return this builder instance + */ + public Builder sourceType(com.oracle.bmc.ccdoffers.model.CcdOffer.SourceType sourceType) { + this.sourceType = sourceType; + return this; + } + + /** The sort order to use, whether "asc" or "desc". By default, it is ascending. */ + private SortOrder sortOrder = null; + + /** + * The sort order to use, whether "asc" or "desc". By default, it is ascending. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** Filter by the resource display name. */ + private String displayName = null; + + /** + * Filter by the resource display name. + * + * @param displayName the value to set + * @return this builder instance + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + */ + private SortBy sortBy = null; + + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(SortBy sortBy) { + this.sortBy = sortBy; + 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(ListCcdCommitmentsRequest o) { + subscriptionId(o.getSubscriptionId()); + compartmentId(o.getCompartmentId()); + opcRequestId(o.getOpcRequestId()); + page(o.getPage()); + limit(o.getLimit()); + lifecycleState(o.getLifecycleState()); + lifecycleDetails(o.getLifecycleDetails()); + sourceType(o.getSourceType()); + sortOrder(o.getSortOrder()); + displayName(o.getDisplayName()); + sortBy(o.getSortBy()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListCcdCommitmentsRequest 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 ListCcdCommitmentsRequest + */ + public ListCcdCommitmentsRequest build() { + ListCcdCommitmentsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListCcdCommitmentsRequest 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 ListCcdCommitmentsRequest + */ + public ListCcdCommitmentsRequest buildWithoutInvocationCallback() { + ListCcdCommitmentsRequest request = new ListCcdCommitmentsRequest(); + request.subscriptionId = subscriptionId; + request.compartmentId = compartmentId; + request.opcRequestId = opcRequestId; + request.page = page; + request.limit = limit; + request.lifecycleState = lifecycleState; + request.lifecycleDetails = lifecycleDetails; + request.sourceType = sourceType; + request.sortOrder = sortOrder; + request.displayName = displayName; + request.sortBy = sortBy; + return request; + // new ListCcdCommitmentsRequest(subscriptionId, compartmentId, opcRequestId, page, + // limit, lifecycleState, lifecycleDetails, sourceType, sortOrder, displayName, sortBy); + } + } + + /** + * 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() + .subscriptionId(subscriptionId) + .compartmentId(compartmentId) + .opcRequestId(opcRequestId) + .page(page) + .limit(limit) + .lifecycleState(lifecycleState) + .lifecycleDetails(lifecycleDetails) + .sourceType(sourceType) + .sortOrder(sortOrder) + .displayName(displayName) + .sortBy(sortBy); + } + + /** + * 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(",subscriptionId=").append(String.valueOf(this.subscriptionId)); + sb.append(",compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",limit=").append(String.valueOf(this.limit)); + sb.append(",lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(",lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(",sourceType=").append(String.valueOf(this.sourceType)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",displayName=").append(String.valueOf(this.displayName)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListCcdCommitmentsRequest)) { + return false; + } + + ListCcdCommitmentsRequest other = (ListCcdCommitmentsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.sourceType, other.sourceType) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.sortBy, other.sortBy); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.subscriptionId == null ? 43 : this.subscriptionId.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode()); + result = (result * PRIME) + (this.sourceType == null ? 43 : this.sourceType.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/ListCcdOffersRequest.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/ListCcdOffersRequest.java new file mode 100644 index 00000000000..511a867109a --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/ListCcdOffersRequest.java @@ -0,0 +1,606 @@ +/** + * 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.ccdoffers.requests; + +import com.oracle.bmc.ccdoffers.model.*; +/** + * Example: Click here to see how to use ListCcdOffersRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class ListCcdOffersRequest extends com.oracle.bmc.requests.BmcRequest { + + /** The subscription ID associated with the CCD offer. */ + private String subscriptionId; + + /** The subscription ID associated with the CCD offer. */ + public String getSubscriptionId() { + return subscriptionId; + } + /** The OCID of the compartment (remember that the tenancy is simply the root compartment). */ + private String compartmentId; + + /** The OCID of the compartment (remember that the tenancy is simply the root compartment). */ + public String getCompartmentId() { + return compartmentId; + } + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + /** The value of the {@code opc-next-page} response header from the previous "List" call. */ + private String page; + + /** The value of the {@code opc-next-page} response header from the previous "List" call. */ + public String getPage() { + return page; + } + /** The maximum number of items to return in a paginated "List" call. */ + private Integer limit; + + /** The maximum number of items to return in a paginated "List" call. */ + public Integer getLimit() { + return limit; + } + /** + * The life cycle of a CCD offer that's being requested, which always defaults to {@code + * Active}. If you want to filter by scheduled, current, canceled, or ended, use the {@code + * lifecycleDetails} query parameter. + */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleState lifecycleState; + + /** + * The life cycle of a CCD offer that's being requested, which always defaults to {@code + * Active}. If you want to filter by scheduled, current, canceled, or ended, use the {@code + * lifecycleDetails} query parameter. + */ + public com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleState getLifecycleState() { + return lifecycleState; + } + /** + * The life cycle details of a CCD offer that's being requested. The accepted values are + * Scheduled, Current, Canceled, or Ended. If a null or empty value is passed, it will return + * for all resources. + */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleDetails lifecycleDetails; + + /** + * The life cycle details of a CCD offer that's being requested. The accepted values are + * Scheduled, Current, Canceled, or Ended. If a null or empty value is passed, it will return + * for all resources. + */ + public com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleDetails getLifecycleDetails() { + return lifecycleDetails; + } + /** The CCD offer type to use when filtering results. */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.TypeOfOffer typeOfOffer; + + /** The CCD offer type to use when filtering results. */ + public com.oracle.bmc.ccdoffers.model.CcdOffer.TypeOfOffer getTypeOfOffer() { + return typeOfOffer; + } + /** + * Filter CCD offers or commitments by the commercial workflow that created the associated + * offer. + */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.SourceType sourceType; + + /** + * Filter CCD offers or commitments by the commercial workflow that created the associated + * offer. + */ + public com.oracle.bmc.ccdoffers.model.CcdOffer.SourceType getSourceType() { + return sourceType; + } + /** The sort order to use, whether "asc" or "desc". By default, it is ascending. */ + private SortOrder sortOrder; + + /** The sort order to use, whether "asc" or "desc". By default, it is ascending. */ + public enum SortOrder implements com.oracle.bmc.http.internal.BmcEnum { + Asc("ASC"), + Desc("DESC"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortOrder v : SortOrder.values()) { + map.put(v.getValue(), v); + } + } + + SortOrder(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortOrder create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortOrder: " + key); + } + }; + + /** The sort order to use, whether "asc" or "desc". By default, it is ascending. */ + public SortOrder getSortOrder() { + return sortOrder; + } + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + */ + private SortBy sortBy; + + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + */ + public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum { + Displayname("DISPLAYNAME"), + Timecreated("TIMECREATED"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortBy v : SortBy.values()) { + map.put(v.getValue(), v); + } + } + + SortBy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortBy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortBy: " + key); + } + }; + + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + */ + public SortBy getSortBy() { + return sortBy; + } + /** Filter by the resource display name. */ + private String displayName; + + /** Filter by the resource display name. */ + public String getDisplayName() { + return displayName; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListCcdOffersRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The subscription ID associated with the CCD offer. */ + private String subscriptionId = null; + + /** + * The subscription ID associated with the CCD offer. + * + * @param subscriptionId the value to set + * @return this builder instance + */ + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /** + * The OCID of the compartment (remember that the tenancy is simply the root compartment). + */ + private String compartmentId = null; + + /** + * The OCID of the compartment (remember that the tenancy is simply the root compartment). + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** The value of the {@code opc-next-page} response header from the previous "List" call. */ + private String page = null; + + /** + * The value of the {@code opc-next-page} response header from the previous "List" call. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** The maximum number of items to return in a paginated "List" call. */ + private Integer limit = null; + + /** + * The maximum number of items to return in a paginated "List" call. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * The life cycle of a CCD offer that's being requested, which always defaults to {@code + * Active}. If you want to filter by scheduled, current, canceled, or ended, use the {@code + * lifecycleDetails} query parameter. + */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleState lifecycleState = null; + + /** + * The life cycle of a CCD offer that's being requested, which always defaults to {@code + * Active}. If you want to filter by scheduled, current, canceled, or ended, use the {@code + * lifecycleDetails} query parameter. + * + * @param lifecycleState the value to set + * @return this builder instance + */ + public Builder lifecycleState( + com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + return this; + } + + /** + * The life cycle details of a CCD offer that's being requested. The accepted values are + * Scheduled, Current, Canceled, or Ended. If a null or empty value is passed, it will + * return for all resources. + */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleDetails lifecycleDetails = null; + + /** + * The life cycle details of a CCD offer that's being requested. The accepted values are + * Scheduled, Current, Canceled, or Ended. If a null or empty value is passed, it will + * return for all resources. + * + * @param lifecycleDetails the value to set + * @return this builder instance + */ + public Builder lifecycleDetails( + com.oracle.bmc.ccdoffers.model.CcdOffer.LifecycleDetails lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + return this; + } + + /** The CCD offer type to use when filtering results. */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.TypeOfOffer typeOfOffer = null; + + /** + * The CCD offer type to use when filtering results. + * + * @param typeOfOffer the value to set + * @return this builder instance + */ + public Builder typeOfOffer( + com.oracle.bmc.ccdoffers.model.CcdOffer.TypeOfOffer typeOfOffer) { + this.typeOfOffer = typeOfOffer; + return this; + } + + /** + * Filter CCD offers or commitments by the commercial workflow that created the associated + * offer. + */ + private com.oracle.bmc.ccdoffers.model.CcdOffer.SourceType sourceType = null; + + /** + * Filter CCD offers or commitments by the commercial workflow that created the associated + * offer. + * + * @param sourceType the value to set + * @return this builder instance + */ + public Builder sourceType(com.oracle.bmc.ccdoffers.model.CcdOffer.SourceType sourceType) { + this.sourceType = sourceType; + return this; + } + + /** The sort order to use, whether "asc" or "desc". By default, it is ascending. */ + private SortOrder sortOrder = null; + + /** + * The sort order to use, whether "asc" or "desc". By default, it is ascending. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + */ + private SortBy sortBy = null; + + /** + * The sort by field to use, whether "DISPLAYNAME" or "TIMECREATED". By default, it is + * TIMECREATED. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(SortBy sortBy) { + this.sortBy = sortBy; + return this; + } + + /** Filter by the resource display name. */ + private String displayName = null; + + /** + * Filter by the resource display name. + * + * @param displayName the value to set + * @return this builder instance + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + 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(ListCcdOffersRequest o) { + subscriptionId(o.getSubscriptionId()); + compartmentId(o.getCompartmentId()); + opcRequestId(o.getOpcRequestId()); + page(o.getPage()); + limit(o.getLimit()); + lifecycleState(o.getLifecycleState()); + lifecycleDetails(o.getLifecycleDetails()); + typeOfOffer(o.getTypeOfOffer()); + sourceType(o.getSourceType()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + displayName(o.getDisplayName()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListCcdOffersRequest 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 ListCcdOffersRequest + */ + public ListCcdOffersRequest build() { + ListCcdOffersRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListCcdOffersRequest 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 ListCcdOffersRequest + */ + public ListCcdOffersRequest buildWithoutInvocationCallback() { + ListCcdOffersRequest request = new ListCcdOffersRequest(); + request.subscriptionId = subscriptionId; + request.compartmentId = compartmentId; + request.opcRequestId = opcRequestId; + request.page = page; + request.limit = limit; + request.lifecycleState = lifecycleState; + request.lifecycleDetails = lifecycleDetails; + request.typeOfOffer = typeOfOffer; + request.sourceType = sourceType; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.displayName = displayName; + return request; + // new ListCcdOffersRequest(subscriptionId, compartmentId, opcRequestId, page, limit, + // lifecycleState, lifecycleDetails, typeOfOffer, sourceType, sortOrder, sortBy, + // displayName); + } + } + + /** + * 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() + .subscriptionId(subscriptionId) + .compartmentId(compartmentId) + .opcRequestId(opcRequestId) + .page(page) + .limit(limit) + .lifecycleState(lifecycleState) + .lifecycleDetails(lifecycleDetails) + .typeOfOffer(typeOfOffer) + .sourceType(sourceType) + .sortOrder(sortOrder) + .sortBy(sortBy) + .displayName(displayName); + } + + /** + * 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(",subscriptionId=").append(String.valueOf(this.subscriptionId)); + sb.append(",compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",limit=").append(String.valueOf(this.limit)); + sb.append(",lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(",lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(",typeOfOffer=").append(String.valueOf(this.typeOfOffer)); + sb.append(",sourceType=").append(String.valueOf(this.sourceType)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",displayName=").append(String.valueOf(this.displayName)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListCcdOffersRequest)) { + return false; + } + + ListCcdOffersRequest other = (ListCcdOffersRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.typeOfOffer, other.typeOfOffer) + && java.util.Objects.equals(this.sourceType, other.sourceType) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.displayName, other.displayName); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.subscriptionId == null ? 43 : this.subscriptionId.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode()); + result = (result * PRIME) + (this.typeOfOffer == null ? 43 : this.typeOfOffer.hashCode()); + result = (result * PRIME) + (this.sourceType == null ? 43 : this.sourceType.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/UpdateCcdCommitmentRequest.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/UpdateCcdCommitmentRequest.java new file mode 100644 index 00000000000..2558e116c10 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/requests/UpdateCcdCommitmentRequest.java @@ -0,0 +1,313 @@ +/** + * 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.ccdoffers.requests; + +import com.oracle.bmc.ccdoffers.model.*; +/** + * Example: Click here to see how to use UpdateCcdCommitmentRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class UpdateCcdCommitmentRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.ccdoffers.model.UpdateCcdCommitmentDetails> { + + /** CCD commitment OCID. */ + private String ccdCommitmentId; + + /** CCD commitment OCID. */ + public String getCcdCommitmentId() { + return ccdCommitmentId; + } + /** The tag update details. */ + private com.oracle.bmc.ccdoffers.model.UpdateCcdCommitmentDetails updateCcdCommitmentDetails; + + /** The tag update details. */ + public com.oracle.bmc.ccdoffers.model.UpdateCcdCommitmentDetails + getUpdateCcdCommitmentDetails() { + return updateCcdCommitmentDetails; + } + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource is 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 is updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.ccdoffers.model.UpdateCcdCommitmentDetails getBody$() { + return updateCcdCommitmentDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + UpdateCcdCommitmentRequest, + com.oracle.bmc.ccdoffers.model.UpdateCcdCommitmentDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** CCD commitment OCID. */ + private String ccdCommitmentId = null; + + /** + * CCD commitment OCID. + * + * @param ccdCommitmentId the value to set + * @return this builder instance + */ + public Builder ccdCommitmentId(String ccdCommitmentId) { + this.ccdCommitmentId = ccdCommitmentId; + return this; + } + + /** The tag update details. */ + private com.oracle.bmc.ccdoffers.model.UpdateCcdCommitmentDetails + updateCcdCommitmentDetails = null; + + /** + * The tag update details. + * + * @param updateCcdCommitmentDetails the value to set + * @return this builder instance + */ + public Builder updateCcdCommitmentDetails( + com.oracle.bmc.ccdoffers.model.UpdateCcdCommitmentDetails + updateCcdCommitmentDetails) { + this.updateCcdCommitmentDetails = updateCcdCommitmentDetails; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource is 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 is updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(UpdateCcdCommitmentRequest o) { + ccdCommitmentId(o.getCcdCommitmentId()); + updateCcdCommitmentDetails(o.getUpdateCcdCommitmentDetails()); + opcRequestId(o.getOpcRequestId()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of UpdateCcdCommitmentRequest 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 UpdateCcdCommitmentRequest + */ + public UpdateCcdCommitmentRequest build() { + UpdateCcdCommitmentRequest 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.ccdoffers.model.UpdateCcdCommitmentDetails body) { + updateCcdCommitmentDetails(body); + return this; + } + + /** + * Build the instance of UpdateCcdCommitmentRequest 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 UpdateCcdCommitmentRequest + */ + public UpdateCcdCommitmentRequest buildWithoutInvocationCallback() { + UpdateCcdCommitmentRequest request = new UpdateCcdCommitmentRequest(); + request.ccdCommitmentId = ccdCommitmentId; + request.updateCcdCommitmentDetails = updateCcdCommitmentDetails; + request.opcRequestId = opcRequestId; + request.ifMatch = ifMatch; + return request; + // new UpdateCcdCommitmentRequest(ccdCommitmentId, updateCcdCommitmentDetails, + // opcRequestId, ifMatch); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .ccdCommitmentId(ccdCommitmentId) + .updateCcdCommitmentDetails(updateCcdCommitmentDetails) + .opcRequestId(opcRequestId) + .ifMatch(ifMatch); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",ccdCommitmentId=").append(String.valueOf(this.ccdCommitmentId)); + sb.append(",updateCcdCommitmentDetails=") + .append(String.valueOf(this.updateCcdCommitmentDetails)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateCcdCommitmentRequest)) { + return false; + } + + UpdateCcdCommitmentRequest other = (UpdateCcdCommitmentRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.ccdCommitmentId, other.ccdCommitmentId) + && java.util.Objects.equals( + this.updateCcdCommitmentDetails, other.updateCcdCommitmentDetails) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.ifMatch, other.ifMatch); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.ccdCommitmentId == null ? 43 : this.ccdCommitmentId.hashCode()); + result = + (result * PRIME) + + (this.updateCcdCommitmentDetails == null + ? 43 + : this.updateCcdCommitmentDetails.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/CreateCcdCommitmentResponse.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/CreateCcdCommitmentResponse.java new file mode 100644 index 00000000000..04dbdb7fb2d --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/CreateCcdCommitmentResponse.java @@ -0,0 +1,210 @@ +/** + * 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.ccdoffers.responses; + +import com.oracle.bmc.ccdoffers.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class CreateCcdCommitmentResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CcdCommitment} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment; + + /** + * The returned {@code CcdCommitment} instance. + * + * @return the value + */ + public com.oracle.bmc.ccdoffers.model.CcdCommitment getCcdCommitment() { + return ccdCommitment; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "ccdCommitment" + }) + private CreateCcdCommitmentResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.ccdCommitment = ccdCommitment; + } + + 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; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CcdCommitment} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment; + + /** + * The returned {@code CcdCommitment} instance. + * + * @param ccdCommitment the value to set + * @return this builder + */ + public Builder ccdCommitment(com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment) { + this.ccdCommitment = ccdCommitment; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(CreateCcdCommitmentResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + ccdCommitment(o.getCcdCommitment()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public CreateCcdCommitmentResponse build() { + return new CreateCcdCommitmentResponse( + __httpStatusCode__, headers, opcRequestId, etag, ccdCommitment); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",ccdCommitment=").append(String.valueOf(ccdCommitment)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateCcdCommitmentResponse)) { + return false; + } + + CreateCcdCommitmentResponse other = (CreateCcdCommitmentResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.ccdCommitment, other.ccdCommitment); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.ccdCommitment == null ? 43 : this.ccdCommitment.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/DeleteCcdCommitmentResponse.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/DeleteCcdCommitmentResponse.java new file mode 100644 index 00000000000..73a5268bd37 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/DeleteCcdCommitmentResponse.java @@ -0,0 +1,136 @@ +/** + * 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.ccdoffers.responses; + +import com.oracle.bmc.ccdoffers.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class DeleteCcdCommitmentResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + private DeleteCcdCommitmentResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId) { + super(__httpStatusCode__, headers); + 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; + } + + /** + * 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(DeleteCcdCommitmentResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public DeleteCcdCommitmentResponse build() { + return new DeleteCcdCommitmentResponse(__httpStatusCode__, headers, 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(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DeleteCcdCommitmentResponse)) { + return false; + } + + DeleteCcdCommitmentResponse other = (DeleteCcdCommitmentResponse) o; + return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/GetCcdCommitmentResponse.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/GetCcdCommitmentResponse.java new file mode 100644 index 00000000000..42bfa0b204b --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/GetCcdCommitmentResponse.java @@ -0,0 +1,210 @@ +/** + * 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.ccdoffers.responses; + +import com.oracle.bmc.ccdoffers.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class GetCcdCommitmentResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CcdCommitment} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment; + + /** + * The returned {@code CcdCommitment} instance. + * + * @return the value + */ + public com.oracle.bmc.ccdoffers.model.CcdCommitment getCcdCommitment() { + return ccdCommitment; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "ccdCommitment" + }) + private GetCcdCommitmentResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.ccdCommitment = ccdCommitment; + } + + 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; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CcdCommitment} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment; + + /** + * The returned {@code CcdCommitment} instance. + * + * @param ccdCommitment the value to set + * @return this builder + */ + public Builder ccdCommitment(com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment) { + this.ccdCommitment = ccdCommitment; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetCcdCommitmentResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + ccdCommitment(o.getCcdCommitment()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetCcdCommitmentResponse build() { + return new GetCcdCommitmentResponse( + __httpStatusCode__, headers, opcRequestId, etag, ccdCommitment); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",ccdCommitment=").append(String.valueOf(ccdCommitment)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetCcdCommitmentResponse)) { + return false; + } + + GetCcdCommitmentResponse other = (GetCcdCommitmentResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.ccdCommitment, other.ccdCommitment); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.ccdCommitment == null ? 43 : this.ccdCommitment.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/GetCcdOfferResponse.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/GetCcdOfferResponse.java new file mode 100644 index 00000000000..e5388b05ac7 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/GetCcdOfferResponse.java @@ -0,0 +1,208 @@ +/** + * 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.ccdoffers.responses; + +import com.oracle.bmc.ccdoffers.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class GetCcdOfferResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CcdOffer} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdOffer ccdOffer; + + /** + * The returned {@code CcdOffer} instance. + * + * @return the value + */ + public com.oracle.bmc.ccdoffers.model.CcdOffer getCcdOffer() { + return ccdOffer; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "ccdOffer" + }) + private GetCcdOfferResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.ccdoffers.model.CcdOffer ccdOffer) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.ccdOffer = ccdOffer; + } + + 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; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CcdOffer} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdOffer ccdOffer; + + /** + * The returned {@code CcdOffer} instance. + * + * @param ccdOffer the value to set + * @return this builder + */ + public Builder ccdOffer(com.oracle.bmc.ccdoffers.model.CcdOffer ccdOffer) { + this.ccdOffer = ccdOffer; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetCcdOfferResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + ccdOffer(o.getCcdOffer()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetCcdOfferResponse build() { + return new GetCcdOfferResponse( + __httpStatusCode__, headers, opcRequestId, etag, ccdOffer); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",ccdOffer=").append(String.valueOf(ccdOffer)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetCcdOfferResponse)) { + return false; + } + + GetCcdOfferResponse other = (GetCcdOfferResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.ccdOffer, other.ccdOffer); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = (result * PRIME) + (this.ccdOffer == null ? 43 : this.ccdOffer.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/ListCcdCommitmentsResponse.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/ListCcdCommitmentsResponse.java new file mode 100644 index 00000000000..1b86f4a2019 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/ListCcdCommitmentsResponse.java @@ -0,0 +1,230 @@ +/** + * 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.ccdoffers.responses; + +import com.oracle.bmc.ccdoffers.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class ListCcdCommitmentsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the + * response, then a partial list might have been returned. Include this value as the {@code + * page} parameter for the subsequent GET request to get the next batch of items. + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the + * response, then a partial list might have been returned. Include this value as the {@code + * page} parameter for the subsequent GET request to get the next batch of items. + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** The returned {@code CcdCommitmentCollection} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdCommitmentCollection ccdCommitmentCollection; + + /** + * The returned {@code CcdCommitmentCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.ccdoffers.model.CcdCommitmentCollection getCcdCommitmentCollection() { + return ccdCommitmentCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "ccdCommitmentCollection" + }) + private ListCcdCommitmentsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + com.oracle.bmc.ccdoffers.model.CcdCommitmentCollection ccdCommitmentCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.ccdCommitmentCollection = ccdCommitmentCollection; + } + + 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; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For pagination of a list of items. When paging through a list, if this header appears in + * the response, then a partial list might have been returned. Include this value as the + * {@code page} parameter for the subsequent GET request to get the next batch of items. + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in + * the response, then a partial list might have been returned. Include this value as the + * {@code page} parameter for the subsequent GET request to get the next batch of items. + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** The returned {@code CcdCommitmentCollection} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdCommitmentCollection ccdCommitmentCollection; + + /** + * The returned {@code CcdCommitmentCollection} instance. + * + * @param ccdCommitmentCollection the value to set + * @return this builder + */ + public Builder ccdCommitmentCollection( + com.oracle.bmc.ccdoffers.model.CcdCommitmentCollection ccdCommitmentCollection) { + this.ccdCommitmentCollection = ccdCommitmentCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListCcdCommitmentsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + ccdCommitmentCollection(o.getCcdCommitmentCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListCcdCommitmentsResponse build() { + return new ListCcdCommitmentsResponse( + __httpStatusCode__, + headers, + opcRequestId, + opcNextPage, + ccdCommitmentCollection); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + sb.append(",ccdCommitmentCollection=").append(String.valueOf(ccdCommitmentCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListCcdCommitmentsResponse)) { + return false; + } + + ListCcdCommitmentsResponse other = (ListCcdCommitmentsResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcNextPage, other.opcNextPage) + && java.util.Objects.equals( + this.ccdCommitmentCollection, other.ccdCommitmentCollection); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode()); + result = + (result * PRIME) + + (this.ccdCommitmentCollection == null + ? 43 + : this.ccdCommitmentCollection.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/ListCcdOffersResponse.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/ListCcdOffersResponse.java new file mode 100644 index 00000000000..e6a0558e7ec --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/ListCcdOffersResponse.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.ccdoffers.responses; + +import com.oracle.bmc.ccdoffers.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class ListCcdOffersResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the + * response, then a partial list might have been returned. Include this value as the {@code + * page} parameter for the subsequent GET request to get the next batch of items. + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the + * response, then a partial list might have been returned. Include this value as the {@code + * page} parameter for the subsequent GET request to get the next batch of items. + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** The returned {@code CcdOfferCollection} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdOfferCollection ccdOfferCollection; + + /** + * The returned {@code CcdOfferCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.ccdoffers.model.CcdOfferCollection getCcdOfferCollection() { + return ccdOfferCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "ccdOfferCollection" + }) + private ListCcdOffersResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + com.oracle.bmc.ccdoffers.model.CcdOfferCollection ccdOfferCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.ccdOfferCollection = ccdOfferCollection; + } + + 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; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For pagination of a list of items. When paging through a list, if this header appears in + * the response, then a partial list might have been returned. Include this value as the + * {@code page} parameter for the subsequent GET request to get the next batch of items. + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in + * the response, then a partial list might have been returned. Include this value as the + * {@code page} parameter for the subsequent GET request to get the next batch of items. + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** The returned {@code CcdOfferCollection} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdOfferCollection ccdOfferCollection; + + /** + * The returned {@code CcdOfferCollection} instance. + * + * @param ccdOfferCollection the value to set + * @return this builder + */ + public Builder ccdOfferCollection( + com.oracle.bmc.ccdoffers.model.CcdOfferCollection ccdOfferCollection) { + this.ccdOfferCollection = ccdOfferCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListCcdOffersResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + ccdOfferCollection(o.getCcdOfferCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListCcdOffersResponse build() { + return new ListCcdOffersResponse( + __httpStatusCode__, headers, opcRequestId, opcNextPage, ccdOfferCollection); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + sb.append(",ccdOfferCollection=").append(String.valueOf(ccdOfferCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListCcdOffersResponse)) { + return false; + } + + ListCcdOffersResponse other = (ListCcdOffersResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcNextPage, other.opcNextPage) + && java.util.Objects.equals(this.ccdOfferCollection, other.ccdOfferCollection); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode()); + result = + (result * PRIME) + + (this.ccdOfferCollection == null + ? 43 + : this.ccdOfferCollection.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/UpdateCcdCommitmentResponse.java b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/UpdateCcdCommitmentResponse.java new file mode 100644 index 00000000000..7c3a1f6dbd7 --- /dev/null +++ b/bmc-ccdoffers/src/main/java/com/oracle/bmc/ccdoffers/responses/UpdateCcdCommitmentResponse.java @@ -0,0 +1,210 @@ +/** + * 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.ccdoffers.responses; + +import com.oracle.bmc.ccdoffers.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") +public class UpdateCcdCommitmentResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CcdCommitment} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment; + + /** + * The returned {@code CcdCommitment} instance. + * + * @return the value + */ + public com.oracle.bmc.ccdoffers.model.CcdCommitment getCcdCommitment() { + return ccdCommitment; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "ccdCommitment" + }) + private UpdateCcdCommitmentResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.ccdCommitment = ccdCommitment; + } + + 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; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CcdCommitment} instance. */ + private com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment; + + /** + * The returned {@code CcdCommitment} instance. + * + * @param ccdCommitment the value to set + * @return this builder + */ + public Builder ccdCommitment(com.oracle.bmc.ccdoffers.model.CcdCommitment ccdCommitment) { + this.ccdCommitment = ccdCommitment; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(UpdateCcdCommitmentResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + ccdCommitment(o.getCcdCommitment()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public UpdateCcdCommitmentResponse build() { + return new UpdateCcdCommitmentResponse( + __httpStatusCode__, headers, opcRequestId, etag, ccdCommitment); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",ccdCommitment=").append(String.valueOf(ccdCommitment)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateCcdCommitmentResponse)) { + return false; + } + + UpdateCcdCommitmentResponse other = (UpdateCcdCommitmentResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.ccdCommitment, other.ccdCommitment); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.ccdCommitment == null ? 43 : this.ccdCommitment.hashCode()); + return result; + } +} diff --git a/bmc-ccdoffers/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-ccdoffers/reflect-config.json b/bmc-ccdoffers/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-ccdoffers/reflect-config.json new file mode 100644 index 00000000000..8f77e132600 --- /dev/null +++ b/bmc-ccdoffers/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-ccdoffers/reflect-config.json @@ -0,0 +1,331 @@ +[ + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.BundleSku", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.BundleSku$QuantityRule", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdCommitment", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdCommitment$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdCommitment$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdCommitment$LifecycleDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdCommitmentCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdCommitmentCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdCommitmentSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdCommitmentSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOffer", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOffer$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOffer$TypeOfOffer", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOffer$SourceType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOffer$ReclaimTermUnit", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOffer$CustomerSegment", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOffer$Unit", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOffer$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOffer$LifecycleDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOfferCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOfferCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOfferSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOfferSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOfferSummary$TypeOfOffer", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOfferSummary$CustomerSegment", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CcdOfferSummary$Unit", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CommittedSkuQuantityPriceModel", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CommittedSkuQuantityPriceModel$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CreateCcdCommitmentDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CreateCcdCommitmentDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CurrencyCodeLocalization", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CurrencyCodeLocalization$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CustomerSelectedBundleSku", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.CustomerSelectedBundleSku$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.FixedRatioBundleSku", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.FixedRatioBundleSku$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.OfferRestriction", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.OfferRestriction$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.Prices", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.Prices$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.Prices$Model", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.SecondarySkus", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.SecondarySkus$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.SkuExternalPriceModel", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.SkuExternalPriceModel$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.UpdateCcdCommitmentDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.UpdateCcdCommitmentDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.UsageEligibility", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.ccdoffers.model.UsageEligibility$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + } +] \ No newline at end of file diff --git a/bmc-ccdoffers/src/main/resources/com/oracle/bmc/ccdoffers/client.properties b/bmc-ccdoffers/src/main/resources/com/oracle/bmc/ccdoffers/client.properties new file mode 100644 index 00000000000..0a3a8e584e6 --- /dev/null +++ b/bmc-ccdoffers/src/main/resources/com/oracle/bmc/ccdoffers/client.properties @@ -0,0 +1,9 @@ +# +# 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. +# + +java.client.codegen.version = 2.170 +java.minimum.client.codegen.version.from.client = 2.170 + +# @jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240601") \ No newline at end of file diff --git a/bmc-certificates/pom.xml b/bmc-certificates/pom.xml index b7c5a171f29..e9bc62cba68 100644 --- a/bmc-certificates/pom.xml +++ b/bmc-certificates/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-certificates @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-certificatesmanagement/pom.xml b/bmc-certificatesmanagement/pom.xml index 353908d2b21..11d7f65b30c 100644 --- a/bmc-certificatesmanagement/pom.xml +++ b/bmc-certificatesmanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-certificatesmanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-cims/pom.xml b/bmc-cims/pom.xml index f9133fd97e4..eca370eaba7 100644 --- a/bmc-cims/pom.xml +++ b/bmc-cims/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-cims @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-circuitbreaker/pom.xml b/bmc-circuitbreaker/pom.xml index 7af52677be2..e5341b78749 100644 --- a/bmc-circuitbreaker/pom.xml +++ b/bmc-circuitbreaker/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-circuitbreaker diff --git a/bmc-cloudbridge/pom.xml b/bmc-cloudbridge/pom.xml index 9b6118becac..7f06df0d178 100644 --- a/bmc-cloudbridge/pom.xml +++ b/bmc-cloudbridge/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-cloudbridge @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-cloudguard/pom.xml b/bmc-cloudguard/pom.xml index 1e0a3503554..1fd4571edc9 100644 --- a/bmc-cloudguard/pom.xml +++ b/bmc-cloudguard/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-cloudguard @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-cloudmigrations/pom.xml b/bmc-cloudmigrations/pom.xml index ef51395637a..6a529dfdea0 100644 --- a/bmc-cloudmigrations/pom.xml +++ b/bmc-cloudmigrations/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-cloudmigrations @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-clusterhealth/pom.xml b/bmc-clusterhealth/pom.xml index 6ee4b0aadbc..9f157c7b092 100644 --- a/bmc-clusterhealth/pom.xml +++ b/bmc-clusterhealth/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-clusterhealth @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-clusterplacementgroups/pom.xml b/bmc-clusterplacementgroups/pom.xml index d619d436026..88d5f7101b2 100644 --- a/bmc-clusterplacementgroups/pom.xml +++ b/bmc-clusterplacementgroups/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-clusterplacementgroups @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.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 c7d9a58ed94..27d6c279cd2 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.97.2 + 3.98.0 ../pom.xml @@ -93,7 +93,7 @@ com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey - 3.97.2 + 3.98.0 @@ -102,7 +102,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.97.2 + 3.98.0 org.glassfish.jersey.core diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitor.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitor.java index 6d2903a20df..2423682cfb5 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitor.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitor.java @@ -35,12 +35,15 @@ public class IdleConnectionMonitor extends Thread { private volatile boolean shutdown; private volatile int waitTimeInSeconds; + // Access only while holding the IdleConnectionMonitor.class monitor. + private Thread shutdownHook; static { cleanStaleReferences(); } - /** Private constructor - singleton pattern. */ - private IdleConnectionMonitor(int waitTimeInSeconds) { + /** Constructor for the singleton monitor; package access allows lifecycle failure tests. */ + // @VisibleForTesting + IdleConnectionMonitor(int waitTimeInSeconds) { super("idle-connection-monitor-thread-" + System.currentTimeMillis()); this.waitTimeInSeconds = waitTimeInSeconds; this.shutdown = false; @@ -66,9 +69,7 @@ public static synchronized boolean registerConnectionManager( IdleConnectionMonitor monitor = instance; if (monitor == null) { monitor = new IdleConnectionMonitor(waitTimeInSeconds); - instance = monitor; - monitor.start(); - registerShutdownHook(); + startMonitor(monitor, Runtime.getRuntime()); } monitor.waitTimeInSeconds = Math.min(monitor.waitTimeInSeconds, waitTimeInSeconds); Runnable hook = beforeRegisterConnectionManagerPutHookForTest; @@ -114,6 +115,9 @@ public void run() { cleanStaleReferences(); closeIdleConnections(); + if (shutdown) { + break; + } TimeUnit.SECONDS.sleep(waitTimeInSeconds); } catch (InterruptedException ex) { Runnable hook = beforeInterruptCleanupHookForTest; @@ -132,9 +136,15 @@ public void run() { /** Close idle connections. As a side effect, updates the minimum wait time between checks. */ public void closeIdleConnections() { + if (shutdown) { + return; + } int minWaitTime = Integer.MAX_VALUE; for (Map.Entry, ConnectionMonitorSettings> entry : connectionManagers.entrySet()) { + if (shutdown) { + return; + } try { HttpClientConnectionManager connectionManager = entry.getKey().get(); @@ -143,6 +153,9 @@ public void closeIdleConnections() { if (connectionManager != null) { // Close expired connections connectionManager.closeExpiredConnections(); + if (shutdown) { + return; + } // Close connections that have been idle longer than idleTimeoutInSeconds // seconds connectionManager.closeIdleConnections( @@ -162,16 +175,59 @@ public void closeIdleConnections() { /** * Registers a shutdown hook with the Java Runtime to ensure that the IdleConnectionMonitor is - * properly shut down when the JVM exits. The shutdown hook will invoke the {@link #shutdown()} - * method to stop the IdleConnectionMonitor thread and clear its connection managers. + * properly shut down when the JVM exits. The hook only stops the monitor that registered it. */ - protected static void registerShutdownHook() { + protected static synchronized void registerShutdownHook() { + registerShutdownHook(Runtime.getRuntime()); + } + + // @VisibleForTesting + static synchronized void startMonitor(IdleConnectionMonitor monitor, Runtime runtime) { + instance = monitor; + try { + registerShutdownHook(runtime); + monitor.start(); + } catch (RuntimeException | Error ex) { + clearIfCurrentMonitor(monitor, runtime); + throw ex; + } + } + + private static void registerShutdownHook(Runtime runtime) { + IdleConnectionMonitor monitor = instance; + if (monitor == null || monitor.shutdownHook != null) { + return; + } LOG.debug("Registering IdleConnectionMonitor shutdown hook"); - Runtime.getRuntime() - .addShutdownHook( - new Thread( - IdleConnectionMonitor::shutdown, - "idle-connection-monitor-shutdown-hook")); + Thread hook = + new Thread( + () -> { + synchronized (IdleConnectionMonitor.class) { + // A delayed hook must not stop a replacement monitor. + if (instance == monitor) { + shutdown(); + } + } + }, + "idle-connection-monitor-shutdown-hook"); + runtime.addShutdownHook(hook); + monitor.shutdownHook = hook; + } + + private void removeShutdownHook(Runtime runtime) { + if (shutdownHook == null) { + return; + } + try { + runtime.removeShutdownHook(shutdownHook); + } catch (IllegalStateException ex) { + // Hooks cannot be removed once JVM shutdown has begun. + LOG.debug("JVM shutdown is already in progress", ex); + } catch (SecurityException ex) { + LOG.warn("Unable to remove IdleConnectionMonitor shutdown hook", ex); + } finally { + shutdownHook = null; + } } /** Remove stale references that have been garbage-collected already. */ @@ -185,29 +241,41 @@ public static void cleanStaleReferences() { /** * Stops the execution of IdleConnectionMonitor thread by shutting down the thread and clears - * the connection managers in it. + * the connection managers in it. This affects all clients sharing this classloader and does not + * wait for the thread to terminate. * * @return {@code true} if the shutdown process was initiated successfully, otherwise {@code * false}. */ public static synchronized boolean shutdown() { + return shutdown(Runtime.getRuntime()); + } + + // @VisibleForTesting + static synchronized boolean shutdown(Runtime runtime) { IdleConnectionMonitor monitor = instance; if (monitor == null) { return false; } + clearIfCurrentMonitor(monitor, runtime); monitor.interrupt(); - clearIfCurrentMonitor(monitor); return true; } // Call only while holding the IdleConnectionMonitor.class monitor. private static void clearIfCurrentMonitor(IdleConnectionMonitor expectedMonitor) { + clearIfCurrentMonitor(expectedMonitor, Runtime.getRuntime()); + } + + private static void clearIfCurrentMonitor( + IdleConnectionMonitor expectedMonitor, Runtime runtime) { // Only the active singleton may clear shared monitor state. if (instance != expectedMonitor) { return; } LOG.info("Shutting down IdleConnectionMonitor"); expectedMonitor.markShuttingDown(); + expectedMonitor.removeShutdownHook(runtime); connectionManagers.clear(); cleanStaleReferences(); instance = null; @@ -237,6 +305,13 @@ public static IdleConnectionMonitor getInstance() { return instance; } + // @VisibleForTesting + Thread getShutdownHook() { + synchronized (IdleConnectionMonitor.class) { + return shutdownHook; + } + } + // @VisibleForTesting static void setBeforeRegisterConnectionManagerPutHookForTest(Runnable hook) { beforeRegisterConnectionManagerPutHookForTest = hook; diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/IdleConnectionMonitorTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/IdleConnectionMonitorTest.java index 0d7ca7ca59a..e348621a676 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/IdleConnectionMonitorTest.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/IdleConnectionMonitorTest.java @@ -9,6 +9,7 @@ import org.apache.http.conn.HttpClientConnectionManager; import org.apache.http.impl.conn.BasicHttpClientConnectionManager; import org.junit.AfterClass; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -25,6 +26,11 @@ public void setup() { IdleConnectionMonitor.shutdown(); } + @After + public void tearDown() { + IdleConnectionMonitor.shutdown(); + } + @Test public void validateEnabledIdleConnectionMonitorThread() { HttpClient client = diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitorConcurrencyTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitorConcurrencyTest.java index ba2dc1f767a..a22565f10ac 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitorConcurrencyTest.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitorConcurrencyTest.java @@ -22,6 +22,13 @@ import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; public class IdleConnectionMonitorConcurrencyTest { private static final long TEST_TIMEOUT_MILLIS = TimeUnit.SECONDS.toMillis(5); @@ -119,6 +126,7 @@ public void oldInterruptedMonitorCannotClearReplacementInstance() throws Excepti IdleConnectionMonitor.registerConnectionManager(existingConnectionManager, 60, 60)); IdleConnectionMonitor originalMonitor = IdleConnectionMonitor.getInstance(); assertNotNull(originalMonitor); + Thread originalShutdownHook = originalMonitor.getShutdownHook(); awaitMonitorThreadToEnterSleep(originalMonitor); CountDownLatch interruptCleanupStarted = new CountDownLatch(1); @@ -152,6 +160,159 @@ public void oldInterruptedMonitorCannotClearReplacementInstance() throws Excepti "An old interrupted monitor thread must not clear a replacement instance", replacementMonitor, IdleConnectionMonitor.getInstance()); + assertFalse(Runtime.getRuntime().removeShutdownHook(originalShutdownHook)); + assertNotNull(replacementMonitor.getShutdownHook()); + assertNotSame(originalShutdownHook, replacementMonitor.getShutdownHook()); + } + + @Test + public void shutdownWaitsForInFlightRegistration() throws Exception { + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + CountDownLatch registrationStarted = new CountDownLatch(1); + CountDownLatch allowRegistration = new CountDownLatch(1); + CountDownLatch shutdownStarted = new CountDownLatch(1); + CountDownLatch shutdownCompleted = new CountDownLatch(1); + AtomicReference registerFailure = new AtomicReference<>(); + AtomicReference shutdownFailure = new AtomicReference<>(); + IdleConnectionMonitor.setBeforeRegisterConnectionManagerPutHookForTest( + () -> + awaitLatchAtHook( + registrationStarted, allowRegistration, "Registration blocked")); + Thread registerThread = new Thread(() -> runRegister(manager, registerFailure)); + Thread shutdownThread = + new Thread( + () -> { + shutdownStarted.countDown(); + try { + assertTrue(IdleConnectionMonitor.shutdown()); + } catch (Throwable t) { + shutdownFailure.set(t); + } finally { + shutdownCompleted.countDown(); + } + }); + IdleConnectionMonitor monitor = null; + try { + registerThread.start(); + assertTrue(registrationStarted.await(TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)); + monitor = IdleConnectionMonitor.getInstance(); + shutdownThread.start(); + assertTrue(shutdownStarted.await(TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)); + assertFalse( + shutdownCompleted.await( + BLOCKED_REMOVE_ASSERTION_MILLIS, TimeUnit.MILLISECONDS)); + } finally { + allowRegistration.countDown(); + joinThread(registerThread); + joinThread(shutdownThread); + joinThread(monitor); + manager.shutdown(); + } + assertNull(registerFailure.get()); + assertNull(shutdownFailure.get()); + assertNull(IdleConnectionMonitor.getInstance()); + assertEquals(0, IdleConnectionMonitor.idleConnectionMonitorThreadSize()); + assertNull(monitor.getShutdownHook()); + } + + @Test + public void shutdownDoesNotWaitForBlockedExpiredConnectionCleanup() throws Exception { + HttpClientConnectionManager manager = mock(HttpClientConnectionManager.class); + CountDownLatch callbackStarted = new CountDownLatch(1); + CountDownLatch releaseCallback = new CountDownLatch(1); + CountDownLatch shutdownCompleted = new CountDownLatch(1); + AtomicReference callbackFailure = new AtomicReference<>(); + AtomicReference shutdownFailure = new AtomicReference<>(); + doAnswer( + invocation -> { + callbackStarted.countDown(); + long deadline = + System.nanoTime() + + TimeUnit.MILLISECONDS.toNanos(TEST_TIMEOUT_MILLIS); + // Simulate a custom manager that consumes interruption while a callback + // is in progress. + while (releaseCallback.getCount() != 0) { + long remaining = deadline - System.nanoTime(); + if (remaining <= 0) { + callbackFailure.set( + new AssertionError("Callback was not released")); + break; + } + try { + releaseCallback.await(remaining, TimeUnit.NANOSECONDS); + } catch (InterruptedException ignored) { + // Deliberately ignored to exercise shutdown independently of + // interruption. + } + } + return null; + }) + .when(manager) + .closeExpiredConnections(); + // Populate the manager before starting this worker so the callback does not depend on sleep + // timing. + IdleConnectionMonitor monitor = new IdleConnectionMonitor(1); + IdleConnectionMonitor.instance = monitor; + IdleConnectionMonitor.registerConnectionManager(manager, 1, 60); + IdleConnectionMonitor.startMonitor(monitor, Runtime.getRuntime()); + Thread hook = monitor.getShutdownHook(); + Thread shutdownThread = + new Thread( + () -> { + try { + assertTrue(IdleConnectionMonitor.shutdown()); + } catch (Throwable t) { + shutdownFailure.set(t); + } finally { + shutdownCompleted.countDown(); + } + }); + try { + assertTrue(callbackStarted.await(TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)); + shutdownThread.start(); + assertTrue(shutdownCompleted.await(TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)); + assertTrue(monitor.isAlive()); + assertTrue(monitor.isIdleMonitorThreadShutdown()); + assertFalse(Runtime.getRuntime().removeShutdownHook(hook)); + } finally { + releaseCallback.countDown(); + joinThread(shutdownThread); + joinThread(monitor); + } + assertNull(callbackFailure.get()); + assertNull(shutdownFailure.get()); + verify(manager, never()).closeIdleConnections(anyLong(), eq(TimeUnit.SECONDS)); + verify(manager, never()).shutdown(); + } + + @Test + public void failingManagersDoNotPreventOtherManagersFromBeingProcessed() throws Exception { + HttpClientConnectionManager initial = new BasicHttpClientConnectionManager(); + IdleConnectionMonitor.registerConnectionManager(initial, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + awaitMonitorThreadToEnterSleep(monitor); + HttpClientConnectionManager expiredFailure = mock(HttpClientConnectionManager.class); + HttpClientConnectionManager idleFailure = mock(HttpClientConnectionManager.class); + HttpClientConnectionManager healthy = mock(HttpClientConnectionManager.class); + doThrow(new IllegalStateException("Expired cleanup failed")) + .when(expiredFailure) + .closeExpiredConnections(); + doThrow(new IllegalStateException("Idle cleanup failed")) + .when(idleFailure) + .closeIdleConnections(60, TimeUnit.SECONDS); + IdleConnectionMonitor.registerConnectionManager(expiredFailure, 60, 60); + IdleConnectionMonitor.registerConnectionManager(idleFailure, 60, 60); + IdleConnectionMonitor.registerConnectionManager(healthy, 60, 60); + + monitor.closeIdleConnections(); + + verify(expiredFailure).closeExpiredConnections(); + verify(idleFailure).closeIdleConnections(60, TimeUnit.SECONDS); + verify(healthy).closeExpiredConnections(); + verify(healthy).closeIdleConnections(60, TimeUnit.SECONDS); + IdleConnectionMonitor.shutdown(); + joinThread(monitor); + initial.shutdown(); } private static void runRegister( diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitorShutdownHookTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitorShutdownHookTest.java new file mode 100644 index 00000000000..f4540a6c2f7 --- /dev/null +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/internal/IdleConnectionMonitorShutdownHookTest.java @@ -0,0 +1,229 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.http.client.jersey.internal; + +import org.apache.http.conn.HttpClientConnectionManager; +import org.apache.http.impl.conn.BasicHttpClientConnectionManager; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class IdleConnectionMonitorShutdownHookTest { + private static final long TEST_TIMEOUT_MILLIS = TimeUnit.SECONDS.toMillis(5); + + @Before + public void setUp() { + IdleConnectionMonitor.shutdown(); + } + + @After + public void tearDown() throws InterruptedException { + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + IdleConnectionMonitor.shutdown(); + joinMonitor(monitor); + } + + @Test + public void explicitShutdownDeregistersHookAndCanRestart() throws Exception { + Thread previousHook = null; + for (int i = 0; i < 3; i++) { + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + assertTrue(IdleConnectionMonitor.registerConnectionManager(manager, 60, 60)); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + Thread hook = monitor.getShutdownHook(); + assertNotNull(hook); + assertNotSame(previousHook, hook); + IdleConnectionMonitor.registerShutdownHook(); + assertSame(hook, monitor.getShutdownHook()); + + assertTrue(IdleConnectionMonitor.shutdown()); + assertFalse(IdleConnectionMonitor.shutdown()); + assertNull(monitor.getShutdownHook()); + assertFalse(Runtime.getRuntime().removeShutdownHook(hook)); + joinMonitor(monitor); + previousHook = hook; + manager.shutdown(); + } + } + + @Test + public void onlyLastManagerRemovalDeregistersHook() throws Exception { + HttpClientConnectionManager first = new BasicHttpClientConnectionManager(); + HttpClientConnectionManager second = new BasicHttpClientConnectionManager(); + try { + IdleConnectionMonitor.registerConnectionManager(first, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + Thread hook = monitor.getShutdownHook(); + IdleConnectionMonitor.registerConnectionManager(second, 60, 60); + assertSame(hook, monitor.getShutdownHook()); + assertTrue(IdleConnectionMonitor.removeConnectionManager(first)); + assertSame(monitor, IdleConnectionMonitor.getInstance()); + assertSame(hook, monitor.getShutdownHook()); + assertTrue(IdleConnectionMonitor.removeConnectionManager(second)); + assertNull(IdleConnectionMonitor.getInstance()); + assertFalse(Runtime.getRuntime().removeShutdownHook(hook)); + joinMonitor(monitor); + } finally { + first.shutdown(); + second.shutdown(); + } + } + + @Test + public void interruptionDeregistersHook() throws Exception { + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + IdleConnectionMonitor.registerConnectionManager(manager, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + Thread hook = monitor.getShutdownHook(); + monitor.interrupt(); + joinMonitor(monitor); + assertNull(IdleConnectionMonitor.getInstance()); + assertFalse(Runtime.getRuntime().removeShutdownHook(hook)); + manager.shutdown(); + } + + @Test + public void oldHookCannotStopReplacementMonitor() throws Exception { + HttpClientConnectionManager first = new BasicHttpClientConnectionManager(); + HttpClientConnectionManager second = new BasicHttpClientConnectionManager(); + try { + IdleConnectionMonitor.registerConnectionManager(first, 60, 60); + IdleConnectionMonitor oldMonitor = IdleConnectionMonitor.getInstance(); + Thread oldHook = oldMonitor.getShutdownHook(); + IdleConnectionMonitor.shutdown(); + joinMonitor(oldMonitor); + IdleConnectionMonitor.registerConnectionManager(second, 60, 60); + IdleConnectionMonitor replacement = IdleConnectionMonitor.getInstance(); + Thread replacementHook = replacement.getShutdownHook(); + + oldHook.run(); + + assertSame(replacement, IdleConnectionMonitor.getInstance()); + assertSame(replacementHook, replacement.getShutdownHook()); + assertFalse(replacement.isIdleMonitorThreadShutdown()); + assertEquals(1, IdleConnectionMonitor.idleConnectionMonitorThreadSize()); + } finally { + first.shutdown(); + second.shutdown(); + } + } + + @Test + public void absentHookDoesNotPreventShutdown() throws Exception { + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + IdleConnectionMonitor.registerConnectionManager(manager, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + assertTrue(Runtime.getRuntime().removeShutdownHook(monitor.getShutdownHook())); + assertTrue(IdleConnectionMonitor.shutdown()); + assertNull(IdleConnectionMonitor.getInstance()); + joinMonitor(monitor); + manager.shutdown(); + } + + @Test + public void removalDuringJvmShutdownStillCleansUpMonitor() throws Exception { + assertRemovalFailureStillCleansUp(new IllegalStateException("Shutdown in progress")); + } + + @Test + public void deniedRemovalStillCleansUpMonitor() throws Exception { + assertRemovalFailureStillCleansUp(new SecurityException("Hook removal denied")); + } + + private void assertRemovalFailureStillCleansUp(RuntimeException failure) throws Exception { + Runtime runtime = mock(Runtime.class); + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + IdleConnectionMonitor.registerConnectionManager(manager, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + Thread hook = monitor.getShutdownHook(); + when(runtime.removeShutdownHook(hook)).thenThrow(failure); + try { + assertTrue(IdleConnectionMonitor.shutdown(runtime)); + assertNull(IdleConnectionMonitor.getInstance()); + assertNull(monitor.getShutdownHook()); + assertTrue(monitor.isIdleMonitorThreadShutdown()); + assertEquals(0, IdleConnectionMonitor.idleConnectionMonitorThreadSize()); + verify(runtime).removeShutdownHook(hook); + joinMonitor(monitor); + } finally { + Runtime.getRuntime().removeShutdownHook(hook); + manager.shutdown(); + } + } + + @Test + public void registrationFailureRollsBackBeforeWorkerStarts() { + Runtime runtime = mock(Runtime.class); + SecurityException failure = new SecurityException("Hook registration denied"); + doThrow(failure).when(runtime).addShutdownHook(any(Thread.class)); + IdleConnectionMonitor monitor = new IdleConnectionMonitor(60); + + assertSame( + failure, + assertThrows( + SecurityException.class, + () -> IdleConnectionMonitor.startMonitor(monitor, runtime))); + + assertNull(IdleConnectionMonitor.getInstance()); + assertNull(monitor.getShutdownHook()); + assertEquals(Thread.State.NEW, monitor.getState()); + assertTrue(monitor.isIdleMonitorThreadShutdown()); + verify(runtime, never()).removeShutdownHook(any(Thread.class)); + } + + @Test + public void startupFailureDeregistersHookAndRollsBack() { + IdleConnectionMonitor monitor = spy(new IdleConnectionMonitor(60)); + AtomicReference registeredHook = new AtomicReference<>(); + OutOfMemoryError failure = new OutOfMemoryError("Simulated thread startup failure"); + doAnswer( + invocation -> { + registeredHook.set(monitor.getShutdownHook()); + throw failure; + }) + .when(monitor) + .start(); + + assertSame( + failure, + assertThrows( + OutOfMemoryError.class, + () -> IdleConnectionMonitor.startMonitor(monitor, Runtime.getRuntime()))); + + assertNotNull(registeredHook.get()); + assertFalse(Runtime.getRuntime().removeShutdownHook(registeredHook.get())); + assertNull(IdleConnectionMonitor.getInstance()); + assertNull(monitor.getShutdownHook()); + assertFalse(monitor.isAlive()); + assertTrue(monitor.isIdleMonitorThreadShutdown()); + } + + private static void joinMonitor(Thread monitor) throws InterruptedException { + if (monitor != null) { + monitor.join(TEST_TIMEOUT_MILLIS); + assertFalse("Monitor did not terminate", monitor.isAlive()); + } + } +} 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 aeeec2d9940..93ae5c3ca23 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.97.2 + 3.98.0 ../pom.xml @@ -93,7 +93,7 @@ com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey3 - 3.97.2 + 3.98.0 @@ -102,7 +102,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.97.2 + 3.98.0 jakarta.ws.rs diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitor.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitor.java index 002c73e4b81..625b4f17768 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitor.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitor.java @@ -35,12 +35,15 @@ public class IdleConnectionMonitor extends Thread { private volatile boolean shutdown; private volatile int waitTimeInSeconds; + // Access only while holding the IdleConnectionMonitor.class monitor. + private Thread shutdownHook; static { cleanStaleReferences(); } - /** Private constructor - singleton pattern. */ - private IdleConnectionMonitor(int waitTimeInSeconds) { + /** Constructor for the singleton monitor; package access allows lifecycle failure tests. */ + // @VisibleForTesting + IdleConnectionMonitor(int waitTimeInSeconds) { super("idle-connection-monitor-thread-" + System.currentTimeMillis()); this.waitTimeInSeconds = waitTimeInSeconds; this.shutdown = false; @@ -66,9 +69,7 @@ public static synchronized boolean registerConnectionManager( IdleConnectionMonitor monitor = instance; if (monitor == null) { monitor = new IdleConnectionMonitor(waitTimeInSeconds); - instance = monitor; - monitor.start(); - registerShutdownHook(); + startMonitor(monitor, Runtime.getRuntime()); } monitor.waitTimeInSeconds = Math.min(monitor.waitTimeInSeconds, waitTimeInSeconds); Runnable hook = beforeRegisterConnectionManagerPutHookForTest; @@ -114,6 +115,9 @@ public void run() { cleanStaleReferences(); closeIdleConnections(); + if (shutdown) { + break; + } TimeUnit.SECONDS.sleep(waitTimeInSeconds); } catch (InterruptedException ex) { Runnable hook = beforeInterruptCleanupHookForTest; @@ -132,9 +136,15 @@ public void run() { /** Close idle connections. As a side effect, updates the minimum wait time between checks. */ public void closeIdleConnections() { + if (shutdown) { + return; + } int minWaitTime = Integer.MAX_VALUE; for (Map.Entry, ConnectionMonitorSettings> entry : connectionManagers.entrySet()) { + if (shutdown) { + return; + } try { HttpClientConnectionManager connectionManager = entry.getKey().get(); @@ -143,6 +153,9 @@ public void closeIdleConnections() { if (connectionManager != null) { // Close expired connections connectionManager.closeExpiredConnections(); + if (shutdown) { + return; + } // Close connections that have been idle longer than idleTimeoutInSeconds // seconds connectionManager.closeIdleConnections( @@ -162,16 +175,59 @@ public void closeIdleConnections() { /** * Registers a shutdown hook with the Java Runtime to ensure that the IdleConnectionMonitor is - * properly shut down when the JVM exits. The shutdown hook will invoke the {@link #shutdown()} - * method to stop the IdleConnectionMonitor thread and clear its connection managers. + * properly shut down when the JVM exits. The hook only stops the monitor that registered it. */ - protected static void registerShutdownHook() { + protected static synchronized void registerShutdownHook() { + registerShutdownHook(Runtime.getRuntime()); + } + + // @VisibleForTesting + static synchronized void startMonitor(IdleConnectionMonitor monitor, Runtime runtime) { + instance = monitor; + try { + registerShutdownHook(runtime); + monitor.start(); + } catch (RuntimeException | Error ex) { + clearIfCurrentMonitor(monitor, runtime); + throw ex; + } + } + + private static void registerShutdownHook(Runtime runtime) { + IdleConnectionMonitor monitor = instance; + if (monitor == null || monitor.shutdownHook != null) { + return; + } LOG.debug("Registering IdleConnectionMonitor shutdown hook"); - Runtime.getRuntime() - .addShutdownHook( - new Thread( - IdleConnectionMonitor::shutdown, - "idle-connection-monitor-shutdown-hook")); + Thread hook = + new Thread( + () -> { + synchronized (IdleConnectionMonitor.class) { + // A delayed hook must not stop a replacement monitor. + if (instance == monitor) { + shutdown(); + } + } + }, + "idle-connection-monitor-shutdown-hook"); + runtime.addShutdownHook(hook); + monitor.shutdownHook = hook; + } + + private void removeShutdownHook(Runtime runtime) { + if (shutdownHook == null) { + return; + } + try { + runtime.removeShutdownHook(shutdownHook); + } catch (IllegalStateException ex) { + // Hooks cannot be removed once JVM shutdown has begun. + LOG.debug("JVM shutdown is already in progress", ex); + } catch (SecurityException ex) { + LOG.warn("Unable to remove IdleConnectionMonitor shutdown hook", ex); + } finally { + shutdownHook = null; + } } /** Remove stale references that have been garbage-collected already. */ @@ -185,29 +241,41 @@ public static void cleanStaleReferences() { /** * Stops the execution of IdleConnectionMonitor thread by shutting down the thread and clears - * the connection managers in it. + * the connection managers in it. This affects all clients sharing this classloader and does not + * wait for the thread to terminate. * * @return {@code true} if the shutdown process was initiated successfully, otherwise {@code * false}. */ public static synchronized boolean shutdown() { + return shutdown(Runtime.getRuntime()); + } + + // @VisibleForTesting + static synchronized boolean shutdown(Runtime runtime) { IdleConnectionMonitor monitor = instance; if (monitor == null) { return false; } + clearIfCurrentMonitor(monitor, runtime); monitor.interrupt(); - clearIfCurrentMonitor(monitor); return true; } // Call only while holding the IdleConnectionMonitor.class monitor. private static void clearIfCurrentMonitor(IdleConnectionMonitor expectedMonitor) { + clearIfCurrentMonitor(expectedMonitor, Runtime.getRuntime()); + } + + private static void clearIfCurrentMonitor( + IdleConnectionMonitor expectedMonitor, Runtime runtime) { // Only the active singleton may clear shared monitor state. if (instance != expectedMonitor) { return; } LOG.info("Shutting down IdleConnectionMonitor"); expectedMonitor.markShuttingDown(); + expectedMonitor.removeShutdownHook(runtime); connectionManagers.clear(); cleanStaleReferences(); instance = null; @@ -237,6 +305,13 @@ public static IdleConnectionMonitor getInstance() { return instance; } + // @VisibleForTesting + Thread getShutdownHook() { + synchronized (IdleConnectionMonitor.class) { + return shutdownHook; + } + } + // @VisibleForTesting static void setBeforeRegisterConnectionManagerPutHookForTest(Runnable hook) { beforeRegisterConnectionManagerPutHookForTest = hook; diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/IdleConnectionMonitorTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/IdleConnectionMonitorTest.java index 1960a17ad7f..5830caf4e56 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/IdleConnectionMonitorTest.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/IdleConnectionMonitorTest.java @@ -8,6 +8,7 @@ import com.oracle.bmc.http.client.jersey3.internal.IdleConnectionMonitor; import org.apache.http.conn.HttpClientConnectionManager; import org.apache.http.impl.conn.BasicHttpClientConnectionManager; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -24,6 +25,11 @@ public void setup() { IdleConnectionMonitor.shutdown(); } + @After + public void tearDown() { + IdleConnectionMonitor.shutdown(); + } + @Test public void validateEnabledIdleConnectionMonitorThread() { HttpClient client = diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitorConcurrencyTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitorConcurrencyTest.java index c94725da1c3..50b06e37dd2 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitorConcurrencyTest.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitorConcurrencyTest.java @@ -22,6 +22,13 @@ import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; public class IdleConnectionMonitorConcurrencyTest { private static final long TEST_TIMEOUT_MILLIS = TimeUnit.SECONDS.toMillis(5); @@ -119,6 +126,7 @@ public void oldInterruptedMonitorCannotClearReplacementInstance() throws Excepti IdleConnectionMonitor.registerConnectionManager(existingConnectionManager, 60, 60)); IdleConnectionMonitor originalMonitor = IdleConnectionMonitor.getInstance(); assertNotNull(originalMonitor); + Thread originalShutdownHook = originalMonitor.getShutdownHook(); awaitMonitorThreadToEnterSleep(originalMonitor); CountDownLatch interruptCleanupStarted = new CountDownLatch(1); @@ -152,6 +160,159 @@ public void oldInterruptedMonitorCannotClearReplacementInstance() throws Excepti "An old interrupted monitor thread must not clear a replacement instance", replacementMonitor, IdleConnectionMonitor.getInstance()); + assertFalse(Runtime.getRuntime().removeShutdownHook(originalShutdownHook)); + assertNotNull(replacementMonitor.getShutdownHook()); + assertNotSame(originalShutdownHook, replacementMonitor.getShutdownHook()); + } + + @Test + public void shutdownWaitsForInFlightRegistration() throws Exception { + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + CountDownLatch registrationStarted = new CountDownLatch(1); + CountDownLatch allowRegistration = new CountDownLatch(1); + CountDownLatch shutdownStarted = new CountDownLatch(1); + CountDownLatch shutdownCompleted = new CountDownLatch(1); + AtomicReference registerFailure = new AtomicReference<>(); + AtomicReference shutdownFailure = new AtomicReference<>(); + IdleConnectionMonitor.setBeforeRegisterConnectionManagerPutHookForTest( + () -> + awaitLatchAtHook( + registrationStarted, allowRegistration, "Registration blocked")); + Thread registerThread = new Thread(() -> runRegister(manager, registerFailure)); + Thread shutdownThread = + new Thread( + () -> { + shutdownStarted.countDown(); + try { + assertTrue(IdleConnectionMonitor.shutdown()); + } catch (Throwable t) { + shutdownFailure.set(t); + } finally { + shutdownCompleted.countDown(); + } + }); + IdleConnectionMonitor monitor = null; + try { + registerThread.start(); + assertTrue(registrationStarted.await(TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)); + monitor = IdleConnectionMonitor.getInstance(); + shutdownThread.start(); + assertTrue(shutdownStarted.await(TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)); + assertFalse( + shutdownCompleted.await( + BLOCKED_REMOVE_ASSERTION_MILLIS, TimeUnit.MILLISECONDS)); + } finally { + allowRegistration.countDown(); + joinThread(registerThread); + joinThread(shutdownThread); + joinThread(monitor); + manager.shutdown(); + } + assertNull(registerFailure.get()); + assertNull(shutdownFailure.get()); + assertNull(IdleConnectionMonitor.getInstance()); + assertEquals(0, IdleConnectionMonitor.idleConnectionMonitorThreadSize()); + assertNull(monitor.getShutdownHook()); + } + + @Test + public void shutdownDoesNotWaitForBlockedExpiredConnectionCleanup() throws Exception { + HttpClientConnectionManager manager = mock(HttpClientConnectionManager.class); + CountDownLatch callbackStarted = new CountDownLatch(1); + CountDownLatch releaseCallback = new CountDownLatch(1); + CountDownLatch shutdownCompleted = new CountDownLatch(1); + AtomicReference callbackFailure = new AtomicReference<>(); + AtomicReference shutdownFailure = new AtomicReference<>(); + doAnswer( + invocation -> { + callbackStarted.countDown(); + long deadline = + System.nanoTime() + + TimeUnit.MILLISECONDS.toNanos(TEST_TIMEOUT_MILLIS); + // Simulate a custom manager that consumes interruption while a callback + // is in progress. + while (releaseCallback.getCount() != 0) { + long remaining = deadline - System.nanoTime(); + if (remaining <= 0) { + callbackFailure.set( + new AssertionError("Callback was not released")); + break; + } + try { + releaseCallback.await(remaining, TimeUnit.NANOSECONDS); + } catch (InterruptedException ignored) { + // Deliberately ignored to exercise shutdown independently of + // interruption. + } + } + return null; + }) + .when(manager) + .closeExpiredConnections(); + // Populate the manager before starting this worker so the callback does not depend on sleep + // timing. + IdleConnectionMonitor monitor = new IdleConnectionMonitor(1); + IdleConnectionMonitor.instance = monitor; + IdleConnectionMonitor.registerConnectionManager(manager, 1, 60); + IdleConnectionMonitor.startMonitor(monitor, Runtime.getRuntime()); + Thread hook = monitor.getShutdownHook(); + Thread shutdownThread = + new Thread( + () -> { + try { + assertTrue(IdleConnectionMonitor.shutdown()); + } catch (Throwable t) { + shutdownFailure.set(t); + } finally { + shutdownCompleted.countDown(); + } + }); + try { + assertTrue(callbackStarted.await(TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)); + shutdownThread.start(); + assertTrue(shutdownCompleted.await(TEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)); + assertTrue(monitor.isAlive()); + assertTrue(monitor.isIdleMonitorThreadShutdown()); + assertFalse(Runtime.getRuntime().removeShutdownHook(hook)); + } finally { + releaseCallback.countDown(); + joinThread(shutdownThread); + joinThread(monitor); + } + assertNull(callbackFailure.get()); + assertNull(shutdownFailure.get()); + verify(manager, never()).closeIdleConnections(anyLong(), eq(TimeUnit.SECONDS)); + verify(manager, never()).shutdown(); + } + + @Test + public void failingManagersDoNotPreventOtherManagersFromBeingProcessed() throws Exception { + HttpClientConnectionManager initial = new BasicHttpClientConnectionManager(); + IdleConnectionMonitor.registerConnectionManager(initial, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + awaitMonitorThreadToEnterSleep(monitor); + HttpClientConnectionManager expiredFailure = mock(HttpClientConnectionManager.class); + HttpClientConnectionManager idleFailure = mock(HttpClientConnectionManager.class); + HttpClientConnectionManager healthy = mock(HttpClientConnectionManager.class); + doThrow(new IllegalStateException("Expired cleanup failed")) + .when(expiredFailure) + .closeExpiredConnections(); + doThrow(new IllegalStateException("Idle cleanup failed")) + .when(idleFailure) + .closeIdleConnections(60, TimeUnit.SECONDS); + IdleConnectionMonitor.registerConnectionManager(expiredFailure, 60, 60); + IdleConnectionMonitor.registerConnectionManager(idleFailure, 60, 60); + IdleConnectionMonitor.registerConnectionManager(healthy, 60, 60); + + monitor.closeIdleConnections(); + + verify(expiredFailure).closeExpiredConnections(); + verify(idleFailure).closeIdleConnections(60, TimeUnit.SECONDS); + verify(healthy).closeExpiredConnections(); + verify(healthy).closeIdleConnections(60, TimeUnit.SECONDS); + IdleConnectionMonitor.shutdown(); + joinThread(monitor); + initial.shutdown(); } private static void runRegister( diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitorShutdownHookTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitorShutdownHookTest.java new file mode 100644 index 00000000000..5ee9d10c35d --- /dev/null +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/internal/IdleConnectionMonitorShutdownHookTest.java @@ -0,0 +1,229 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.http.client.jersey3.internal; + +import org.apache.http.conn.HttpClientConnectionManager; +import org.apache.http.impl.conn.BasicHttpClientConnectionManager; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class IdleConnectionMonitorShutdownHookTest { + private static final long TEST_TIMEOUT_MILLIS = TimeUnit.SECONDS.toMillis(5); + + @Before + public void setUp() { + IdleConnectionMonitor.shutdown(); + } + + @After + public void tearDown() throws InterruptedException { + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + IdleConnectionMonitor.shutdown(); + joinMonitor(monitor); + } + + @Test + public void explicitShutdownDeregistersHookAndCanRestart() throws Exception { + Thread previousHook = null; + for (int i = 0; i < 3; i++) { + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + assertTrue(IdleConnectionMonitor.registerConnectionManager(manager, 60, 60)); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + Thread hook = monitor.getShutdownHook(); + assertNotNull(hook); + assertNotSame(previousHook, hook); + IdleConnectionMonitor.registerShutdownHook(); + assertSame(hook, monitor.getShutdownHook()); + + assertTrue(IdleConnectionMonitor.shutdown()); + assertFalse(IdleConnectionMonitor.shutdown()); + assertNull(monitor.getShutdownHook()); + assertFalse(Runtime.getRuntime().removeShutdownHook(hook)); + joinMonitor(monitor); + previousHook = hook; + manager.shutdown(); + } + } + + @Test + public void onlyLastManagerRemovalDeregistersHook() throws Exception { + HttpClientConnectionManager first = new BasicHttpClientConnectionManager(); + HttpClientConnectionManager second = new BasicHttpClientConnectionManager(); + try { + IdleConnectionMonitor.registerConnectionManager(first, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + Thread hook = monitor.getShutdownHook(); + IdleConnectionMonitor.registerConnectionManager(second, 60, 60); + assertSame(hook, monitor.getShutdownHook()); + assertTrue(IdleConnectionMonitor.removeConnectionManager(first)); + assertSame(monitor, IdleConnectionMonitor.getInstance()); + assertSame(hook, monitor.getShutdownHook()); + assertTrue(IdleConnectionMonitor.removeConnectionManager(second)); + assertNull(IdleConnectionMonitor.getInstance()); + assertFalse(Runtime.getRuntime().removeShutdownHook(hook)); + joinMonitor(monitor); + } finally { + first.shutdown(); + second.shutdown(); + } + } + + @Test + public void interruptionDeregistersHook() throws Exception { + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + IdleConnectionMonitor.registerConnectionManager(manager, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + Thread hook = monitor.getShutdownHook(); + monitor.interrupt(); + joinMonitor(monitor); + assertNull(IdleConnectionMonitor.getInstance()); + assertFalse(Runtime.getRuntime().removeShutdownHook(hook)); + manager.shutdown(); + } + + @Test + public void oldHookCannotStopReplacementMonitor() throws Exception { + HttpClientConnectionManager first = new BasicHttpClientConnectionManager(); + HttpClientConnectionManager second = new BasicHttpClientConnectionManager(); + try { + IdleConnectionMonitor.registerConnectionManager(first, 60, 60); + IdleConnectionMonitor oldMonitor = IdleConnectionMonitor.getInstance(); + Thread oldHook = oldMonitor.getShutdownHook(); + IdleConnectionMonitor.shutdown(); + joinMonitor(oldMonitor); + IdleConnectionMonitor.registerConnectionManager(second, 60, 60); + IdleConnectionMonitor replacement = IdleConnectionMonitor.getInstance(); + Thread replacementHook = replacement.getShutdownHook(); + + oldHook.run(); + + assertSame(replacement, IdleConnectionMonitor.getInstance()); + assertSame(replacementHook, replacement.getShutdownHook()); + assertFalse(replacement.isIdleMonitorThreadShutdown()); + assertEquals(1, IdleConnectionMonitor.idleConnectionMonitorThreadSize()); + } finally { + first.shutdown(); + second.shutdown(); + } + } + + @Test + public void absentHookDoesNotPreventShutdown() throws Exception { + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + IdleConnectionMonitor.registerConnectionManager(manager, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + assertTrue(Runtime.getRuntime().removeShutdownHook(monitor.getShutdownHook())); + assertTrue(IdleConnectionMonitor.shutdown()); + assertNull(IdleConnectionMonitor.getInstance()); + joinMonitor(monitor); + manager.shutdown(); + } + + @Test + public void removalDuringJvmShutdownStillCleansUpMonitor() throws Exception { + assertRemovalFailureStillCleansUp(new IllegalStateException("Shutdown in progress")); + } + + @Test + public void deniedRemovalStillCleansUpMonitor() throws Exception { + assertRemovalFailureStillCleansUp(new SecurityException("Hook removal denied")); + } + + private void assertRemovalFailureStillCleansUp(RuntimeException failure) throws Exception { + Runtime runtime = mock(Runtime.class); + HttpClientConnectionManager manager = new BasicHttpClientConnectionManager(); + IdleConnectionMonitor.registerConnectionManager(manager, 60, 60); + IdleConnectionMonitor monitor = IdleConnectionMonitor.getInstance(); + Thread hook = monitor.getShutdownHook(); + when(runtime.removeShutdownHook(hook)).thenThrow(failure); + try { + assertTrue(IdleConnectionMonitor.shutdown(runtime)); + assertNull(IdleConnectionMonitor.getInstance()); + assertNull(monitor.getShutdownHook()); + assertTrue(monitor.isIdleMonitorThreadShutdown()); + assertEquals(0, IdleConnectionMonitor.idleConnectionMonitorThreadSize()); + verify(runtime).removeShutdownHook(hook); + joinMonitor(monitor); + } finally { + Runtime.getRuntime().removeShutdownHook(hook); + manager.shutdown(); + } + } + + @Test + public void registrationFailureRollsBackBeforeWorkerStarts() { + Runtime runtime = mock(Runtime.class); + SecurityException failure = new SecurityException("Hook registration denied"); + doThrow(failure).when(runtime).addShutdownHook(any(Thread.class)); + IdleConnectionMonitor monitor = new IdleConnectionMonitor(60); + + assertSame( + failure, + assertThrows( + SecurityException.class, + () -> IdleConnectionMonitor.startMonitor(monitor, runtime))); + + assertNull(IdleConnectionMonitor.getInstance()); + assertNull(monitor.getShutdownHook()); + assertEquals(Thread.State.NEW, monitor.getState()); + assertTrue(monitor.isIdleMonitorThreadShutdown()); + verify(runtime, never()).removeShutdownHook(any(Thread.class)); + } + + @Test + public void startupFailureDeregistersHookAndRollsBack() { + IdleConnectionMonitor monitor = spy(new IdleConnectionMonitor(60)); + AtomicReference registeredHook = new AtomicReference<>(); + OutOfMemoryError failure = new OutOfMemoryError("Simulated thread startup failure"); + doAnswer( + invocation -> { + registeredHook.set(monitor.getShutdownHook()); + throw failure; + }) + .when(monitor) + .start(); + + assertSame( + failure, + assertThrows( + OutOfMemoryError.class, + () -> IdleConnectionMonitor.startMonitor(monitor, Runtime.getRuntime()))); + + assertNotNull(registeredHook.get()); + assertFalse(Runtime.getRuntime().removeShutdownHook(registeredHook.get())); + assertNull(IdleConnectionMonitor.getInstance()); + assertNull(monitor.getShutdownHook()); + assertFalse(monitor.isAlive()); + assertTrue(monitor.isIdleMonitorThreadShutdown()); + } + + private static void joinMonitor(Thread monitor) throws InterruptedException { + if (monitor != null) { + monitor.join(TEST_TIMEOUT_MILLIS); + assertFalse("Monitor did not terminate", monitor.isAlive()); + } + } +} diff --git a/bmc-common-httpclient-choices/pom.xml b/bmc-common-httpclient-choices/pom.xml index a5b8f02564e..0f4bf6c12bf 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.97.2 + 3.98.0 ../pom.xml diff --git a/bmc-common-httpclient/pom.xml b/bmc-common-httpclient/pom.xml index e4807ccd35a..5400d1827a0 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.97.2 + 3.98.0 ../pom.xml diff --git a/bmc-common/pom.xml b/bmc-common/pom.xml index aeafe0bdfd6..ad0d499548f 100644 --- a/bmc-common/pom.xml +++ b/bmc-common/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -87,12 +87,12 @@ com.oracle.oci.sdk oci-java-sdk-circuitbreaker - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.97.2 + 3.98.0 @@ -137,7 +137,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.97.2 + 3.98.0 test diff --git a/bmc-computecloudatcustomer/pom.xml b/bmc-computecloudatcustomer/pom.xml index 6ecba6a4871..a33ce7195b4 100644 --- a/bmc-computecloudatcustomer/pom.xml +++ b/bmc-computecloudatcustomer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-computecloudatcustomer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-computeinstanceagent/pom.xml b/bmc-computeinstanceagent/pom.xml index 982b06ad44d..3e7a36b1b3e 100644 --- a/bmc-computeinstanceagent/pom.xml +++ b/bmc-computeinstanceagent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-computeinstanceagent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-containerengine/pom.xml b/bmc-containerengine/pom.xml index d2d5a8e381c..92e922c4de4 100644 --- a/bmc-containerengine/pom.xml +++ b/bmc-containerengine/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 diff --git a/bmc-containerinstances/pom.xml b/bmc-containerinstances/pom.xml index bd15ac82300..746038d4bae 100644 --- a/bmc-containerinstances/pom.xml +++ b/bmc-containerinstances/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-containerinstances @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-containerregistry/pom.xml b/bmc-containerregistry/pom.xml index e5744264bee..9341392693a 100644 --- a/bmc-containerregistry/pom.xml +++ b/bmc-containerregistry/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-containerregistry @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-core/pom.xml b/bmc-core/pom.xml index 1643b1b5971..a2f7acac7eb 100644 --- a/bmc-core/pom.xml +++ b/bmc-core/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.97.2 + 3.98.0 diff --git a/bmc-costad/pom.xml b/bmc-costad/pom.xml index b4a6da1ae75..6493ec9aea5 100644 --- a/bmc-costad/pom.xml +++ b/bmc-costad/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-costad @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-dashboardservice/pom.xml b/bmc-dashboardservice/pom.xml index 384fbfea6cb..0800aef5ebc 100644 --- a/bmc-dashboardservice/pom.xml +++ b/bmc-dashboardservice/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-dashboardservice @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-database/pom.xml b/bmc-database/pom.xml index e3b3b7ee552..07c1b6d1683 100644 --- a/bmc-database/pom.xml +++ b/bmc-database/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.97.2 + 3.98.0 diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousContainerDatabaseBackup.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousContainerDatabaseBackup.java index fc017ae074e..f11d26c69ce 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousContainerDatabaseBackup.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousContainerDatabaseBackup.java @@ -411,6 +411,11 @@ public Builder autonomousDatabases( * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -423,6 +428,11 @@ public Builder autonomousDatabases( * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -971,6 +981,11 @@ public java.util.List getAutonomousDatabases() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -983,6 +998,11 @@ public java.util.List getAutonomousDatabases() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousContainerDatabaseBackupSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousContainerDatabaseBackupSummary.java index 458a868acb5..8a0c1850300 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousContainerDatabaseBackupSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousContainerDatabaseBackupSummary.java @@ -417,6 +417,11 @@ public Builder autonomousDatabases( * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -429,6 +434,11 @@ public Builder autonomousDatabases( * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -977,6 +987,11 @@ public java.util.List getAutonomousDatabases() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -989,6 +1004,11 @@ public java.util.List getAutonomousDatabases() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabase.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabase.java index b450ee7c44b..75d88056dba 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabase.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabase.java @@ -1832,6 +1832,11 @@ public Builder privateEndpointIp(String privateEndpointIp) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -1844,6 +1849,11 @@ public Builder privateEndpointIp(String privateEndpointIp) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -2153,14 +2163,14 @@ public Builder apexDetails(AutonomousDatabaseApex apexDetails) { } /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. */ @com.fasterxml.jackson.annotation.JsonProperty("isAutoScalingEnabled") private Boolean isAutoScalingEnabled; /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. * * @param isAutoScalingEnabled the value to set * @return this builder @@ -5571,6 +5581,11 @@ public String getPrivateEndpointIp() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -5583,6 +5598,11 @@ public String getPrivateEndpointIp() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -5928,14 +5948,14 @@ public AutonomousDatabaseApex getApexDetails() { /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. */ @com.fasterxml.jackson.annotation.JsonProperty("isAutoScalingEnabled") private final Boolean isAutoScalingEnabled; /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseBackup.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseBackup.java index 286332c55cd..314ea98362f 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseBackup.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseBackup.java @@ -439,6 +439,11 @@ public Builder timeAvailableTill(java.util.Date timeAvailableTill) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -451,6 +456,11 @@ public Builder timeAvailableTill(java.util.Date timeAvailableTill) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -1044,6 +1054,11 @@ public java.util.Date getTimeAvailableTill() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -1056,6 +1071,11 @@ public java.util.Date getTimeAvailableTill() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseBackupSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseBackupSummary.java index 46240aeca72..83b543c665c 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseBackupSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseBackupSummary.java @@ -445,6 +445,11 @@ public Builder timeAvailableTill(java.util.Date timeAvailableTill) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -457,6 +462,11 @@ public Builder timeAvailableTill(java.util.Date timeAvailableTill) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -1050,6 +1060,11 @@ public java.util.Date getTimeAvailableTill() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -1062,6 +1077,11 @@ public java.util.Date getTimeAvailableTill() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseConnectionUrls.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseConnectionUrls.java index 4e10e74134b..36ebf68bb69 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseConnectionUrls.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseConnectionUrls.java @@ -5,10 +5,11 @@ package com.oracle.bmc.database.model; /** - * The URLs for accessing Oracle Application Express (APEX) and SQL Developer Web with a browser - * from a Compute instance within your VCN or that has a direct connection to your VCN. Note that - * these URLs are provided by the console only for databases on [dedicated Exadata - * infrastructure](https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html). + * The URLs for accessing various Autonomous AI Database built-in tools (like Oracle Application + * Express (APEX), SQL Developer Web etc) with a browser from a Compute instance within your VCN or + * that has a direct connection to your VCN. Note that these URLs are also available through the + * [Autonomous AI Databases](https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html) + * console. * *

Example: {@code {"sqlDevWebUrl": "https:///ords...", "apexUrl", * "https:///ords..."}}
@@ -38,6 +39,7 @@ public final class AutonomousDatabaseConnectionUrls "machineLearningNotebookUrl", "ordsUrl", "databaseTransformsUrl", + "essbaseUrl", "spatialStudioUrl" }) public AutonomousDatabaseConnectionUrls( @@ -49,6 +51,7 @@ public AutonomousDatabaseConnectionUrls( String machineLearningNotebookUrl, String ordsUrl, String databaseTransformsUrl, + String essbaseUrl, String spatialStudioUrl) { super(); this.sqlDevWebUrl = sqlDevWebUrl; @@ -59,6 +62,7 @@ public AutonomousDatabaseConnectionUrls( this.machineLearningNotebookUrl = machineLearningNotebookUrl; this.ordsUrl = ordsUrl; this.databaseTransformsUrl = databaseTransformsUrl; + this.essbaseUrl = essbaseUrl; this.spatialStudioUrl = spatialStudioUrl; } @@ -94,12 +98,16 @@ public Builder apexUrl(String apexUrl) { this.__explicitlySet__.add("apexUrl"); return this; } - /** Oracle Machine Learning user management URL. */ + /** + * Oracle Machine Learning user management URL. Applicable to Autonomous AI Database + * Serverless only. + */ @com.fasterxml.jackson.annotation.JsonProperty("machineLearningUserManagementUrl") private String machineLearningUserManagementUrl; /** - * Oracle Machine Learning user management URL. + * Oracle Machine Learning user management URL. Applicable to Autonomous AI Database + * Serverless only. * * @param machineLearningUserManagementUrl the value to set * @return this builder @@ -109,12 +117,16 @@ public Builder machineLearningUserManagementUrl(String machineLearningUserManage this.__explicitlySet__.add("machineLearningUserManagementUrl"); return this; } - /** The URL of the Graph Studio for the Autonomous AI Database. */ + /** + * The URL of the Graph Studio for the Autonomous AI Database. Applicable to Autonomous AI + * Database Serverless only. + */ @com.fasterxml.jackson.annotation.JsonProperty("graphStudioUrl") private String graphStudioUrl; /** - * The URL of the Graph Studio for the Autonomous AI Database. + * The URL of the Graph Studio for the Autonomous AI Database. Applicable to Autonomous AI + * Database Serverless only. * * @param graphStudioUrl the value to set * @return this builder @@ -139,12 +151,16 @@ public Builder mongoDbUrl(String mongoDbUrl) { this.__explicitlySet__.add("mongoDbUrl"); return this; } - /** The URL of the Oracle Machine Learning (OML) Notebook for the Autonomous AI Database. */ + /** + * The URL of the Oracle Machine Learning (OML) Notebook for the Autonomous AI Database. + * Applicable to Autonomous AI Database Serverless only. + */ @com.fasterxml.jackson.annotation.JsonProperty("machineLearningNotebookUrl") private String machineLearningNotebookUrl; /** * The URL of the Oracle Machine Learning (OML) Notebook for the Autonomous AI Database. + * Applicable to Autonomous AI Database Serverless only. * * @param machineLearningNotebookUrl the value to set * @return this builder @@ -173,12 +189,16 @@ public Builder ordsUrl(String ordsUrl) { this.__explicitlySet__.add("ordsUrl"); return this; } - /** The URL of the Database Transforms for the Autonomous AI Database. */ + /** + * The URL of the Database Transforms for the Autonomous AI Database. Applicable to + * Autonomous AI Database Serverless only. + */ @com.fasterxml.jackson.annotation.JsonProperty("databaseTransformsUrl") private String databaseTransformsUrl; /** - * The URL of the Database Transforms for the Autonomous AI Database. + * The URL of the Database Transforms for the Autonomous AI Database. Applicable to + * Autonomous AI Database Serverless only. * * @param databaseTransformsUrl the value to set * @return this builder @@ -188,12 +208,35 @@ public Builder databaseTransformsUrl(String databaseTransformsUrl) { this.__explicitlySet__.add("databaseTransformsUrl"); return this; } - /** The URL of the Spatial Studio for the Autonomous AI Database. */ + /** + * Essbase URL for the Autonomous AI Database. Applicable to Autonomous AI Database + * Serverless only. + */ + @com.fasterxml.jackson.annotation.JsonProperty("essbaseUrl") + private String essbaseUrl; + + /** + * Essbase URL for the Autonomous AI Database. Applicable to Autonomous AI Database + * Serverless only. + * + * @param essbaseUrl the value to set + * @return this builder + */ + public Builder essbaseUrl(String essbaseUrl) { + this.essbaseUrl = essbaseUrl; + this.__explicitlySet__.add("essbaseUrl"); + return this; + } + /** + * The URL of the Spatial Studio for the Autonomous AI Database. Applicable to Autonomous AI + * Database Serverless only. + */ @com.fasterxml.jackson.annotation.JsonProperty("spatialStudioUrl") private String spatialStudioUrl; /** - * The URL of the Spatial Studio for the Autonomous AI Database. + * The URL of the Spatial Studio for the Autonomous AI Database. Applicable to Autonomous AI + * Database Serverless only. * * @param spatialStudioUrl the value to set * @return this builder @@ -218,6 +261,7 @@ public AutonomousDatabaseConnectionUrls build() { this.machineLearningNotebookUrl, this.ordsUrl, this.databaseTransformsUrl, + this.essbaseUrl, this.spatialStudioUrl); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); @@ -251,6 +295,9 @@ public Builder copy(AutonomousDatabaseConnectionUrls model) { if (model.wasPropertyExplicitlySet("databaseTransformsUrl")) { this.databaseTransformsUrl(model.getDatabaseTransformsUrl()); } + if (model.wasPropertyExplicitlySet("essbaseUrl")) { + this.essbaseUrl(model.getEssbaseUrl()); + } if (model.wasPropertyExplicitlySet("spatialStudioUrl")) { this.spatialStudioUrl(model.getSpatialStudioUrl()); } @@ -293,12 +340,16 @@ public String getApexUrl() { return apexUrl; } - /** Oracle Machine Learning user management URL. */ + /** + * Oracle Machine Learning user management URL. Applicable to Autonomous AI Database Serverless + * only. + */ @com.fasterxml.jackson.annotation.JsonProperty("machineLearningUserManagementUrl") private final String machineLearningUserManagementUrl; /** - * Oracle Machine Learning user management URL. + * Oracle Machine Learning user management URL. Applicable to Autonomous AI Database Serverless + * only. * * @return the value */ @@ -306,12 +357,16 @@ public String getMachineLearningUserManagementUrl() { return machineLearningUserManagementUrl; } - /** The URL of the Graph Studio for the Autonomous AI Database. */ + /** + * The URL of the Graph Studio for the Autonomous AI Database. Applicable to Autonomous AI + * Database Serverless only. + */ @com.fasterxml.jackson.annotation.JsonProperty("graphStudioUrl") private final String graphStudioUrl; /** - * The URL of the Graph Studio for the Autonomous AI Database. + * The URL of the Graph Studio for the Autonomous AI Database. Applicable to Autonomous AI + * Database Serverless only. * * @return the value */ @@ -332,12 +387,16 @@ public String getMongoDbUrl() { return mongoDbUrl; } - /** The URL of the Oracle Machine Learning (OML) Notebook for the Autonomous AI Database. */ + /** + * The URL of the Oracle Machine Learning (OML) Notebook for the Autonomous AI Database. + * Applicable to Autonomous AI Database Serverless only. + */ @com.fasterxml.jackson.annotation.JsonProperty("machineLearningNotebookUrl") private final String machineLearningNotebookUrl; /** * The URL of the Oracle Machine Learning (OML) Notebook for the Autonomous AI Database. + * Applicable to Autonomous AI Database Serverless only. * * @return the value */ @@ -360,12 +419,16 @@ public String getOrdsUrl() { return ordsUrl; } - /** The URL of the Database Transforms for the Autonomous AI Database. */ + /** + * The URL of the Database Transforms for the Autonomous AI Database. Applicable to Autonomous + * AI Database Serverless only. + */ @com.fasterxml.jackson.annotation.JsonProperty("databaseTransformsUrl") private final String databaseTransformsUrl; /** - * The URL of the Database Transforms for the Autonomous AI Database. + * The URL of the Database Transforms for the Autonomous AI Database. Applicable to Autonomous + * AI Database Serverless only. * * @return the value */ @@ -373,12 +436,33 @@ public String getDatabaseTransformsUrl() { return databaseTransformsUrl; } - /** The URL of the Spatial Studio for the Autonomous AI Database. */ + /** + * Essbase URL for the Autonomous AI Database. Applicable to Autonomous AI Database Serverless + * only. + */ + @com.fasterxml.jackson.annotation.JsonProperty("essbaseUrl") + private final String essbaseUrl; + + /** + * Essbase URL for the Autonomous AI Database. Applicable to Autonomous AI Database Serverless + * only. + * + * @return the value + */ + public String getEssbaseUrl() { + return essbaseUrl; + } + + /** + * The URL of the Spatial Studio for the Autonomous AI Database. Applicable to Autonomous AI + * Database Serverless only. + */ @com.fasterxml.jackson.annotation.JsonProperty("spatialStudioUrl") private final String spatialStudioUrl; /** - * The URL of the Spatial Studio for the Autonomous AI Database. + * The URL of the Spatial Studio for the Autonomous AI Database. Applicable to Autonomous AI + * Database Serverless only. * * @return the value */ @@ -411,6 +495,7 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.machineLearningNotebookUrl)); sb.append(", ordsUrl=").append(String.valueOf(this.ordsUrl)); sb.append(", databaseTransformsUrl=").append(String.valueOf(this.databaseTransformsUrl)); + sb.append(", essbaseUrl=").append(String.valueOf(this.essbaseUrl)); sb.append(", spatialStudioUrl=").append(String.valueOf(this.spatialStudioUrl)); sb.append(")"); return sb.toString(); @@ -437,6 +522,7 @@ public boolean equals(Object o) { this.machineLearningNotebookUrl, other.machineLearningNotebookUrl) && java.util.Objects.equals(this.ordsUrl, other.ordsUrl) && java.util.Objects.equals(this.databaseTransformsUrl, other.databaseTransformsUrl) + && java.util.Objects.equals(this.essbaseUrl, other.essbaseUrl) && java.util.Objects.equals(this.spatialStudioUrl, other.spatialStudioUrl) && super.equals(other); } @@ -467,6 +553,7 @@ public int hashCode() { + (this.databaseTransformsUrl == null ? 43 : this.databaseTransformsUrl.hashCode()); + result = (result * PRIME) + (this.essbaseUrl == null ? 43 : this.essbaseUrl.hashCode()); result = (result * PRIME) + (this.spatialStudioUrl == null ? 43 : this.spatialStudioUrl.hashCode()); diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseSummary.java index ee33dfaad3d..c484dc121ad 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDatabaseSummary.java @@ -1813,6 +1813,11 @@ public Builder privateEndpointIp(String privateEndpointIp) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -1825,6 +1830,11 @@ public Builder privateEndpointIp(String privateEndpointIp) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -2134,14 +2144,14 @@ public Builder apexDetails(AutonomousDatabaseApex apexDetails) { } /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. */ @com.fasterxml.jackson.annotation.JsonProperty("isAutoScalingEnabled") private Boolean isAutoScalingEnabled; /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. * * @param isAutoScalingEnabled the value to set * @return this builder @@ -5531,6 +5541,11 @@ public String getPrivateEndpointIp() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -5543,6 +5558,11 @@ public String getPrivateEndpointIp() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -5888,14 +5908,14 @@ public AutonomousDatabaseApex getApexDetails() { /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. */ @com.fasterxml.jackson.annotation.JsonProperty("isAutoScalingEnabled") private final Boolean isAutoScalingEnabled; /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDbVersionSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDbVersionSummary.java index 5116a00bf20..e7e7979e4ca 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDbVersionSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDbVersionSummary.java @@ -64,6 +64,11 @@ public static class Builder { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -76,6 +81,11 @@ public static class Builder { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -317,6 +327,11 @@ public Builder toBuilder() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -329,6 +344,11 @@ public Builder toBuilder() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDwDatabase.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDwDatabase.java index ef1dece6333..39e6c1e0d20 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDwDatabase.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AutonomousDwDatabase.java @@ -1810,6 +1810,11 @@ public Builder privateEndpointIp(String privateEndpointIp) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -1822,6 +1827,11 @@ public Builder privateEndpointIp(String privateEndpointIp) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -2131,14 +2141,14 @@ public Builder apexDetails(AutonomousDatabaseApex apexDetails) { } /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. */ @com.fasterxml.jackson.annotation.JsonProperty("isAutoScalingEnabled") private Boolean isAutoScalingEnabled; /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. * * @param isAutoScalingEnabled the value to set * @return this builder @@ -5476,6 +5486,11 @@ public String getPrivateEndpointIp() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -5488,6 +5503,11 @@ public String getPrivateEndpointIp() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -5820,14 +5840,14 @@ public AutonomousDatabaseApex getApexDetails() { /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. */ @com.fasterxml.jackson.annotation.JsonProperty("isAutoScalingEnabled") private final Boolean isAutoScalingEnabled; /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/AwsEncryptionKeyDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/AwsEncryptionKeyDetails.java index 3650e740f2f..57b2dda6aeb 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/AwsEncryptionKeyDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/AwsEncryptionKeyDetails.java @@ -42,12 +42,29 @@ public Builder awsEncryptionKeyId(String awsEncryptionKeyId) { this.__explicitlySet__.add("awsEncryptionKeyId"); return this; } + /** Provide the key pool OCID of a registered AWS key. */ + @com.fasterxml.jackson.annotation.JsonProperty("awsEncryptionKeyPoolId") + private String awsEncryptionKeyPoolId; + + /** + * Provide the key pool OCID of a registered AWS key. + * + * @param awsEncryptionKeyPoolId the value to set + * @return this builder + */ + public Builder awsEncryptionKeyPoolId(String awsEncryptionKeyPoolId) { + this.awsEncryptionKeyPoolId = awsEncryptionKeyPoolId; + this.__explicitlySet__.add("awsEncryptionKeyPoolId"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public AwsEncryptionKeyDetails build() { - AwsEncryptionKeyDetails model = new AwsEncryptionKeyDetails(this.awsEncryptionKeyId); + AwsEncryptionKeyDetails model = + new AwsEncryptionKeyDetails( + this.awsEncryptionKeyId, this.awsEncryptionKeyPoolId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -59,6 +76,9 @@ public Builder copy(AwsEncryptionKeyDetails model) { if (model.wasPropertyExplicitlySet("awsEncryptionKeyId")) { this.awsEncryptionKeyId(model.getAwsEncryptionKeyId()); } + if (model.wasPropertyExplicitlySet("awsEncryptionKeyPoolId")) { + this.awsEncryptionKeyPoolId(model.getAwsEncryptionKeyPoolId()); + } return this; } } @@ -73,9 +93,10 @@ public Builder toBuilder() { } @Deprecated - public AwsEncryptionKeyDetails(String awsEncryptionKeyId) { + public AwsEncryptionKeyDetails(String awsEncryptionKeyId, String awsEncryptionKeyPoolId) { super(); this.awsEncryptionKeyId = awsEncryptionKeyId; + this.awsEncryptionKeyPoolId = awsEncryptionKeyPoolId; } /** Provide the key OCID of a registered AWS key. */ @@ -91,6 +112,19 @@ public String getAwsEncryptionKeyId() { return awsEncryptionKeyId; } + /** Provide the key pool OCID of a registered AWS key. */ + @com.fasterxml.jackson.annotation.JsonProperty("awsEncryptionKeyPoolId") + private final String awsEncryptionKeyPoolId; + + /** + * Provide the key pool OCID of a registered AWS key. + * + * @return the value + */ + public String getAwsEncryptionKeyPoolId() { + return awsEncryptionKeyPoolId; + } + @Override public String toString() { return this.toString(true); @@ -107,6 +141,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("AwsEncryptionKeyDetails("); sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", awsEncryptionKeyId=").append(String.valueOf(this.awsEncryptionKeyId)); + sb.append(", awsEncryptionKeyPoolId=").append(String.valueOf(this.awsEncryptionKeyPoolId)); sb.append(")"); return sb.toString(); } @@ -122,6 +157,8 @@ public boolean equals(Object o) { AwsEncryptionKeyDetails other = (AwsEncryptionKeyDetails) o; return java.util.Objects.equals(this.awsEncryptionKeyId, other.awsEncryptionKeyId) + && java.util.Objects.equals( + this.awsEncryptionKeyPoolId, other.awsEncryptionKeyPoolId) && super.equals(other); } @@ -134,6 +171,11 @@ public int hashCode() { + (this.awsEncryptionKeyId == null ? 43 : this.awsEncryptionKeyId.hashCode()); + result = + (result * PRIME) + + (this.awsEncryptionKeyPoolId == null + ? 43 + : this.awsEncryptionKeyPoolId.hashCode()); return result; } } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationConfigurationSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationConfigurationSummary.java index a7bbe27452e..867f40decf7 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationConfigurationSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationConfigurationSummary.java @@ -174,14 +174,16 @@ public Builder type(Type type) { } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster. * * @param id the value to set * @return this builder @@ -193,14 +195,16 @@ public Builder id(String id) { } /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that - * is used to access the Recovery Appliance. + * is used to access the Recovery Appliance. Not applicable for Autonomous Container + * Databases on Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcUser") private String vpcUser; /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that - * is used to access the Recovery Appliance. + * is used to access the Recovery Appliance. Not applicable for Autonomous Container + * Databases on Cloud Autonomous VM Cluster. * * @param vpcUser the value to set * @return this builder @@ -212,14 +216,16 @@ public Builder vpcUser(String vpcUser) { } /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used - * to access the Recovery Appliance. + * to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcPassword") private String vpcPassword; /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used - * to access the Recovery Appliance. + * to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. * * @param vpcPassword the value to set * @return this builder @@ -233,7 +239,8 @@ public Builder vpcPassword(String vpcPassword) { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("isZeroDataLossEnabled") private Boolean isZeroDataLossEnabled; @@ -242,7 +249,8 @@ public Builder vpcPassword(String vpcPassword) { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. * * @param isZeroDataLossEnabled the value to set * @return this builder @@ -252,12 +260,16 @@ public Builder isZeroDataLossEnabled(Boolean isZeroDataLossEnabled) { this.__explicitlySet__.add("isZeroDataLossEnabled"); return this; } - /** Proxy URL to connect to object store. */ + /** + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases + * on Cloud Autonomous VM Cluster. + */ @com.fasterxml.jackson.annotation.JsonProperty("internetProxy") private String internetProxy; /** - * Proxy URL to connect to object store. + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases + * on Cloud Autonomous VM Cluster. * * @param internetProxy the value to set * @return this builder @@ -269,14 +281,16 @@ public Builder internetProxy(String internetProxy) { } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * DBRS policy used for backup. + * DBRS policy used for backup. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster and Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("dbrsPolicyId") private String dbrsPolicyId; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * DBRS policy used for backup. + * DBRS policy used for backup. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster and Autonomous VM Cluster. * * @param dbrsPolicyId the value to set * @return this builder @@ -613,14 +627,16 @@ public Type getType() { /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous VM + * Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private final String id; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous VM + * Cluster. * * @return the value */ @@ -630,14 +646,16 @@ public String getId() { /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that is - * used to access the Recovery Appliance. + * used to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcUser") private final String vpcUser; /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that is - * used to access the Recovery Appliance. + * used to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. * * @return the value */ @@ -647,14 +665,16 @@ public String getVpcUser() { /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used to - * access the Recovery Appliance. + * access the Recovery Appliance. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcPassword") private final String vpcPassword; /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used to - * access the Recovery Appliance. + * access the Recovery Appliance. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster. * * @return the value */ @@ -666,7 +686,8 @@ public String getVpcPassword() { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("isZeroDataLossEnabled") private final Boolean isZeroDataLossEnabled; @@ -675,7 +696,8 @@ public String getVpcPassword() { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. * * @return the value */ @@ -683,12 +705,16 @@ public Boolean getIsZeroDataLossEnabled() { return isZeroDataLossEnabled; } - /** Proxy URL to connect to object store. */ + /** + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. + */ @com.fasterxml.jackson.annotation.JsonProperty("internetProxy") private final String internetProxy; /** - * Proxy URL to connect to object store. + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. * * @return the value */ @@ -698,14 +724,16 @@ public String getInternetProxy() { /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DBRS - * policy used for backup. + * policy used for backup. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster and Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("dbrsPolicyId") private final String dbrsPolicyId; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DBRS - * policy used for backup. + * policy used for backup. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster and Autonomous VM Cluster. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationDetails.java index 9f2552c1f9a..ca2c90d7256 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationDetails.java @@ -84,14 +84,16 @@ public Builder type(Type type) { } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster. * * @param id the value to set * @return this builder @@ -103,14 +105,16 @@ public Builder id(String id) { } /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that - * is used to access the Recovery Appliance. + * is used to access the Recovery Appliance. Not applicable for Autonomous Container + * Databases on Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcUser") private String vpcUser; /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that - * is used to access the Recovery Appliance. + * is used to access the Recovery Appliance. Not applicable for Autonomous Container + * Databases on Cloud Autonomous VM Cluster. * * @param vpcUser the value to set * @return this builder @@ -122,14 +126,16 @@ public Builder vpcUser(String vpcUser) { } /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used - * to access the Recovery Appliance. + * to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcPassword") private String vpcPassword; /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used - * to access the Recovery Appliance. + * to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. * * @param vpcPassword the value to set * @return this builder @@ -143,7 +149,8 @@ public Builder vpcPassword(String vpcPassword) { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("isZeroDataLossEnabled") private Boolean isZeroDataLossEnabled; @@ -152,7 +159,8 @@ public Builder vpcPassword(String vpcPassword) { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. * * @param isZeroDataLossEnabled the value to set * @return this builder @@ -162,12 +170,16 @@ public Builder isZeroDataLossEnabled(Boolean isZeroDataLossEnabled) { this.__explicitlySet__.add("isZeroDataLossEnabled"); return this; } - /** Proxy URL to connect to object store. */ + /** + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases + * on Cloud Autonomous VM Cluster. + */ @com.fasterxml.jackson.annotation.JsonProperty("internetProxy") private String internetProxy; /** - * Proxy URL to connect to object store. + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases + * on Cloud Autonomous VM Cluster. * * @param internetProxy the value to set * @return this builder @@ -179,14 +191,16 @@ public Builder internetProxy(String internetProxy) { } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * DBRS policy used for backup. + * DBRS policy used for backup. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster and Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("dbrsPolicyId") private String dbrsPolicyId; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * DBRS policy used for backup. + * DBRS policy used for backup. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster and Autonomous VM Cluster. * * @param dbrsPolicyId the value to set * @return this builder @@ -438,14 +452,16 @@ public Type getType() { /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous VM + * Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private final String id; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous VM + * Cluster. * * @return the value */ @@ -455,14 +471,16 @@ public String getId() { /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that is - * used to access the Recovery Appliance. + * used to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcUser") private final String vpcUser; /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that is - * used to access the Recovery Appliance. + * used to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. * * @return the value */ @@ -472,14 +490,16 @@ public String getVpcUser() { /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used to - * access the Recovery Appliance. + * access the Recovery Appliance. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcPassword") private final String vpcPassword; /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used to - * access the Recovery Appliance. + * access the Recovery Appliance. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster. * * @return the value */ @@ -491,7 +511,8 @@ public String getVpcPassword() { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("isZeroDataLossEnabled") private final Boolean isZeroDataLossEnabled; @@ -500,7 +521,8 @@ public String getVpcPassword() { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. * * @return the value */ @@ -508,12 +530,16 @@ public Boolean getIsZeroDataLossEnabled() { return isZeroDataLossEnabled; } - /** Proxy URL to connect to object store. */ + /** + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. + */ @com.fasterxml.jackson.annotation.JsonProperty("internetProxy") private final String internetProxy; /** - * Proxy URL to connect to object store. + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. * * @return the value */ @@ -523,14 +549,16 @@ public String getInternetProxy() { /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DBRS - * policy used for backup. + * policy used for backup. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster and Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("dbrsPolicyId") private final String dbrsPolicyId; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DBRS - * policy used for backup. + * policy used for backup. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster and Autonomous VM Cluster. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationDetailsSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationDetailsSummary.java index 213ab6b876b..589af8d61e0 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationDetailsSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BackupDestinationDetailsSummary.java @@ -152,14 +152,16 @@ public Builder type(Type type) { } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster. * * @param id the value to set * @return this builder @@ -171,14 +173,16 @@ public Builder id(String id) { } /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that - * is used to access the Recovery Appliance. + * is used to access the Recovery Appliance. Not applicable for Autonomous Container + * Databases on Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcUser") private String vpcUser; /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that - * is used to access the Recovery Appliance. + * is used to access the Recovery Appliance. Not applicable for Autonomous Container + * Databases on Cloud Autonomous VM Cluster. * * @param vpcUser the value to set * @return this builder @@ -190,14 +194,16 @@ public Builder vpcUser(String vpcUser) { } /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used - * to access the Recovery Appliance. + * to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcPassword") private String vpcPassword; /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used - * to access the Recovery Appliance. + * to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. * * @param vpcPassword the value to set * @return this builder @@ -211,7 +217,8 @@ public Builder vpcPassword(String vpcPassword) { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("isZeroDataLossEnabled") private Boolean isZeroDataLossEnabled; @@ -220,7 +227,8 @@ public Builder vpcPassword(String vpcPassword) { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. * * @param isZeroDataLossEnabled the value to set * @return this builder @@ -230,12 +238,16 @@ public Builder isZeroDataLossEnabled(Boolean isZeroDataLossEnabled) { this.__explicitlySet__.add("isZeroDataLossEnabled"); return this; } - /** Proxy URL to connect to object store. */ + /** + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases + * on Cloud Autonomous VM Cluster. + */ @com.fasterxml.jackson.annotation.JsonProperty("internetProxy") private String internetProxy; /** - * Proxy URL to connect to object store. + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases + * on Cloud Autonomous VM Cluster. * * @param internetProxy the value to set * @return this builder @@ -247,14 +259,16 @@ public Builder internetProxy(String internetProxy) { } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * DBRS policy used for backup. + * DBRS policy used for backup. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster and Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("dbrsPolicyId") private String dbrsPolicyId; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * DBRS policy used for backup. + * DBRS policy used for backup. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster and Autonomous VM Cluster. * * @param dbrsPolicyId the value to set * @return this builder @@ -570,14 +584,16 @@ public Type getType() { /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous VM + * Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private final String id; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the - * backup destination. + * backup destination. Not applicable for Autonomous Container Databases on Cloud Autonomous VM + * Cluster. * * @return the value */ @@ -587,14 +603,16 @@ public String getId() { /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that is - * used to access the Recovery Appliance. + * used to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcUser") private final String vpcUser; /** * For a RECOVERY_APPLIANCE backup destination, the Virtual Private Catalog (VPC) user that is - * used to access the Recovery Appliance. + * used to access the Recovery Appliance. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. * * @return the value */ @@ -604,14 +622,16 @@ public String getVpcUser() { /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used to - * access the Recovery Appliance. + * access the Recovery Appliance. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("vpcPassword") private final String vpcPassword; /** * For a RECOVERY_APPLIANCE backup destination, the password for the VPC user that is used to - * access the Recovery Appliance. + * access the Recovery Appliance. Not applicable for Autonomous Container Databases on Cloud + * Autonomous VM Cluster. * * @return the value */ @@ -623,7 +643,8 @@ public String getVpcPassword() { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("isZeroDataLossEnabled") private final Boolean isZeroDataLossEnabled; @@ -632,7 +653,8 @@ public String getVpcPassword() { * Indicates whether Zero Data Loss functionality is enabled for a Recovery Appliance backup * destination in an Autonomous Container Database. When enabled, the database automatically * ships all redo logs in real-time to the Recovery Appliance for a Zero Data Loss recovery - * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. + * setup (sub-second RPO). Defaults to {@code TRUE} if no value is given. Not applicable for + * Autonomous Container Databases on Cloud Autonomous VM Cluster. * * @return the value */ @@ -640,12 +662,16 @@ public Boolean getIsZeroDataLossEnabled() { return isZeroDataLossEnabled; } - /** Proxy URL to connect to object store. */ + /** + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. + */ @com.fasterxml.jackson.annotation.JsonProperty("internetProxy") private final String internetProxy; /** - * Proxy URL to connect to object store. + * Proxy URL to connect to object store. Not applicable for Autonomous Container Databases on + * Cloud Autonomous VM Cluster. * * @return the value */ @@ -655,14 +681,16 @@ public String getInternetProxy() { /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DBRS - * policy used for backup. + * policy used for backup. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster and Autonomous VM Cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("dbrsPolicyId") private final String dbrsPolicyId; /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DBRS - * policy used for backup. + * policy used for backup. Not applicable for Autonomous Container Databases on Cloud Autonomous + * VM Cluster and Autonomous VM Cluster. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmCluster.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmCluster.java index 8b812c189a0..06220f43b41 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmCluster.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmCluster.java @@ -334,12 +334,22 @@ public Builder dbServers(java.util.List dbServers) { this.__explicitlySet__.add("dbServers"); return this; } - /** Total CPU cores for the BaseDB C@C VM cluster. */ + /** + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per + * VM for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is + * 480 total ECPUs (240 ECPUs per VM). + */ @com.fasterxml.jackson.annotation.JsonProperty("cpusEnabled") private Integer cpusEnabled; /** - * Total CPU cores for the BaseDB C@C VM cluster. + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per + * VM for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is + * 480 total ECPUs (240 ECPUs per VM). * * @param cpusEnabled the value to set * @return this builder @@ -593,14 +603,16 @@ public Builder recoStorageSizeInGBs(Integer recoStorageSizeInGBs) { } /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems + * is 16 GB per VM. Minimum for all other editions is 11 GB. */ @com.fasterxml.jackson.annotation.JsonProperty("memorySizeInGBs") private Integer memorySizeInGBs; /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems + * is 16 GB per VM. Minimum for all other editions is 11 GB. * * @param memorySizeInGBs the value to set * @return this builder @@ -1183,12 +1195,22 @@ public java.util.List getDbServers() { return dbServers; } - /** Total CPU cores for the BaseDB C@C VM cluster. */ + /** + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per VM + * for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is 480 + * total ECPUs (240 ECPUs per VM). + */ @com.fasterxml.jackson.annotation.JsonProperty("cpusEnabled") private final Integer cpusEnabled; /** - * Total CPU cores for the BaseDB C@C VM cluster. + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per VM + * for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is 480 + * total ECPUs (240 ECPUs per VM). * * @return the value */ @@ -1412,14 +1434,16 @@ public Integer getRecoStorageSizeInGBs() { /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems is + * 16 GB per VM. Minimum for all other editions is 11 GB. */ @com.fasterxml.jackson.annotation.JsonProperty("memorySizeInGBs") private final Integer memorySizeInGBs; /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems is + * 16 GB per VM. Minimum for all other editions is 11 GB. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterSummary.java index ec01303e09f..444468bc1f5 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterSummary.java @@ -334,12 +334,22 @@ public Builder dbServers(java.util.List dbServers) { this.__explicitlySet__.add("dbServers"); return this; } - /** Total CPU cores for the BaseDB C@C VM cluster. */ + /** + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per + * VM for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is + * 480 total ECPUs (240 ECPUs per VM). + */ @com.fasterxml.jackson.annotation.JsonProperty("cpusEnabled") private Integer cpusEnabled; /** - * Total CPU cores for the BaseDB C@C VM cluster. + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per + * VM for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is + * 480 total ECPUs (240 ECPUs per VM). * * @param cpusEnabled the value to set * @return this builder @@ -593,14 +603,16 @@ public Builder recoStorageSizeInGBs(Integer recoStorageSizeInGBs) { } /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems + * is 16 GB per VM. Minimum for all other editions is 11 GB. */ @com.fasterxml.jackson.annotation.JsonProperty("memorySizeInGBs") private Integer memorySizeInGBs; /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems + * is 16 GB per VM. Minimum for all other editions is 11 GB. * * @param memorySizeInGBs the value to set * @return this builder @@ -1183,12 +1195,22 @@ public java.util.List getDbServers() { return dbServers; } - /** Total CPU cores for the BaseDB C@C VM cluster. */ + /** + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per VM + * for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is 480 + * total ECPUs (240 ECPUs per VM). + */ @com.fasterxml.jackson.annotation.JsonProperty("cpusEnabled") private final Integer cpusEnabled; /** - * Total CPU cores for the BaseDB C@C VM cluster. + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per VM + * for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is 480 + * total ECPUs (240 ECPUs per VM). * * @return the value */ @@ -1412,14 +1434,16 @@ public Integer getRecoStorageSizeInGBs() { /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems is + * 16 GB per VM. Minimum for all other editions is 11 GB. */ @com.fasterxml.jackson.annotation.JsonProperty("memorySizeInGBs") private final Integer memorySizeInGBs; /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems is + * 16 GB per VM. Minimum for all other editions is 11 GB. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateAutonomousDatabaseBase.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateAutonomousDatabaseBase.java index 79f29b094cd..b6ea2e0a7d5 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateAutonomousDatabaseBase.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateAutonomousDatabaseBase.java @@ -968,14 +968,14 @@ public Boolean getIsPreviewVersionWithServiceTermsAccepted() { /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. */ @com.fasterxml.jackson.annotation.JsonProperty("isAutoScalingEnabled") private final Boolean isAutoScalingEnabled; /** * Indicates if auto scaling is enabled for the Autonomous AI Database CPU core count. The - * default value is {@code TRUE}. + * default value is {@code FALSE}. * * @return the value */ @@ -1454,6 +1454,11 @@ public String getPrivateEndpointIp() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -1466,6 +1471,11 @@ public String getPrivateEndpointIp() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateBaseccVmClusterDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateBaseccVmClusterDetails.java index 9ba6692fa50..282c23152e0 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateBaseccVmClusterDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateBaseccVmClusterDetails.java @@ -178,12 +178,22 @@ public Builder dbServerId(String dbServerId) { this.__explicitlySet__.add("dbServerId"); return this; } - /** Total CPU cores for the BaseDB C@C VM cluster. */ + /** + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per + * VM for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is + * 480 total ECPUs (240 ECPUs per VM). + */ @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") private Integer cpuCoreCount; /** - * Total CPU cores for the BaseDB C@C VM cluster. + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per + * VM for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is + * 480 total ECPUs (240 ECPUs per VM). * * @param cpuCoreCount the value to set * @return this builder @@ -388,14 +398,16 @@ public Builder recoStorageSizeInGBs(Integer recoStorageSizeInGBs) { } /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems + * is 16 GB per VM. Minimum for all other editions is 11 GB. */ @com.fasterxml.jackson.annotation.JsonProperty("memorySizeInGBs") private Integer memorySizeInGBs; /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems + * is 16 GB per VM. Minimum for all other editions is 11 GB. * * @param memorySizeInGBs the value to set * @return this builder @@ -723,12 +735,22 @@ public String getDbServerId() { return dbServerId; } - /** Total CPU cores for the BaseDB C@C VM cluster. */ + /** + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per VM + * for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is 480 + * total ECPUs (240 ECPUs per VM). + */ @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") private final Integer cpuCoreCount; /** - * Total CPU cores for the BaseDB C@C VM cluster. + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per VM + * for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is 480 + * total ECPUs (240 ECPUs per VM). * * @return the value */ @@ -909,14 +931,16 @@ public Integer getRecoStorageSizeInGBs() { /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems is + * 16 GB per VM. Minimum for all other editions is 11 GB. */ @com.fasterxml.jackson.annotation.JsonProperty("memorySizeInGBs") private final Integer memorySizeInGBs; /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems is + * 16 GB per VM. Minimum for all other editions is 11 GB. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateCloudVmClusterDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateCloudVmClusterDetails.java index 77a79f31feb..41afdb9591d 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateCloudVmClusterDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateCloudVmClusterDetails.java @@ -59,6 +59,7 @@ public final class CreateCloudVmClusterDetails "securityAttributes", "dataCollectionOptions", "systemVersion", + "isOlderVersionAcknowledged", "fileSystemConfigurationDetails", "cloudAutomationUpdateDetails", "exascaleDbStorageVaultId", @@ -101,6 +102,7 @@ public CreateCloudVmClusterDetails( java.util.Map> securityAttributes, DataCollectionOptions dataCollectionOptions, String systemVersion, + Boolean isOlderVersionAcknowledged, java.util.List fileSystemConfigurationDetails, CloudAutomationUpdateDetails cloudAutomationUpdateDetails, String exascaleDbStorageVaultId, @@ -142,6 +144,7 @@ public CreateCloudVmClusterDetails( this.securityAttributes = securityAttributes; this.dataCollectionOptions = dataCollectionOptions; this.systemVersion = systemVersion; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.fileSystemConfigurationDetails = fileSystemConfigurationDetails; this.cloudAutomationUpdateDetails = cloudAutomationUpdateDetails; this.exascaleDbStorageVaultId = exascaleDbStorageVaultId; @@ -864,6 +867,25 @@ public Builder systemVersion(String systemVersion) { this.__explicitlySet__.add("systemVersion"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } /** Details of the file system configuration of the VM cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("fileSystemConfigurationDetails") private java.util.List fileSystemConfigurationDetails; @@ -1007,6 +1029,7 @@ public CreateCloudVmClusterDetails build() { this.securityAttributes, this.dataCollectionOptions, this.systemVersion, + this.isOlderVersionAcknowledged, this.fileSystemConfigurationDetails, this.cloudAutomationUpdateDetails, this.exascaleDbStorageVaultId, @@ -1123,6 +1146,9 @@ public Builder copy(CreateCloudVmClusterDetails model) { if (model.wasPropertyExplicitlySet("systemVersion")) { this.systemVersion(model.getSystemVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("fileSystemConfigurationDetails")) { this.fileSystemConfigurationDetails(model.getFileSystemConfigurationDetails()); } @@ -1822,6 +1848,23 @@ public String getSystemVersion() { return systemVersion; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** Details of the file system configuration of the VM cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("fileSystemConfigurationDetails") private final java.util.List fileSystemConfigurationDetails; @@ -2069,6 +2112,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", securityAttributes=").append(String.valueOf(this.securityAttributes)); sb.append(", dataCollectionOptions=").append(String.valueOf(this.dataCollectionOptions)); sb.append(", systemVersion=").append(String.valueOf(this.systemVersion)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", fileSystemConfigurationDetails=") .append(String.valueOf(this.fileSystemConfigurationDetails)); sb.append(", cloudAutomationUpdateDetails=") @@ -2132,6 +2177,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.securityAttributes, other.securityAttributes) && java.util.Objects.equals(this.dataCollectionOptions, other.dataCollectionOptions) && java.util.Objects.equals(this.systemVersion, other.systemVersion) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals( this.fileSystemConfigurationDetails, other.fileSystemConfigurationDetails) && java.util.Objects.equals( @@ -2249,6 +2296,11 @@ public int hashCode() { result = (result * PRIME) + (this.systemVersion == null ? 43 : this.systemVersion.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.fileSystemConfigurationDetails == null diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationDetails.java index f8705a2f451..2b04f2bb437 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationDetails.java @@ -42,6 +42,7 @@ public class CreateDataGuardAssociationDetails @Deprecated @java.beans.ConstructorProperties({ "databaseSoftwareImageId", + "isOlderVersionAcknowledged", "databaseAdminPassword", "sourceEncryptionKeyLocationDetails", "protectionMode", @@ -52,6 +53,7 @@ public class CreateDataGuardAssociationDetails }) protected CreateDataGuardAssociationDetails( String databaseSoftwareImageId, + Boolean isOlderVersionAcknowledged, String databaseAdminPassword, EncryptionKeyLocationDetails sourceEncryptionKeyLocationDetails, ProtectionMode protectionMode, @@ -61,6 +63,7 @@ protected CreateDataGuardAssociationDetails( String peerSidPrefix) { super(); this.databaseSoftwareImageId = databaseSoftwareImageId; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.databaseAdminPassword = databaseAdminPassword; this.sourceEncryptionKeyLocationDetails = sourceEncryptionKeyLocationDetails; this.protectionMode = protectionMode; @@ -87,6 +90,23 @@ public String getDatabaseSoftwareImageId() { return databaseSoftwareImageId; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** * A strong password for the {@code SYS}, {@code SYSTEM}, and {@code PDB Admin} users to apply * during standby creation. @@ -343,6 +363,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("CreateDataGuardAssociationDetails("); sb.append("super=").append(super.toString()); sb.append("databaseSoftwareImageId=").append(String.valueOf(this.databaseSoftwareImageId)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", databaseAdminPassword=").append(String.valueOf(this.databaseAdminPassword)); sb.append(", sourceEncryptionKeyLocationDetails=") .append(String.valueOf(this.sourceEncryptionKeyLocationDetails)); @@ -367,6 +389,8 @@ public boolean equals(Object o) { CreateDataGuardAssociationDetails other = (CreateDataGuardAssociationDetails) o; return java.util.Objects.equals(this.databaseSoftwareImageId, other.databaseSoftwareImageId) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals(this.databaseAdminPassword, other.databaseAdminPassword) && java.util.Objects.equals( this.sourceEncryptionKeyLocationDetails, @@ -389,6 +413,11 @@ public int hashCode() { + (this.databaseSoftwareImageId == null ? 43 : this.databaseSoftwareImageId.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.databaseAdminPassword == null diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationToExistingDbSystemDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationToExistingDbSystemDetails.java index e7365ee5955..4386385fb04 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationToExistingDbSystemDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationToExistingDbSystemDetails.java @@ -44,6 +44,15 @@ public Builder databaseSoftwareImageId(String databaseSoftwareImageId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("databaseAdminPassword") private String databaseAdminPassword; @@ -157,6 +166,7 @@ public CreateDataGuardAssociationToExistingDbSystemDetails build() { CreateDataGuardAssociationToExistingDbSystemDetails model = new CreateDataGuardAssociationToExistingDbSystemDetails( this.databaseSoftwareImageId, + this.isOlderVersionAcknowledged, this.databaseAdminPassword, this.sourceEncryptionKeyLocationDetails, this.protectionMode, @@ -177,6 +187,9 @@ public Builder copy(CreateDataGuardAssociationToExistingDbSystemDetails model) { if (model.wasPropertyExplicitlySet("databaseSoftwareImageId")) { this.databaseSoftwareImageId(model.getDatabaseSoftwareImageId()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("databaseAdminPassword")) { this.databaseAdminPassword(model.getDatabaseAdminPassword()); } @@ -221,6 +234,7 @@ public Builder toBuilder() { @Deprecated public CreateDataGuardAssociationToExistingDbSystemDetails( String databaseSoftwareImageId, + Boolean isOlderVersionAcknowledged, String databaseAdminPassword, EncryptionKeyLocationDetails sourceEncryptionKeyLocationDetails, ProtectionMode protectionMode, @@ -232,6 +246,7 @@ public CreateDataGuardAssociationToExistingDbSystemDetails( String peerDbHomeId) { super( databaseSoftwareImageId, + isOlderVersionAcknowledged, databaseAdminPassword, sourceEncryptionKeyLocationDetails, protectionMode, diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationToExistingVmClusterDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationToExistingVmClusterDetails.java index 1da0cb37d5a..dcba0d21d57 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationToExistingVmClusterDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationToExistingVmClusterDetails.java @@ -39,6 +39,15 @@ public Builder databaseSoftwareImageId(String databaseSoftwareImageId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("databaseAdminPassword") private String databaseAdminPassword; @@ -152,6 +161,7 @@ public CreateDataGuardAssociationToExistingVmClusterDetails build() { CreateDataGuardAssociationToExistingVmClusterDetails model = new CreateDataGuardAssociationToExistingVmClusterDetails( this.databaseSoftwareImageId, + this.isOlderVersionAcknowledged, this.databaseAdminPassword, this.sourceEncryptionKeyLocationDetails, this.protectionMode, @@ -172,6 +182,9 @@ public Builder copy(CreateDataGuardAssociationToExistingVmClusterDetails model) if (model.wasPropertyExplicitlySet("databaseSoftwareImageId")) { this.databaseSoftwareImageId(model.getDatabaseSoftwareImageId()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("databaseAdminPassword")) { this.databaseAdminPassword(model.getDatabaseAdminPassword()); } @@ -216,6 +229,7 @@ public Builder toBuilder() { @Deprecated public CreateDataGuardAssociationToExistingVmClusterDetails( String databaseSoftwareImageId, + Boolean isOlderVersionAcknowledged, String databaseAdminPassword, EncryptionKeyLocationDetails sourceEncryptionKeyLocationDetails, ProtectionMode protectionMode, @@ -227,6 +241,7 @@ public CreateDataGuardAssociationToExistingVmClusterDetails( String peerDbHomeId) { super( databaseSoftwareImageId, + isOlderVersionAcknowledged, databaseAdminPassword, sourceEncryptionKeyLocationDetails, protectionMode, diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationWithNewDbSystemDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationWithNewDbSystemDetails.java index defa0fcd89a..2c0687171c7 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationWithNewDbSystemDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDataGuardAssociationWithNewDbSystemDetails.java @@ -44,6 +44,15 @@ public Builder databaseSoftwareImageId(String databaseSoftwareImageId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("databaseAdminPassword") private String databaseAdminPassword; @@ -697,6 +706,7 @@ public CreateDataGuardAssociationWithNewDbSystemDetails build() { CreateDataGuardAssociationWithNewDbSystemDetails model = new CreateDataGuardAssociationWithNewDbSystemDetails( this.databaseSoftwareImageId, + this.isOlderVersionAcknowledged, this.databaseAdminPassword, this.sourceEncryptionKeyLocationDetails, this.protectionMode, @@ -741,6 +751,9 @@ public Builder copy(CreateDataGuardAssociationWithNewDbSystemDetails model) { if (model.wasPropertyExplicitlySet("databaseSoftwareImageId")) { this.databaseSoftwareImageId(model.getDatabaseSoftwareImageId()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("databaseAdminPassword")) { this.databaseAdminPassword(model.getDatabaseAdminPassword()); } @@ -857,6 +870,7 @@ public Builder toBuilder() { @Deprecated public CreateDataGuardAssociationWithNewDbSystemDetails( String databaseSoftwareImageId, + Boolean isOlderVersionAcknowledged, String databaseAdminPassword, EncryptionKeyLocationDetails sourceEncryptionKeyLocationDetails, ProtectionMode protectionMode, @@ -892,6 +906,7 @@ public CreateDataGuardAssociationWithNewDbSystemDetails( String subscriptionId) { super( databaseSoftwareImageId, + isOlderVersionAcknowledged, databaseAdminPassword, sourceEncryptionKeyLocationDetails, protectionMode, diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseDetails.java index 36b1d2d9902..7acdafaf34c 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseDetails.java @@ -47,7 +47,8 @@ public CreateDatabaseDetails( EncryptionKeyLocationDetails encryptionKeyLocationDetails, DatabaseStorageSizeDetails storageSizeDetails, ManagedSoftwareUpdateInputDetails managedSoftwareUpdateDetails, - String vmClusterId) { + String vmClusterId, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.dbName = dbName; this.dbUniqueName = dbUniqueName; @@ -70,6 +71,7 @@ public CreateDatabaseDetails( this.storageSizeDetails = storageSizeDetails; this.managedSoftwareUpdateDetails = managedSoftwareUpdateDetails; this.vmClusterId = vmClusterId; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.annotation.JsonCreator @@ -95,7 +97,8 @@ public CreateDatabaseDetails( "encryptionKeyLocationDetails", "storageSizeDetails", "managedSoftwareUpdateDetails", - "vmClusterId" + "vmClusterId", + "dataSafeRegistrationDetails" }) public CreateDatabaseDetails( String dbName, @@ -118,7 +121,8 @@ public CreateDatabaseDetails( EncryptionKeyLocationDetails encryptionKeyLocationDetails, DatabaseStorageSizeDetails storageSizeDetails, ManagedSoftwareUpdateInputDetails managedSoftwareUpdateDetails, - String vmClusterId) { + String vmClusterId, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.dbName = dbName; this.dbUniqueName = dbUniqueName; @@ -141,6 +145,7 @@ public CreateDatabaseDetails( this.storageSizeDetails = storageSizeDetails; this.managedSoftwareUpdateDetails = managedSoftwareUpdateDetails; this.vmClusterId = vmClusterId; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -573,6 +578,16 @@ public Builder vmClusterId(String vmClusterId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public Builder dataSafeRegistrationDetails( + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; + this.__explicitlySet__.add("dataSafeRegistrationDetails"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -599,7 +614,8 @@ public CreateDatabaseDetails build() { this.encryptionKeyLocationDetails, this.storageSizeDetails, this.managedSoftwareUpdateDetails, - this.vmClusterId); + this.vmClusterId, + this.dataSafeRegistrationDetails); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -671,6 +687,9 @@ public Builder copy(CreateDatabaseDetails model) { if (model.wasPropertyExplicitlySet("vmClusterId")) { this.vmClusterId(model.getVmClusterId()); } + if (model.wasPropertyExplicitlySet("dataSafeRegistrationDetails")) { + this.dataSafeRegistrationDetails(model.getDataSafeRegistrationDetails()); + } return this; } } @@ -1113,6 +1132,13 @@ public String getVmClusterId() { return vmClusterId; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private final DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public DataSafeRegistrationRequestDetails getDataSafeRegistrationDetails() { + return dataSafeRegistrationDetails; + } + @Override public String toString() { return this.toString(true); @@ -1152,6 +1178,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", managedSoftwareUpdateDetails=") .append(String.valueOf(this.managedSoftwareUpdateDetails)); sb.append(", vmClusterId=").append(String.valueOf(this.vmClusterId)); + sb.append(", dataSafeRegistrationDetails=") + .append(String.valueOf(this.dataSafeRegistrationDetails)); sb.append(")"); return sb.toString(); } @@ -1190,6 +1218,8 @@ public boolean equals(Object o) { && java.util.Objects.equals( this.managedSoftwareUpdateDetails, other.managedSoftwareUpdateDetails) && java.util.Objects.equals(this.vmClusterId, other.vmClusterId) + && java.util.Objects.equals( + this.dataSafeRegistrationDetails, other.dataSafeRegistrationDetails) && super.equals(other); } @@ -1244,6 +1274,11 @@ public int hashCode() { ? 43 : this.managedSoftwareUpdateDetails.hashCode()); result = (result * PRIME) + (this.vmClusterId == null ? 43 : this.vmClusterId.hashCode()); + result = + (result * PRIME) + + (this.dataSafeRegistrationDetails == null + ? 43 + : this.dataSafeRegistrationDetails.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseForStandbyDbSystemDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseForStandbyDbSystemDetails.java index 0a06795bd88..e4746980ec7 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseForStandbyDbSystemDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseForStandbyDbSystemDetails.java @@ -30,6 +30,7 @@ public CreateDatabaseForStandbyDbSystemDetails( String adminPassword, String tdeWalletPassword, String databaseSoftwareImageId, + Boolean isOlderVersionAcknowledged, Boolean isActiveDataGuardEnabled, String dbDomain, String sidPrefix, @@ -44,6 +45,7 @@ public CreateDatabaseForStandbyDbSystemDetails( this.adminPassword = adminPassword; this.tdeWalletPassword = tdeWalletPassword != null ? tdeWalletPassword.toCharArray() : null; this.databaseSoftwareImageId = databaseSoftwareImageId; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.isActiveDataGuardEnabled = isActiveDataGuardEnabled; this.dbDomain = dbDomain; this.sidPrefix = sidPrefix; @@ -62,6 +64,7 @@ public CreateDatabaseForStandbyDbSystemDetails( "adminPassword", "tdeWalletPassword", "databaseSoftwareImageId", + "isOlderVersionAcknowledged", "isActiveDataGuardEnabled", "dbDomain", "sidPrefix", @@ -77,6 +80,7 @@ public CreateDatabaseForStandbyDbSystemDetails( String adminPassword, char[] tdeWalletPassword, String databaseSoftwareImageId, + Boolean isOlderVersionAcknowledged, Boolean isActiveDataGuardEnabled, String dbDomain, String sidPrefix, @@ -91,6 +95,7 @@ public CreateDatabaseForStandbyDbSystemDetails( this.adminPassword = adminPassword; this.tdeWalletPassword = tdeWalletPassword; this.databaseSoftwareImageId = databaseSoftwareImageId; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.isActiveDataGuardEnabled = isActiveDataGuardEnabled; this.dbDomain = dbDomain; this.sidPrefix = sidPrefix; @@ -163,6 +168,25 @@ public Builder databaseSoftwareImageId(String databaseSoftwareImageId) { this.__explicitlySet__.add("databaseSoftwareImageId"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } /** True if active Data Guard is enabled. */ @com.fasterxml.jackson.annotation.JsonProperty("isActiveDataGuardEnabled") private Boolean isActiveDataGuardEnabled; @@ -365,6 +389,7 @@ public CreateDatabaseForStandbyDbSystemDetails build() { this.adminPassword, this.tdeWalletPassword, this.databaseSoftwareImageId, + this.isOlderVersionAcknowledged, this.isActiveDataGuardEnabled, this.dbDomain, this.sidPrefix, @@ -392,6 +417,9 @@ public Builder copy(CreateDatabaseForStandbyDbSystemDetails model) { if (model.wasPropertyExplicitlySet("databaseSoftwareImageId")) { this.databaseSoftwareImageId(model.getDatabaseSoftwareImageId()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("isActiveDataGuardEnabled")) { this.isActiveDataGuardEnabled(model.getIsActiveDataGuardEnabled()); } @@ -492,6 +520,23 @@ public String getDatabaseSoftwareImageId() { return databaseSoftwareImageId; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** True if active Data Guard is enabled. */ @com.fasterxml.jackson.annotation.JsonProperty("isActiveDataGuardEnabled") private final Boolean isActiveDataGuardEnabled; @@ -767,6 +812,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", tdeWalletPassword=").append(""); sb.append(", databaseSoftwareImageId=") .append(String.valueOf(this.databaseSoftwareImageId)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", isActiveDataGuardEnabled=") .append(String.valueOf(this.isActiveDataGuardEnabled)); sb.append(", dbDomain=").append(String.valueOf(this.dbDomain)); @@ -797,6 +844,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.tdeWalletPassword, other.tdeWalletPassword) && java.util.Objects.equals( this.databaseSoftwareImageId, other.databaseSoftwareImageId) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals( this.isActiveDataGuardEnabled, other.isActiveDataGuardEnabled) && java.util.Objects.equals(this.dbDomain, other.dbDomain) @@ -828,6 +877,11 @@ public int hashCode() { + (this.databaseSoftwareImageId == null ? 43 : this.databaseSoftwareImageId.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.isActiveDataGuardEnabled == null diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseFromAnotherDatabaseDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseFromAnotherDatabaseDetails.java index f720acc5ff6..68b191a5125 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseFromAnotherDatabaseDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseFromAnotherDatabaseDetails.java @@ -38,7 +38,8 @@ public CreateDatabaseFromAnotherDatabaseDetails( DatabaseStorageSizeDetails storageSizeDetails, ManagedSoftwareUpdateInputDetails managedSoftwareUpdateDetails, String vmClusterId, - String recoveryApplianceVpcPassword) { + String recoveryApplianceVpcPassword, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.databaseId = databaseId; this.backupTDEPassword = backupTDEPassword; @@ -58,6 +59,7 @@ public CreateDatabaseFromAnotherDatabaseDetails( recoveryApplianceVpcPassword != null ? recoveryApplianceVpcPassword.toCharArray() : null; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.annotation.JsonCreator @@ -77,7 +79,8 @@ public CreateDatabaseFromAnotherDatabaseDetails( "storageSizeDetails", "managedSoftwareUpdateDetails", "vmClusterId", - "recoveryApplianceVpcPassword" + "recoveryApplianceVpcPassword", + "dataSafeRegistrationDetails" }) public CreateDatabaseFromAnotherDatabaseDetails( String databaseId, @@ -94,7 +97,8 @@ public CreateDatabaseFromAnotherDatabaseDetails( DatabaseStorageSizeDetails storageSizeDetails, ManagedSoftwareUpdateInputDetails managedSoftwareUpdateDetails, String vmClusterId, - char[] recoveryApplianceVpcPassword) { + char[] recoveryApplianceVpcPassword, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.databaseId = databaseId; this.backupTDEPassword = backupTDEPassword; @@ -111,6 +115,7 @@ public CreateDatabaseFromAnotherDatabaseDetails( this.managedSoftwareUpdateDetails = managedSoftwareUpdateDetails; this.vmClusterId = vmClusterId; this.recoveryApplianceVpcPassword = recoveryApplianceVpcPassword; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -380,6 +385,16 @@ public Builder recoveryApplianceVpcPassword(String recoveryApplianceVpcPassword) return this; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public Builder dataSafeRegistrationDetails( + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; + this.__explicitlySet__.add("dataSafeRegistrationDetails"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -400,7 +415,8 @@ public CreateDatabaseFromAnotherDatabaseDetails build() { this.storageSizeDetails, this.managedSoftwareUpdateDetails, this.vmClusterId, - this.recoveryApplianceVpcPassword); + this.recoveryApplianceVpcPassword, + this.dataSafeRegistrationDetails); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -455,6 +471,9 @@ public Builder copy(CreateDatabaseFromAnotherDatabaseDetails model) { if (model.wasPropertyExplicitlySet("recoveryApplianceVpcPassword")) { this.recoveryApplianceVpcPassword(model.getRecoveryApplianceVpcPassword()); } + if (model.wasPropertyExplicitlySet("dataSafeRegistrationDetails")) { + this.dataSafeRegistrationDetails(model.getDataSafeRegistrationDetails()); + } return this; } } @@ -703,6 +722,13 @@ public char[] getRecoveryApplianceVpcPassword__AsCharArray() { return recoveryApplianceVpcPassword; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private final DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public DataSafeRegistrationRequestDetails getDataSafeRegistrationDetails() { + return dataSafeRegistrationDetails; + } + @Override public String toString() { return this.toString(true); @@ -736,6 +762,8 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.managedSoftwareUpdateDetails)); sb.append(", vmClusterId=").append(String.valueOf(this.vmClusterId)); sb.append(", recoveryApplianceVpcPassword=").append(""); + sb.append(", dataSafeRegistrationDetails=") + .append(String.valueOf(this.dataSafeRegistrationDetails)); sb.append(")"); return sb.toString(); } @@ -771,6 +799,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.vmClusterId, other.vmClusterId) && java.util.Objects.equals( this.recoveryApplianceVpcPassword, other.recoveryApplianceVpcPassword) + && java.util.Objects.equals( + this.dataSafeRegistrationDetails, other.dataSafeRegistrationDetails) && super.equals(other); } @@ -821,6 +851,11 @@ public int hashCode() { + (this.recoveryApplianceVpcPassword == null ? 43 : this.recoveryApplianceVpcPassword.hashCode()); + result = + (result * PRIME) + + (this.dataSafeRegistrationDetails == null + ? 43 + : this.dataSafeRegistrationDetails.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseFromBackupDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseFromBackupDetails.java index 68ddf9886ab..b8c3a32069f 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseFromBackupDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseFromBackupDetails.java @@ -37,7 +37,8 @@ public CreateDatabaseFromBackupDetails( String vmClusterId, java.util.Map freeformTags, java.util.Map> definedTags, - String recoveryApplianceVpcPassword) { + String recoveryApplianceVpcPassword, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.backupId = backupId; this.backupTDEPassword = backupTDEPassword; @@ -56,6 +57,7 @@ public CreateDatabaseFromBackupDetails( recoveryApplianceVpcPassword != null ? recoveryApplianceVpcPassword.toCharArray() : null; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.annotation.JsonCreator @@ -74,7 +76,8 @@ public CreateDatabaseFromBackupDetails( "vmClusterId", "freeformTags", "definedTags", - "recoveryApplianceVpcPassword" + "recoveryApplianceVpcPassword", + "dataSafeRegistrationDetails" }) public CreateDatabaseFromBackupDetails( String backupId, @@ -90,7 +93,8 @@ public CreateDatabaseFromBackupDetails( String vmClusterId, java.util.Map freeformTags, java.util.Map> definedTags, - char[] recoveryApplianceVpcPassword) { + char[] recoveryApplianceVpcPassword, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.backupId = backupId; this.backupTDEPassword = backupTDEPassword; @@ -106,6 +110,7 @@ public CreateDatabaseFromBackupDetails( this.freeformTags = freeformTags; this.definedTags = definedTags; this.recoveryApplianceVpcPassword = recoveryApplianceVpcPassword; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -353,6 +358,16 @@ public Builder recoveryApplianceVpcPassword(String recoveryApplianceVpcPassword) return this; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public Builder dataSafeRegistrationDetails( + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; + this.__explicitlySet__.add("dataSafeRegistrationDetails"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -372,7 +387,8 @@ public CreateDatabaseFromBackupDetails build() { this.vmClusterId, this.freeformTags, this.definedTags, - this.recoveryApplianceVpcPassword); + this.recoveryApplianceVpcPassword, + this.dataSafeRegistrationDetails); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -424,6 +440,9 @@ public Builder copy(CreateDatabaseFromBackupDetails model) { if (model.wasPropertyExplicitlySet("recoveryApplianceVpcPassword")) { this.recoveryApplianceVpcPassword(model.getRecoveryApplianceVpcPassword()); } + if (model.wasPropertyExplicitlySet("dataSafeRegistrationDetails")) { + this.dataSafeRegistrationDetails(model.getDataSafeRegistrationDetails()); + } return this; } } @@ -653,6 +672,13 @@ public char[] getRecoveryApplianceVpcPassword__AsCharArray() { return recoveryApplianceVpcPassword; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private final DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public DataSafeRegistrationRequestDetails getDataSafeRegistrationDetails() { + return dataSafeRegistrationDetails; + } + @Override public String toString() { return this.toString(true); @@ -684,6 +710,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(", recoveryApplianceVpcPassword=").append(""); + sb.append(", dataSafeRegistrationDetails=") + .append(String.valueOf(this.dataSafeRegistrationDetails)); sb.append(")"); return sb.toString(); } @@ -716,6 +744,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.definedTags, other.definedTags) && java.util.Objects.equals( this.recoveryApplianceVpcPassword, other.recoveryApplianceVpcPassword) + && java.util.Objects.equals( + this.dataSafeRegistrationDetails, other.dataSafeRegistrationDetails) && super.equals(other); } @@ -761,6 +791,11 @@ public int hashCode() { + (this.recoveryApplianceVpcPassword == null ? 43 : this.recoveryApplianceVpcPassword.hashCode()); + result = + (result * PRIME) + + (this.dataSafeRegistrationDetails == null + ? 43 + : this.dataSafeRegistrationDetails.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseSoftwareImageDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseSoftwareImageDetails.java index 0e94a4fbb47..29456ddae0c 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseSoftwareImageDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDatabaseSoftwareImageDetails.java @@ -33,6 +33,7 @@ public final class CreateDatabaseSoftwareImageDetails "imageShapeFamily", "imageType", "patchSet", + "isOlderVersionAcknowledged", "databaseSoftwareImageOneOffPatches", "lsInventory", "freeformTags", @@ -47,6 +48,7 @@ public CreateDatabaseSoftwareImageDetails( ImageShapeFamily imageShapeFamily, ImageType imageType, String patchSet, + Boolean isOlderVersionAcknowledged, java.util.List databaseSoftwareImageOneOffPatches, String lsInventory, java.util.Map freeformTags, @@ -60,6 +62,7 @@ public CreateDatabaseSoftwareImageDetails( this.imageShapeFamily = imageShapeFamily; this.imageType = imageType; this.patchSet = patchSet; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.databaseSoftwareImageOneOffPatches = databaseSoftwareImageOneOffPatches; this.lsInventory = lsInventory; this.freeformTags = freeformTags; @@ -172,6 +175,25 @@ public Builder patchSet(String patchSet) { this.__explicitlySet__.add("patchSet"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } /** List of one-off patches for Database Homes. */ @com.fasterxml.jackson.annotation.JsonProperty("databaseSoftwareImageOneOffPatches") private java.util.List databaseSoftwareImageOneOffPatches; @@ -301,6 +323,7 @@ public CreateDatabaseSoftwareImageDetails build() { this.imageShapeFamily, this.imageType, this.patchSet, + this.isOlderVersionAcknowledged, this.databaseSoftwareImageOneOffPatches, this.lsInventory, this.freeformTags, @@ -333,6 +356,9 @@ public Builder copy(CreateDatabaseSoftwareImageDetails model) { if (model.wasPropertyExplicitlySet("patchSet")) { this.patchSet(model.getPatchSet()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("databaseSoftwareImageOneOffPatches")) { this.databaseSoftwareImageOneOffPatches( model.getDatabaseSoftwareImageOneOffPatches()); @@ -522,6 +548,23 @@ public String getPatchSet() { return patchSet; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** List of one-off patches for Database Homes. */ @com.fasterxml.jackson.annotation.JsonProperty("databaseSoftwareImageOneOffPatches") private final java.util.List databaseSoftwareImageOneOffPatches; @@ -645,6 +688,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", imageShapeFamily=").append(String.valueOf(this.imageShapeFamily)); sb.append(", imageType=").append(String.valueOf(this.imageType)); sb.append(", patchSet=").append(String.valueOf(this.patchSet)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", databaseSoftwareImageOneOffPatches=") .append(String.valueOf(this.databaseSoftwareImageOneOffPatches)); sb.append(", lsInventory=").append(String.valueOf(this.lsInventory)); @@ -672,6 +717,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.imageShapeFamily, other.imageShapeFamily) && java.util.Objects.equals(this.imageType, other.imageType) && java.util.Objects.equals(this.patchSet, other.patchSet) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals( this.databaseSoftwareImageOneOffPatches, other.databaseSoftwareImageOneOffPatches) @@ -699,6 +746,11 @@ public int hashCode() { + (this.imageShapeFamily == null ? 43 : this.imageShapeFamily.hashCode()); result = (result * PRIME) + (this.imageType == null ? 43 : this.imageType.hashCode()); result = (result * PRIME) + (this.patchSet == null ? 43 : this.patchSet.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.databaseSoftwareImageOneOffPatches == null diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeBase.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeBase.java index e5b3e1c9c89..a3d0322789e 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeBase.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeBase.java @@ -56,6 +56,7 @@ public class CreateDbHomeBase extends com.oracle.bmc.http.client.internal.Explic "freeformTags", "definedTags", "isDesupportedVersion", + "isOlderVersionAcknowledged", "isUnifiedAuditingEnabled" }) protected CreateDbHomeBase( @@ -66,6 +67,7 @@ protected CreateDbHomeBase( java.util.Map freeformTags, java.util.Map> definedTags, Boolean isDesupportedVersion, + Boolean isOlderVersionAcknowledged, Boolean isUnifiedAuditingEnabled) { super(); this.displayName = displayName; @@ -75,6 +77,7 @@ protected CreateDbHomeBase( this.freeformTags = freeformTags; this.definedTags = definedTags; this.isDesupportedVersion = isDesupportedVersion; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.isUnifiedAuditingEnabled = isUnifiedAuditingEnabled; } @@ -207,6 +210,23 @@ public Boolean getIsDesupportedVersion() { return isDesupportedVersion; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** * Indicates whether unified autiding is enabled or not. Set to True to enable unified auditing * on respective DBHome. @@ -247,6 +267,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(", isDesupportedVersion=").append(String.valueOf(this.isDesupportedVersion)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", isUnifiedAuditingEnabled=") .append(String.valueOf(this.isUnifiedAuditingEnabled)); sb.append(")"); @@ -271,6 +293,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) && java.util.Objects.equals(this.isDesupportedVersion, other.isDesupportedVersion) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals( this.isUnifiedAuditingEnabled, other.isUnifiedAuditingEnabled) && super.equals(other); @@ -297,6 +321,11 @@ public int hashCode() { + (this.isDesupportedVersion == null ? 43 : this.isDesupportedVersion.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.isUnifiedAuditingEnabled == null diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdDetails.java index de9cd792ad6..d815fce1f4d 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdDetails.java @@ -92,6 +92,15 @@ public Builder isDesupportedVersion(Boolean isDesupportedVersion) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("isUnifiedAuditingEnabled") private Boolean isUnifiedAuditingEnabled; @@ -173,6 +182,7 @@ public CreateDbHomeWithDbSystemIdDetails build() { this.freeformTags, this.definedTags, this.isDesupportedVersion, + this.isOlderVersionAcknowledged, this.isUnifiedAuditingEnabled, this.dbSystemId, this.dbVersion, @@ -206,6 +216,9 @@ public Builder copy(CreateDbHomeWithDbSystemIdDetails model) { if (model.wasPropertyExplicitlySet("isDesupportedVersion")) { this.isDesupportedVersion(model.getIsDesupportedVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("isUnifiedAuditingEnabled")) { this.isUnifiedAuditingEnabled(model.getIsUnifiedAuditingEnabled()); } @@ -240,6 +253,7 @@ public CreateDbHomeWithDbSystemIdDetails( java.util.Map freeformTags, java.util.Map> definedTags, Boolean isDesupportedVersion, + Boolean isOlderVersionAcknowledged, Boolean isUnifiedAuditingEnabled, String dbSystemId, String dbVersion, @@ -252,6 +266,7 @@ public CreateDbHomeWithDbSystemIdDetails( freeformTags, definedTags, isDesupportedVersion, + isOlderVersionAcknowledged, isUnifiedAuditingEnabled); this.dbSystemId = dbSystemId; this.dbVersion = dbVersion; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdFromBackupDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdFromBackupDetails.java index 699a0cfb503..ed40cb87452 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdFromBackupDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdFromBackupDetails.java @@ -92,6 +92,15 @@ public Builder isDesupportedVersion(Boolean isDesupportedVersion) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("isUnifiedAuditingEnabled") private Boolean isUnifiedAuditingEnabled; @@ -142,6 +151,7 @@ public CreateDbHomeWithDbSystemIdFromBackupDetails build() { this.freeformTags, this.definedTags, this.isDesupportedVersion, + this.isOlderVersionAcknowledged, this.isUnifiedAuditingEnabled, this.dbSystemId, this.database); @@ -174,6 +184,9 @@ public Builder copy(CreateDbHomeWithDbSystemIdFromBackupDetails model) { if (model.wasPropertyExplicitlySet("isDesupportedVersion")) { this.isDesupportedVersion(model.getIsDesupportedVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("isUnifiedAuditingEnabled")) { this.isUnifiedAuditingEnabled(model.getIsUnifiedAuditingEnabled()); } @@ -205,6 +218,7 @@ public CreateDbHomeWithDbSystemIdFromBackupDetails( java.util.Map freeformTags, java.util.Map> definedTags, Boolean isDesupportedVersion, + Boolean isOlderVersionAcknowledged, Boolean isUnifiedAuditingEnabled, String dbSystemId, CreateDatabaseFromBackupDetails database) { @@ -216,6 +230,7 @@ public CreateDbHomeWithDbSystemIdFromBackupDetails( freeformTags, definedTags, isDesupportedVersion, + isOlderVersionAcknowledged, isUnifiedAuditingEnabled); this.dbSystemId = dbSystemId; this.database = database; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdFromDatabaseDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdFromDatabaseDetails.java index ccef4c2fad2..25d6f0f6ed5 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdFromDatabaseDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithDbSystemIdFromDatabaseDetails.java @@ -92,6 +92,15 @@ public Builder isDesupportedVersion(Boolean isDesupportedVersion) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("isUnifiedAuditingEnabled") private Boolean isUnifiedAuditingEnabled; @@ -142,6 +151,7 @@ public CreateDbHomeWithDbSystemIdFromDatabaseDetails build() { this.freeformTags, this.definedTags, this.isDesupportedVersion, + this.isOlderVersionAcknowledged, this.isUnifiedAuditingEnabled, this.dbSystemId, this.database); @@ -174,6 +184,9 @@ public Builder copy(CreateDbHomeWithDbSystemIdFromDatabaseDetails model) { if (model.wasPropertyExplicitlySet("isDesupportedVersion")) { this.isDesupportedVersion(model.getIsDesupportedVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("isUnifiedAuditingEnabled")) { this.isUnifiedAuditingEnabled(model.getIsUnifiedAuditingEnabled()); } @@ -205,6 +218,7 @@ public CreateDbHomeWithDbSystemIdFromDatabaseDetails( java.util.Map freeformTags, java.util.Map> definedTags, Boolean isDesupportedVersion, + Boolean isOlderVersionAcknowledged, Boolean isUnifiedAuditingEnabled, String dbSystemId, CreateDatabaseFromAnotherDatabaseDetails database) { @@ -216,6 +230,7 @@ public CreateDbHomeWithDbSystemIdFromDatabaseDetails( freeformTags, definedTags, isDesupportedVersion, + isOlderVersionAcknowledged, isUnifiedAuditingEnabled); this.dbSystemId = dbSystemId; this.database = database; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdDetails.java index 24b7f9d3e00..870512c55e2 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdDetails.java @@ -92,6 +92,15 @@ public Builder isDesupportedVersion(Boolean isDesupportedVersion) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("isUnifiedAuditingEnabled") private Boolean isUnifiedAuditingEnabled; @@ -173,6 +182,7 @@ public CreateDbHomeWithVmClusterIdDetails build() { this.freeformTags, this.definedTags, this.isDesupportedVersion, + this.isOlderVersionAcknowledged, this.isUnifiedAuditingEnabled, this.vmClusterId, this.dbVersion, @@ -206,6 +216,9 @@ public Builder copy(CreateDbHomeWithVmClusterIdDetails model) { if (model.wasPropertyExplicitlySet("isDesupportedVersion")) { this.isDesupportedVersion(model.getIsDesupportedVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("isUnifiedAuditingEnabled")) { this.isUnifiedAuditingEnabled(model.getIsUnifiedAuditingEnabled()); } @@ -240,6 +253,7 @@ public CreateDbHomeWithVmClusterIdDetails( java.util.Map freeformTags, java.util.Map> definedTags, Boolean isDesupportedVersion, + Boolean isOlderVersionAcknowledged, Boolean isUnifiedAuditingEnabled, String vmClusterId, String dbVersion, @@ -252,6 +266,7 @@ public CreateDbHomeWithVmClusterIdDetails( freeformTags, definedTags, isDesupportedVersion, + isOlderVersionAcknowledged, isUnifiedAuditingEnabled); this.vmClusterId = vmClusterId; this.dbVersion = dbVersion; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdFromBackupDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdFromBackupDetails.java index 7c895aab364..e66fbdbc6a2 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdFromBackupDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdFromBackupDetails.java @@ -92,6 +92,15 @@ public Builder isDesupportedVersion(Boolean isDesupportedVersion) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("isUnifiedAuditingEnabled") private Boolean isUnifiedAuditingEnabled; @@ -142,6 +151,7 @@ public CreateDbHomeWithVmClusterIdFromBackupDetails build() { this.freeformTags, this.definedTags, this.isDesupportedVersion, + this.isOlderVersionAcknowledged, this.isUnifiedAuditingEnabled, this.vmClusterId, this.database); @@ -174,6 +184,9 @@ public Builder copy(CreateDbHomeWithVmClusterIdFromBackupDetails model) { if (model.wasPropertyExplicitlySet("isDesupportedVersion")) { this.isDesupportedVersion(model.getIsDesupportedVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("isUnifiedAuditingEnabled")) { this.isUnifiedAuditingEnabled(model.getIsUnifiedAuditingEnabled()); } @@ -205,6 +218,7 @@ public CreateDbHomeWithVmClusterIdFromBackupDetails( java.util.Map freeformTags, java.util.Map> definedTags, Boolean isDesupportedVersion, + Boolean isOlderVersionAcknowledged, Boolean isUnifiedAuditingEnabled, String vmClusterId, CreateDatabaseFromBackupDetails database) { @@ -216,6 +230,7 @@ public CreateDbHomeWithVmClusterIdFromBackupDetails( freeformTags, definedTags, isDesupportedVersion, + isOlderVersionAcknowledged, isUnifiedAuditingEnabled); this.vmClusterId = vmClusterId; this.database = database; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdFromDatabaseDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdFromDatabaseDetails.java index 4f90ec5d1f5..819fe3ac88a 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdFromDatabaseDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateDbHomeWithVmClusterIdFromDatabaseDetails.java @@ -92,6 +92,15 @@ public Builder isDesupportedVersion(Boolean isDesupportedVersion) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("isUnifiedAuditingEnabled") private Boolean isUnifiedAuditingEnabled; @@ -142,6 +151,7 @@ public CreateDbHomeWithVmClusterIdFromDatabaseDetails build() { this.freeformTags, this.definedTags, this.isDesupportedVersion, + this.isOlderVersionAcknowledged, this.isUnifiedAuditingEnabled, this.vmClusterId, this.database); @@ -174,6 +184,9 @@ public Builder copy(CreateDbHomeWithVmClusterIdFromDatabaseDetails model) { if (model.wasPropertyExplicitlySet("isDesupportedVersion")) { this.isDesupportedVersion(model.getIsDesupportedVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("isUnifiedAuditingEnabled")) { this.isUnifiedAuditingEnabled(model.getIsUnifiedAuditingEnabled()); } @@ -205,6 +218,7 @@ public CreateDbHomeWithVmClusterIdFromDatabaseDetails( java.util.Map freeformTags, java.util.Map> definedTags, Boolean isDesupportedVersion, + Boolean isOlderVersionAcknowledged, Boolean isUnifiedAuditingEnabled, String vmClusterId, CreateDatabaseFromAnotherDatabaseDetails database) { @@ -216,6 +230,7 @@ public CreateDbHomeWithVmClusterIdFromDatabaseDetails( freeformTags, definedTags, isDesupportedVersion, + isOlderVersionAcknowledged, isUnifiedAuditingEnabled); this.vmClusterId = vmClusterId; this.database = database; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateExadbVmClusterDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateExadbVmClusterDetails.java index 7b3298f05d6..61e7161da17 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateExadbVmClusterDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateExadbVmClusterDetails.java @@ -49,6 +49,7 @@ public final class CreateExadbVmClusterDetails "backupNetworkNsgIds", "gridImageId", "systemVersion", + "isOlderVersionAcknowledged", "freeformTags", "definedTags", "securityAttributes", @@ -81,6 +82,7 @@ public CreateExadbVmClusterDetails( java.util.List backupNetworkNsgIds, String gridImageId, String systemVersion, + Boolean isOlderVersionAcknowledged, java.util.Map freeformTags, java.util.Map> definedTags, java.util.Map> securityAttributes, @@ -112,6 +114,7 @@ public CreateExadbVmClusterDetails( this.backupNetworkNsgIds = backupNetworkNsgIds; this.gridImageId = gridImageId; this.systemVersion = systemVersion; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.freeformTags = freeformTags; this.definedTags = definedTags; this.securityAttributes = securityAttributes; @@ -592,6 +595,25 @@ public Builder systemVersion(String systemVersion) { this.__explicitlySet__.add("systemVersion"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + 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 @@ -741,6 +763,7 @@ public CreateExadbVmClusterDetails build() { this.backupNetworkNsgIds, this.gridImageId, this.systemVersion, + this.isOlderVersionAcknowledged, this.freeformTags, this.definedTags, this.securityAttributes, @@ -827,6 +850,9 @@ public Builder copy(CreateExadbVmClusterDetails model) { if (model.wasPropertyExplicitlySet("systemVersion")) { this.systemVersion(model.getSystemVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } @@ -1308,6 +1334,23 @@ public String getSystemVersion() { return systemVersion; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** * 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 @@ -1488,6 +1531,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", backupNetworkNsgIds=").append(String.valueOf(this.backupNetworkNsgIds)); sb.append(", gridImageId=").append(String.valueOf(this.gridImageId)); sb.append(", systemVersion=").append(String.valueOf(this.systemVersion)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(", securityAttributes=").append(String.valueOf(this.securityAttributes)); @@ -1534,6 +1579,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.backupNetworkNsgIds, other.backupNetworkNsgIds) && java.util.Objects.equals(this.gridImageId, other.gridImageId) && java.util.Objects.equals(this.systemVersion, other.systemVersion) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) && java.util.Objects.equals(this.securityAttributes, other.securityAttributes) @@ -1609,6 +1656,11 @@ public int hashCode() { result = (result * PRIME) + (this.systemVersion == null ? 43 : this.systemVersion.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); result = diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateGiHomeDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateGiHomeDetails.java index 2a0b5328748..46562e69d03 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateGiHomeDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateGiHomeDetails.java @@ -27,6 +27,7 @@ public final class CreateGiHomeDetails @java.beans.ConstructorProperties({ "displayName", "giImageId", + "isOlderVersionAcknowledged", "dbSystemId", "freeformTags", "definedTags" @@ -34,12 +35,14 @@ public final class CreateGiHomeDetails public CreateGiHomeDetails( String displayName, String giImageId, + Boolean isOlderVersionAcknowledged, String dbSystemId, java.util.Map freeformTags, java.util.Map> definedTags) { super(); this.displayName = displayName; this.giImageId = giImageId; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.dbSystemId = dbSystemId; this.freeformTags = freeformTags; this.definedTags = definedTags; @@ -85,6 +88,25 @@ public Builder giImageId(String giImageId) { this.__explicitlySet__.add("giImageId"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * DB system. @@ -160,6 +182,7 @@ public CreateGiHomeDetails build() { new CreateGiHomeDetails( this.displayName, this.giImageId, + this.isOlderVersionAcknowledged, this.dbSystemId, this.freeformTags, this.definedTags); @@ -177,6 +200,9 @@ public Builder copy(CreateGiHomeDetails model) { if (model.wasPropertyExplicitlySet("giImageId")) { this.giImageId(model.getGiImageId()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("dbSystemId")) { this.dbSystemId(model.getDbSystemId()); } @@ -233,6 +259,23 @@ public String getGiImageId() { return giImageId; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DB * system. @@ -309,6 +352,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("displayName=").append(String.valueOf(this.displayName)); sb.append(", giImageId=").append(String.valueOf(this.giImageId)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", dbSystemId=").append(String.valueOf(this.dbSystemId)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); @@ -328,6 +373,8 @@ public boolean equals(Object o) { CreateGiHomeDetails other = (CreateGiHomeDetails) o; return java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.giImageId, other.giImageId) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals(this.dbSystemId, other.dbSystemId) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) @@ -340,6 +387,11 @@ public int hashCode() { int result = 1; result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); result = (result * PRIME) + (this.giImageId == null ? 43 : this.giImageId.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.dbSystemId == null ? 43 : this.dbSystemId.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateStandbyDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateStandbyDetails.java index 0eac459ee18..ff31c1a9bd7 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateStandbyDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateStandbyDetails.java @@ -36,7 +36,8 @@ public CreateStandbyDetails( DatabaseStorageSizeDetails storageSizeDetails, java.util.Map freeformTags, java.util.Map> definedTags, - AutoFailoverConfiguration autoFailoverConfiguration) { + AutoFailoverConfiguration autoFailoverConfiguration, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.sourceDatabaseId = sourceDatabaseId; this.databaseAdminPassword = @@ -53,6 +54,7 @@ public CreateStandbyDetails( this.freeformTags = freeformTags; this.definedTags = definedTags; this.autoFailoverConfiguration = autoFailoverConfiguration; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.annotation.JsonCreator @@ -70,7 +72,8 @@ public CreateStandbyDetails( "storageSizeDetails", "freeformTags", "definedTags", - "autoFailoverConfiguration" + "autoFailoverConfiguration", + "dataSafeRegistrationDetails" }) public CreateStandbyDetails( String sourceDatabaseId, @@ -85,7 +88,8 @@ public CreateStandbyDetails( DatabaseStorageSizeDetails storageSizeDetails, java.util.Map freeformTags, java.util.Map> definedTags, - AutoFailoverConfiguration autoFailoverConfiguration) { + AutoFailoverConfiguration autoFailoverConfiguration, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.sourceDatabaseId = sourceDatabaseId; this.databaseAdminPassword = databaseAdminPassword; @@ -100,6 +104,7 @@ public CreateStandbyDetails( this.freeformTags = freeformTags; this.definedTags = definedTags; this.autoFailoverConfiguration = autoFailoverConfiguration; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -357,6 +362,16 @@ public Builder autoFailoverConfiguration( return this; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public Builder dataSafeRegistrationDetails( + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; + this.__explicitlySet__.add("dataSafeRegistrationDetails"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -375,7 +390,8 @@ public CreateStandbyDetails build() { this.storageSizeDetails, this.freeformTags, this.definedTags, - this.autoFailoverConfiguration); + this.autoFailoverConfiguration, + this.dataSafeRegistrationDetails); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -424,6 +440,9 @@ public Builder copy(CreateStandbyDetails model) { if (model.wasPropertyExplicitlySet("autoFailoverConfiguration")) { this.autoFailoverConfiguration(model.getAutoFailoverConfiguration()); } + if (model.wasPropertyExplicitlySet("dataSafeRegistrationDetails")) { + this.dataSafeRegistrationDetails(model.getDataSafeRegistrationDetails()); + } return this; } } @@ -759,6 +778,13 @@ public AutoFailoverConfiguration getAutoFailoverConfiguration() { return autoFailoverConfiguration; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private final DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public DataSafeRegistrationRequestDetails getDataSafeRegistrationDetails() { + return dataSafeRegistrationDetails; + } + @Override public String toString() { return this.toString(true); @@ -790,6 +816,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(", autoFailoverConfiguration=") .append(String.valueOf(this.autoFailoverConfiguration)); + sb.append(", dataSafeRegistrationDetails=") + .append(String.valueOf(this.dataSafeRegistrationDetails)); sb.append(")"); return sb.toString(); } @@ -822,6 +850,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.definedTags, other.definedTags) && java.util.Objects.equals( this.autoFailoverConfiguration, other.autoFailoverConfiguration) + && java.util.Objects.equals( + this.dataSafeRegistrationDetails, other.dataSafeRegistrationDetails) && super.equals(other); } @@ -872,6 +902,11 @@ public int hashCode() { + (this.autoFailoverConfiguration == null ? 43 : this.autoFailoverConfiguration.hashCode()); + result = + (result * PRIME) + + (this.dataSafeRegistrationDetails == null + ? 43 + : this.dataSafeRegistrationDetails.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateVmClusterDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateVmClusterDetails.java index 11d4a4aee8a..f41ee1b245b 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateVmClusterDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateVmClusterDetails.java @@ -46,6 +46,7 @@ public final class CreateVmClusterDetails "isLocalBackupEnabled", "timeZone", "giVersion", + "isOlderVersionAcknowledged", "dbServers", "freeformTags", "definedTags", @@ -78,6 +79,7 @@ public CreateVmClusterDetails( Boolean isLocalBackupEnabled, String timeZone, String giVersion, + Boolean isOlderVersionAcknowledged, java.util.List dbServers, java.util.Map freeformTags, java.util.Map> definedTags, @@ -109,6 +111,7 @@ public CreateVmClusterDetails( this.isLocalBackupEnabled = isLocalBackupEnabled; this.timeZone = timeZone; this.giVersion = giVersion; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.dbServers = dbServers; this.freeformTags = freeformTags; this.definedTags = definedTags; @@ -473,6 +476,25 @@ public Builder giVersion(String giVersion) { this.__explicitlySet__.add("giVersion"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } /** The list of Db server. */ @com.fasterxml.jackson.annotation.JsonProperty("dbServers") private java.util.List dbServers; @@ -687,6 +709,7 @@ public CreateVmClusterDetails build() { this.isLocalBackupEnabled, this.timeZone, this.giVersion, + this.isOlderVersionAcknowledged, this.dbServers, this.freeformTags, this.definedTags, @@ -763,6 +786,9 @@ public Builder copy(CreateVmClusterDetails model) { if (model.wasPropertyExplicitlySet("giVersion")) { this.giVersion(model.getGiVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("dbServers")) { this.dbServers(model.getDbServers()); } @@ -1154,6 +1180,23 @@ public String getGiVersion() { return giVersion; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** The list of Db server. */ @com.fasterxml.jackson.annotation.JsonProperty("dbServers") private final java.util.List dbServers; @@ -1461,6 +1504,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", isLocalBackupEnabled=").append(String.valueOf(this.isLocalBackupEnabled)); sb.append(", timeZone=").append(String.valueOf(this.timeZone)); sb.append(", giVersion=").append(String.valueOf(this.giVersion)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", dbServers=").append(String.valueOf(this.dbServers)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); @@ -1513,6 +1558,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.isLocalBackupEnabled, other.isLocalBackupEnabled) && java.util.Objects.equals(this.timeZone, other.timeZone) && java.util.Objects.equals(this.giVersion, other.giVersion) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals(this.dbServers, other.dbServers) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) @@ -1600,6 +1647,11 @@ public int hashCode() { : this.isLocalBackupEnabled.hashCode()); result = (result * PRIME) + (this.timeZone == null ? 43 : this.timeZone.hashCode()); result = (result * PRIME) + (this.giVersion == null ? 43 : this.giVersion.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.dbServers == null ? 43 : this.dbServers.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DataSafeRegistrationDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DataSafeRegistrationDetails.java new file mode 100644 index 00000000000..4119d6c5f51 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DataSafeRegistrationDetails.java @@ -0,0 +1,184 @@ +/** + * 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.database.model; + +/** + * The Data Safe registration details of the database.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = DataSafeRegistrationDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class DataSafeRegistrationDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"registrationState"}) + public DataSafeRegistrationDetails(RegistrationState registrationState) { + super(); + this.registrationState = registrationState; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The Data Safe registration status of the database. */ + @com.fasterxml.jackson.annotation.JsonProperty("registrationState") + private RegistrationState registrationState; + + /** + * The Data Safe registration status of the database. + * + * @param registrationState the value to set + * @return this builder + */ + public Builder registrationState(RegistrationState registrationState) { + this.registrationState = registrationState; + this.__explicitlySet__.add("registrationState"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public DataSafeRegistrationDetails build() { + DataSafeRegistrationDetails model = + new DataSafeRegistrationDetails(this.registrationState); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(DataSafeRegistrationDetails model) { + if (model.wasPropertyExplicitlySet("registrationState")) { + this.registrationState(model.getRegistrationState()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The Data Safe registration status of the database. */ + public enum RegistrationState implements com.oracle.bmc.http.internal.BmcEnum { + Registered("REGISTERED"), + Unregistered("UNREGISTERED"), + 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(RegistrationState.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (RegistrationState v : RegistrationState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + RegistrationState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static RegistrationState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'RegistrationState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The Data Safe registration status of the database. */ + @com.fasterxml.jackson.annotation.JsonProperty("registrationState") + private final RegistrationState registrationState; + + /** + * The Data Safe registration status of the database. + * + * @return the value + */ + public RegistrationState getRegistrationState() { + return registrationState; + } + + @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("DataSafeRegistrationDetails("); + sb.append("super=").append(super.toString()); + sb.append("registrationState=").append(String.valueOf(this.registrationState)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DataSafeRegistrationDetails)) { + return false; + } + + DataSafeRegistrationDetails other = (DataSafeRegistrationDetails) o; + return java.util.Objects.equals(this.registrationState, other.registrationState) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.registrationState == null ? 43 : this.registrationState.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DataSafeRegistrationRequestDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DataSafeRegistrationRequestDetails.java new file mode 100644 index 00000000000..1cf290470ec --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DataSafeRegistrationRequestDetails.java @@ -0,0 +1,217 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.model; + +/** + * The requested Data Safe registration action details for the database.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = DataSafeRegistrationRequestDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class DataSafeRegistrationRequestDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"action", "connectionIds"}) + public DataSafeRegistrationRequestDetails(Action action, java.util.List connectionIds) { + super(); + this.action = action; + this.connectionIds = connectionIds; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The requested Data Safe registration action for the database. */ + @com.fasterxml.jackson.annotation.JsonProperty("action") + private Action action; + + /** + * The requested Data Safe registration action for the database. + * + * @param action the value to set + * @return this builder + */ + public Builder action(Action action) { + this.action = action; + this.__explicitlySet__.add("action"); + return this; + } + /** + * List of OCID(s) required to establish the connection. If using a Private Endpoint, + * provide one Data Safe private endpoint OCID. If using On-Premises Connectors, provide the + * OCID(s) of Data Safe on-premises connector(s). + */ + @com.fasterxml.jackson.annotation.JsonProperty("connectionIds") + private java.util.List connectionIds; + + /** + * List of OCID(s) required to establish the connection. If using a Private Endpoint, + * provide one Data Safe private endpoint OCID. If using On-Premises Connectors, provide the + * OCID(s) of Data Safe on-premises connector(s). + * + * @param connectionIds the value to set + * @return this builder + */ + public Builder connectionIds(java.util.List connectionIds) { + this.connectionIds = connectionIds; + this.__explicitlySet__.add("connectionIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public DataSafeRegistrationRequestDetails build() { + DataSafeRegistrationRequestDetails model = + new DataSafeRegistrationRequestDetails(this.action, this.connectionIds); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(DataSafeRegistrationRequestDetails model) { + if (model.wasPropertyExplicitlySet("action")) { + this.action(model.getAction()); + } + if (model.wasPropertyExplicitlySet("connectionIds")) { + this.connectionIds(model.getConnectionIds()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The requested Data Safe registration action for the database. */ + public enum Action implements com.oracle.bmc.http.internal.BmcEnum { + Register("REGISTER"), + Unregister("UNREGISTER"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (Action v : Action.values()) { + map.put(v.getValue(), v); + } + } + + Action(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static Action create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid Action: " + key); + } + }; + /** The requested Data Safe registration action for the database. */ + @com.fasterxml.jackson.annotation.JsonProperty("action") + private final Action action; + + /** + * The requested Data Safe registration action for the database. + * + * @return the value + */ + public Action getAction() { + return action; + } + + /** + * List of OCID(s) required to establish the connection. If using a Private Endpoint, provide + * one Data Safe private endpoint OCID. If using On-Premises Connectors, provide the OCID(s) of + * Data Safe on-premises connector(s). + */ + @com.fasterxml.jackson.annotation.JsonProperty("connectionIds") + private final java.util.List connectionIds; + + /** + * List of OCID(s) required to establish the connection. If using a Private Endpoint, provide + * one Data Safe private endpoint OCID. If using On-Premises Connectors, provide the OCID(s) of + * Data Safe on-premises connector(s). + * + * @return the value + */ + public java.util.List getConnectionIds() { + return connectionIds; + } + + @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("DataSafeRegistrationRequestDetails("); + sb.append("super=").append(super.toString()); + sb.append("action=").append(String.valueOf(this.action)); + sb.append(", connectionIds=").append(String.valueOf(this.connectionIds)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DataSafeRegistrationRequestDetails)) { + return false; + } + + DataSafeRegistrationRequestDetails other = (DataSafeRegistrationRequestDetails) o; + return java.util.Objects.equals(this.action, other.action) + && java.util.Objects.equals(this.connectionIds, other.connectionIds) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.action == null ? 43 : this.action.hashCode()); + result = + (result * PRIME) + + (this.connectionIds == null ? 43 : this.connectionIds.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/Database.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/Database.java index f69f81ba4dc..38913a39038 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/Database.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/Database.java @@ -59,7 +59,9 @@ public final class Database extends com.oracle.bmc.http.client.internal.Explicit "storageSizeDetails", "managedSoftwareUpdateDetails", "homeType", - "patchVersion" + "patchVersion", + "dataSafeState", + "dataSafeRegistrationDetails" }) public Database( String id, @@ -99,7 +101,9 @@ public Database( DatabaseStorageSizeResponseDetails storageSizeDetails, ManagedSoftwareUpdateDetails managedSoftwareUpdateDetails, HomeType homeType, - String patchVersion) { + String patchVersion, + DataSafeState dataSafeState, + DataSafeRegistrationDetails dataSafeRegistrationDetails) { super(); this.id = id; this.compartmentId = compartmentId; @@ -140,6 +144,8 @@ public Database( this.managedSoftwareUpdateDetails = managedSoftwareUpdateDetails; this.homeType = homeType; this.patchVersion = patchVersion; + this.dataSafeState = dataSafeState; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -786,6 +792,31 @@ public Builder patchVersion(String patchVersion) { this.__explicitlySet__.add("patchVersion"); return this; } + /** The Data Safe status of the database. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeState") + private DataSafeState dataSafeState; + + /** + * The Data Safe status of the database. + * + * @param dataSafeState the value to set + * @return this builder + */ + public Builder dataSafeState(DataSafeState dataSafeState) { + this.dataSafeState = dataSafeState; + this.__explicitlySet__.add("dataSafeState"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private DataSafeRegistrationDetails dataSafeRegistrationDetails; + + public Builder dataSafeRegistrationDetails( + DataSafeRegistrationDetails dataSafeRegistrationDetails) { + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; + this.__explicitlySet__.add("dataSafeRegistrationDetails"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -830,7 +861,9 @@ public Database build() { this.storageSizeDetails, this.managedSoftwareUpdateDetails, this.homeType, - this.patchVersion); + this.patchVersion, + this.dataSafeState, + this.dataSafeRegistrationDetails); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -954,6 +987,12 @@ public Builder copy(Database model) { if (model.wasPropertyExplicitlySet("patchVersion")) { this.patchVersion(model.getPatchVersion()); } + if (model.wasPropertyExplicitlySet("dataSafeState")) { + this.dataSafeState(model.getDataSafeState()); + } + if (model.wasPropertyExplicitlySet("dataSafeRegistrationDetails")) { + this.dataSafeRegistrationDetails(model.getDataSafeRegistrationDetails()); + } return this; } } @@ -1627,6 +1666,73 @@ public String getPatchVersion() { return patchVersion; } + /** The Data Safe status of the database. */ + public enum DataSafeState implements com.oracle.bmc.http.internal.BmcEnum { + Enabled("ENABLED"), + Disabled("DISABLED"), + 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(DataSafeState.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DataSafeState v : DataSafeState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + DataSafeState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DataSafeState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'DataSafeState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The Data Safe status of the database. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeState") + private final DataSafeState dataSafeState; + + /** + * The Data Safe status of the database. + * + * @return the value + */ + public DataSafeState getDataSafeState() { + return dataSafeState; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private final DataSafeRegistrationDetails dataSafeRegistrationDetails; + + public DataSafeRegistrationDetails getDataSafeRegistrationDetails() { + return dataSafeRegistrationDetails; + } + @Override public String toString() { return this.toString(true); @@ -1687,6 +1793,9 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.managedSoftwareUpdateDetails)); sb.append(", homeType=").append(String.valueOf(this.homeType)); sb.append(", patchVersion=").append(String.valueOf(this.patchVersion)); + sb.append(", dataSafeState=").append(String.valueOf(this.dataSafeState)); + sb.append(", dataSafeRegistrationDetails=") + .append(String.valueOf(this.dataSafeRegistrationDetails)); sb.append(")"); return sb.toString(); } @@ -1747,6 +1856,9 @@ public boolean equals(Object o) { this.managedSoftwareUpdateDetails, other.managedSoftwareUpdateDetails) && java.util.Objects.equals(this.homeType, other.homeType) && java.util.Objects.equals(this.patchVersion, other.patchVersion) + && java.util.Objects.equals(this.dataSafeState, other.dataSafeState) + && java.util.Objects.equals( + this.dataSafeRegistrationDetails, other.dataSafeRegistrationDetails) && super.equals(other); } @@ -1848,6 +1960,14 @@ public int hashCode() { : this.managedSoftwareUpdateDetails.hashCode()); result = (result * PRIME) + (this.homeType == null ? 43 : this.homeType.hashCode()); result = (result * PRIME) + (this.patchVersion == null ? 43 : this.patchVersion.hashCode()); + result = + (result * PRIME) + + (this.dataSafeState == null ? 43 : this.dataSafeState.hashCode()); + result = + (result * PRIME) + + (this.dataSafeRegistrationDetails == null + ? 43 + : this.dataSafeRegistrationDetails.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSoftwareImage.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSoftwareImage.java index 566eb95d418..e3cceb40005 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSoftwareImage.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSoftwareImage.java @@ -42,7 +42,8 @@ public final class DatabaseSoftwareImage "includedPatchesSummary", "databaseSoftwareImageOneOffPatches", "lsInventory", - "isUpgradeSupported" + "isUpgradeSupported", + "isOlderVersionAcknowledgmentRequired" }) public DatabaseSoftwareImage( String id, @@ -62,7 +63,8 @@ public DatabaseSoftwareImage( String includedPatchesSummary, java.util.List databaseSoftwareImageOneOffPatches, String lsInventory, - Boolean isUpgradeSupported) { + Boolean isUpgradeSupported, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.compartmentId = compartmentId; @@ -82,6 +84,7 @@ public DatabaseSoftwareImage( this.databaseSoftwareImageOneOffPatches = databaseSoftwareImageOneOffPatches; this.lsInventory = lsInventory; this.isUpgradeSupported = isUpgradeSupported; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -397,6 +400,26 @@ public Builder isUpgradeSupported(Boolean isUpgradeSupported) { this.__explicitlySet__.add("isUpgradeSupported"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -421,7 +444,8 @@ public DatabaseSoftwareImage build() { this.includedPatchesSummary, this.databaseSoftwareImageOneOffPatches, this.lsInventory, - this.isUpgradeSupported); + this.isUpgradeSupported, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -486,6 +510,10 @@ public Builder copy(DatabaseSoftwareImage model) { if (model.wasPropertyExplicitlySet("isUpgradeSupported")) { this.isUpgradeSupported(model.getIsUpgradeSupported()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -916,6 +944,23 @@ public Boolean getIsUpgradeSupported() { return isUpgradeSupported; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -951,6 +996,8 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.databaseSoftwareImageOneOffPatches)); sb.append(", lsInventory=").append(String.valueOf(this.lsInventory)); sb.append(", isUpgradeSupported=").append(String.valueOf(this.isUpgradeSupported)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -988,6 +1035,9 @@ public boolean equals(Object o) { other.databaseSoftwareImageOneOffPatches) && java.util.Objects.equals(this.lsInventory, other.lsInventory) && java.util.Objects.equals(this.isUpgradeSupported, other.isUpgradeSupported) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -1039,6 +1089,11 @@ public int hashCode() { + (this.isUpgradeSupported == null ? 43 : this.isUpgradeSupported.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSoftwareImageSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSoftwareImageSummary.java index 6da43240606..9090814b951 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSoftwareImageSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSoftwareImageSummary.java @@ -53,7 +53,8 @@ public final class DatabaseSoftwareImageSummary "includedPatchesSummary", "databaseSoftwareImageOneOffPatches", "lsInventory", - "isUpgradeSupported" + "isUpgradeSupported", + "isOlderVersionAcknowledgmentRequired" }) public DatabaseSoftwareImageSummary( String id, @@ -73,7 +74,8 @@ public DatabaseSoftwareImageSummary( String includedPatchesSummary, java.util.List databaseSoftwareImageOneOffPatches, String lsInventory, - Boolean isUpgradeSupported) { + Boolean isUpgradeSupported, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.compartmentId = compartmentId; @@ -93,6 +95,7 @@ public DatabaseSoftwareImageSummary( this.databaseSoftwareImageOneOffPatches = databaseSoftwareImageOneOffPatches; this.lsInventory = lsInventory; this.isUpgradeSupported = isUpgradeSupported; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -408,6 +411,26 @@ public Builder isUpgradeSupported(Boolean isUpgradeSupported) { this.__explicitlySet__.add("isUpgradeSupported"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -432,7 +455,8 @@ public DatabaseSoftwareImageSummary build() { this.includedPatchesSummary, this.databaseSoftwareImageOneOffPatches, this.lsInventory, - this.isUpgradeSupported); + this.isUpgradeSupported, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -497,6 +521,10 @@ public Builder copy(DatabaseSoftwareImageSummary model) { if (model.wasPropertyExplicitlySet("isUpgradeSupported")) { this.isUpgradeSupported(model.getIsUpgradeSupported()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -927,6 +955,23 @@ public Boolean getIsUpgradeSupported() { return isUpgradeSupported; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -962,6 +1007,8 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.databaseSoftwareImageOneOffPatches)); sb.append(", lsInventory=").append(String.valueOf(this.lsInventory)); sb.append(", isUpgradeSupported=").append(String.valueOf(this.isUpgradeSupported)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -999,6 +1046,9 @@ public boolean equals(Object o) { other.databaseSoftwareImageOneOffPatches) && java.util.Objects.equals(this.lsInventory, other.lsInventory) && java.util.Objects.equals(this.isUpgradeSupported, other.isUpgradeSupported) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -1050,6 +1100,11 @@ public int hashCode() { + (this.isUpgradeSupported == null ? 43 : this.isUpgradeSupported.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSummary.java index e24aa470310..b40d71291d0 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSummary.java @@ -70,7 +70,9 @@ public final class DatabaseSummary "storageSizeDetails", "managedSoftwareUpdateDetails", "homeType", - "patchVersion" + "patchVersion", + "dataSafeState", + "dataSafeRegistrationDetails" }) public DatabaseSummary( String id, @@ -110,7 +112,9 @@ public DatabaseSummary( DatabaseStorageSizeResponseDetails storageSizeDetails, ManagedSoftwareUpdateDetails managedSoftwareUpdateDetails, HomeType homeType, - String patchVersion) { + String patchVersion, + DataSafeState dataSafeState, + DataSafeRegistrationDetails dataSafeRegistrationDetails) { super(); this.id = id; this.compartmentId = compartmentId; @@ -151,6 +155,8 @@ public DatabaseSummary( this.managedSoftwareUpdateDetails = managedSoftwareUpdateDetails; this.homeType = homeType; this.patchVersion = patchVersion; + this.dataSafeState = dataSafeState; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -797,6 +803,31 @@ public Builder patchVersion(String patchVersion) { this.__explicitlySet__.add("patchVersion"); return this; } + /** The Data Safe status of the database. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeState") + private DataSafeState dataSafeState; + + /** + * The Data Safe status of the database. + * + * @param dataSafeState the value to set + * @return this builder + */ + public Builder dataSafeState(DataSafeState dataSafeState) { + this.dataSafeState = dataSafeState; + this.__explicitlySet__.add("dataSafeState"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private DataSafeRegistrationDetails dataSafeRegistrationDetails; + + public Builder dataSafeRegistrationDetails( + DataSafeRegistrationDetails dataSafeRegistrationDetails) { + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; + this.__explicitlySet__.add("dataSafeRegistrationDetails"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -841,7 +872,9 @@ public DatabaseSummary build() { this.storageSizeDetails, this.managedSoftwareUpdateDetails, this.homeType, - this.patchVersion); + this.patchVersion, + this.dataSafeState, + this.dataSafeRegistrationDetails); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -965,6 +998,12 @@ public Builder copy(DatabaseSummary model) { if (model.wasPropertyExplicitlySet("patchVersion")) { this.patchVersion(model.getPatchVersion()); } + if (model.wasPropertyExplicitlySet("dataSafeState")) { + this.dataSafeState(model.getDataSafeState()); + } + if (model.wasPropertyExplicitlySet("dataSafeRegistrationDetails")) { + this.dataSafeRegistrationDetails(model.getDataSafeRegistrationDetails()); + } return this; } } @@ -1638,6 +1677,73 @@ public String getPatchVersion() { return patchVersion; } + /** The Data Safe status of the database. */ + public enum DataSafeState implements com.oracle.bmc.http.internal.BmcEnum { + Enabled("ENABLED"), + Disabled("DISABLED"), + 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(DataSafeState.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DataSafeState v : DataSafeState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + DataSafeState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DataSafeState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'DataSafeState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The Data Safe status of the database. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeState") + private final DataSafeState dataSafeState; + + /** + * The Data Safe status of the database. + * + * @return the value + */ + public DataSafeState getDataSafeState() { + return dataSafeState; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private final DataSafeRegistrationDetails dataSafeRegistrationDetails; + + public DataSafeRegistrationDetails getDataSafeRegistrationDetails() { + return dataSafeRegistrationDetails; + } + @Override public String toString() { return this.toString(true); @@ -1698,6 +1804,9 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.managedSoftwareUpdateDetails)); sb.append(", homeType=").append(String.valueOf(this.homeType)); sb.append(", patchVersion=").append(String.valueOf(this.patchVersion)); + sb.append(", dataSafeState=").append(String.valueOf(this.dataSafeState)); + sb.append(", dataSafeRegistrationDetails=") + .append(String.valueOf(this.dataSafeRegistrationDetails)); sb.append(")"); return sb.toString(); } @@ -1758,6 +1867,9 @@ public boolean equals(Object o) { this.managedSoftwareUpdateDetails, other.managedSoftwareUpdateDetails) && java.util.Objects.equals(this.homeType, other.homeType) && java.util.Objects.equals(this.patchVersion, other.patchVersion) + && java.util.Objects.equals(this.dataSafeState, other.dataSafeState) + && java.util.Objects.equals( + this.dataSafeRegistrationDetails, other.dataSafeRegistrationDetails) && super.equals(other); } @@ -1859,6 +1971,14 @@ public int hashCode() { : this.managedSoftwareUpdateDetails.hashCode()); result = (result * PRIME) + (this.homeType == null ? 43 : this.homeType.hashCode()); result = (result * PRIME) + (this.patchVersion == null ? 43 : this.patchVersion.hashCode()); + result = + (result * PRIME) + + (this.dataSafeState == null ? 43 : this.dataSafeState.hashCode()); + result = + (result * PRIME) + + (this.dataSafeRegistrationDetails == null + ? 43 + : this.dataSafeRegistrationDetails.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseTool.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseTool.java index 4b5e76a8141..b9898baf0e7 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseTool.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseTool.java @@ -151,6 +151,7 @@ public enum Name implements com.oracle.bmc.http.internal.BmcEnum { Ords("ORDS"), MongodbApi("MONGODB_API"), SpatialStudio("SPATIAL_STUDIO"), + Essbase("ESSBASE"), /** * This value is used if a service returns a value for this enum that is not recognized by diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeSourceBase.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeSourceBase.java index 4a742432c51..1086920614b 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeSourceBase.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeSourceBase.java @@ -37,12 +37,30 @@ public class DatabaseUpgradeSourceBase extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"options"}) - protected DatabaseUpgradeSourceBase(String options) { + @java.beans.ConstructorProperties({"isOlderVersionAcknowledged", "options"}) + protected DatabaseUpgradeSourceBase(Boolean isOlderVersionAcknowledged, String options) { super(); + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.options = options; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** * Additional upgrade options supported by DBUA(Database Upgrade Assistant). Example: * "-upgradeTimezone false -keepEvents" @@ -75,7 +93,9 @@ public String toString(boolean includeByteArrayContents) { java.lang.StringBuilder sb = new java.lang.StringBuilder(); sb.append("DatabaseUpgradeSourceBase("); sb.append("super=").append(super.toString()); - sb.append("options=").append(String.valueOf(this.options)); + sb.append("isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); + sb.append(", options=").append(String.valueOf(this.options)); sb.append(")"); return sb.toString(); } @@ -90,13 +110,21 @@ public boolean equals(Object o) { } DatabaseUpgradeSourceBase other = (DatabaseUpgradeSourceBase) o; - return java.util.Objects.equals(this.options, other.options) && super.equals(other); + return java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) + && java.util.Objects.equals(this.options, other.options) + && super.equals(other); } @Override public int hashCode() { final int PRIME = 59; int result = 1; + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.options == null ? 43 : this.options.hashCode()); result = (result * PRIME) + super.hashCode(); return result; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDatabaseSoftwareImageDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDatabaseSoftwareImageDetails.java index 1c8154f6361..00437a61ed7 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDatabaseSoftwareImageDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDatabaseSoftwareImageDetails.java @@ -28,6 +28,15 @@ public final class DatabaseUpgradeWithDatabaseSoftwareImageDetails extends DatabaseUpgradeSourceBase { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("options") private String options; @@ -64,7 +73,9 @@ public Builder databaseSoftwareImageId(String databaseSoftwareImageId) { public DatabaseUpgradeWithDatabaseSoftwareImageDetails build() { DatabaseUpgradeWithDatabaseSoftwareImageDetails model = new DatabaseUpgradeWithDatabaseSoftwareImageDetails( - this.options, this.databaseSoftwareImageId); + this.isOlderVersionAcknowledged, + this.options, + this.databaseSoftwareImageId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -73,6 +84,9 @@ public DatabaseUpgradeWithDatabaseSoftwareImageDetails build() { @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(DatabaseUpgradeWithDatabaseSoftwareImageDetails model) { + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("options")) { this.options(model.getOptions()); } @@ -94,8 +108,8 @@ public Builder toBuilder() { @Deprecated public DatabaseUpgradeWithDatabaseSoftwareImageDetails( - String options, String databaseSoftwareImageId) { - super(options); + Boolean isOlderVersionAcknowledged, String options, String databaseSoftwareImageId) { + super(isOlderVersionAcknowledged, options); this.databaseSoftwareImageId = databaseSoftwareImageId; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDbHomeDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDbHomeDetails.java index 55daf9208e3..c1dc77f960e 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDbHomeDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDbHomeDetails.java @@ -27,6 +27,15 @@ public final class DatabaseUpgradeWithDbHomeDetails extends DatabaseUpgradeSourceBase { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("options") private String options; @@ -60,7 +69,8 @@ public Builder dbHomeId(String dbHomeId) { public DatabaseUpgradeWithDbHomeDetails build() { DatabaseUpgradeWithDbHomeDetails model = - new DatabaseUpgradeWithDbHomeDetails(this.options, this.dbHomeId); + new DatabaseUpgradeWithDbHomeDetails( + this.isOlderVersionAcknowledged, this.options, this.dbHomeId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -69,6 +79,9 @@ public DatabaseUpgradeWithDbHomeDetails build() { @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(DatabaseUpgradeWithDbHomeDetails model) { + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("options")) { this.options(model.getOptions()); } @@ -89,8 +102,9 @@ public Builder toBuilder() { } @Deprecated - public DatabaseUpgradeWithDbHomeDetails(String options, String dbHomeId) { - super(options); + public DatabaseUpgradeWithDbHomeDetails( + Boolean isOlderVersionAcknowledged, String options, String dbHomeId) { + super(isOlderVersionAcknowledged, options); this.dbHomeId = dbHomeId; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDbVersionDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDbVersionDetails.java index b010b84749b..3ebba13eba3 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDbVersionDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseUpgradeWithDbVersionDetails.java @@ -27,6 +27,15 @@ public final class DatabaseUpgradeWithDbVersionDetails extends DatabaseUpgradeSourceBase { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("options") private String options; @@ -72,7 +81,8 @@ public Builder dbVersion(String dbVersion) { public DatabaseUpgradeWithDbVersionDetails build() { DatabaseUpgradeWithDbVersionDetails model = - new DatabaseUpgradeWithDbVersionDetails(this.options, this.dbVersion); + new DatabaseUpgradeWithDbVersionDetails( + this.isOlderVersionAcknowledged, this.options, this.dbVersion); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -81,6 +91,9 @@ public DatabaseUpgradeWithDbVersionDetails build() { @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(DatabaseUpgradeWithDbVersionDetails model) { + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("options")) { this.options(model.getOptions()); } @@ -101,8 +114,9 @@ public Builder toBuilder() { } @Deprecated - public DatabaseUpgradeWithDbVersionDetails(String options, String dbVersion) { - super(options); + public DatabaseUpgradeWithDbVersionDetails( + Boolean isOlderVersionAcknowledged, String options, String dbVersion) { + super(isOlderVersionAcknowledged, options); this.dbVersion = dbVersion; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DbSystemUpgradeSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DbSystemUpgradeSummary.java index 274d21cbe0c..587b4c03a16 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DbSystemUpgradeSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DbSystemUpgradeSummary.java @@ -24,12 +24,22 @@ public final class DbSystemUpgradeSummary extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"component", "osVersion", "giVersion"}) - public DbSystemUpgradeSummary(Component component, String osVersion, String giVersion) { + @java.beans.ConstructorProperties({ + "component", + "osVersion", + "giVersion", + "isOlderVersionAcknowledgmentRequired" + }) + public DbSystemUpgradeSummary( + Component component, + String osVersion, + String giVersion, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.component = component; this.osVersion = osVersion; this.giVersion = giVersion; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -87,13 +97,37 @@ public Builder giVersion(String giVersion) { this.__explicitlySet__.add("giVersion"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public DbSystemUpgradeSummary build() { DbSystemUpgradeSummary model = - new DbSystemUpgradeSummary(this.component, this.osVersion, this.giVersion); + new DbSystemUpgradeSummary( + this.component, + this.osVersion, + this.giVersion, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -111,6 +145,10 @@ public Builder copy(DbSystemUpgradeSummary model) { if (model.wasPropertyExplicitlySet("giVersion")) { this.giVersion(model.getGiVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -221,6 +259,23 @@ public String getGiVersion() { return giVersion; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -239,6 +294,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("component=").append(String.valueOf(this.component)); sb.append(", osVersion=").append(String.valueOf(this.osVersion)); sb.append(", giVersion=").append(String.valueOf(this.giVersion)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -256,6 +313,9 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.component, other.component) && java.util.Objects.equals(this.osVersion, other.osVersion) && java.util.Objects.equals(this.giVersion, other.giVersion) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -266,6 +326,11 @@ public int hashCode() { result = (result * PRIME) + (this.component == null ? 43 : this.component.hashCode()); result = (result * PRIME) + (this.osVersion == null ? 43 : this.osVersion.hashCode()); result = (result * PRIME) + (this.giVersion == null ? 43 : this.giVersion.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/DbVersionSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DbVersionSummary.java index d72bf12932f..eca08c54871 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/DbVersionSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/DbVersionSummary.java @@ -31,6 +31,7 @@ public final class DbVersionSummary "version", "isLatestForMajorVersion", "supportsPdb", + "isOlderVersionAcknowledgmentRequired", "isPreviewDbVersion", "isUpgradeSupported" }) @@ -38,12 +39,14 @@ public DbVersionSummary( String version, Boolean isLatestForMajorVersion, Boolean supportsPdb, + Boolean isOlderVersionAcknowledgmentRequired, Boolean isPreviewDbVersion, Boolean isUpgradeSupported) { super(); this.version = version; this.isLatestForMajorVersion = isLatestForMajorVersion; this.supportsPdb = supportsPdb; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; this.isPreviewDbVersion = isPreviewDbVersion; this.isUpgradeSupported = isUpgradeSupported; } @@ -97,6 +100,26 @@ public Builder supportsPdb(Boolean supportsPdb) { this.__explicitlySet__.add("supportsPdb"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } /** True if this version of the Oracle Database software is the preview version. */ @com.fasterxml.jackson.annotation.JsonProperty("isPreviewDbVersion") private Boolean isPreviewDbVersion; @@ -137,6 +160,7 @@ public DbVersionSummary build() { this.version, this.isLatestForMajorVersion, this.supportsPdb, + this.isOlderVersionAcknowledgmentRequired, this.isPreviewDbVersion, this.isUpgradeSupported); for (String explicitlySetProperty : this.__explicitlySet__) { @@ -156,6 +180,10 @@ public Builder copy(DbVersionSummary model) { if (model.wasPropertyExplicitlySet("supportsPdb")) { this.supportsPdb(model.getSupportsPdb()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } if (model.wasPropertyExplicitlySet("isPreviewDbVersion")) { this.isPreviewDbVersion(model.getIsPreviewDbVersion()); } @@ -214,6 +242,23 @@ public Boolean getSupportsPdb() { return supportsPdb; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + /** True if this version of the Oracle Database software is the preview version. */ @com.fasterxml.jackson.annotation.JsonProperty("isPreviewDbVersion") private final Boolean isPreviewDbVersion; @@ -259,6 +304,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", isLatestForMajorVersion=") .append(String.valueOf(this.isLatestForMajorVersion)); sb.append(", supportsPdb=").append(String.valueOf(this.supportsPdb)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(", isPreviewDbVersion=").append(String.valueOf(this.isPreviewDbVersion)); sb.append(", isUpgradeSupported=").append(String.valueOf(this.isUpgradeSupported)); sb.append(")"); @@ -279,6 +326,9 @@ public boolean equals(Object o) { && java.util.Objects.equals( this.isLatestForMajorVersion, other.isLatestForMajorVersion) && java.util.Objects.equals(this.supportsPdb, other.supportsPdb) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && java.util.Objects.equals(this.isPreviewDbVersion, other.isPreviewDbVersion) && java.util.Objects.equals(this.isUpgradeSupported, other.isUpgradeSupported) && super.equals(other); @@ -295,6 +345,11 @@ public int hashCode() { ? 43 : this.isLatestForMajorVersion.hashCode()); result = (result * PRIME) + (this.supportsPdb == null ? 43 : this.supportsPdb.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + (this.isPreviewDbVersion == null diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterUpdate.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterUpdate.java index 361ffa58b8d..4f99f3c5f7c 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterUpdate.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterUpdate.java @@ -32,7 +32,8 @@ public final class ExadbVmClusterUpdate "lifecycleDetails", "lifecycleState", "timeReleased", - "version" + "version", + "isOlderVersionAcknowledgmentRequired" }) public ExadbVmClusterUpdate( String id, @@ -43,7 +44,8 @@ public ExadbVmClusterUpdate( String lifecycleDetails, LifecycleState lifecycleState, java.util.Date timeReleased, - String version) { + String version, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.description = description; @@ -54,6 +56,7 @@ public ExadbVmClusterUpdate( this.lifecycleState = lifecycleState; this.timeReleased = timeReleased; this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -201,6 +204,26 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -216,7 +239,8 @@ public ExadbVmClusterUpdate build() { this.lifecycleDetails, this.lifecycleState, this.timeReleased, - this.version); + this.version, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -252,6 +276,10 @@ public Builder copy(ExadbVmClusterUpdate model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -577,6 +605,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -601,6 +646,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeReleased=").append(String.valueOf(this.timeReleased)); sb.append(", version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -624,6 +671,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeReleased, other.timeReleased) && java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -646,6 +696,11 @@ public int hashCode() { + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.timeReleased == null ? 43 : this.timeReleased.hashCode()); result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterUpdateSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterUpdateSummary.java index ce8bb21bf69..ca8545a2258 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterUpdateSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterUpdateSummary.java @@ -37,7 +37,8 @@ public final class ExadbVmClusterUpdateSummary "lifecycleDetails", "lifecycleState", "timeReleased", - "version" + "version", + "isOlderVersionAcknowledgmentRequired" }) public ExadbVmClusterUpdateSummary( String id, @@ -48,7 +49,8 @@ public ExadbVmClusterUpdateSummary( String lifecycleDetails, LifecycleState lifecycleState, java.util.Date timeReleased, - String version) { + String version, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.description = description; @@ -59,6 +61,7 @@ public ExadbVmClusterUpdateSummary( this.lifecycleState = lifecycleState; this.timeReleased = timeReleased; this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -206,6 +209,26 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -221,7 +244,8 @@ public ExadbVmClusterUpdateSummary build() { this.lifecycleDetails, this.lifecycleState, this.timeReleased, - this.version); + this.version, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -257,6 +281,10 @@ public Builder copy(ExadbVmClusterUpdateSummary model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -582,6 +610,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -606,6 +651,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeReleased=").append(String.valueOf(this.timeReleased)); sb.append(", version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -629,6 +676,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeReleased, other.timeReleased) && java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -651,6 +701,11 @@ public int hashCode() { + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.timeReleased == null ? 43 : this.timeReleased.hashCode()); result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/GiMinorVersionSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/GiMinorVersionSummary.java index 0d5568f79ab..692d50d2ff6 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/GiMinorVersionSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/GiMinorVersionSummary.java @@ -28,11 +28,17 @@ public final class GiMinorVersionSummary extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"version", "gridImageId"}) - public GiMinorVersionSummary(String version, String gridImageId) { + @java.beans.ConstructorProperties({ + "version", + "gridImageId", + "isOlderVersionAcknowledgmentRequired" + }) + public GiMinorVersionSummary( + String version, String gridImageId, Boolean isOlderVersionAcknowledgmentRequired) { super(); this.version = version; this.gridImageId = gridImageId; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -67,12 +73,36 @@ public Builder gridImageId(String gridImageId) { this.__explicitlySet__.add("gridImageId"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public GiMinorVersionSummary build() { - GiMinorVersionSummary model = new GiMinorVersionSummary(this.version, this.gridImageId); + GiMinorVersionSummary model = + new GiMinorVersionSummary( + this.version, + this.gridImageId, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -87,6 +117,10 @@ public Builder copy(GiMinorVersionSummary model) { if (model.wasPropertyExplicitlySet("gridImageId")) { this.gridImageId(model.getGridImageId()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -126,6 +160,23 @@ public String getGridImageId() { return gridImageId; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -143,6 +194,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("version=").append(String.valueOf(this.version)); sb.append(", gridImageId=").append(String.valueOf(this.gridImageId)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -159,6 +212,9 @@ public boolean equals(Object o) { GiMinorVersionSummary other = (GiMinorVersionSummary) o; return java.util.Objects.equals(this.version, other.version) && java.util.Objects.equals(this.gridImageId, other.gridImageId) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -168,6 +224,11 @@ public int hashCode() { int result = 1; result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); result = (result * PRIME) + (this.gridImageId == null ? 43 : this.gridImageId.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/GiVersionSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/GiVersionSummary.java index 953aafecf4e..45f3ab09cf6 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/GiVersionSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/GiVersionSummary.java @@ -5,11 +5,9 @@ package com.oracle.bmc.database.model; /** - * The Oracle Grid Infrastructure (GI) version. - * - *

To use any of the API operations, you must be authorized in an IAM policy. If you're not - * authorized, talk to an administrator. If you're an administrator who needs to write policies to - * give users access, see [Getting Started with + * The Oracle Grid Infrastructure (GI) version. To use any of the API operations, you must be + * authorized in an IAM policy. If you're not authorized, talk to an administrator. If you're an + * administrator who needs to write policies to give users access, see [Getting Started with * Policies](https://docs.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.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 @@ -27,10 +25,11 @@ public final class GiVersionSummary extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"version"}) - public GiVersionSummary(String version) { + @java.beans.ConstructorProperties({"version", "isOlderVersionAcknowledgmentRequired"}) + public GiVersionSummary(String version, Boolean isOlderVersionAcknowledgmentRequired) { super(); this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -50,12 +49,33 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public GiVersionSummary build() { - GiVersionSummary model = new GiVersionSummary(this.version); + GiVersionSummary model = + new GiVersionSummary(this.version, this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -67,6 +87,10 @@ public Builder copy(GiVersionSummary model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -93,6 +117,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -109,6 +150,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("GiVersionSummary("); sb.append("super=").append(super.toString()); sb.append("version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -123,7 +166,11 @@ public boolean equals(Object o) { } GiVersionSummary other = (GiVersionSummary) o; - return java.util.Objects.equals(this.version, other.version) && super.equals(other); + return java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) + && super.equals(other); } @Override @@ -131,6 +178,11 @@ public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemBase.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemBase.java index 69f17bede26..e258d6eabaf 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemBase.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemBase.java @@ -78,7 +78,8 @@ public class LaunchDbSystemBase extends com.oracle.bmc.http.client.internal.Expl "subscriptionId", "dataCollectionOptions", "computeModel", - "computeCount" + "computeCount", + "isOlderVersionAcknowledged" }) protected LaunchDbSystemBase( String compartmentId, @@ -113,7 +114,8 @@ protected LaunchDbSystemBase( String subscriptionId, DataCollectionOptions dataCollectionOptions, ComputeModel computeModel, - Integer computeCount) { + Integer computeCount, + Boolean isOlderVersionAcknowledged) { super(); this.compartmentId = compartmentId; this.faultDomains = faultDomains; @@ -148,6 +150,7 @@ protected LaunchDbSystemBase( this.dataCollectionOptions = dataCollectionOptions; this.computeModel = computeModel; this.computeCount = computeCount; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; } /** @@ -913,6 +916,23 @@ public Integer getComputeCount() { return computeCount; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + @Override public String toString() { return this.toString(true); @@ -964,6 +984,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", dataCollectionOptions=").append(String.valueOf(this.dataCollectionOptions)); sb.append(", computeModel=").append(String.valueOf(this.computeModel)); sb.append(", computeCount=").append(String.valueOf(this.computeCount)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(")"); return sb.toString(); } @@ -1014,6 +1036,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.dataCollectionOptions, other.dataCollectionOptions) && java.util.Objects.equals(this.computeModel, other.computeModel) && java.util.Objects.equals(this.computeCount, other.computeCount) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && super.equals(other); } @@ -1100,6 +1124,11 @@ public int hashCode() { : this.dataCollectionOptions.hashCode()); result = (result * PRIME) + (this.computeModel == null ? 43 : this.computeModel.hashCode()); result = (result * PRIME) + (this.computeCount == null ? 43 : this.computeCount.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemDetails.java index 739c54c5c6f..d5988fc0856 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemDetails.java @@ -328,6 +328,15 @@ public Builder computeCount(Integer computeCount) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("dbHome") private CreateDbHomeDetails dbHome; @@ -444,6 +453,7 @@ public LaunchDbSystemDetails build() { this.dataCollectionOptions, this.computeModel, this.computeCount, + this.isOlderVersionAcknowledged, this.dbHome, this.databaseEdition, this.diskRedundancy, @@ -556,6 +566,9 @@ public Builder copy(LaunchDbSystemDetails model) { if (model.wasPropertyExplicitlySet("computeCount")) { this.computeCount(model.getComputeCount()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("dbHome")) { this.dbHome(model.getDbHome()); } @@ -619,6 +632,7 @@ public LaunchDbSystemDetails( DataCollectionOptions dataCollectionOptions, ComputeModel computeModel, Integer computeCount, + Boolean isOlderVersionAcknowledged, CreateDbHomeDetails dbHome, DatabaseEdition databaseEdition, DiskRedundancy diskRedundancy, @@ -657,7 +671,8 @@ public LaunchDbSystemDetails( subscriptionId, dataCollectionOptions, computeModel, - computeCount); + computeCount, + isOlderVersionAcknowledged); this.dbHome = dbHome; this.databaseEdition = databaseEdition; this.diskRedundancy = diskRedundancy; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromBackupDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromBackupDetails.java index 1d52057e8f5..1ab06c224cf 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromBackupDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromBackupDetails.java @@ -327,6 +327,15 @@ public Builder computeCount(Integer computeCount) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("dbHome") private CreateDbHomeFromBackupDetails dbHome; @@ -434,6 +443,7 @@ public LaunchDbSystemFromBackupDetails build() { this.dataCollectionOptions, this.computeModel, this.computeCount, + this.isOlderVersionAcknowledged, this.dbHome, this.databaseEdition, this.diskRedundancy, @@ -545,6 +555,9 @@ public Builder copy(LaunchDbSystemFromBackupDetails model) { if (model.wasPropertyExplicitlySet("computeCount")) { this.computeCount(model.getComputeCount()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("dbHome")) { this.dbHome(model.getDbHome()); } @@ -605,6 +618,7 @@ public LaunchDbSystemFromBackupDetails( DataCollectionOptions dataCollectionOptions, ComputeModel computeModel, Integer computeCount, + Boolean isOlderVersionAcknowledged, CreateDbHomeFromBackupDetails dbHome, DatabaseEdition databaseEdition, DiskRedundancy diskRedundancy, @@ -642,7 +656,8 @@ public LaunchDbSystemFromBackupDetails( subscriptionId, dataCollectionOptions, computeModel, - computeCount); + computeCount, + isOlderVersionAcknowledged); this.dbHome = dbHome; this.databaseEdition = databaseEdition; this.diskRedundancy = diskRedundancy; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromDatabaseDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromDatabaseDetails.java index 791b8b3699a..1dc3d251699 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromDatabaseDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromDatabaseDetails.java @@ -327,6 +327,15 @@ public Builder computeCount(Integer computeCount) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("dbHome") private CreateDbHomeFromDatabaseDetails dbHome; @@ -434,6 +443,7 @@ public LaunchDbSystemFromDatabaseDetails build() { this.dataCollectionOptions, this.computeModel, this.computeCount, + this.isOlderVersionAcknowledged, this.dbHome, this.databaseEdition, this.diskRedundancy, @@ -545,6 +555,9 @@ public Builder copy(LaunchDbSystemFromDatabaseDetails model) { if (model.wasPropertyExplicitlySet("computeCount")) { this.computeCount(model.getComputeCount()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("dbHome")) { this.dbHome(model.getDbHome()); } @@ -605,6 +618,7 @@ public LaunchDbSystemFromDatabaseDetails( DataCollectionOptions dataCollectionOptions, ComputeModel computeModel, Integer computeCount, + Boolean isOlderVersionAcknowledged, CreateDbHomeFromDatabaseDetails dbHome, DatabaseEdition databaseEdition, DiskRedundancy diskRedundancy, @@ -642,7 +656,8 @@ public LaunchDbSystemFromDatabaseDetails( subscriptionId, dataCollectionOptions, computeModel, - computeCount); + computeCount, + isOlderVersionAcknowledged); this.dbHome = dbHome; this.databaseEdition = databaseEdition; this.diskRedundancy = diskRedundancy; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromDbSystemDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromDbSystemDetails.java index 420758e0ba4..f21a2d4433b 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromDbSystemDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchDbSystemFromDbSystemDetails.java @@ -326,6 +326,15 @@ public Builder computeCount(Integer computeCount) { this.__explicitlySet__.add("computeCount"); return this; } + + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * DB system. @@ -413,6 +422,7 @@ public LaunchDbSystemFromDbSystemDetails build() { this.dataCollectionOptions, this.computeModel, this.computeCount, + this.isOlderVersionAcknowledged, this.sourceDbSystemId, this.dbHome, this.licenseModel); @@ -523,6 +533,9 @@ public Builder copy(LaunchDbSystemFromDbSystemDetails model) { if (model.wasPropertyExplicitlySet("computeCount")) { this.computeCount(model.getComputeCount()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("sourceDbSystemId")) { this.sourceDbSystemId(model.getSourceDbSystemId()); } @@ -580,6 +593,7 @@ public LaunchDbSystemFromDbSystemDetails( DataCollectionOptions dataCollectionOptions, ComputeModel computeModel, Integer computeCount, + Boolean isOlderVersionAcknowledged, String sourceDbSystemId, CreateDbHomeFromDbSystemDetails dbHome, LicenseModel licenseModel) { @@ -616,7 +630,8 @@ public LaunchDbSystemFromDbSystemDetails( subscriptionId, dataCollectionOptions, computeModel, - computeCount); + computeCount, + isOlderVersionAcknowledged); this.sourceDbSystemId = sourceDbSystemId; this.dbHome = dbHome; this.licenseModel = licenseModel; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchStandbyDbSystemDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchStandbyDbSystemDetails.java index 16ba47393b4..c7fbd5546b9 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchStandbyDbSystemDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/LaunchStandbyDbSystemDetails.java @@ -326,6 +326,15 @@ public Builder computeCount(Integer computeCount) { this.__explicitlySet__.add("computeCount"); return this; } + + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * DB system. @@ -413,6 +422,7 @@ public LaunchStandbyDbSystemDetails build() { this.dataCollectionOptions, this.computeModel, this.computeCount, + this.isOlderVersionAcknowledged, this.primaryDbSystemId, this.dbHome, this.licenseModel); @@ -523,6 +533,9 @@ public Builder copy(LaunchStandbyDbSystemDetails model) { if (model.wasPropertyExplicitlySet("computeCount")) { this.computeCount(model.getComputeCount()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("primaryDbSystemId")) { this.primaryDbSystemId(model.getPrimaryDbSystemId()); } @@ -580,6 +593,7 @@ public LaunchStandbyDbSystemDetails( DataCollectionOptions dataCollectionOptions, ComputeModel computeModel, Integer computeCount, + Boolean isOlderVersionAcknowledged, String primaryDbSystemId, CreateDbHomeForStandbyDbSystem dbHome, LicenseModel licenseModel) { @@ -616,7 +630,8 @@ public LaunchStandbyDbSystemDetails( subscriptionId, dataCollectionOptions, computeModel, - computeCount); + computeCount, + isOlderVersionAcknowledged); this.primaryDbSystemId = primaryDbSystemId; this.dbHome = dbHome; this.licenseModel = licenseModel; diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/Patch.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/Patch.java index 2c1b40b64c7..9f9d6a1e750 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/Patch.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/Patch.java @@ -29,7 +29,8 @@ public final class Patch extends com.oracle.bmc.http.client.internal.ExplicitlyS "lifecycleDetails", "lifecycleState", "timeReleased", - "version" + "version", + "isOlderVersionAcknowledgmentRequired" }) public Patch( String id, @@ -39,7 +40,8 @@ public Patch( String lifecycleDetails, LifecycleState lifecycleState, java.util.Date timeReleased, - String version) { + String version, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.description = description; @@ -49,6 +51,7 @@ public Patch( this.lifecycleState = lifecycleState; this.timeReleased = timeReleased; this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -181,6 +184,26 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -195,7 +218,8 @@ public Patch build() { this.lifecycleDetails, this.lifecycleState, this.timeReleased, - this.version); + this.version, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -228,6 +252,10 @@ public Builder copy(Patch model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -493,6 +521,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -516,6 +561,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeReleased=").append(String.valueOf(this.timeReleased)); sb.append(", version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -538,6 +585,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeReleased, other.timeReleased) && java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -559,6 +609,11 @@ public int hashCode() { + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.timeReleased == null ? 43 : this.timeReleased.hashCode()); result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/PatchDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/PatchDetails.java index 06517853d68..4b6d718d87c 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/PatchDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/PatchDetails.java @@ -26,17 +26,20 @@ public final class PatchDetails extends com.oracle.bmc.http.client.internal.Expl @java.beans.ConstructorProperties({ "patchId", "databaseSoftwareImageId", + "isOlderVersionAcknowledged", "action", "patchOptions" }) public PatchDetails( String patchId, String databaseSoftwareImageId, + Boolean isOlderVersionAcknowledged, Action action, PatchOptions patchOptions) { super(); this.patchId = patchId; this.databaseSoftwareImageId = databaseSoftwareImageId; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.action = action; this.patchOptions = patchOptions; } @@ -81,6 +84,25 @@ public Builder databaseSoftwareImageId(String databaseSoftwareImageId) { this.__explicitlySet__.add("databaseSoftwareImageId"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } /** The action to perform on the patch. */ @com.fasterxml.jackson.annotation.JsonProperty("action") private Action action; @@ -114,6 +136,7 @@ public PatchDetails build() { new PatchDetails( this.patchId, this.databaseSoftwareImageId, + this.isOlderVersionAcknowledged, this.action, this.patchOptions); for (String explicitlySetProperty : this.__explicitlySet__) { @@ -130,6 +153,9 @@ public Builder copy(PatchDetails model) { if (model.wasPropertyExplicitlySet("databaseSoftwareImageId")) { this.databaseSoftwareImageId(model.getDatabaseSoftwareImageId()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("action")) { this.action(model.getAction()); } @@ -183,6 +209,23 @@ public String getDatabaseSoftwareImageId() { return databaseSoftwareImageId; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** The action to perform on the patch. */ public enum Action implements com.oracle.bmc.http.internal.BmcEnum { Apply("APPLY"), @@ -254,6 +297,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("patchId=").append(String.valueOf(this.patchId)); sb.append(", databaseSoftwareImageId=") .append(String.valueOf(this.databaseSoftwareImageId)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", action=").append(String.valueOf(this.action)); sb.append(", patchOptions=").append(String.valueOf(this.patchOptions)); sb.append(")"); @@ -273,6 +318,8 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.patchId, other.patchId) && java.util.Objects.equals( this.databaseSoftwareImageId, other.databaseSoftwareImageId) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals(this.action, other.action) && java.util.Objects.equals(this.patchOptions, other.patchOptions) && super.equals(other); @@ -288,6 +335,11 @@ public int hashCode() { + (this.databaseSoftwareImageId == null ? 43 : this.databaseSoftwareImageId.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.action == null ? 43 : this.action.hashCode()); result = (result * PRIME) + (this.patchOptions == null ? 43 : this.patchOptions.hashCode()); result = (result * PRIME) + super.hashCode(); diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/PatchSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/PatchSummary.java index 2ac7ccad300..4494bbd2a6d 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/PatchSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/PatchSummary.java @@ -34,7 +34,8 @@ public final class PatchSummary extends com.oracle.bmc.http.client.internal.Expl "lifecycleDetails", "lifecycleState", "timeReleased", - "version" + "version", + "isOlderVersionAcknowledgmentRequired" }) public PatchSummary( String id, @@ -44,7 +45,8 @@ public PatchSummary( String lifecycleDetails, LifecycleState lifecycleState, java.util.Date timeReleased, - String version) { + String version, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.description = description; @@ -54,6 +56,7 @@ public PatchSummary( this.lifecycleState = lifecycleState; this.timeReleased = timeReleased; this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -186,6 +189,26 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -200,7 +223,8 @@ public PatchSummary build() { this.lifecycleDetails, this.lifecycleState, this.timeReleased, - this.version); + this.version, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -233,6 +257,10 @@ public Builder copy(PatchSummary model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -498,6 +526,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -521,6 +566,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeReleased=").append(String.valueOf(this.timeReleased)); sb.append(", version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -543,6 +590,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeReleased, other.timeReleased) && java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -564,6 +614,11 @@ public int hashCode() { + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.timeReleased == null ? 43 : this.timeReleased.hashCode()); result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/PluggableDatabase.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/PluggableDatabase.java index 7e572bd48b6..3cd38e1df2e 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/PluggableDatabase.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/PluggableDatabase.java @@ -50,7 +50,8 @@ public final class PluggableDatabase "kmsKeyVersionId", "refreshableCloneConfig", "pdbNodeLevelDetails", - "patchVersion" + "patchVersion", + "dataSafeState" }) public PluggableDatabase( String id, @@ -71,7 +72,8 @@ public PluggableDatabase( String kmsKeyVersionId, PluggableDatabaseRefreshableCloneConfig refreshableCloneConfig, java.util.List pdbNodeLevelDetails, - String patchVersion) { + String patchVersion, + DataSafeState dataSafeState) { super(); this.id = id; this.containerDatabaseId = containerDatabaseId; @@ -92,6 +94,7 @@ public PluggableDatabase( this.refreshableCloneConfig = refreshableCloneConfig; this.pdbNodeLevelDetails = pdbNodeLevelDetails; this.patchVersion = patchVersion; + this.dataSafeState = dataSafeState; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -443,6 +446,21 @@ public Builder patchVersion(String patchVersion) { this.__explicitlySet__.add("patchVersion"); return this; } + /** The Data Safe status of the pluggable database. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeState") + private DataSafeState dataSafeState; + + /** + * The Data Safe status of the pluggable database. + * + * @param dataSafeState the value to set + * @return this builder + */ + public Builder dataSafeState(DataSafeState dataSafeState) { + this.dataSafeState = dataSafeState; + this.__explicitlySet__.add("dataSafeState"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -468,7 +486,8 @@ public PluggableDatabase build() { this.kmsKeyVersionId, this.refreshableCloneConfig, this.pdbNodeLevelDetails, - this.patchVersion); + this.patchVersion, + this.dataSafeState); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -535,6 +554,9 @@ public Builder copy(PluggableDatabase model) { if (model.wasPropertyExplicitlySet("patchVersion")) { this.patchVersion(model.getPatchVersion()); } + if (model.wasPropertyExplicitlySet("dataSafeState")) { + this.dataSafeState(model.getDataSafeState()); + } return this; } } @@ -962,6 +984,66 @@ public String getPatchVersion() { return patchVersion; } + /** The Data Safe status of the pluggable database. */ + public enum DataSafeState implements com.oracle.bmc.http.internal.BmcEnum { + Enabled("ENABLED"), + Disabled("DISABLED"), + 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(DataSafeState.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DataSafeState v : DataSafeState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + DataSafeState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DataSafeState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'DataSafeState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The Data Safe status of the pluggable database. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeState") + private final DataSafeState dataSafeState; + + /** + * The Data Safe status of the pluggable database. + * + * @return the value + */ + public DataSafeState getDataSafeState() { + return dataSafeState; + } + @Override public String toString() { return this.toString(true); @@ -997,6 +1079,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", refreshableCloneConfig=").append(String.valueOf(this.refreshableCloneConfig)); sb.append(", pdbNodeLevelDetails=").append(String.valueOf(this.pdbNodeLevelDetails)); sb.append(", patchVersion=").append(String.valueOf(this.patchVersion)); + sb.append(", dataSafeState=").append(String.valueOf(this.dataSafeState)); sb.append(")"); return sb.toString(); } @@ -1033,6 +1116,7 @@ public boolean equals(Object o) { this.refreshableCloneConfig, other.refreshableCloneConfig) && java.util.Objects.equals(this.pdbNodeLevelDetails, other.pdbNodeLevelDetails) && java.util.Objects.equals(this.patchVersion, other.patchVersion) + && java.util.Objects.equals(this.dataSafeState, other.dataSafeState) && super.equals(other); } @@ -1085,6 +1169,9 @@ public int hashCode() { ? 43 : this.pdbNodeLevelDetails.hashCode()); result = (result * PRIME) + (this.patchVersion == null ? 43 : this.patchVersion.hashCode()); + result = + (result * PRIME) + + (this.dataSafeState == null ? 43 : this.dataSafeState.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/PluggableDatabaseSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/PluggableDatabaseSummary.java index 284ddbff2b9..da3c5095f9d 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/PluggableDatabaseSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/PluggableDatabaseSummary.java @@ -50,7 +50,8 @@ public final class PluggableDatabaseSummary "kmsKeyVersionId", "refreshableCloneConfig", "pdbNodeLevelDetails", - "patchVersion" + "patchVersion", + "dataSafeState" }) public PluggableDatabaseSummary( String id, @@ -71,7 +72,8 @@ public PluggableDatabaseSummary( String kmsKeyVersionId, PluggableDatabaseRefreshableCloneConfig refreshableCloneConfig, java.util.List pdbNodeLevelDetails, - String patchVersion) { + String patchVersion, + DataSafeState dataSafeState) { super(); this.id = id; this.containerDatabaseId = containerDatabaseId; @@ -92,6 +94,7 @@ public PluggableDatabaseSummary( this.refreshableCloneConfig = refreshableCloneConfig; this.pdbNodeLevelDetails = pdbNodeLevelDetails; this.patchVersion = patchVersion; + this.dataSafeState = dataSafeState; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -443,6 +446,21 @@ public Builder patchVersion(String patchVersion) { this.__explicitlySet__.add("patchVersion"); return this; } + /** The Data Safe status of the pluggable database. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeState") + private DataSafeState dataSafeState; + + /** + * The Data Safe status of the pluggable database. + * + * @param dataSafeState the value to set + * @return this builder + */ + public Builder dataSafeState(DataSafeState dataSafeState) { + this.dataSafeState = dataSafeState; + this.__explicitlySet__.add("dataSafeState"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -468,7 +486,8 @@ public PluggableDatabaseSummary build() { this.kmsKeyVersionId, this.refreshableCloneConfig, this.pdbNodeLevelDetails, - this.patchVersion); + this.patchVersion, + this.dataSafeState); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -535,6 +554,9 @@ public Builder copy(PluggableDatabaseSummary model) { if (model.wasPropertyExplicitlySet("patchVersion")) { this.patchVersion(model.getPatchVersion()); } + if (model.wasPropertyExplicitlySet("dataSafeState")) { + this.dataSafeState(model.getDataSafeState()); + } return this; } } @@ -962,6 +984,66 @@ public String getPatchVersion() { return patchVersion; } + /** The Data Safe status of the pluggable database. */ + public enum DataSafeState implements com.oracle.bmc.http.internal.BmcEnum { + Enabled("ENABLED"), + Disabled("DISABLED"), + 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(DataSafeState.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DataSafeState v : DataSafeState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + DataSafeState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DataSafeState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'DataSafeState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The Data Safe status of the pluggable database. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeState") + private final DataSafeState dataSafeState; + + /** + * The Data Safe status of the pluggable database. + * + * @return the value + */ + public DataSafeState getDataSafeState() { + return dataSafeState; + } + @Override public String toString() { return this.toString(true); @@ -997,6 +1079,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", refreshableCloneConfig=").append(String.valueOf(this.refreshableCloneConfig)); sb.append(", pdbNodeLevelDetails=").append(String.valueOf(this.pdbNodeLevelDetails)); sb.append(", patchVersion=").append(String.valueOf(this.patchVersion)); + sb.append(", dataSafeState=").append(String.valueOf(this.dataSafeState)); sb.append(")"); return sb.toString(); } @@ -1033,6 +1116,7 @@ public boolean equals(Object o) { this.refreshableCloneConfig, other.refreshableCloneConfig) && java.util.Objects.equals(this.pdbNodeLevelDetails, other.pdbNodeLevelDetails) && java.util.Objects.equals(this.patchVersion, other.patchVersion) + && java.util.Objects.equals(this.dataSafeState, other.dataSafeState) && super.equals(other); } @@ -1085,6 +1169,9 @@ public int hashCode() { ? 43 : this.pdbNodeLevelDetails.hashCode()); result = (result * PRIME) + (this.patchVersion == null ? 43 : this.patchVersion.hashCode()); + result = + (result * PRIME) + + (this.dataSafeState == null ? 43 : this.dataSafeState.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/SystemVersionMinorVersionSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/SystemVersionMinorVersionSummary.java index d41fd5c63c3..2fda42b61cd 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/SystemVersionMinorVersionSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/SystemVersionMinorVersionSummary.java @@ -23,10 +23,12 @@ public final class SystemVersionMinorVersionSummary extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"version"}) - public SystemVersionMinorVersionSummary(String version) { + @java.beans.ConstructorProperties({"version", "isOlderVersionAcknowledgmentRequired"}) + public SystemVersionMinorVersionSummary( + String version, Boolean isOlderVersionAcknowledgmentRequired) { super(); this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -46,13 +48,34 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public SystemVersionMinorVersionSummary build() { SystemVersionMinorVersionSummary model = - new SystemVersionMinorVersionSummary(this.version); + new SystemVersionMinorVersionSummary( + this.version, this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -64,6 +87,10 @@ public Builder copy(SystemVersionMinorVersionSummary model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -90,6 +117,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -106,6 +150,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("SystemVersionMinorVersionSummary("); sb.append("super=").append(super.toString()); sb.append("version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -120,7 +166,11 @@ public boolean equals(Object o) { } SystemVersionMinorVersionSummary other = (SystemVersionMinorVersionSummary) o; - return java.util.Objects.equals(this.version, other.version) && super.equals(other); + return java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) + && super.equals(other); } @Override @@ -128,6 +178,11 @@ public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/SystemVersionSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/SystemVersionSummary.java index 068b10a02d2..48bbf5dbe52 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/SystemVersionSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/SystemVersionSummary.java @@ -23,13 +23,22 @@ public final class SystemVersionSummary extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"shape", "giVersion", "systemVersions"}) + @java.beans.ConstructorProperties({ + "shape", + "giVersion", + "systemVersions", + "systemVersionDetails" + }) public SystemVersionSummary( - String shape, String giVersion, java.util.List systemVersions) { + String shape, + String giVersion, + java.util.List systemVersions, + java.util.List systemVersionDetails) { super(); this.shape = shape; this.giVersion = giVersion; this.systemVersions = systemVersions; + this.systemVersionDetails = systemVersionDetails; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -79,13 +88,37 @@ public Builder systemVersions(java.util.List systemVersions) { this.__explicitlySet__.add("systemVersions"); return this; } + /** + * Compatible Exadata system versions with their individual older-version acknowledgment + * requirements. + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemVersionDetails") + private java.util.List systemVersionDetails; + + /** + * Compatible Exadata system versions with their individual older-version acknowledgment + * requirements. + * + * @param systemVersionDetails the value to set + * @return this builder + */ + public Builder systemVersionDetails( + java.util.List systemVersionDetails) { + this.systemVersionDetails = systemVersionDetails; + this.__explicitlySet__.add("systemVersionDetails"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public SystemVersionSummary build() { SystemVersionSummary model = - new SystemVersionSummary(this.shape, this.giVersion, this.systemVersions); + new SystemVersionSummary( + this.shape, + this.giVersion, + this.systemVersions, + this.systemVersionDetails); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -103,6 +136,9 @@ public Builder copy(SystemVersionSummary model) { if (model.wasPropertyExplicitlySet("systemVersions")) { this.systemVersions(model.getSystemVersions()); } + if (model.wasPropertyExplicitlySet("systemVersionDetails")) { + this.systemVersionDetails(model.getSystemVersionDetails()); + } return this; } } @@ -155,6 +191,23 @@ public java.util.List getSystemVersions() { return systemVersions; } + /** + * Compatible Exadata system versions with their individual older-version acknowledgment + * requirements. + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemVersionDetails") + private final java.util.List systemVersionDetails; + + /** + * Compatible Exadata system versions with their individual older-version acknowledgment + * requirements. + * + * @return the value + */ + public java.util.List getSystemVersionDetails() { + return systemVersionDetails; + } + @Override public String toString() { return this.toString(true); @@ -173,6 +226,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("shape=").append(String.valueOf(this.shape)); sb.append(", giVersion=").append(String.valueOf(this.giVersion)); sb.append(", systemVersions=").append(String.valueOf(this.systemVersions)); + sb.append(", systemVersionDetails=").append(String.valueOf(this.systemVersionDetails)); sb.append(")"); return sb.toString(); } @@ -190,6 +244,7 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.shape, other.shape) && java.util.Objects.equals(this.giVersion, other.giVersion) && java.util.Objects.equals(this.systemVersions, other.systemVersions) + && java.util.Objects.equals(this.systemVersionDetails, other.systemVersionDetails) && super.equals(other); } @@ -202,6 +257,11 @@ public int hashCode() { result = (result * PRIME) + (this.systemVersions == null ? 43 : this.systemVersions.hashCode()); + result = + (result * PRIME) + + (this.systemVersionDetails == null + ? 43 + : this.systemVersionDetails.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/Update.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/Update.java index 23211b5aea4..39fa48a862d 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/Update.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/Update.java @@ -33,7 +33,8 @@ public final class Update extends com.oracle.bmc.http.client.internal.Explicitly "lifecycleDetails", "lifecycleState", "timeReleased", - "version" + "version", + "isOlderVersionAcknowledgmentRequired" }) public Update( String id, @@ -47,7 +48,8 @@ public Update( String lifecycleDetails, LifecycleState lifecycleState, java.util.Date timeReleased, - String version) { + String version, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.description = description; @@ -61,6 +63,7 @@ public Update( this.lifecycleState = lifecycleState; this.timeReleased = timeReleased; this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -254,6 +257,26 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -272,7 +295,8 @@ public Update build() { this.lifecycleDetails, this.lifecycleState, this.timeReleased, - this.version); + this.version, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -317,6 +341,10 @@ public Builder copy(Update model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -779,6 +807,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -806,6 +851,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeReleased=").append(String.valueOf(this.timeReleased)); sb.append(", version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -832,6 +879,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeReleased, other.timeReleased) && java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -867,6 +917,11 @@ public int hashCode() { + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.timeReleased == null ? 43 : this.timeReleased.hashCode()); result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateAutonomousDatabaseDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateAutonomousDatabaseDetails.java index a50fa07f411..0c33b09d526 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateAutonomousDatabaseDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateAutonomousDatabaseDetails.java @@ -1145,8 +1145,8 @@ public Builder standbyWhitelistedIps(java.util.List standbyWhitelistedIp /** * Indicates whether auto scaling is enabled for the Autonomous AI Database CPU core count. * Setting to {@code TRUE} enables auto scaling. Setting to {@code FALSE} disables auto - * scaling. The default value is {@code TRUE}. Auto scaling is only available for - * [Autonomous AI Database Serverless + * scaling. The default value is null. Auto scaling is only available for [Autonomous AI + * Database Serverless * instances](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/). */ @com.fasterxml.jackson.annotation.JsonProperty("isAutoScalingEnabled") @@ -1155,8 +1155,8 @@ public Builder standbyWhitelistedIps(java.util.List standbyWhitelistedIp /** * Indicates whether auto scaling is enabled for the Autonomous AI Database CPU core count. * Setting to {@code TRUE} enables auto scaling. Setting to {@code FALSE} disables auto - * scaling. The default value is {@code TRUE}. Auto scaling is only available for - * [Autonomous AI Database Serverless + * scaling. The default value is null. Auto scaling is only available for [Autonomous AI + * Database Serverless * instances](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/). * * @param isAutoScalingEnabled the value to set @@ -1348,6 +1348,11 @@ public Builder peerDbId(String peerDbId) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -1360,6 +1365,11 @@ public Builder peerDbId(String peerDbId) { * When you specify 26ai for dbversion, the system will provision and display a 26ai * database as expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * @@ -3351,7 +3361,7 @@ public java.util.List getStandbyWhitelistedIps() { /** * Indicates whether auto scaling is enabled for the Autonomous AI Database CPU core count. * Setting to {@code TRUE} enables auto scaling. Setting to {@code FALSE} disables auto scaling. - * The default value is {@code TRUE}. Auto scaling is only available for [Autonomous AI Database + * The default value is null. Auto scaling is only available for [Autonomous AI Database * Serverless instances](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/). */ @com.fasterxml.jackson.annotation.JsonProperty("isAutoScalingEnabled") @@ -3360,7 +3370,7 @@ public java.util.List getStandbyWhitelistedIps() { /** * Indicates whether auto scaling is enabled for the Autonomous AI Database CPU core count. * Setting to {@code TRUE} enables auto scaling. Setting to {@code FALSE} disables auto scaling. - * The default value is {@code TRUE}. Auto scaling is only available for [Autonomous AI Database + * The default value is null. Auto scaling is only available for [Autonomous AI Database * Serverless instances](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/). * * @return the value @@ -3572,6 +3582,11 @@ public String getPeerDbId() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. */ @@ -3584,6 +3599,11 @@ public String getPeerDbId() { * When you specify 26ai for dbversion, the system will provision and display a 26ai database as * expected. For new databases, it is recommended to use either 19c or 26ai. * + *

The default database version is the Oracle-recommended version. You can retrieve the + * default DB version by calling the {@link + * #listAutonomousDbVersions(ListAutonomousDbVersionsRequest) listAutonomousDbVersions} + * operation. + * *

*Note** Starting December 2026, 23ai will not be supported as a valid value for this * parameter. * diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateBaseccVmClusterDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateBaseccVmClusterDetails.java index 342f5d25238..69b7b5a562c 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateBaseccVmClusterDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateBaseccVmClusterDetails.java @@ -71,12 +71,22 @@ public UpdateBaseccVmClusterDetails( @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { - /** Total CPU cores for the BaseDB C@C VM cluster. */ + /** + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per + * VM for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is + * 480 total ECPUs (240 ECPUs per VM). + */ @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") private Integer cpuCoreCount; /** - * Total CPU cores for the BaseDB C@C VM cluster. + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per + * VM for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is + * 480 total ECPUs (240 ECPUs per VM). * * @param cpuCoreCount the value to set * @return this builder @@ -88,14 +98,16 @@ public Builder cpuCoreCount(Integer cpuCoreCount) { } /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems + * is 16 GB per VM. Minimum for all other editions is 11 GB. */ @com.fasterxml.jackson.annotation.JsonProperty("memorySizeInGBs") private Integer memorySizeInGBs; /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems + * is 16 GB per VM. Minimum for all other editions is 11 GB. * * @param memorySizeInGBs the value to set * @return this builder @@ -374,12 +386,22 @@ public Builder toBuilder() { return new Builder().copy(this); } - /** Total CPU cores for the BaseDB C@C VM cluster. */ + /** + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per VM + * for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is 480 + * total ECPUs (240 ECPUs per VM). + */ @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") private final Integer cpuCoreCount; /** - * Total CPU cores for the BaseDB C@C VM cluster. + * The number of ECPUs to enable per VM for the BaseDB C@C VM cluster. Minimum: 8 ECPUs per VM + * for Enterprise Edition Extreme Performance VM clusters, and 4 ECPUs per VM for other + * editions. Maximum: 32 ECPUs per VM for Standard Edition, and 240 ECPUs per VM for other + * editions. For a two-VM Enterprise Edition Extreme Performance VM Cluster, the maximum is 480 + * total ECPUs (240 ECPUs per VM). * * @return the value */ @@ -389,14 +411,16 @@ public Integer getCpuCoreCount() { /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems is + * 16 GB per VM. Minimum for all other editions is 11 GB. */ @com.fasterxml.jackson.annotation.JsonProperty("memorySizeInGBs") private final Integer memorySizeInGBs; /** * The total memory to be allocated, in GBs, for the Base Database Service on Cloud@Customer - * (BaseDB-C@C) VM cluster. The minimum is 11GB for every 4 ECPU. + * (BaseDB-C@C) VM cluster. Minimum for Extreme Performance Edition 1-node or 2-node systems is + * 16 GB per VM. Minimum for all other editions is 11 GB. * * @return the value */ diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateDatabaseDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateDatabaseDetails.java index c05af5e41dc..275a5fe8f37 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateDatabaseDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateDatabaseDetails.java @@ -41,7 +41,8 @@ public UpdateDatabaseDetails( ProtectionMode protectionMode, TransportType transportType, Boolean isActiveDataGuardEnabled, - AutoFailoverConfiguration autoFailoverConfiguration) { + AutoFailoverConfiguration autoFailoverConfiguration, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.dbBackupConfig = dbBackupConfig; this.dbHomeId = dbHomeId; @@ -61,6 +62,7 @@ public UpdateDatabaseDetails( this.transportType = transportType; this.isActiveDataGuardEnabled = isActiveDataGuardEnabled; this.autoFailoverConfiguration = autoFailoverConfiguration; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.annotation.JsonCreator @@ -80,7 +82,8 @@ public UpdateDatabaseDetails( "protectionMode", "transportType", "isActiveDataGuardEnabled", - "autoFailoverConfiguration" + "autoFailoverConfiguration", + "dataSafeRegistrationDetails" }) public UpdateDatabaseDetails( DbBackupConfig dbBackupConfig, @@ -97,7 +100,8 @@ public UpdateDatabaseDetails( ProtectionMode protectionMode, TransportType transportType, Boolean isActiveDataGuardEnabled, - AutoFailoverConfiguration autoFailoverConfiguration) { + AutoFailoverConfiguration autoFailoverConfiguration, + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { super(); this.dbBackupConfig = dbBackupConfig; this.dbHomeId = dbHomeId; @@ -114,6 +118,7 @@ public UpdateDatabaseDetails( this.transportType = transportType; this.isActiveDataGuardEnabled = isActiveDataGuardEnabled; this.autoFailoverConfiguration = autoFailoverConfiguration; + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -421,6 +426,16 @@ public Builder autoFailoverConfiguration( return this; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public Builder dataSafeRegistrationDetails( + DataSafeRegistrationRequestDetails dataSafeRegistrationDetails) { + this.dataSafeRegistrationDetails = dataSafeRegistrationDetails; + this.__explicitlySet__.add("dataSafeRegistrationDetails"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -441,7 +456,8 @@ public UpdateDatabaseDetails build() { this.protectionMode, this.transportType, this.isActiveDataGuardEnabled, - this.autoFailoverConfiguration); + this.autoFailoverConfiguration, + this.dataSafeRegistrationDetails); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -495,6 +511,9 @@ public Builder copy(UpdateDatabaseDetails model) { if (model.wasPropertyExplicitlySet("autoFailoverConfiguration")) { this.autoFailoverConfiguration(model.getAutoFailoverConfiguration()); } + if (model.wasPropertyExplicitlySet("dataSafeRegistrationDetails")) { + this.dataSafeRegistrationDetails(model.getDataSafeRegistrationDetails()); + } return this; } } @@ -890,6 +909,13 @@ public AutoFailoverConfiguration getAutoFailoverConfiguration() { return autoFailoverConfiguration; } + @com.fasterxml.jackson.annotation.JsonProperty("dataSafeRegistrationDetails") + private final DataSafeRegistrationRequestDetails dataSafeRegistrationDetails; + + public DataSafeRegistrationRequestDetails getDataSafeRegistrationDetails() { + return dataSafeRegistrationDetails; + } + @Override public String toString() { return this.toString(true); @@ -923,6 +949,8 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.isActiveDataGuardEnabled)); sb.append(", autoFailoverConfiguration=") .append(String.valueOf(this.autoFailoverConfiguration)); + sb.append(", dataSafeRegistrationDetails=") + .append(String.valueOf(this.dataSafeRegistrationDetails)); sb.append(")"); return sb.toString(); } @@ -955,6 +983,8 @@ public boolean equals(Object o) { this.isActiveDataGuardEnabled, other.isActiveDataGuardEnabled) && java.util.Objects.equals( this.autoFailoverConfiguration, other.autoFailoverConfiguration) + && java.util.Objects.equals( + this.dataSafeRegistrationDetails, other.dataSafeRegistrationDetails) && super.equals(other); } @@ -1013,6 +1043,11 @@ public int hashCode() { + (this.autoFailoverConfiguration == null ? 43 : this.autoFailoverConfiguration.hashCode()); + result = + (result * PRIME) + + (this.dataSafeRegistrationDetails == null + ? 43 + : this.dataSafeRegistrationDetails.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateDetails.java index d10d1b22a22..72d1821270d 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateDetails.java @@ -28,20 +28,23 @@ public final class UpdateDetails extends com.oracle.bmc.http.client.internal.Exp "giHomeId", "updateAction", "updateMode", - "giSoftwareImageId" + "giSoftwareImageId", + "isOlderVersionAcknowledged" }) public UpdateDetails( String updateId, String giHomeId, UpdateAction updateAction, UpdateMode updateMode, - String giSoftwareImageId) { + String giSoftwareImageId, + Boolean isOlderVersionAcknowledged) { super(); this.updateId = updateId; this.giHomeId = giHomeId; this.updateAction = updateAction; this.updateMode = updateMode; this.giSoftwareImageId = giSoftwareImageId; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -141,6 +144,25 @@ public Builder giSoftwareImageId(String giSoftwareImageId) { this.__explicitlySet__.add("giSoftwareImageId"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -152,7 +174,8 @@ public UpdateDetails build() { this.giHomeId, this.updateAction, this.updateMode, - this.giSoftwareImageId); + this.giSoftwareImageId, + this.isOlderVersionAcknowledged); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -176,6 +199,9 @@ public Builder copy(UpdateDetails model) { if (model.wasPropertyExplicitlySet("giSoftwareImageId")) { this.giSoftwareImageId(model.getGiSoftwareImageId()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } return this; } } @@ -345,6 +371,23 @@ public String getGiSoftwareImageId() { return giSoftwareImageId; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + @Override public String toString() { return this.toString(true); @@ -365,6 +408,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", updateAction=").append(String.valueOf(this.updateAction)); sb.append(", updateMode=").append(String.valueOf(this.updateMode)); sb.append(", giSoftwareImageId=").append(String.valueOf(this.giSoftwareImageId)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(")"); return sb.toString(); } @@ -384,6 +429,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.updateAction, other.updateAction) && java.util.Objects.equals(this.updateMode, other.updateMode) && java.util.Objects.equals(this.giSoftwareImageId, other.giSoftwareImageId) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && super.equals(other); } @@ -398,6 +445,11 @@ public int hashCode() { result = (result * PRIME) + (this.giSoftwareImageId == null ? 43 : this.giSoftwareImageId.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateExadbVmClusterDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateExadbVmClusterDetails.java index 9e7b38b74dc..8e95480796f 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateExadbVmClusterDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateExadbVmClusterDetails.java @@ -40,7 +40,8 @@ public final class UpdateExadbVmClusterDetails "dataCollectionOptions", "systemVersion", "gridImageId", - "updateAction" + "updateAction", + "isOlderVersionAcknowledged" }) public UpdateExadbVmClusterDetails( String displayName, @@ -58,7 +59,8 @@ public UpdateExadbVmClusterDetails( DataCollectionOptions dataCollectionOptions, String systemVersion, String gridImageId, - UpdateAction updateAction) { + UpdateAction updateAction, + Boolean isOlderVersionAcknowledged) { super(); this.displayName = displayName; this.totalECpuCount = totalECpuCount; @@ -76,6 +78,7 @@ public UpdateExadbVmClusterDetails( this.systemVersion = systemVersion; this.gridImageId = gridImageId; this.updateAction = updateAction; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -388,6 +391,25 @@ public Builder updateAction(UpdateAction updateAction) { this.__explicitlySet__.add("updateAction"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -410,7 +432,8 @@ public UpdateExadbVmClusterDetails build() { this.dataCollectionOptions, this.systemVersion, this.gridImageId, - this.updateAction); + this.updateAction, + this.isOlderVersionAcknowledged); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -467,6 +490,9 @@ public Builder copy(UpdateExadbVmClusterDetails model) { if (model.wasPropertyExplicitlySet("updateAction")) { this.updateAction(model.getUpdateAction()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } return this; } } @@ -819,6 +845,23 @@ public UpdateAction getUpdateAction() { return updateAction; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + @Override public String toString() { return this.toString(true); @@ -850,6 +893,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", systemVersion=").append(String.valueOf(this.systemVersion)); sb.append(", gridImageId=").append(String.valueOf(this.gridImageId)); sb.append(", updateAction=").append(String.valueOf(this.updateAction)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(")"); return sb.toString(); } @@ -880,6 +925,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.systemVersion, other.systemVersion) && java.util.Objects.equals(this.gridImageId, other.gridImageId) && java.util.Objects.equals(this.updateAction, other.updateAction) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && super.equals(other); } @@ -927,6 +974,11 @@ public int hashCode() { + (this.systemVersion == null ? 43 : this.systemVersion.hashCode()); result = (result * PRIME) + (this.gridImageId == null ? 43 : this.gridImageId.hashCode()); result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateSummary.java index e7638653039..a22c78cd6ea 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateSummary.java @@ -38,7 +38,8 @@ public final class UpdateSummary extends com.oracle.bmc.http.client.internal.Exp "lifecycleDetails", "lifecycleState", "timeReleased", - "version" + "version", + "isOlderVersionAcknowledgmentRequired" }) public UpdateSummary( String id, @@ -52,7 +53,8 @@ public UpdateSummary( String lifecycleDetails, LifecycleState lifecycleState, java.util.Date timeReleased, - String version) { + String version, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.description = description; @@ -66,6 +68,7 @@ public UpdateSummary( this.lifecycleState = lifecycleState; this.timeReleased = timeReleased; this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -259,6 +262,26 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -277,7 +300,8 @@ public UpdateSummary build() { this.lifecycleDetails, this.lifecycleState, this.timeReleased, - this.version); + this.version, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -322,6 +346,10 @@ public Builder copy(UpdateSummary model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -784,6 +812,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -811,6 +856,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeReleased=").append(String.valueOf(this.timeReleased)); sb.append(", version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -837,6 +884,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeReleased, other.timeReleased) && java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -872,6 +922,11 @@ public int hashCode() { + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.timeReleased == null ? 43 : this.timeReleased.hashCode()); result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpgradeDbSystemDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpgradeDbSystemDetails.java index 75280ac4c11..aebf4cac342 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpgradeDbSystemDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpgradeDbSystemDetails.java @@ -29,6 +29,7 @@ public final class UpgradeDbSystemDetails "snapshotRetentionPeriodInDays", "newGiVersion", "newOsVersion", + "isOlderVersionAcknowledged", "isSnapshotRetentionDaysForceUpdated" }) public UpgradeDbSystemDetails( @@ -36,12 +37,14 @@ public UpgradeDbSystemDetails( Integer snapshotRetentionPeriodInDays, String newGiVersion, String newOsVersion, + Boolean isOlderVersionAcknowledged, Boolean isSnapshotRetentionDaysForceUpdated) { super(); this.action = action; this.snapshotRetentionPeriodInDays = snapshotRetentionPeriodInDays; this.newGiVersion = newGiVersion; this.newOsVersion = newOsVersion; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; this.isSnapshotRetentionDaysForceUpdated = isSnapshotRetentionDaysForceUpdated; } @@ -113,6 +116,25 @@ public Builder newOsVersion(String newOsVersion) { this.__explicitlySet__.add("newOsVersion"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } /** * If true, rollback time is updated even if operating system upgrade history contains * errors. @@ -144,6 +166,7 @@ public UpgradeDbSystemDetails build() { this.snapshotRetentionPeriodInDays, this.newGiVersion, this.newOsVersion, + this.isOlderVersionAcknowledged, this.isSnapshotRetentionDaysForceUpdated); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); @@ -165,6 +188,9 @@ public Builder copy(UpgradeDbSystemDetails model) { if (model.wasPropertyExplicitlySet("newOsVersion")) { this.newOsVersion(model.getNewOsVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } if (model.wasPropertyExplicitlySet("isSnapshotRetentionDaysForceUpdated")) { this.isSnapshotRetentionDaysForceUpdated( model.getIsSnapshotRetentionDaysForceUpdated()); @@ -273,6 +299,23 @@ public String getNewOsVersion() { return newOsVersion; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + /** * If true, rollback time is updated even if operating system upgrade history contains errors. */ @@ -308,6 +351,8 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.snapshotRetentionPeriodInDays)); sb.append(", newGiVersion=").append(String.valueOf(this.newGiVersion)); sb.append(", newOsVersion=").append(String.valueOf(this.newOsVersion)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(", isSnapshotRetentionDaysForceUpdated=") .append(String.valueOf(this.isSnapshotRetentionDaysForceUpdated)); sb.append(")"); @@ -329,6 +374,8 @@ public boolean equals(Object o) { this.snapshotRetentionPeriodInDays, other.snapshotRetentionPeriodInDays) && java.util.Objects.equals(this.newGiVersion, other.newGiVersion) && java.util.Objects.equals(this.newOsVersion, other.newOsVersion) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && java.util.Objects.equals( this.isSnapshotRetentionDaysForceUpdated, other.isSnapshotRetentionDaysForceUpdated) @@ -347,6 +394,11 @@ public int hashCode() { : this.snapshotRetentionPeriodInDays.hashCode()); result = (result * PRIME) + (this.newGiVersion == null ? 43 : this.newGiVersion.hashCode()); result = (result * PRIME) + (this.newOsVersion == null ? 43 : this.newOsVersion.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + (this.isSnapshotRetentionDaysForceUpdated == null diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/VersionSchemeFromVersionSeriesDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/VersionSchemeFromVersionSeriesDetails.java index 8dce1130c37..a97311a1c9c 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/VersionSchemeFromVersionSeriesDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/VersionSchemeFromVersionSeriesDetails.java @@ -83,6 +83,25 @@ public Builder versionPreference(VersionPreference versionPreference) { this.__explicitlySet__.add("versionPreference"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -90,7 +109,9 @@ public Builder versionPreference(VersionPreference versionPreference) { public VersionSchemeFromVersionSeriesDetails build() { VersionSchemeFromVersionSeriesDetails model = new VersionSchemeFromVersionSeriesDetails( - this.majorVersion, this.versionPreference); + this.majorVersion, + this.versionPreference, + this.isOlderVersionAcknowledged); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -105,6 +126,9 @@ public Builder copy(VersionSchemeFromVersionSeriesDetails model) { if (model.wasPropertyExplicitlySet("versionPreference")) { this.versionPreference(model.getVersionPreference()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } return this; } } @@ -120,10 +144,13 @@ public Builder toBuilder() { @Deprecated public VersionSchemeFromVersionSeriesDetails( - String majorVersion, VersionPreference versionPreference) { + String majorVersion, + VersionPreference versionPreference, + Boolean isOlderVersionAcknowledged) { super(); this.majorVersion = majorVersion; this.versionPreference = versionPreference; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; } /** @@ -235,6 +262,23 @@ public VersionPreference getVersionPreference() { return versionPreference; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + @Override public String toString() { return this.toString(true); @@ -252,6 +296,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", majorVersion=").append(String.valueOf(this.majorVersion)); sb.append(", versionPreference=").append(String.valueOf(this.versionPreference)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(")"); return sb.toString(); } @@ -268,6 +314,8 @@ public boolean equals(Object o) { VersionSchemeFromVersionSeriesDetails other = (VersionSchemeFromVersionSeriesDetails) o; return java.util.Objects.equals(this.majorVersion, other.majorVersion) && java.util.Objects.equals(this.versionPreference, other.versionPreference) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && super.equals(other); } @@ -279,6 +327,11 @@ public int hashCode() { result = (result * PRIME) + (this.versionPreference == null ? 43 : this.versionPreference.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); return result; } } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdate.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdate.java index 33116f61c18..c256724574e 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdate.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdate.java @@ -39,7 +39,8 @@ public final class VmClusterUpdate "lifecycleDetails", "lifecycleState", "timeReleased", - "version" + "version", + "isOlderVersionAcknowledgmentRequired" }) public VmClusterUpdate( String id, @@ -53,7 +54,8 @@ public VmClusterUpdate( String lifecycleDetails, LifecycleState lifecycleState, java.util.Date timeReleased, - String version) { + String version, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.description = description; @@ -67,6 +69,7 @@ public VmClusterUpdate( this.lifecycleState = lifecycleState; this.timeReleased = timeReleased; this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -266,6 +269,26 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -284,7 +307,8 @@ public VmClusterUpdate build() { this.lifecycleDetails, this.lifecycleState, this.timeReleased, - this.version); + this.version, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -329,6 +353,10 @@ public Builder copy(VmClusterUpdate model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -800,6 +828,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -827,6 +872,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeReleased=").append(String.valueOf(this.timeReleased)); sb.append(", version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -853,6 +900,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeReleased, other.timeReleased) && java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -888,6 +938,11 @@ public int hashCode() { + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.timeReleased == null ? 43 : this.timeReleased.hashCode()); result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateDetails.java index 1911f7a4540..0bc4a99ca88 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateDetails.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateDetails.java @@ -29,20 +29,23 @@ public final class VmClusterUpdateDetails "giHomeId", "updateMode", "updateAction", - "giSoftwareImageId" + "giSoftwareImageId", + "isOlderVersionAcknowledged" }) public VmClusterUpdateDetails( String updateId, String giHomeId, UpdateMode updateMode, UpdateAction updateAction, - String giSoftwareImageId) { + String giSoftwareImageId, + Boolean isOlderVersionAcknowledged) { super(); this.updateId = updateId; this.giHomeId = giHomeId; this.updateMode = updateMode; this.updateAction = updateAction; this.giSoftwareImageId = giSoftwareImageId; + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -142,6 +145,25 @@ public Builder giSoftwareImageId(String giSoftwareImageId) { this.__explicitlySet__.add("giSoftwareImageId"); return this; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, + * or operating system software version that is outside the latest default version window. + * + * @param isOlderVersionAcknowledged the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledged(Boolean isOlderVersionAcknowledged) { + this.isOlderVersionAcknowledged = isOlderVersionAcknowledged; + this.__explicitlySet__.add("isOlderVersionAcknowledged"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -153,7 +175,8 @@ public VmClusterUpdateDetails build() { this.giHomeId, this.updateMode, this.updateAction, - this.giSoftwareImageId); + this.giSoftwareImageId, + this.isOlderVersionAcknowledged); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -177,6 +200,9 @@ public Builder copy(VmClusterUpdateDetails model) { if (model.wasPropertyExplicitlySet("giSoftwareImageId")) { this.giSoftwareImageId(model.getGiSoftwareImageId()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledged")) { + this.isOlderVersionAcknowledged(model.getIsOlderVersionAcknowledged()); + } return this; } } @@ -345,6 +371,23 @@ public String getGiSoftwareImageId() { return giSoftwareImageId; } + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledged") + private final Boolean isOlderVersionAcknowledged; + + /** + * If true, the caller acknowledges selecting or applying an older DB, Grid Infrastructure, or + * operating system software version that is outside the latest default version window. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledged() { + return isOlderVersionAcknowledged; + } + @Override public String toString() { return this.toString(true); @@ -365,6 +408,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", updateMode=").append(String.valueOf(this.updateMode)); sb.append(", updateAction=").append(String.valueOf(this.updateAction)); sb.append(", giSoftwareImageId=").append(String.valueOf(this.giSoftwareImageId)); + sb.append(", isOlderVersionAcknowledged=") + .append(String.valueOf(this.isOlderVersionAcknowledged)); sb.append(")"); return sb.toString(); } @@ -384,6 +429,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.updateMode, other.updateMode) && java.util.Objects.equals(this.updateAction, other.updateAction) && java.util.Objects.equals(this.giSoftwareImageId, other.giSoftwareImageId) + && java.util.Objects.equals( + this.isOlderVersionAcknowledged, other.isOlderVersionAcknowledged) && super.equals(other); } @@ -398,6 +445,11 @@ public int hashCode() { result = (result * PRIME) + (this.giSoftwareImageId == null ? 43 : this.giSoftwareImageId.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledged == null + ? 43 + : this.isOlderVersionAcknowledged.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateSummary.java index 1895f864ee8..4da48ef90d1 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateSummary.java @@ -40,7 +40,8 @@ public final class VmClusterUpdateSummary "lifecycleDetails", "lifecycleState", "timeReleased", - "version" + "version", + "isOlderVersionAcknowledgmentRequired" }) public VmClusterUpdateSummary( String id, @@ -54,7 +55,8 @@ public VmClusterUpdateSummary( String lifecycleDetails, LifecycleState lifecycleState, java.util.Date timeReleased, - String version) { + String version, + Boolean isOlderVersionAcknowledgmentRequired) { super(); this.id = id; this.description = description; @@ -68,6 +70,7 @@ public VmClusterUpdateSummary( this.lifecycleState = lifecycleState; this.timeReleased = timeReleased; this.version = version; + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -267,6 +270,26 @@ public Builder version(String version) { this.__explicitlySet__.add("version"); return this; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system + * software version requires older-version acknowledgment. + * + * @param isOlderVersionAcknowledgmentRequired the value to set + * @return this builder + */ + public Builder isOlderVersionAcknowledgmentRequired( + Boolean isOlderVersionAcknowledgmentRequired) { + this.isOlderVersionAcknowledgmentRequired = isOlderVersionAcknowledgmentRequired; + this.__explicitlySet__.add("isOlderVersionAcknowledgmentRequired"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -285,7 +308,8 @@ public VmClusterUpdateSummary build() { this.lifecycleDetails, this.lifecycleState, this.timeReleased, - this.version); + this.version, + this.isOlderVersionAcknowledgmentRequired); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -330,6 +354,10 @@ public Builder copy(VmClusterUpdateSummary model) { if (model.wasPropertyExplicitlySet("version")) { this.version(model.getVersion()); } + if (model.wasPropertyExplicitlySet("isOlderVersionAcknowledgmentRequired")) { + this.isOlderVersionAcknowledgmentRequired( + model.getIsOlderVersionAcknowledgmentRequired()); + } return this; } } @@ -801,6 +829,23 @@ public String getVersion() { return version; } + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isOlderVersionAcknowledgmentRequired") + private final Boolean isOlderVersionAcknowledgmentRequired; + + /** + * True when selecting or applying this DB, Grid Infrastructure, or operating system software + * version requires older-version acknowledgment. + * + * @return the value + */ + public Boolean getIsOlderVersionAcknowledgmentRequired() { + return isOlderVersionAcknowledgmentRequired; + } + @Override public String toString() { return this.toString(true); @@ -828,6 +873,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeReleased=").append(String.valueOf(this.timeReleased)); sb.append(", version=").append(String.valueOf(this.version)); + sb.append(", isOlderVersionAcknowledgmentRequired=") + .append(String.valueOf(this.isOlderVersionAcknowledgmentRequired)); sb.append(")"); return sb.toString(); } @@ -854,6 +901,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeReleased, other.timeReleased) && java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals( + this.isOlderVersionAcknowledgmentRequired, + other.isOlderVersionAcknowledgmentRequired) && super.equals(other); } @@ -889,6 +939,11 @@ public int hashCode() { + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.timeReleased == null ? 43 : this.timeReleased.hashCode()); result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.isOlderVersionAcknowledgmentRequired == null + ? 43 + : this.isOlderVersionAcknowledgmentRequired.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-database/reflect-config.json b/bmc-database/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-database/reflect-config.json index 1e26898c519..2a13a8ccffd 100644 --- a/bmc-database/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-database/reflect-config.json +++ b/bmc-database/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-database/reflect-config.json @@ -5295,6 +5295,46 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.DataSafeRegistrationDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.DataSafeRegistrationDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.DataSafeRegistrationDetails$RegistrationState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.DataSafeRegistrationRequestDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.DataSafeRegistrationRequestDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.DataSafeRegistrationRequestDetails$Action", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.Database", @@ -5321,6 +5361,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.Database$DataSafeState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.DatabaseConnectionCredentials", @@ -5630,6 +5676,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.DatabaseSummary$DataSafeState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.DatabaseTool", @@ -9507,6 +9559,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.PluggableDatabase$DataSafeState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.PluggableDatabaseConnectionStrings", @@ -9635,6 +9693,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.PluggableDatabaseSummary$DataSafeState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.RecommendedScheduledActionSummary", diff --git a/bmc-databasemanagement/pom.xml b/bmc-databasemanagement/pom.xml index b1ea3af6e6e..206db3e375d 100644 --- a/bmc-databasemanagement/pom.xml +++ b/bmc-databasemanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-databasemanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-databasemigration/pom.xml b/bmc-databasemigration/pom.xml index 2414900a5e9..475c18ffc05 100644 --- a/bmc-databasemigration/pom.xml +++ b/bmc-databasemigration/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-databasemigration @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-databasetools/pom.xml b/bmc-databasetools/pom.xml index cbf58bdf35b..577368d0a1e 100644 --- a/bmc-databasetools/pom.xml +++ b/bmc-databasetools/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-databasetools @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-databasetoolsruntime/pom.xml b/bmc-databasetoolsruntime/pom.xml index ef304752336..27e35c2ae38 100644 --- a/bmc-databasetoolsruntime/pom.xml +++ b/bmc-databasetoolsruntime/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-databasetoolsruntime @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-datacatalog/pom.xml b/bmc-datacatalog/pom.xml index 4aee4dadc5f..8ec40eafe16 100644 --- a/bmc-datacatalog/pom.xml +++ b/bmc-datacatalog/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-datacatalog @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-datacc/pom.xml b/bmc-datacc/pom.xml index df0619d220a..529f3f2b8f1 100644 --- a/bmc-datacc/pom.xml +++ b/bmc-datacc/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-datacc @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-dataflow/pom.xml b/bmc-dataflow/pom.xml index 5eb77cf6769..ce77d3bf5c2 100644 --- a/bmc-dataflow/pom.xml +++ b/bmc-dataflow/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-dataflow @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-dataintegration/pom.xml b/bmc-dataintegration/pom.xml index 8d46fd399d8..59995edf03b 100644 --- a/bmc-dataintegration/pom.xml +++ b/bmc-dataintegration/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-dataintegration @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-datalabelingservice/pom.xml b/bmc-datalabelingservice/pom.xml index 5e053cc8c66..e0597d5fa4a 100644 --- a/bmc-datalabelingservice/pom.xml +++ b/bmc-datalabelingservice/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-datalabelingservice @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-datalabelingservicedataplane/pom.xml b/bmc-datalabelingservicedataplane/pom.xml index 49d78b954b3..994e09dec91 100644 --- a/bmc-datalabelingservicedataplane/pom.xml +++ b/bmc-datalabelingservicedataplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-datalabelingservicedataplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-datasafe/pom.xml b/bmc-datasafe/pom.xml index dd00fa18ce6..3c756d53d4a 100644 --- a/bmc-datasafe/pom.xml +++ b/bmc-datasafe/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-datasafe @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-datascience/pom.xml b/bmc-datascience/pom.xml index 69e00cfca60..e2214360ad4 100644 --- a/bmc-datascience/pom.xml +++ b/bmc-datascience/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-datascience @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScience.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScience.java index a8a03c34281..28bd19c7518 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScience.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScience.java @@ -333,6 +333,23 @@ ChangeMlApplicationInstanceCompartmentResponse changeMlApplicationInstanceCompar ChangeMlApplicationInstanceViewCompartmentResponse changeMlApplicationInstanceViewCompartment( ChangeMlApplicationInstanceViewCompartmentRequest request); + /** + * Moves a model artifact signature into a different 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 + * ChangeModelArtifactSignatureCompartment API. + */ + ChangeModelArtifactSignatureCompartmentResponse changeModelArtifactSignatureCompartment( + ChangeModelArtifactSignatureCompartmentRequest request); + /** * Moves a model resource into a different compartment. * @@ -726,6 +743,23 @@ CreateMlApplicationInstanceResponse createMlApplicationInstance( */ CreateModelArtifactResponse createModelArtifact(CreateModelArtifactRequest request); + /** + * Create model artifact signature for the specified model + * + * @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 + * CreateModelArtifactSignature API. + */ + CreateModelArtifactSignatureResponse createModelArtifactSignature( + CreateModelArtifactSignatureRequest request); + /** * Creates model custom metadata artifact for specified model. * @@ -1281,6 +1315,23 @@ DeleteMlApplicationInstanceResponse deleteMlApplicationInstance( */ DeleteModelResponse deleteModel(DeleteModelRequest request); + /** + * Deletes the specified artifact signature for a model + * + * @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 + * DeleteModelArtifactSignature API. + */ + DeleteModelArtifactSignatureResponse deleteModelArtifactSignature( + DeleteModelArtifactSignatureRequest request); + /** * Deletes model custom metadata artifact for specified model metadata key. * @@ -1737,6 +1788,23 @@ GetMlApplicationPackageContentResponse getMlApplicationPackageContent( */ GetModelArtifactContentResponse getModelArtifactContent(GetModelArtifactContentRequest request); + /** + * Gets the specified artifact signature for a model + * + * @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 + * GetModelArtifactSignature API. + */ + GetModelArtifactSignatureResponse getModelArtifactSignature( + GetModelArtifactSignatureRequest request); + /** * Downloads model custom metadata artifact content for specified model metadata key. * @@ -2303,6 +2371,23 @@ ListMlApplicationInstancesResponse listMlApplicationInstances( */ ListMlApplicationsResponse listMlApplications(ListMlApplicationsRequest request); + /** + * List model artifact signatures of a model 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 + * ListModelArtifactSignatures API. + */ + ListModelArtifactSignaturesResponse listModelArtifactSignatures( + ListModelArtifactSignaturesRequest request); + /** * Lists the status of models in a model group deployment. * @@ -2878,6 +2963,23 @@ UpdateMlApplicationInstanceViewResponse updateMlApplicationInstanceView( */ UpdateModelResponse updateModel(UpdateModelRequest request); + /** + * Update model artifact signature for the specified model + * + * @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 + * UpdateModelArtifactSignature API. + */ + UpdateModelArtifactSignatureResponse updateModelArtifactSignature( + UpdateModelArtifactSignatureRequest request); + /** * Updates model custom metadata artifact for specified model metadata key. * @@ -3142,6 +3244,23 @@ UpdateModelGroupVersionHistoryResponse updateModelGroupVersionHistory( */ UpdateScheduleResponse updateSchedule(UpdateScheduleRequest request); + /** + * Verifies the specified artifact signature for a model + * + * @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 + * VerifyModelArtifactSignature API. + */ + VerifyModelArtifactSignatureResponse verifyModelArtifactSignature( + VerifyModelArtifactSignatureRequest request); + /** * Gets the pre-configured waiters available for resources for this service. * diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceAsync.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceAsync.java index a6852cb2219..260b29d49df 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceAsync.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceAsync.java @@ -334,6 +334,24 @@ java.util.concurrent.Future changeJobRunCompart ChangeMlApplicationInstanceViewCompartmentResponse> handler); + /** + * Moves a model artifact signature into a different 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 + changeModelArtifactSignatureCompartment( + ChangeModelArtifactSignatureCompartmentRequest request, + com.oracle.bmc.responses.AsyncHandler< + ChangeModelArtifactSignatureCompartmentRequest, + ChangeModelArtifactSignatureCompartmentResponse> + handler); + /** * Moves a model resource into a different compartment. * @@ -666,6 +684,23 @@ java.util.concurrent.Future createModelArtifact( CreateModelArtifactRequest, CreateModelArtifactResponse> handler); + /** + * Create model artifact signature for the specified model + * + * @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 createModelArtifactSignature( + CreateModelArtifactSignatureRequest request, + com.oracle.bmc.responses.AsyncHandler< + CreateModelArtifactSignatureRequest, + CreateModelArtifactSignatureResponse> + handler); + /** * Creates model custom metadata artifact for specified model. * @@ -1098,6 +1133,23 @@ java.util.concurrent.Future deleteModel( DeleteModelRequest request, com.oracle.bmc.responses.AsyncHandler handler); + /** + * Deletes the specified artifact signature for a model + * + * @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 deleteModelArtifactSignature( + DeleteModelArtifactSignatureRequest request, + com.oracle.bmc.responses.AsyncHandler< + DeleteModelArtifactSignatureRequest, + DeleteModelArtifactSignatureResponse> + handler); + /** * Deletes model custom metadata artifact for specified model metadata key. * @@ -1557,6 +1609,22 @@ java.util.concurrent.Future getModelArtifactCon GetModelArtifactContentRequest, GetModelArtifactContentResponse> handler); + /** + * Gets the specified artifact signature for a model + * + * @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 getModelArtifactSignature( + GetModelArtifactSignatureRequest request, + com.oracle.bmc.responses.AsyncHandler< + GetModelArtifactSignatureRequest, GetModelArtifactSignatureResponse> + handler); + /** * Downloads model custom metadata artifact content for specified model metadata key. * @@ -2121,6 +2189,22 @@ java.util.concurrent.Future listMlApplications( ListMlApplicationsRequest, ListMlApplicationsResponse> handler); + /** + * List model artifact signatures of a model 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 listModelArtifactSignatures( + ListModelArtifactSignaturesRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListModelArtifactSignaturesRequest, ListModelArtifactSignaturesResponse> + handler); + /** * Lists the status of models in a model group deployment. * @@ -2667,6 +2751,23 @@ java.util.concurrent.Future updateModel( UpdateModelRequest request, com.oracle.bmc.responses.AsyncHandler handler); + /** + * Update model artifact signature for the specified model + * + * @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 updateModelArtifactSignature( + UpdateModelArtifactSignatureRequest request, + com.oracle.bmc.responses.AsyncHandler< + UpdateModelArtifactSignatureRequest, + UpdateModelArtifactSignatureResponse> + handler); + /** * Updates model custom metadata artifact for specified model metadata key. * @@ -2872,4 +2973,21 @@ java.util.concurrent.Future updateSchedule( UpdateScheduleRequest request, com.oracle.bmc.responses.AsyncHandler handler); + + /** + * Verifies the specified artifact signature for a model + * + * @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 verifyModelArtifactSignature( + VerifyModelArtifactSignatureRequest request, + com.oracle.bmc.responses.AsyncHandler< + VerifyModelArtifactSignatureRequest, + VerifyModelArtifactSignatureResponse> + handler); } diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceAsyncClient.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceAsyncClient.java index 5f5cc65a261..795cf457672 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceAsyncClient.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceAsyncClient.java @@ -696,6 +696,49 @@ public java.util.concurrent.Future changeJobRun .callAsync(handler); } + @Override + public java.util.concurrent.Future + changeModelArtifactSignatureCompartment( + ChangeModelArtifactSignatureCompartmentRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ChangeModelArtifactSignatureCompartmentRequest, + ChangeModelArtifactSignatureCompartmentResponse> + handler) { + Objects.requireNonNull( + request.getChangeModelArtifactSignatureCompartmentDetails(), + "changeModelArtifactSignatureCompartmentDetails is required"); + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, ChangeModelArtifactSignatureCompartmentResponse::builder) + .logger(LOG, "changeModelArtifactSignatureCompartment") + .serviceDetails( + "DataScience", + "ChangeModelArtifactSignatureCompartment", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/ChangeModelArtifactSignatureCompartment") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(ChangeModelArtifactSignatureCompartmentRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .appendPathParam("actions") + .appendPathParam("changeCompartment") + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .hasBody() + .handleResponseHeaderString( + "opc-request-id", + ChangeModelArtifactSignatureCompartmentResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future changeModelCompartment( ChangeModelCompartmentRequest request, @@ -1423,6 +1466,50 @@ public java.util.concurrent.Future createModelArtif .callAsync(handler); } + @Override + public java.util.concurrent.Future + createModelArtifactSignature( + CreateModelArtifactSignatureRequest request, + final com.oracle.bmc.responses.AsyncHandler< + CreateModelArtifactSignatureRequest, + CreateModelArtifactSignatureResponse> + handler) { + Objects.requireNonNull( + request.getCreateModelArtifactSignatureDetails(), + "createModelArtifactSignatureDetails is required"); + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + return clientCall(request, CreateModelArtifactSignatureResponse::builder) + .logger(LOG, "createModelArtifactSignature") + .serviceDetails( + "DataScience", + "CreateModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/CreateModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .hasBody() + .handleBody( + com.oracle.bmc.datascience.model.ModelArtifactSignature.class, + CreateModelArtifactSignatureResponse.Builder::modelArtifactSignature) + .handleResponseHeaderString( + "etag", CreateModelArtifactSignatureResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", + CreateModelArtifactSignatureResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + CreateModelArtifactSignatureResponse.Builder::opcWorkRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future createModelCustomMetadatumArtifact( @@ -2360,6 +2447,42 @@ public java.util.concurrent.Future deleteModel( .callAsync(handler); } + @Override + public java.util.concurrent.Future + deleteModelArtifactSignature( + DeleteModelArtifactSignatureRequest request, + final com.oracle.bmc.responses.AsyncHandler< + DeleteModelArtifactSignatureRequest, + DeleteModelArtifactSignatureResponse> + handler) { + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, DeleteModelArtifactSignatureResponse::builder) + .logger(LOG, "deleteModelArtifactSignature") + .serviceDetails( + "DataScience", + "DeleteModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/DeleteModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .handleResponseHeaderString( + "opc-request-id", + DeleteModelArtifactSignatureResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future deleteModelCustomMetadatumArtifact( @@ -3336,6 +3459,43 @@ public java.util.concurrent.Future getModelArti .callAsync(handler); } + @Override + public java.util.concurrent.Future getModelArtifactSignature( + GetModelArtifactSignatureRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetModelArtifactSignatureRequest, GetModelArtifactSignatureResponse> + handler) { + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, GetModelArtifactSignatureResponse::builder) + .logger(LOG, "getModelArtifactSignature") + .serviceDetails( + "DataScience", + "GetModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/GetModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .handleBody( + com.oracle.bmc.datascience.model.ModelArtifactSignature.class, + GetModelArtifactSignatureResponse.Builder::modelArtifactSignature) + .handleResponseHeaderString("etag", GetModelArtifactSignatureResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", GetModelArtifactSignatureResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future getModelCustomMetadatumArtifactContent( @@ -4706,6 +4866,52 @@ public java.util.concurrent.Future listMlApplication .callAsync(handler); } + @Override + public java.util.concurrent.Future + listModelArtifactSignatures( + ListModelArtifactSignaturesRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListModelArtifactSignaturesRequest, + ListModelArtifactSignaturesResponse> + handler) { + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListModelArtifactSignaturesResponse::builder) + .logger(LOG, "listModelArtifactSignatures") + .serviceDetails( + "DataScience", + "ListModelArtifactSignatures", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignatureSummary/ListModelArtifactSignatures") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListModelArtifactSignaturesRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendQueryParam("displayName", request.getDisplayName()) + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("digest", request.getDigest()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBodyList( + com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary.class, + ListModelArtifactSignaturesResponse.Builder::items) + .handleResponseHeaderString( + "opc-next-page", ListModelArtifactSignaturesResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-prev-page", ListModelArtifactSignaturesResponse.Builder::opcPrevPage) + .handleResponseHeaderString( + "opc-request-id", ListModelArtifactSignaturesResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future listModelDeploymentModelStates( @@ -6027,6 +6233,54 @@ public java.util.concurrent.Future updateModel( .callAsync(handler); } + @Override + public java.util.concurrent.Future + updateModelArtifactSignature( + UpdateModelArtifactSignatureRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UpdateModelArtifactSignatureRequest, + UpdateModelArtifactSignatureResponse> + handler) { + Objects.requireNonNull( + request.getUpdateModelArtifactSignatureDetails(), + "updateModelArtifactSignatureDetails is required"); + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, UpdateModelArtifactSignatureResponse::builder) + .logger(LOG, "updateModelArtifactSignature") + .serviceDetails( + "DataScience", + "UpdateModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/UpdateModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .hasBody() + .handleBody( + com.oracle.bmc.datascience.model.ModelArtifactSignature.class, + UpdateModelArtifactSignatureResponse.Builder::modelArtifactSignature) + .handleResponseHeaderString( + "etag", UpdateModelArtifactSignatureResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", + UpdateModelArtifactSignatureResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + UpdateModelArtifactSignatureResponse.Builder::opcWorkRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future updateModelCustomMetadatumArtifact( @@ -6477,6 +6731,53 @@ public java.util.concurrent.Future updateSchedule( .callAsync(handler); } + @Override + public java.util.concurrent.Future + verifyModelArtifactSignature( + VerifyModelArtifactSignatureRequest request, + final com.oracle.bmc.responses.AsyncHandler< + VerifyModelArtifactSignatureRequest, + VerifyModelArtifactSignatureResponse> + handler) { + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, VerifyModelArtifactSignatureResponse::builder) + .logger(LOG, "verifyModelArtifactSignature") + .serviceDetails( + "DataScience", + "VerifyModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/VerifyModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(VerifyModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .appendPathParam("actions") + .appendPathParam("verify") + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .handleBody( + com.oracle.bmc.datascience.model.ModelArtifactSignature.class, + VerifyModelArtifactSignatureResponse.Builder::modelArtifactSignature) + .handleResponseHeaderString( + "etag", VerifyModelArtifactSignatureResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", + VerifyModelArtifactSignatureResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + VerifyModelArtifactSignatureResponse.Builder::opcWorkRequestId) + .callAsync(handler); + } + /** * Create a new client instance. * diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceClient.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceClient.java index 2e8e82f8cdf..b77b113b55c 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceClient.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceClient.java @@ -672,6 +672,45 @@ public ChangeMlApplicationInstanceCompartmentResponse changeMlApplicationInstanc .callSync(); } + @Override + public ChangeModelArtifactSignatureCompartmentResponse changeModelArtifactSignatureCompartment( + ChangeModelArtifactSignatureCompartmentRequest request) { + Objects.requireNonNull( + request.getChangeModelArtifactSignatureCompartmentDetails(), + "changeModelArtifactSignatureCompartmentDetails is required"); + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, ChangeModelArtifactSignatureCompartmentResponse::builder) + .logger(LOG, "changeModelArtifactSignatureCompartment") + .serviceDetails( + "DataScience", + "ChangeModelArtifactSignatureCompartment", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/ChangeModelArtifactSignatureCompartment") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(ChangeModelArtifactSignatureCompartmentRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .appendPathParam("actions") + .appendPathParam("changeCompartment") + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .operationUsesDefaultRetries() + .hasBody() + .handleResponseHeaderString( + "opc-request-id", + ChangeModelArtifactSignatureCompartmentResponse.Builder::opcRequestId) + .callSync(); + } + @Override public ChangeModelCompartmentResponse changeModelCompartment( ChangeModelCompartmentRequest request) { @@ -1330,6 +1369,46 @@ public CreateModelArtifactResponse createModelArtifact(CreateModelArtifactReques .callSync(); } + @Override + public CreateModelArtifactSignatureResponse createModelArtifactSignature( + CreateModelArtifactSignatureRequest request) { + Objects.requireNonNull( + request.getCreateModelArtifactSignatureDetails(), + "createModelArtifactSignatureDetails is required"); + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + return clientCall(request, CreateModelArtifactSignatureResponse::builder) + .logger(LOG, "createModelArtifactSignature") + .serviceDetails( + "DataScience", + "CreateModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/CreateModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.datascience.model.ModelArtifactSignature.class, + CreateModelArtifactSignatureResponse.Builder::modelArtifactSignature) + .handleResponseHeaderString( + "etag", CreateModelArtifactSignatureResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", + CreateModelArtifactSignatureResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + CreateModelArtifactSignatureResponse.Builder::opcWorkRequestId) + .callSync(); + } + @Override public CreateModelCustomMetadatumArtifactResponse createModelCustomMetadatumArtifact( CreateModelCustomMetadatumArtifactRequest request) { @@ -2185,6 +2264,38 @@ public DeleteModelResponse deleteModel(DeleteModelRequest request) { .callSync(); } + @Override + public DeleteModelArtifactSignatureResponse deleteModelArtifactSignature( + DeleteModelArtifactSignatureRequest request) { + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, DeleteModelArtifactSignatureResponse::builder) + .logger(LOG, "deleteModelArtifactSignature") + .serviceDetails( + "DataScience", + "DeleteModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/DeleteModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .operationUsesDefaultRetries() + .handleResponseHeaderString( + "opc-request-id", + DeleteModelArtifactSignatureResponse.Builder::opcRequestId) + .callSync(); + } + @Override public DeleteModelCustomMetadatumArtifactResponse deleteModelCustomMetadatumArtifact( DeleteModelCustomMetadatumArtifactRequest request) { @@ -3073,6 +3184,41 @@ public GetModelArtifactContentResponse getModelArtifactContent( .callSync(); } + @Override + public GetModelArtifactSignatureResponse getModelArtifactSignature( + GetModelArtifactSignatureRequest request) { + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, GetModelArtifactSignatureResponse::builder) + .logger(LOG, "getModelArtifactSignature") + .serviceDetails( + "DataScience", + "GetModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/GetModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.datascience.model.ModelArtifactSignature.class, + GetModelArtifactSignatureResponse.Builder::modelArtifactSignature) + .handleResponseHeaderString("etag", GetModelArtifactSignatureResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", GetModelArtifactSignatureResponse.Builder::opcRequestId) + .callSync(); + } + @Override public GetModelCustomMetadatumArtifactContentResponse getModelCustomMetadatumArtifactContent( GetModelCustomMetadatumArtifactContentRequest request) { @@ -4337,6 +4483,48 @@ public ListMlApplicationsResponse listMlApplications(ListMlApplicationsRequest r .callSync(); } + @Override + public ListModelArtifactSignaturesResponse listModelArtifactSignatures( + ListModelArtifactSignaturesRequest request) { + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListModelArtifactSignaturesResponse::builder) + .logger(LOG, "listModelArtifactSignatures") + .serviceDetails( + "DataScience", + "ListModelArtifactSignatures", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignatureSummary/ListModelArtifactSignatures") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListModelArtifactSignaturesRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendQueryParam("displayName", request.getDisplayName()) + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("digest", request.getDigest()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBodyList( + com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary.class, + ListModelArtifactSignaturesResponse.Builder::items) + .handleResponseHeaderString( + "opc-next-page", ListModelArtifactSignaturesResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-prev-page", ListModelArtifactSignaturesResponse.Builder::opcPrevPage) + .handleResponseHeaderString( + "opc-request-id", ListModelArtifactSignaturesResponse.Builder::opcRequestId) + .callSync(); + } + @Override public ListModelDeploymentModelStatesResponse listModelDeploymentModelStates( ListModelDeploymentModelStatesRequest request) { @@ -5557,6 +5745,50 @@ public UpdateModelResponse updateModel(UpdateModelRequest request) { .callSync(); } + @Override + public UpdateModelArtifactSignatureResponse updateModelArtifactSignature( + UpdateModelArtifactSignatureRequest request) { + Objects.requireNonNull( + request.getUpdateModelArtifactSignatureDetails(), + "updateModelArtifactSignatureDetails is required"); + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, UpdateModelArtifactSignatureResponse::builder) + .logger(LOG, "updateModelArtifactSignature") + .serviceDetails( + "DataScience", + "UpdateModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/UpdateModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.datascience.model.ModelArtifactSignature.class, + UpdateModelArtifactSignatureResponse.Builder::modelArtifactSignature) + .handleResponseHeaderString( + "etag", UpdateModelArtifactSignatureResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", + UpdateModelArtifactSignatureResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + UpdateModelArtifactSignatureResponse.Builder::opcWorkRequestId) + .callSync(); + } + @Override public UpdateModelCustomMetadatumArtifactResponse updateModelCustomMetadatumArtifact( UpdateModelCustomMetadatumArtifactRequest request) { @@ -5968,6 +6200,49 @@ public UpdateScheduleResponse updateSchedule(UpdateScheduleRequest request) { .callSync(); } + @Override + public VerifyModelArtifactSignatureResponse verifyModelArtifactSignature( + VerifyModelArtifactSignatureRequest request) { + + Validate.notBlank(request.getModelId(), "modelId must not be blank"); + + Validate.notBlank( + request.getArtifactSignatureId(), "artifactSignatureId must not be blank"); + + return clientCall(request, VerifyModelArtifactSignatureResponse::builder) + .logger(LOG, "verifyModelArtifactSignature") + .serviceDetails( + "DataScience", + "VerifyModelArtifactSignature", + "https://docs.oracle.com/iaas/api/#/en/data-science/20190101/ModelArtifactSignature/VerifyModelArtifactSignature") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(VerifyModelArtifactSignatureRequest::builder) + .basePath("/20190101") + .appendPathParam("models") + .appendPathParam(request.getModelId()) + .appendPathParam("artifactSignatures") + .appendPathParam(request.getArtifactSignatureId()) + .appendPathParam("actions") + .appendPathParam("verify") + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.datascience.model.ModelArtifactSignature.class, + VerifyModelArtifactSignatureResponse.Builder::modelArtifactSignature) + .handleResponseHeaderString( + "etag", VerifyModelArtifactSignatureResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", + VerifyModelArtifactSignatureResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + VerifyModelArtifactSignatureResponse.Builder::opcWorkRequestId) + .callSync(); + } + @Override public DataScienceWaiters getWaiters() { return waiters; diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataSciencePaginators.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataSciencePaginators.java index a0a1eec0337..3ccdc33b263 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataSciencePaginators.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataSciencePaginators.java @@ -1636,6 +1636,132 @@ public ListMlApplicationsResponse apply(ListMlApplicationsRequest request) { }); } + /** + * Creates a new iterable which will iterate over the responses received from the + * listModelArtifactSignatures operation. This iterable will fetch more data from the server as + * needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses + * received from the service. + */ + public Iterable + listModelArtifactSignaturesResponseIterator( + final ListModelArtifactSignaturesRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListModelArtifactSignaturesRequest.Builder, + ListModelArtifactSignaturesRequest, + ListModelArtifactSignaturesResponse>( + new java.util.function.Supplier() { + @Override + public ListModelArtifactSignaturesRequest.Builder get() { + return ListModelArtifactSignaturesRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListModelArtifactSignaturesResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListModelArtifactSignaturesRequest.Builder>, + ListModelArtifactSignaturesRequest>() { + @Override + public ListModelArtifactSignaturesRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListModelArtifactSignaturesRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListModelArtifactSignaturesRequest, ListModelArtifactSignaturesResponse>() { + @Override + public ListModelArtifactSignaturesResponse apply( + ListModelArtifactSignaturesRequest request) { + return client.listModelArtifactSignatures(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary} objects contained in + * responses from the listModelArtifactSignatures operation. This iterable will fetch more data + * from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link + * com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary} objects contained in + * responses received from the service. + */ + public Iterable + listModelArtifactSignaturesRecordIterator( + final ListModelArtifactSignaturesRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListModelArtifactSignaturesRequest.Builder, + ListModelArtifactSignaturesRequest, + ListModelArtifactSignaturesResponse, + com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary>( + new java.util.function.Supplier() { + @Override + public ListModelArtifactSignaturesRequest.Builder get() { + return ListModelArtifactSignaturesRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListModelArtifactSignaturesResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListModelArtifactSignaturesRequest.Builder>, + ListModelArtifactSignaturesRequest>() { + @Override + public ListModelArtifactSignaturesRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListModelArtifactSignaturesRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListModelArtifactSignaturesRequest, ListModelArtifactSignaturesResponse>() { + @Override + public ListModelArtifactSignaturesResponse apply( + ListModelArtifactSignaturesRequest request) { + return client.listModelArtifactSignatures(request); + } + }, + new java.util.function.Function< + ListModelArtifactSignaturesResponse, + java.util.List< + com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary>>() { + @Override + public java.util.List< + com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary> + apply(ListModelArtifactSignaturesResponse response) { + return response.getItems(); + } + }); + } + /** * Creates a new iterable which will iterate over the responses received from the * listModelDeploymentModelStates operation. This iterable will fetch more data from the server diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceWaiters.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceWaiters.java index f7bfa9d72b5..5669348bdff 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceWaiters.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/DataScienceWaiters.java @@ -1128,6 +1128,120 @@ public boolean test(GetModelResponse response) { request); } + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @param targetState the desired states to wait for. If multiple states are provided then the + * waiter will return once the resource reaches any of the provided states + * @return a new {@code com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + GetModelArtifactSignatureRequest, GetModelArtifactSignatureResponse> + forModelArtifactSignature( + GetModelArtifactSignatureRequest request, + com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState... + targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forModelArtifactSignature( + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param targetState the desired state to wait for + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@code com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + GetModelArtifactSignatureRequest, GetModelArtifactSignatureResponse> + forModelArtifactSignature( + GetModelArtifactSignatureRequest request, + com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState targetState, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + com.oracle.bmc.util.internal.Validate.notNull( + targetState, "The targetState cannot be null"); + + return forModelArtifactSignature( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetState); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @param targetStates the desired states to wait for. The waiter will return once the resource + * reaches any of the provided states + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + GetModelArtifactSignatureRequest, GetModelArtifactSignatureResponse> + forModelArtifactSignature( + GetModelArtifactSignatureRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState... + targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forModelArtifactSignature( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for ModelArtifactSignature. + private com.oracle.bmc.waiter.Waiter< + GetModelArtifactSignatureRequest, GetModelArtifactSignatureResponse> + forModelArtifactSignature( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetModelArtifactSignatureRequest request, + final com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState... + targetStates) { + final java.util.Set + targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates)); + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + waiter.toCallable( + () -> request, + new java.util.function.Function< + GetModelArtifactSignatureRequest, + GetModelArtifactSignatureResponse>() { + @Override + public GetModelArtifactSignatureResponse apply( + GetModelArtifactSignatureRequest request) { + return client.getModelArtifactSignature(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetModelArtifactSignatureResponse response) { + return targetStatesSet.contains( + response.getModelArtifactSignature().getLifecycleState()); + } + }, + targetStatesSet.contains( + com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState + .Deleted)), + request); + } + /** * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. * diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ArtifactSignatureLifecycleState.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ArtifactSignatureLifecycleState.java new file mode 100644 index 00000000000..d17a807527f --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ArtifactSignatureLifecycleState.java @@ -0,0 +1,55 @@ +/** + * 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.datascience.model; + +/** The lifecycle state of the artifact signature */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public enum ArtifactSignatureLifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Active("ACTIVE"), + Creating("CREATING"), + Deleted("DELETED"), + 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(ArtifactSignatureLifecycleState.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (ArtifactSignatureLifecycleState v : ArtifactSignatureLifecycleState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + ArtifactSignatureLifecycleState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static ArtifactSignatureLifecycleState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'ArtifactSignatureLifecycleState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ArtifactSigningAlgorithm.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ArtifactSigningAlgorithm.java new file mode 100644 index 00000000000..7e45c71b21e --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ArtifactSigningAlgorithm.java @@ -0,0 +1,55 @@ +/** + * 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.datascience.model; + +/** The different algorithms supported for artifact signing. */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public enum ArtifactSigningAlgorithm implements com.oracle.bmc.http.internal.BmcEnum { + Sha224RsaPkcsPss("SHA_224_RSA_PKCS_PSS"), + Sha256RsaPkcsPss("SHA_256_RSA_PKCS_PSS"), + Sha384RsaPkcsPss("SHA_384_RSA_PKCS_PSS"), + Sha512RsaPkcsPss("SHA_512_RSA_PKCS_PSS"), + + /** + * 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(ArtifactSigningAlgorithm.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (ArtifactSigningAlgorithm v : ArtifactSigningAlgorithm.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + ArtifactSigningAlgorithm(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static ArtifactSigningAlgorithm create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'ArtifactSigningAlgorithm', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ChangeModelArtifactSignatureCompartmentDetails.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ChangeModelArtifactSignatureCompartmentDetails.java new file mode 100644 index 00000000000..41fe16a1015 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ChangeModelArtifactSignatureCompartmentDetails.java @@ -0,0 +1,146 @@ +/** + * 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.datascience.model; + +/** + * Details for changing the compartment of a model artifact signature.
+ * 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: 20190101") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = ChangeModelArtifactSignatureCompartmentDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ChangeModelArtifactSignatureCompartmentDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"compartmentId"}) + public ChangeModelArtifactSignatureCompartmentDetails(String compartmentId) { + super(); + this.compartmentId = compartmentId; + } + + @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 + * compartment where the resource should be moved. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment where the resource should be moved. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ChangeModelArtifactSignatureCompartmentDetails build() { + ChangeModelArtifactSignatureCompartmentDetails model = + new ChangeModelArtifactSignatureCompartmentDetails(this.compartmentId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ChangeModelArtifactSignatureCompartmentDetails model) { + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + 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 + * compartment where the resource should be moved. + */ + @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 where the resource should be moved. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + @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("ChangeModelArtifactSignatureCompartmentDetails("); + sb.append("super=").append(super.toString()); + sb.append("compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ChangeModelArtifactSignatureCompartmentDetails)) { + return false; + } + + ChangeModelArtifactSignatureCompartmentDetails other = + (ChangeModelArtifactSignatureCompartmentDetails) o; + return java.util.Objects.equals(this.compartmentId, other.compartmentId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/CreateModelArtifactSignatureDetails.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/CreateModelArtifactSignatureDetails.java new file mode 100644 index 00000000000..f4cf024f888 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/CreateModelArtifactSignatureDetails.java @@ -0,0 +1,438 @@ +/** + * 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.datascience.model; + +/** + * Parameters required to create a new signature of a model artifact.
+ * 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: 20190101") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateModelArtifactSignatureDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateModelArtifactSignatureDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "displayName", + "compartmentId", + "kmsKeyId", + "kmsKeyVersionId", + "signingAlgorithm", + "freeformTags", + "definedTags" + }) + public CreateModelArtifactSignatureDetails( + String displayName, + String compartmentId, + String kmsKeyId, + String kmsKeyVersionId, + ArtifactSigningAlgorithm signingAlgorithm, + java.util.Map freeformTags, + java.util.Map> definedTags) { + super(); + this.displayName = displayName; + this.compartmentId = compartmentId; + this.kmsKeyId = kmsKeyId; + this.kmsKeyVersionId = kmsKeyVersionId; + this.signingAlgorithm = signingAlgorithm; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * A user-friendly display name for the resource. It does not have to be unique and can be + * modified. Avoid entering confidential information. Example: {@code My Model Artifact + * Signature} + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * A user-friendly display name for the resource. It does not have to be unique and can be + * modified. Avoid entering confidential information. Example: {@code My Model Artifact + * Signature} + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment containing the resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment containing the resource. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * key from OCI KMS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("kmsKeyId") + private String kmsKeyId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * key from OCI KMS. + * + * @param kmsKeyId the value to set + * @return this builder + */ + public Builder kmsKeyId(String kmsKeyId) { + this.kmsKeyId = kmsKeyId; + this.__explicitlySet__.add("kmsKeyId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * key version from OCI KMS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("kmsKeyVersionId") + private String kmsKeyVersionId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * key version from OCI KMS. + * + * @param kmsKeyVersionId the value to set + * @return this builder + */ + public Builder kmsKeyVersionId(String kmsKeyVersionId) { + this.kmsKeyVersionId = kmsKeyVersionId; + this.__explicitlySet__.add("kmsKeyVersionId"); + return this; + } + /** The algorithm used for signing. */ + @com.fasterxml.jackson.annotation.JsonProperty("signingAlgorithm") + private ArtifactSigningAlgorithm signingAlgorithm; + + /** + * The algorithm used for signing. + * + * @param signingAlgorithm the value to set + * @return this builder + */ + public Builder signingAlgorithm(ArtifactSigningAlgorithm signingAlgorithm) { + this.signingAlgorithm = signingAlgorithm; + this.__explicitlySet__.add("signingAlgorithm"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. 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. 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; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. 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. 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; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateModelArtifactSignatureDetails build() { + CreateModelArtifactSignatureDetails model = + new CreateModelArtifactSignatureDetails( + this.displayName, + this.compartmentId, + this.kmsKeyId, + this.kmsKeyVersionId, + this.signingAlgorithm, + this.freeformTags, + this.definedTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateModelArtifactSignatureDetails model) { + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("kmsKeyId")) { + this.kmsKeyId(model.getKmsKeyId()); + } + if (model.wasPropertyExplicitlySet("kmsKeyVersionId")) { + this.kmsKeyVersionId(model.getKmsKeyVersionId()); + } + if (model.wasPropertyExplicitlySet("signingAlgorithm")) { + this.signingAlgorithm(model.getSigningAlgorithm()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * A user-friendly display name for the resource. It does not have to be unique and can be + * modified. Avoid entering confidential information. Example: {@code My Model Artifact + * Signature} + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * A user-friendly display name for the resource. It does not have to be unique and can be + * modified. Avoid entering confidential information. Example: {@code My Model Artifact + * Signature} + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment containing the resource. + */ + @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 containing the resource. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key + * from OCI KMS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("kmsKeyId") + private final String kmsKeyId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key + * from OCI KMS. + * + * @return the value + */ + public String getKmsKeyId() { + return kmsKeyId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key + * version from OCI KMS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("kmsKeyVersionId") + private final String kmsKeyVersionId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key + * version from OCI KMS. + * + * @return the value + */ + public String getKmsKeyVersionId() { + return kmsKeyVersionId; + } + + /** The algorithm used for signing. */ + @com.fasterxml.jackson.annotation.JsonProperty("signingAlgorithm") + private final ArtifactSigningAlgorithm signingAlgorithm; + + /** + * The algorithm used for signing. + * + * @return the value + */ + public ArtifactSigningAlgorithm getSigningAlgorithm() { + return signingAlgorithm; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. 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. 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; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. 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. 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; + } + + @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("CreateModelArtifactSignatureDetails("); + sb.append("super=").append(super.toString()); + sb.append("displayName=").append(String.valueOf(this.displayName)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", kmsKeyId=").append(String.valueOf(this.kmsKeyId)); + sb.append(", kmsKeyVersionId=").append(String.valueOf(this.kmsKeyVersionId)); + sb.append(", signingAlgorithm=").append(String.valueOf(this.signingAlgorithm)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateModelArtifactSignatureDetails)) { + return false; + } + + CreateModelArtifactSignatureDetails other = (CreateModelArtifactSignatureDetails) o; + return java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.kmsKeyId, other.kmsKeyId) + && java.util.Objects.equals(this.kmsKeyVersionId, other.kmsKeyVersionId) + && java.util.Objects.equals(this.signingAlgorithm, other.signingAlgorithm) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.kmsKeyId == null ? 43 : this.kmsKeyId.hashCode()); + result = + (result * PRIME) + + (this.kmsKeyVersionId == null ? 43 : this.kmsKeyVersionId.hashCode()); + result = + (result * PRIME) + + (this.signingAlgorithm == null ? 43 : this.signingAlgorithm.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelArtifactSignature.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelArtifactSignature.java new file mode 100644 index 00000000000..7b928282a23 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelArtifactSignature.java @@ -0,0 +1,824 @@ +/** + * 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.datascience.model; + +/** + * Metadata of the model artifact signature.
+ * 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: 20190101") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = ModelArtifactSignature.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ModelArtifactSignature + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "displayName", + "compartmentId", + "kmsKeyId", + "kmsKeyVersionId", + "modelId", + "lifecycleState", + "digest", + "signature", + "signingAlgorithm", + "timeCreated", + "timeUpdated", + "createdBy", + "freeformTags", + "definedTags", + "systemTags" + }) + public ModelArtifactSignature( + String id, + String displayName, + String compartmentId, + String kmsKeyId, + String kmsKeyVersionId, + String modelId, + ArtifactSignatureLifecycleState lifecycleState, + String digest, + String signature, + ArtifactSigningAlgorithm signingAlgorithm, + java.util.Date timeCreated, + java.util.Date timeUpdated, + String createdBy, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.displayName = displayName; + this.compartmentId = compartmentId; + this.kmsKeyId = kmsKeyId; + this.kmsKeyVersionId = kmsKeyVersionId; + this.modelId = modelId; + this.lifecycleState = lifecycleState; + this.digest = digest; + this.signature = signature; + this.signingAlgorithm = signingAlgorithm; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.createdBy = createdBy; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + } + + @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 + * artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * artifact signature. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** A user-friendly display name for the resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * A user-friendly display name for the resource. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment containing the resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment containing the resource. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * key from OCI KMS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("kmsKeyId") + private String kmsKeyId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * key from OCI KMS. + * + * @param kmsKeyId the value to set + * @return this builder + */ + public Builder kmsKeyId(String kmsKeyId) { + this.kmsKeyId = kmsKeyId; + this.__explicitlySet__.add("kmsKeyId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * key version from OCI KMS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("kmsKeyVersionId") + private String kmsKeyVersionId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * key version from OCI KMS. + * + * @param kmsKeyVersionId the value to set + * @return this builder + */ + public Builder kmsKeyVersionId(String kmsKeyVersionId) { + this.kmsKeyVersionId = kmsKeyVersionId; + this.__explicitlySet__.add("kmsKeyVersionId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model whose artifact has to be signed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelId") + private String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model whose artifact has to be signed. + * + * @param modelId the value to set + * @return this builder + */ + public Builder modelId(String modelId) { + this.modelId = modelId; + this.__explicitlySet__.add("modelId"); + return this; + } + /** The lifecycle state of the model artifact signature */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private ArtifactSignatureLifecycleState lifecycleState; + + /** + * The lifecycle state of the model artifact signature + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(ArtifactSignatureLifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** Base64 encoded string representing the model artifact digest. */ + @com.fasterxml.jackson.annotation.JsonProperty("digest") + private String digest; + + /** + * Base64 encoded string representing the model artifact digest. + * + * @param digest the value to set + * @return this builder + */ + public Builder digest(String digest) { + this.digest = digest; + this.__explicitlySet__.add("digest"); + return this; + } + /** + * The signature of the digest generated using kmsKeyId, kmsKeyVersion Id and + * signingAlgorithm. + */ + @com.fasterxml.jackson.annotation.JsonProperty("signature") + private String signature; + + /** + * The signature of the digest generated using kmsKeyId, kmsKeyVersion Id and + * signingAlgorithm. + * + * @param signature the value to set + * @return this builder + */ + public Builder signature(String signature) { + this.signature = signature; + this.__explicitlySet__.add("signature"); + return this; + } + /** The algorithm used for signing. */ + @com.fasterxml.jackson.annotation.JsonProperty("signingAlgorithm") + private ArtifactSigningAlgorithm signingAlgorithm; + + /** + * The algorithm used for signing. + * + * @param signingAlgorithm the value to set + * @return this builder + */ + public Builder signingAlgorithm(ArtifactSigningAlgorithm signingAlgorithm) { + this.signingAlgorithm = signingAlgorithm; + this.__explicitlySet__.add("signingAlgorithm"); + return this; + } + /** + * The date and time the resource was created in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * The date and time the resource was created in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + * + * @param timeCreated the value to set + * @return this builder + */ + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + /** + * The date and time the resource was updated in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * The date and time the resource was updated in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + * + * @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; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * user who created the model. + */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private String createdBy; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * user who created the model. + * + * @param createdBy the value to set + * @return this builder + */ + public Builder createdBy(String createdBy) { + this.createdBy = createdBy; + this.__explicitlySet__.add("createdBy"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. 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. 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; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. 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. 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; + } + /** + * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {@code + * {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {@code + * {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ModelArtifactSignature build() { + ModelArtifactSignature model = + new ModelArtifactSignature( + this.id, + this.displayName, + this.compartmentId, + this.kmsKeyId, + this.kmsKeyVersionId, + this.modelId, + this.lifecycleState, + this.digest, + this.signature, + this.signingAlgorithm, + this.timeCreated, + this.timeUpdated, + this.createdBy, + this.freeformTags, + this.definedTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ModelArtifactSignature model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("kmsKeyId")) { + this.kmsKeyId(model.getKmsKeyId()); + } + if (model.wasPropertyExplicitlySet("kmsKeyVersionId")) { + this.kmsKeyVersionId(model.getKmsKeyVersionId()); + } + if (model.wasPropertyExplicitlySet("modelId")) { + this.modelId(model.getModelId()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("digest")) { + this.digest(model.getDigest()); + } + if (model.wasPropertyExplicitlySet("signature")) { + this.signature(model.getSignature()); + } + if (model.wasPropertyExplicitlySet("signingAlgorithm")) { + this.signingAlgorithm(model.getSigningAlgorithm()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("createdBy")) { + this.createdBy(model.getCreatedBy()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + 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 + * artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * artifact signature. + * + * @return the value + */ + public String getId() { + return id; + } + + /** A user-friendly display name for the resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * A user-friendly display name for the resource. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment containing the resource. + */ + @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 containing the resource. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key + * from OCI KMS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("kmsKeyId") + private final String kmsKeyId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key + * from OCI KMS. + * + * @return the value + */ + public String getKmsKeyId() { + return kmsKeyId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key + * version from OCI KMS. + */ + @com.fasterxml.jackson.annotation.JsonProperty("kmsKeyVersionId") + private final String kmsKeyVersionId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key + * version from OCI KMS. + * + * @return the value + */ + public String getKmsKeyVersionId() { + return kmsKeyVersionId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model whose artifact has to be signed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelId") + private final String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model whose artifact has to be signed. + * + * @return the value + */ + public String getModelId() { + return modelId; + } + + /** The lifecycle state of the model artifact signature */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final ArtifactSignatureLifecycleState lifecycleState; + + /** + * The lifecycle state of the model artifact signature + * + * @return the value + */ + public ArtifactSignatureLifecycleState getLifecycleState() { + return lifecycleState; + } + + /** Base64 encoded string representing the model artifact digest. */ + @com.fasterxml.jackson.annotation.JsonProperty("digest") + private final String digest; + + /** + * Base64 encoded string representing the model artifact digest. + * + * @return the value + */ + public String getDigest() { + return digest; + } + + /** + * The signature of the digest generated using kmsKeyId, kmsKeyVersion Id and signingAlgorithm. + */ + @com.fasterxml.jackson.annotation.JsonProperty("signature") + private final String signature; + + /** + * The signature of the digest generated using kmsKeyId, kmsKeyVersion Id and signingAlgorithm. + * + * @return the value + */ + public String getSignature() { + return signature; + } + + /** The algorithm used for signing. */ + @com.fasterxml.jackson.annotation.JsonProperty("signingAlgorithm") + private final ArtifactSigningAlgorithm signingAlgorithm; + + /** + * The algorithm used for signing. + * + * @return the value + */ + public ArtifactSigningAlgorithm getSigningAlgorithm() { + return signingAlgorithm; + } + + /** + * The date and time the resource was created in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * The date and time the resource was created in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * The date and time the resource was updated in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * The date and time the resource was updated in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the user + * who created the model. + */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private final String createdBy; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the user + * who created the model. + * + * @return the value + */ + public String getCreatedBy() { + return createdBy; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. 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. 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; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. 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. 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; + } + + /** + * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {@code + * {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {@code + * {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @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("ModelArtifactSignature("); + sb.append("super=").append(super.toString()); + 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(", kmsKeyId=").append(String.valueOf(this.kmsKeyId)); + sb.append(", kmsKeyVersionId=").append(String.valueOf(this.kmsKeyVersionId)); + sb.append(", modelId=").append(String.valueOf(this.modelId)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", digest=").append(String.valueOf(this.digest)); + sb.append(", signature=").append(String.valueOf(this.signature)); + sb.append(", signingAlgorithm=").append(String.valueOf(this.signingAlgorithm)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", createdBy=").append(String.valueOf(this.createdBy)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ModelArtifactSignature)) { + return false; + } + + ModelArtifactSignature other = (ModelArtifactSignature) 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.kmsKeyId, other.kmsKeyId) + && java.util.Objects.equals(this.kmsKeyVersionId, other.kmsKeyVersionId) + && java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.digest, other.digest) + && java.util.Objects.equals(this.signature, other.signature) + && java.util.Objects.equals(this.signingAlgorithm, other.signingAlgorithm) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.createdBy, other.createdBy) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.kmsKeyId == null ? 43 : this.kmsKeyId.hashCode()); + result = + (result * PRIME) + + (this.kmsKeyVersionId == null ? 43 : this.kmsKeyVersionId.hashCode()); + result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = (result * PRIME) + (this.digest == null ? 43 : this.digest.hashCode()); + result = (result * PRIME) + (this.signature == null ? 43 : this.signature.hashCode()); + result = + (result * PRIME) + + (this.signingAlgorithm == null ? 43 : this.signingAlgorithm.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.createdBy == null ? 43 : this.createdBy.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()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelArtifactSignatureSummary.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelArtifactSignatureSummary.java new file mode 100644 index 00000000000..2f39f1a3070 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelArtifactSignatureSummary.java @@ -0,0 +1,646 @@ +/** + * 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.datascience.model; + +/** + * Summary of the model artifact signature.
+ * 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: 20190101") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = ModelArtifactSignatureSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ModelArtifactSignatureSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "displayName", + "compartmentId", + "modelId", + "digest", + "lifecycleState", + "timeCreated", + "createdBy", + "timeUpdated", + "freeformTags", + "definedTags", + "systemTags" + }) + public ModelArtifactSignatureSummary( + String id, + String displayName, + String compartmentId, + String modelId, + String digest, + ArtifactSignatureLifecycleState lifecycleState, + java.util.Date timeCreated, + String createdBy, + java.util.Date timeUpdated, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.displayName = displayName; + this.compartmentId = compartmentId; + this.modelId = modelId; + this.digest = digest; + this.lifecycleState = lifecycleState; + this.timeCreated = timeCreated; + this.createdBy = createdBy; + this.timeUpdated = timeUpdated; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + } + + @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 + * model artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** A user-friendly display name for the resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * A user-friendly display name for the resource. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment containing the resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment containing the resource. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model whose artifact has to be signed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelId") + private String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model whose artifact has to be signed. + * + * @param modelId the value to set + * @return this builder + */ + public Builder modelId(String modelId) { + this.modelId = modelId; + this.__explicitlySet__.add("modelId"); + return this; + } + /** Base64 encoded string representing the model artifact digest. */ + @com.fasterxml.jackson.annotation.JsonProperty("digest") + private String digest; + + /** + * Base64 encoded string representing the model artifact digest. + * + * @param digest the value to set + * @return this builder + */ + public Builder digest(String digest) { + this.digest = digest; + this.__explicitlySet__.add("digest"); + return this; + } + /** The lifecycle state of the artifact signature */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private ArtifactSignatureLifecycleState lifecycleState; + + /** + * The lifecycle state of the artifact signature + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(ArtifactSignatureLifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** + * The date and time the resource was created in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * The date and time the resource was created in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + * + * @param timeCreated the value to set + * @return this builder + */ + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * user who created the model. + */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private String createdBy; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * user who created the model. + * + * @param createdBy the value to set + * @return this builder + */ + public Builder createdBy(String createdBy) { + this.createdBy = createdBy; + this.__explicitlySet__.add("createdBy"); + return this; + } + /** + * The date and time the resource was updated in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * The date and time the resource was updated in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + * + * @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; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. 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. 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; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. 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. 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; + } + /** + * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {@code + * {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {@code + * {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ModelArtifactSignatureSummary build() { + ModelArtifactSignatureSummary model = + new ModelArtifactSignatureSummary( + this.id, + this.displayName, + this.compartmentId, + this.modelId, + this.digest, + this.lifecycleState, + this.timeCreated, + this.createdBy, + this.timeUpdated, + this.freeformTags, + this.definedTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ModelArtifactSignatureSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("modelId")) { + this.modelId(model.getModelId()); + } + if (model.wasPropertyExplicitlySet("digest")) { + this.digest(model.getDigest()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("createdBy")) { + this.createdBy(model.getCreatedBy()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + 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 + * model artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + * + * @return the value + */ + public String getId() { + return id; + } + + /** A user-friendly display name for the resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * A user-friendly display name for the resource. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment containing the resource. + */ + @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 containing the resource. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model whose artifact has to be signed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelId") + private final String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model whose artifact has to be signed. + * + * @return the value + */ + public String getModelId() { + return modelId; + } + + /** Base64 encoded string representing the model artifact digest. */ + @com.fasterxml.jackson.annotation.JsonProperty("digest") + private final String digest; + + /** + * Base64 encoded string representing the model artifact digest. + * + * @return the value + */ + public String getDigest() { + return digest; + } + + /** The lifecycle state of the artifact signature */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final ArtifactSignatureLifecycleState lifecycleState; + + /** + * The lifecycle state of the artifact signature + * + * @return the value + */ + public ArtifactSignatureLifecycleState getLifecycleState() { + return lifecycleState; + } + + /** + * The date and time the resource was created in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * The date and time the resource was created in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the user + * who created the model. + */ + @com.fasterxml.jackson.annotation.JsonProperty("createdBy") + private final String createdBy; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the user + * who created the model. + * + * @return the value + */ + public String getCreatedBy() { + return createdBy; + } + + /** + * The date and time the resource was updated in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * The date and time the resource was updated in the timestamp format defined by + * [RFC3339](https://tools.ietf.org/html/rfc3339). Example: 2019-08-25T21:10:29.41Z + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. 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. 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; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. 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. 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; + } + + /** + * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {@code + * {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {@code + * {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @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("ModelArtifactSignatureSummary("); + sb.append("super=").append(super.toString()); + 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(", modelId=").append(String.valueOf(this.modelId)); + sb.append(", digest=").append(String.valueOf(this.digest)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", createdBy=").append(String.valueOf(this.createdBy)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ModelArtifactSignatureSummary)) { + return false; + } + + ModelArtifactSignatureSummary other = (ModelArtifactSignatureSummary) 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.modelId, other.modelId) + && java.util.Objects.equals(this.digest, other.digest) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.createdBy, other.createdBy) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = (result * PRIME) + (this.digest == null ? 43 : this.digest.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.createdBy == null ? 43 : this.createdBy.hashCode()); + result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.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()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelConfigurationDetails.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelConfigurationDetails.java index 518f4d17402..73b96e07c14 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelConfigurationDetails.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/ModelConfigurationDetails.java @@ -25,6 +25,7 @@ public final class ModelConfigurationDetails @Deprecated @java.beans.ConstructorProperties({ "modelId", + "modelArtifactSignatureId", "instanceConfiguration", "scalingPolicy", "bandwidthMbps", @@ -32,12 +33,14 @@ public final class ModelConfigurationDetails }) public ModelConfigurationDetails( String modelId, + String modelArtifactSignatureId, InstanceConfiguration instanceConfiguration, ScalingPolicy scalingPolicy, Integer bandwidthMbps, Integer maximumBandwidthMbps) { super(); this.modelId = modelId; + this.modelArtifactSignatureId = modelArtifactSignatureId; this.instanceConfiguration = instanceConfiguration; this.scalingPolicy = scalingPolicy; this.bandwidthMbps = bandwidthMbps; @@ -61,6 +64,25 @@ public Builder modelId(String modelId) { this.__explicitlySet__.add("modelId"); return this; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * model artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelArtifactSignatureId") + private String modelArtifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * model artifact signature. + * + * @param modelArtifactSignatureId the value to set + * @return this builder + */ + public Builder modelArtifactSignatureId(String modelArtifactSignatureId) { + this.modelArtifactSignatureId = modelArtifactSignatureId; + this.__explicitlySet__.add("modelArtifactSignatureId"); + return this; + } @com.fasterxml.jackson.annotation.JsonProperty("instanceConfiguration") private InstanceConfiguration instanceConfiguration; @@ -117,6 +139,7 @@ public ModelConfigurationDetails build() { ModelConfigurationDetails model = new ModelConfigurationDetails( this.modelId, + this.modelArtifactSignatureId, this.instanceConfiguration, this.scalingPolicy, this.bandwidthMbps, @@ -132,6 +155,9 @@ public Builder copy(ModelConfigurationDetails model) { if (model.wasPropertyExplicitlySet("modelId")) { this.modelId(model.getModelId()); } + if (model.wasPropertyExplicitlySet("modelArtifactSignatureId")) { + this.modelArtifactSignatureId(model.getModelArtifactSignatureId()); + } if (model.wasPropertyExplicitlySet("instanceConfiguration")) { this.instanceConfiguration(model.getInstanceConfiguration()); } @@ -170,6 +196,23 @@ public String getModelId() { return modelId; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a model + * artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelArtifactSignatureId") + private final String modelArtifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a model + * artifact signature. + * + * @return the value + */ + public String getModelArtifactSignatureId() { + return modelArtifactSignatureId; + } + @com.fasterxml.jackson.annotation.JsonProperty("instanceConfiguration") private final InstanceConfiguration instanceConfiguration; @@ -226,6 +269,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("ModelConfigurationDetails("); sb.append("super=").append(super.toString()); sb.append("modelId=").append(String.valueOf(this.modelId)); + sb.append(", modelArtifactSignatureId=") + .append(String.valueOf(this.modelArtifactSignatureId)); sb.append(", instanceConfiguration=").append(String.valueOf(this.instanceConfiguration)); sb.append(", scalingPolicy=").append(String.valueOf(this.scalingPolicy)); sb.append(", bandwidthMbps=").append(String.valueOf(this.bandwidthMbps)); @@ -245,6 +290,8 @@ public boolean equals(Object o) { ModelConfigurationDetails other = (ModelConfigurationDetails) o; return java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals( + this.modelArtifactSignatureId, other.modelArtifactSignatureId) && java.util.Objects.equals(this.instanceConfiguration, other.instanceConfiguration) && java.util.Objects.equals(this.scalingPolicy, other.scalingPolicy) && java.util.Objects.equals(this.bandwidthMbps, other.bandwidthMbps) @@ -257,6 +304,11 @@ public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.modelArtifactSignatureId == null + ? 43 + : this.modelArtifactSignatureId.hashCode()); result = (result * PRIME) + (this.instanceConfiguration == null diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/SingleModelConfigurationDetails.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/SingleModelConfigurationDetails.java index 211c600da78..7a3ef9e2325 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/SingleModelConfigurationDetails.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/SingleModelConfigurationDetails.java @@ -23,10 +23,11 @@ public final class SingleModelConfigurationDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"modelId"}) - public SingleModelConfigurationDetails(String modelId) { + @java.beans.ConstructorProperties({"modelId", "modelArtifactSignatureId"}) + public SingleModelConfigurationDetails(String modelId, String modelArtifactSignatureId) { super(); this.modelId = modelId; + this.modelArtifactSignatureId = modelArtifactSignatureId; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -50,13 +51,33 @@ public Builder modelId(String modelId) { this.__explicitlySet__.add("modelId"); return this; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * model artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelArtifactSignatureId") + private String modelArtifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * model artifact signature. + * + * @param modelArtifactSignatureId the value to set + * @return this builder + */ + public Builder modelArtifactSignatureId(String modelArtifactSignatureId) { + this.modelArtifactSignatureId = modelArtifactSignatureId; + this.__explicitlySet__.add("modelArtifactSignatureId"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public SingleModelConfigurationDetails build() { SingleModelConfigurationDetails model = - new SingleModelConfigurationDetails(this.modelId); + new SingleModelConfigurationDetails( + this.modelId, this.modelArtifactSignatureId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -68,6 +89,9 @@ public Builder copy(SingleModelConfigurationDetails model) { if (model.wasPropertyExplicitlySet("modelId")) { this.modelId(model.getModelId()); } + if (model.wasPropertyExplicitlySet("modelArtifactSignatureId")) { + this.modelArtifactSignatureId(model.getModelArtifactSignatureId()); + } return this; } } @@ -96,6 +120,23 @@ public String getModelId() { return modelId; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a model + * artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelArtifactSignatureId") + private final String modelArtifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a model + * artifact signature. + * + * @return the value + */ + public String getModelArtifactSignatureId() { + return modelArtifactSignatureId; + } + @Override public String toString() { return this.toString(true); @@ -112,6 +153,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("SingleModelConfigurationDetails("); sb.append("super=").append(super.toString()); sb.append("modelId=").append(String.valueOf(this.modelId)); + sb.append(", modelArtifactSignatureId=") + .append(String.valueOf(this.modelArtifactSignatureId)); sb.append(")"); return sb.toString(); } @@ -126,7 +169,10 @@ public boolean equals(Object o) { } SingleModelConfigurationDetails other = (SingleModelConfigurationDetails) o; - return java.util.Objects.equals(this.modelId, other.modelId) && super.equals(other); + return java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals( + this.modelArtifactSignatureId, other.modelArtifactSignatureId) + && super.equals(other); } @Override @@ -134,6 +180,11 @@ public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.modelArtifactSignatureId == null + ? 43 + : this.modelArtifactSignatureId.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/SingleModelDeploymentFlexConfigurationDetails.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/SingleModelDeploymentFlexConfigurationDetails.java index d31d1efc53d..0c8d887d99c 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/SingleModelDeploymentFlexConfigurationDetails.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/SingleModelDeploymentFlexConfigurationDetails.java @@ -5,7 +5,8 @@ package com.oracle.bmc.datascience.model; /** - * The single model model deployment flex configuration details.
+ * The configuration details for a single-model deployment with flexible, decoupled infrastructure + * and model 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 diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateModelArtifactSignatureDetails.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateModelArtifactSignatureDetails.java new file mode 100644 index 00000000000..05ab6452bcd --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateModelArtifactSignatureDetails.java @@ -0,0 +1,250 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.datascience.model; + +/** + * Parameters required to update an existing signature of a model artifact.
+ * 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: 20190101") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateModelArtifactSignatureDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateModelArtifactSignatureDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"displayName", "freeformTags", "definedTags"}) + public UpdateModelArtifactSignatureDetails( + String displayName, + java.util.Map freeformTags, + java.util.Map> definedTags) { + super(); + this.displayName = displayName; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * A user-friendly display name for the resource. It does not have to be unique and can be + * modified. Avoid entering confidential information. Example: {@code My Model Artifact + * Signature} + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * A user-friendly display name for the resource. It does not have to be unique and can be + * modified. Avoid entering confidential information. Example: {@code My Model Artifact + * Signature} + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. 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. 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; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. 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. 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; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateModelArtifactSignatureDetails build() { + UpdateModelArtifactSignatureDetails model = + new UpdateModelArtifactSignatureDetails( + this.displayName, this.freeformTags, this.definedTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateModelArtifactSignatureDetails model) { + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * A user-friendly display name for the resource. It does not have to be unique and can be + * modified. Avoid entering confidential information. Example: {@code My Model Artifact + * Signature} + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * A user-friendly display name for the resource. It does not have to be unique and can be + * modified. Avoid entering confidential information. Example: {@code My Model Artifact + * Signature} + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. 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. 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; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. 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. 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; + } + + @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("UpdateModelArtifactSignatureDetails("); + sb.append("super=").append(super.toString()); + sb.append("displayName=").append(String.valueOf(this.displayName)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateModelArtifactSignatureDetails)) { + return false; + } + + UpdateModelArtifactSignatureDetails other = (UpdateModelArtifactSignatureDetails) o; + return java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateModelConfigurationDetails.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateModelConfigurationDetails.java index 5dc707c56a0..446ef6e0ed5 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateModelConfigurationDetails.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateModelConfigurationDetails.java @@ -25,6 +25,7 @@ public final class UpdateModelConfigurationDetails @Deprecated @java.beans.ConstructorProperties({ "modelId", + "modelArtifactSignatureId", "instanceConfiguration", "scalingPolicy", "bandwidthMbps", @@ -32,12 +33,14 @@ public final class UpdateModelConfigurationDetails }) public UpdateModelConfigurationDetails( String modelId, + String modelArtifactSignatureId, InstanceConfiguration instanceConfiguration, ScalingPolicy scalingPolicy, Integer bandwidthMbps, Integer maximumBandwidthMbps) { super(); this.modelId = modelId; + this.modelArtifactSignatureId = modelArtifactSignatureId; this.instanceConfiguration = instanceConfiguration; this.scalingPolicy = scalingPolicy; this.bandwidthMbps = bandwidthMbps; @@ -61,6 +64,25 @@ public Builder modelId(String modelId) { this.__explicitlySet__.add("modelId"); return this; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * model artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelArtifactSignatureId") + private String modelArtifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * model artifact signature. + * + * @param modelArtifactSignatureId the value to set + * @return this builder + */ + public Builder modelArtifactSignatureId(String modelArtifactSignatureId) { + this.modelArtifactSignatureId = modelArtifactSignatureId; + this.__explicitlySet__.add("modelArtifactSignatureId"); + return this; + } @com.fasterxml.jackson.annotation.JsonProperty("instanceConfiguration") private InstanceConfiguration instanceConfiguration; @@ -117,6 +139,7 @@ public UpdateModelConfigurationDetails build() { UpdateModelConfigurationDetails model = new UpdateModelConfigurationDetails( this.modelId, + this.modelArtifactSignatureId, this.instanceConfiguration, this.scalingPolicy, this.bandwidthMbps, @@ -132,6 +155,9 @@ public Builder copy(UpdateModelConfigurationDetails model) { if (model.wasPropertyExplicitlySet("modelId")) { this.modelId(model.getModelId()); } + if (model.wasPropertyExplicitlySet("modelArtifactSignatureId")) { + this.modelArtifactSignatureId(model.getModelArtifactSignatureId()); + } if (model.wasPropertyExplicitlySet("instanceConfiguration")) { this.instanceConfiguration(model.getInstanceConfiguration()); } @@ -170,6 +196,23 @@ public String getModelId() { return modelId; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a model + * artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelArtifactSignatureId") + private final String modelArtifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a model + * artifact signature. + * + * @return the value + */ + public String getModelArtifactSignatureId() { + return modelArtifactSignatureId; + } + @com.fasterxml.jackson.annotation.JsonProperty("instanceConfiguration") private final InstanceConfiguration instanceConfiguration; @@ -226,6 +269,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("UpdateModelConfigurationDetails("); sb.append("super=").append(super.toString()); sb.append("modelId=").append(String.valueOf(this.modelId)); + sb.append(", modelArtifactSignatureId=") + .append(String.valueOf(this.modelArtifactSignatureId)); sb.append(", instanceConfiguration=").append(String.valueOf(this.instanceConfiguration)); sb.append(", scalingPolicy=").append(String.valueOf(this.scalingPolicy)); sb.append(", bandwidthMbps=").append(String.valueOf(this.bandwidthMbps)); @@ -245,6 +290,8 @@ public boolean equals(Object o) { UpdateModelConfigurationDetails other = (UpdateModelConfigurationDetails) o; return java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals( + this.modelArtifactSignatureId, other.modelArtifactSignatureId) && java.util.Objects.equals(this.instanceConfiguration, other.instanceConfiguration) && java.util.Objects.equals(this.scalingPolicy, other.scalingPolicy) && java.util.Objects.equals(this.bandwidthMbps, other.bandwidthMbps) @@ -257,6 +304,11 @@ public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.modelArtifactSignatureId == null + ? 43 + : this.modelArtifactSignatureId.hashCode()); result = (result * PRIME) + (this.instanceConfiguration == null diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateSingleModelConfigurationDetails.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateSingleModelConfigurationDetails.java index 57c9357bc40..97c009c9974 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateSingleModelConfigurationDetails.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/UpdateSingleModelConfigurationDetails.java @@ -23,10 +23,11 @@ public final class UpdateSingleModelConfigurationDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"modelId"}) - public UpdateSingleModelConfigurationDetails(String modelId) { + @java.beans.ConstructorProperties({"modelId", "modelArtifactSignatureId"}) + public UpdateSingleModelConfigurationDetails(String modelId, String modelArtifactSignatureId) { super(); this.modelId = modelId; + this.modelArtifactSignatureId = modelArtifactSignatureId; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -50,13 +51,33 @@ public Builder modelId(String modelId) { this.__explicitlySet__.add("modelId"); return this; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * model artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelArtifactSignatureId") + private String modelArtifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * model artifact signature. + * + * @param modelArtifactSignatureId the value to set + * @return this builder + */ + public Builder modelArtifactSignatureId(String modelArtifactSignatureId) { + this.modelArtifactSignatureId = modelArtifactSignatureId; + this.__explicitlySet__.add("modelArtifactSignatureId"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public UpdateSingleModelConfigurationDetails build() { UpdateSingleModelConfigurationDetails model = - new UpdateSingleModelConfigurationDetails(this.modelId); + new UpdateSingleModelConfigurationDetails( + this.modelId, this.modelArtifactSignatureId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -68,6 +89,9 @@ public Builder copy(UpdateSingleModelConfigurationDetails model) { if (model.wasPropertyExplicitlySet("modelId")) { this.modelId(model.getModelId()); } + if (model.wasPropertyExplicitlySet("modelArtifactSignatureId")) { + this.modelArtifactSignatureId(model.getModelArtifactSignatureId()); + } return this; } } @@ -96,6 +120,23 @@ public String getModelId() { return modelId; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a model + * artifact signature. + */ + @com.fasterxml.jackson.annotation.JsonProperty("modelArtifactSignatureId") + private final String modelArtifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a model + * artifact signature. + * + * @return the value + */ + public String getModelArtifactSignatureId() { + return modelArtifactSignatureId; + } + @Override public String toString() { return this.toString(true); @@ -112,6 +153,8 @@ public String toString(boolean includeByteArrayContents) { sb.append("UpdateSingleModelConfigurationDetails("); sb.append("super=").append(super.toString()); sb.append("modelId=").append(String.valueOf(this.modelId)); + sb.append(", modelArtifactSignatureId=") + .append(String.valueOf(this.modelArtifactSignatureId)); sb.append(")"); return sb.toString(); } @@ -126,7 +169,10 @@ public boolean equals(Object o) { } UpdateSingleModelConfigurationDetails other = (UpdateSingleModelConfigurationDetails) o; - return java.util.Objects.equals(this.modelId, other.modelId) && super.equals(other); + return java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals( + this.modelArtifactSignatureId, other.modelArtifactSignatureId) + && super.equals(other); } @Override @@ -134,6 +180,11 @@ public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.modelArtifactSignatureId == null + ? 43 + : this.modelArtifactSignatureId.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/WorkRequestOperationType.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/WorkRequestOperationType.java index ee55f8a4ced..1fc1be55a6b 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/WorkRequestOperationType.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/model/WorkRequestOperationType.java @@ -60,6 +60,8 @@ public enum WorkRequestOperationType implements com.oracle.bmc.http.internal.Bmc ModelGroupUpdate("MODEL_GROUP_UPDATE"), ModelGroupDelete("MODEL_GROUP_DELETE"), ModelGroupVersionHistoryDelete("MODEL_GROUP_VERSION_HISTORY_DELETE"), + CreateModelArtifactSignature("CREATE_MODEL_ARTIFACT_SIGNATURE"), + VerifyModelArtifactSignature("VERIFY_MODEL_ARTIFACT_SIGNATURE"), /** * This value is used if a service returns a value for this enum that is not recognized by this diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/ChangeModelArtifactSignatureCompartmentRequest.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/ChangeModelArtifactSignatureCompartmentRequest.java new file mode 100644 index 00000000000..0a3957229d2 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/ChangeModelArtifactSignatureCompartmentRequest.java @@ -0,0 +1,429 @@ +/** + * 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.datascience.requests; + +import com.oracle.bmc.datascience.model.*; +/** + * Example: Click here to see how to use + * ChangeModelArtifactSignatureCompartmentRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class ChangeModelArtifactSignatureCompartmentRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.datascience.model.ChangeModelArtifactSignatureCompartmentDetails> { + + /** Details for changing the compartment of a model artifact signature. */ + private com.oracle.bmc.datascience.model.ChangeModelArtifactSignatureCompartmentDetails + changeModelArtifactSignatureCompartmentDetails; + + /** Details for changing the compartment of a model artifact signature. */ + public com.oracle.bmc.datascience.model.ChangeModelArtifactSignatureCompartmentDetails + getChangeModelArtifactSignatureCompartmentDetails() { + return changeModelArtifactSignatureCompartmentDetails; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + public String getModelId() { + return modelId; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + public String getArtifactSignatureId() { + return artifactSignatureId; + } + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource is updated or deleted only if the {@code etag} you provide matches the + * resource's current {@code 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 is updated or deleted only if the {@code etag} you provide matches the + * resource's current {@code etag} value. + */ + public String getIfMatch() { + return ifMatch; + } + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.datascience.model.ChangeModelArtifactSignatureCompartmentDetails + getBody$() { + return changeModelArtifactSignatureCompartmentDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ChangeModelArtifactSignatureCompartmentRequest, + com.oracle.bmc.datascience.model + .ChangeModelArtifactSignatureCompartmentDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** Details for changing the compartment of a model artifact signature. */ + private com.oracle.bmc.datascience.model.ChangeModelArtifactSignatureCompartmentDetails + changeModelArtifactSignatureCompartmentDetails = null; + + /** + * Details for changing the compartment of a model artifact signature. + * + * @param changeModelArtifactSignatureCompartmentDetails the value to set + * @return this builder instance + */ + public Builder changeModelArtifactSignatureCompartmentDetails( + com.oracle.bmc.datascience.model.ChangeModelArtifactSignatureCompartmentDetails + changeModelArtifactSignatureCompartmentDetails) { + this.changeModelArtifactSignatureCompartmentDetails = + changeModelArtifactSignatureCompartmentDetails; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + * + * @param modelId the value to set + * @return this builder instance + */ + public Builder modelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + * + * @param artifactSignatureId the value to set + * @return this builder instance + */ + public Builder artifactSignatureId(String artifactSignatureId) { + this.artifactSignatureId = artifactSignatureId; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource is updated or deleted only if the {@code etag} you + * provide matches the resource's current {@code 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 is updated or deleted only if the {@code etag} you + * provide matches the resource's current {@code etag} value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** + * 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(ChangeModelArtifactSignatureCompartmentRequest o) { + changeModelArtifactSignatureCompartmentDetails( + o.getChangeModelArtifactSignatureCompartmentDetails()); + modelId(o.getModelId()); + artifactSignatureId(o.getArtifactSignatureId()); + opcRequestId(o.getOpcRequestId()); + ifMatch(o.getIfMatch()); + opcRetryToken(o.getOpcRetryToken()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ChangeModelArtifactSignatureCompartmentRequest 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 ChangeModelArtifactSignatureCompartmentRequest + */ + public ChangeModelArtifactSignatureCompartmentRequest build() { + ChangeModelArtifactSignatureCompartmentRequest 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.datascience.model.ChangeModelArtifactSignatureCompartmentDetails + body) { + changeModelArtifactSignatureCompartmentDetails(body); + return this; + } + + /** + * Build the instance of ChangeModelArtifactSignatureCompartmentRequest 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 ChangeModelArtifactSignatureCompartmentRequest + */ + public ChangeModelArtifactSignatureCompartmentRequest buildWithoutInvocationCallback() { + ChangeModelArtifactSignatureCompartmentRequest request = + new ChangeModelArtifactSignatureCompartmentRequest(); + request.changeModelArtifactSignatureCompartmentDetails = + changeModelArtifactSignatureCompartmentDetails; + request.modelId = modelId; + request.artifactSignatureId = artifactSignatureId; + request.opcRequestId = opcRequestId; + request.ifMatch = ifMatch; + request.opcRetryToken = opcRetryToken; + return request; + // new + // ChangeModelArtifactSignatureCompartmentRequest(changeModelArtifactSignatureCompartmentDetails, modelId, artifactSignatureId, opcRequestId, ifMatch, 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() + .changeModelArtifactSignatureCompartmentDetails( + changeModelArtifactSignatureCompartmentDetails) + .modelId(modelId) + .artifactSignatureId(artifactSignatureId) + .opcRequestId(opcRequestId) + .ifMatch(ifMatch) + .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(",changeModelArtifactSignatureCompartmentDetails=") + .append(String.valueOf(this.changeModelArtifactSignatureCompartmentDetails)); + sb.append(",modelId=").append(String.valueOf(this.modelId)); + sb.append(",artifactSignatureId=").append(String.valueOf(this.artifactSignatureId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + 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 ChangeModelArtifactSignatureCompartmentRequest)) { + return false; + } + + ChangeModelArtifactSignatureCompartmentRequest other = + (ChangeModelArtifactSignatureCompartmentRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.changeModelArtifactSignatureCompartmentDetails, + other.changeModelArtifactSignatureCompartmentDetails) + && java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals(this.artifactSignatureId, other.artifactSignatureId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.ifMatch, other.ifMatch) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.changeModelArtifactSignatureCompartmentDetails == null + ? 43 + : this.changeModelArtifactSignatureCompartmentDetails.hashCode()); + result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.artifactSignatureId == null + ? 43 + : this.artifactSignatureId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/CreateModelArtifactSignatureRequest.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/CreateModelArtifactSignatureRequest.java new file mode 100644 index 00000000000..e272f7786a3 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/CreateModelArtifactSignatureRequest.java @@ -0,0 +1,331 @@ +/** + * 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.datascience.requests; + +import com.oracle.bmc.datascience.model.*; +/** + * Example: Click here to see how to use + * CreateModelArtifactSignatureRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class CreateModelArtifactSignatureRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.datascience.model.CreateModelArtifactSignatureDetails> { + + /** Details for creating a new model artifact signature */ + private com.oracle.bmc.datascience.model.CreateModelArtifactSignatureDetails + createModelArtifactSignatureDetails; + + /** Details for creating a new model artifact signature */ + public com.oracle.bmc.datascience.model.CreateModelArtifactSignatureDetails + getCreateModelArtifactSignatureDetails() { + return createModelArtifactSignatureDetails; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + public String getModelId() { + return modelId; + } + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + 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 executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.datascience.model.CreateModelArtifactSignatureDetails getBody$() { + return createModelArtifactSignatureDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + CreateModelArtifactSignatureRequest, + com.oracle.bmc.datascience.model.CreateModelArtifactSignatureDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** Details for creating a new model artifact signature */ + private com.oracle.bmc.datascience.model.CreateModelArtifactSignatureDetails + createModelArtifactSignatureDetails = null; + + /** + * Details for creating a new model artifact signature + * + * @param createModelArtifactSignatureDetails the value to set + * @return this builder instance + */ + public Builder createModelArtifactSignatureDetails( + com.oracle.bmc.datascience.model.CreateModelArtifactSignatureDetails + createModelArtifactSignatureDetails) { + this.createModelArtifactSignatureDetails = createModelArtifactSignatureDetails; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + * + * @param modelId the value to set + * @return this builder instance + */ + public Builder modelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @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 executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** + * 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(CreateModelArtifactSignatureRequest o) { + createModelArtifactSignatureDetails(o.getCreateModelArtifactSignatureDetails()); + modelId(o.getModelId()); + opcRequestId(o.getOpcRequestId()); + opcRetryToken(o.getOpcRetryToken()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of CreateModelArtifactSignatureRequest 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 CreateModelArtifactSignatureRequest + */ + public CreateModelArtifactSignatureRequest build() { + CreateModelArtifactSignatureRequest 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.datascience.model.CreateModelArtifactSignatureDetails body) { + createModelArtifactSignatureDetails(body); + return this; + } + + /** + * Build the instance of CreateModelArtifactSignatureRequest 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 CreateModelArtifactSignatureRequest + */ + public CreateModelArtifactSignatureRequest buildWithoutInvocationCallback() { + CreateModelArtifactSignatureRequest request = new CreateModelArtifactSignatureRequest(); + request.createModelArtifactSignatureDetails = createModelArtifactSignatureDetails; + request.modelId = modelId; + request.opcRequestId = opcRequestId; + request.opcRetryToken = opcRetryToken; + return request; + // new CreateModelArtifactSignatureRequest(createModelArtifactSignatureDetails, modelId, + // 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() + .createModelArtifactSignatureDetails(createModelArtifactSignatureDetails) + .modelId(modelId) + .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(",createModelArtifactSignatureDetails=") + .append(String.valueOf(this.createModelArtifactSignatureDetails)); + sb.append(",modelId=").append(String.valueOf(this.modelId)); + 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 CreateModelArtifactSignatureRequest)) { + return false; + } + + CreateModelArtifactSignatureRequest other = (CreateModelArtifactSignatureRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.createModelArtifactSignatureDetails, + other.createModelArtifactSignatureDetails) + && java.util.Objects.equals(this.modelId, other.modelId) + && 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.createModelArtifactSignatureDetails == null + ? 43 + : this.createModelArtifactSignatureDetails.hashCode()); + result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.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-datascience/src/main/java/com/oracle/bmc/datascience/requests/DeleteModelArtifactSignatureRequest.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/DeleteModelArtifactSignatureRequest.java new file mode 100644 index 00000000000..6bcc0063318 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/DeleteModelArtifactSignatureRequest.java @@ -0,0 +1,301 @@ +/** + * 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.datascience.requests; + +import com.oracle.bmc.datascience.model.*; +/** + * Example: Click here to see how to use + * DeleteModelArtifactSignatureRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class DeleteModelArtifactSignatureRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + public String getModelId() { + return modelId; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + public String getArtifactSignatureId() { + return artifactSignatureId; + } + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource is updated or deleted only if the {@code etag} you provide matches the + * resource's current {@code 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 is updated or deleted only if the {@code etag} you provide matches the + * resource's current {@code etag} value. + */ + public String getIfMatch() { + return ifMatch; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + DeleteModelArtifactSignatureRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + * + * @param modelId the value to set + * @return this builder instance + */ + public Builder modelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + * + * @param artifactSignatureId the value to set + * @return this builder instance + */ + public Builder artifactSignatureId(String artifactSignatureId) { + this.artifactSignatureId = artifactSignatureId; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource is updated or deleted only if the {@code etag} you + * provide matches the resource's current {@code 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 is updated or deleted only if the {@code etag} you + * provide matches the resource's current {@code etag} value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(DeleteModelArtifactSignatureRequest o) { + modelId(o.getModelId()); + artifactSignatureId(o.getArtifactSignatureId()); + opcRequestId(o.getOpcRequestId()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of DeleteModelArtifactSignatureRequest 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 DeleteModelArtifactSignatureRequest + */ + public DeleteModelArtifactSignatureRequest build() { + DeleteModelArtifactSignatureRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of DeleteModelArtifactSignatureRequest 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 DeleteModelArtifactSignatureRequest + */ + public DeleteModelArtifactSignatureRequest buildWithoutInvocationCallback() { + DeleteModelArtifactSignatureRequest request = new DeleteModelArtifactSignatureRequest(); + request.modelId = modelId; + request.artifactSignatureId = artifactSignatureId; + request.opcRequestId = opcRequestId; + request.ifMatch = ifMatch; + return request; + // new DeleteModelArtifactSignatureRequest(modelId, artifactSignatureId, opcRequestId, + // ifMatch); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .modelId(modelId) + .artifactSignatureId(artifactSignatureId) + .opcRequestId(opcRequestId) + .ifMatch(ifMatch); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",modelId=").append(String.valueOf(this.modelId)); + sb.append(",artifactSignatureId=").append(String.valueOf(this.artifactSignatureId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DeleteModelArtifactSignatureRequest)) { + return false; + } + + DeleteModelArtifactSignatureRequest other = (DeleteModelArtifactSignatureRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals(this.artifactSignatureId, other.artifactSignatureId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.ifMatch, other.ifMatch); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.artifactSignatureId == null + ? 43 + : this.artifactSignatureId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/GetModelArtifactSignatureRequest.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/GetModelArtifactSignatureRequest.java new file mode 100644 index 00000000000..6ab1d4cfed7 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/GetModelArtifactSignatureRequest.java @@ -0,0 +1,307 @@ +/** + * 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.datascience.requests; + +import com.oracle.bmc.datascience.model.*; +/** + * Example: Click here to see how to use + * GetModelArtifactSignatureRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class GetModelArtifactSignatureRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + public String getModelId() { + return modelId; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + public String getArtifactSignatureId() { + return artifactSignatureId; + } + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + 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 executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + GetModelArtifactSignatureRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + * + * @param modelId the value to set + * @return this builder instance + */ + public Builder modelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + * + * @param artifactSignatureId the value to set + * @return this builder instance + */ + public Builder artifactSignatureId(String artifactSignatureId) { + this.artifactSignatureId = artifactSignatureId; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @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 executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** + * 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(GetModelArtifactSignatureRequest o) { + modelId(o.getModelId()); + artifactSignatureId(o.getArtifactSignatureId()); + opcRequestId(o.getOpcRequestId()); + opcRetryToken(o.getOpcRetryToken()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetModelArtifactSignatureRequest 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 GetModelArtifactSignatureRequest + */ + public GetModelArtifactSignatureRequest build() { + GetModelArtifactSignatureRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetModelArtifactSignatureRequest 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 GetModelArtifactSignatureRequest + */ + public GetModelArtifactSignatureRequest buildWithoutInvocationCallback() { + GetModelArtifactSignatureRequest request = new GetModelArtifactSignatureRequest(); + request.modelId = modelId; + request.artifactSignatureId = artifactSignatureId; + request.opcRequestId = opcRequestId; + request.opcRetryToken = opcRetryToken; + return request; + // new GetModelArtifactSignatureRequest(modelId, artifactSignatureId, 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() + .modelId(modelId) + .artifactSignatureId(artifactSignatureId) + .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(",modelId=").append(String.valueOf(this.modelId)); + sb.append(",artifactSignatureId=").append(String.valueOf(this.artifactSignatureId)); + 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 GetModelArtifactSignatureRequest)) { + return false; + } + + GetModelArtifactSignatureRequest other = (GetModelArtifactSignatureRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals(this.artifactSignatureId, other.artifactSignatureId) + && 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.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.artifactSignatureId == null + ? 43 + : this.artifactSignatureId.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-datascience/src/main/java/com/oracle/bmc/datascience/requests/ListModelArtifactSignaturesRequest.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/ListModelArtifactSignaturesRequest.java new file mode 100644 index 00000000000..189a0920887 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/ListModelArtifactSignaturesRequest.java @@ -0,0 +1,594 @@ +/** + * 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.datascience.requests; + +import com.oracle.bmc.datascience.model.*; +/** + * Example: Click here to see how to use + * ListModelArtifactSignaturesRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class ListModelArtifactSignaturesRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + public String getModelId() { + return modelId; + } + /** + * Filter results by the + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + private String compartmentId; + + /** + * Filter results by the + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + public String getCompartmentId() { + return compartmentId; + } + /** Filter results by its user-friendly name. */ + private String displayName; + + /** Filter results by its user-friendly name. */ + public String getDisplayName() { + return displayName; + } + /** The digest of the model artifact. */ + private String digest; + + /** The digest of the model artifact. */ + public String getDigest() { + return digest; + } + /** + * Filter results by the specified lifecycle state. Must be a valid state for the + * resource type. + */ + private com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState lifecycleState; + + /** + * Filter results by the specified lifecycle state. Must be a valid state for the + * resource type. + */ + public com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState getLifecycleState() { + return lifecycleState; + } + /** + * For list pagination. The maximum number of results per page, or items to return in a + * paginated "List" call. 1 is the minimum, 100 is the maximum. See [List + * Pagination](https://docs.oracle.com/iaas/Content/General/Concepts/usingapi.htm#nine). + * + *

Example: {@code 50} + */ + private Integer limit; + + /** + * For list pagination. The maximum number of results per page, or items to return in a + * paginated "List" call. 1 is the minimum, 100 is the maximum. See [List + * Pagination](https://docs.oracle.com/iaas/Content/General/Concepts/usingapi.htm#nine). + * + *

Example: {@code 50} + */ + public Integer getLimit() { + return limit; + } + /** + * For list pagination. The value of the {@code opc-next-page} response header from the previous + * "List" call. + * + *

See [List + * Pagination](https://docs.oracle.com/iaas/Content/General/Concepts/usingapi.htm#nine). + */ + private String page; + + /** + * For list pagination. The value of the {@code opc-next-page} response header from the previous + * "List" call. + * + *

See [List + * Pagination](https://docs.oracle.com/iaas/Content/General/Concepts/usingapi.htm#nine). + */ + public String getPage() { + return page; + } + /** Specifies sort order to use, either {@code ASC} (ascending) or {@code DESC} (descending). */ + private SortOrder sortOrder; + + /** Specifies sort order to use, either {@code ASC} (ascending) or {@code DESC} (descending). */ + public enum SortOrder implements com.oracle.bmc.http.internal.BmcEnum { + Asc("ASC"), + Desc("DESC"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortOrder v : SortOrder.values()) { + map.put(v.getValue(), v); + } + } + + SortOrder(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortOrder create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortOrder: " + key); + } + }; + + /** Specifies sort order to use, either {@code ASC} (ascending) or {@code DESC} (descending). */ + public SortOrder getSortOrder() { + return sortOrder; + } + /** + * Specifies the field to sort by. Accepts only one field. By default, when you sort by {@code + * timeCreated}, the results are shown in descending order. All other fields default to + * ascending order. Sort order for the {@code displayName} field is case sensitive. + */ + private SortBy sortBy; + + /** + * Specifies the field to sort by. Accepts only one field. By default, when you sort by {@code + * timeCreated}, the results are shown in descending order. All other fields default to + * ascending order. Sort order for the {@code displayName} field is case sensitive. + */ + public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum { + TimeCreated("timeCreated"), + DisplayName("displayName"), + LifecycleState("lifecycleState"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortBy v : SortBy.values()) { + map.put(v.getValue(), v); + } + } + + SortBy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortBy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortBy: " + key); + } + }; + + /** + * Specifies the field to sort by. Accepts only one field. By default, when you sort by {@code + * timeCreated}, the results are shown in descending order. All other fields default to + * ascending order. Sort order for the {@code displayName} field is case sensitive. + */ + public SortBy getSortBy() { + return sortBy; + } + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListModelArtifactSignaturesRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + * + * @param modelId the value to set + * @return this builder instance + */ + public Builder modelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * Filter results by the + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + private String compartmentId = null; + + /** + * Filter results by the + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** Filter results by its user-friendly name. */ + private String displayName = null; + + /** + * Filter results by its user-friendly name. + * + * @param displayName the value to set + * @return this builder instance + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** The digest of the model artifact. */ + private String digest = null; + + /** + * The digest of the model artifact. + * + * @param digest the value to set + * @return this builder instance + */ + public Builder digest(String digest) { + this.digest = digest; + return this; + } + + /** + * Filter results by the specified lifecycle state. Must be a valid state for the + * resource type. + */ + private com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState lifecycleState = + null; + + /** + * Filter results by the specified lifecycle state. Must be a valid state for the + * resource type. + * + * @param lifecycleState the value to set + * @return this builder instance + */ + public Builder lifecycleState( + com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + return this; + } + + /** + * For list pagination. The maximum number of results per page, or items to return in a + * paginated "List" call. 1 is the minimum, 100 is the maximum. See [List + * Pagination](https://docs.oracle.com/iaas/Content/General/Concepts/usingapi.htm#nine). + * + *

Example: {@code 50} + */ + private Integer limit = null; + + /** + * For list pagination. The maximum number of results per page, or items to return in a + * paginated "List" call. 1 is the minimum, 100 is the maximum. See [List + * Pagination](https://docs.oracle.com/iaas/Content/General/Concepts/usingapi.htm#nine). + * + *

Example: {@code 50} + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * For list pagination. The value of the {@code opc-next-page} response header from the + * previous "List" call. + * + *

See [List + * Pagination](https://docs.oracle.com/iaas/Content/General/Concepts/usingapi.htm#nine). + */ + private String page = null; + + /** + * For list pagination. The value of the {@code opc-next-page} response header from the + * previous "List" call. + * + *

See [List + * Pagination](https://docs.oracle.com/iaas/Content/General/Concepts/usingapi.htm#nine). + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** + * Specifies sort order to use, either {@code ASC} (ascending) or {@code DESC} (descending). + */ + private SortOrder sortOrder = null; + + /** + * Specifies sort order to use, either {@code ASC} (ascending) or {@code DESC} (descending). + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * Specifies the field to sort by. Accepts only one field. By default, when you sort by + * {@code timeCreated}, the results are shown in descending order. All other fields default + * to ascending order. Sort order for the {@code displayName} field is case sensitive. + */ + private SortBy sortBy = null; + + /** + * Specifies the field to sort by. Accepts only one field. By default, when you sort by + * {@code timeCreated}, the results are shown in descending order. All other fields default + * to ascending order. Sort order for the {@code displayName} field is case sensitive. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(SortBy sortBy) { + this.sortBy = sortBy; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(ListModelArtifactSignaturesRequest o) { + modelId(o.getModelId()); + compartmentId(o.getCompartmentId()); + displayName(o.getDisplayName()); + digest(o.getDigest()); + lifecycleState(o.getLifecycleState()); + limit(o.getLimit()); + page(o.getPage()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListModelArtifactSignaturesRequest 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 ListModelArtifactSignaturesRequest + */ + public ListModelArtifactSignaturesRequest build() { + ListModelArtifactSignaturesRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListModelArtifactSignaturesRequest 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 ListModelArtifactSignaturesRequest + */ + public ListModelArtifactSignaturesRequest buildWithoutInvocationCallback() { + ListModelArtifactSignaturesRequest request = new ListModelArtifactSignaturesRequest(); + request.modelId = modelId; + request.compartmentId = compartmentId; + request.displayName = displayName; + request.digest = digest; + request.lifecycleState = lifecycleState; + request.limit = limit; + request.page = page; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.opcRequestId = opcRequestId; + return request; + // new ListModelArtifactSignaturesRequest(modelId, compartmentId, displayName, digest, + // lifecycleState, limit, page, sortOrder, sortBy, opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .modelId(modelId) + .compartmentId(compartmentId) + .displayName(displayName) + .digest(digest) + .lifecycleState(lifecycleState) + .limit(limit) + .page(page) + .sortOrder(sortOrder) + .sortBy(sortBy) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",modelId=").append(String.valueOf(this.modelId)); + sb.append(",compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(",displayName=").append(String.valueOf(this.displayName)); + sb.append(",digest=").append(String.valueOf(this.digest)); + sb.append(",lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(",limit=").append(String.valueOf(this.limit)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListModelArtifactSignaturesRequest)) { + return false; + } + + ListModelArtifactSignaturesRequest other = (ListModelArtifactSignaturesRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.digest, other.digest) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = (result * PRIME) + (this.digest == null ? 43 : this.digest.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/ListWorkRequestsRequest.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/ListWorkRequestsRequest.java index 955bc04ea1d..eb8543449fc 100644 --- a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/ListWorkRequestsRequest.java +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/ListWorkRequestsRequest.java @@ -116,6 +116,8 @@ public enum OperationType implements com.oracle.bmc.http.internal.BmcEnum { ModelGroupUpdate("MODEL_GROUP_UPDATE"), ModelGroupDelete("MODEL_GROUP_DELETE"), ModelGroupVersionHistoryDelete("MODEL_GROUP_VERSION_HISTORY_DELETE"), + CreateModelArtifactSignature("CREATE_MODEL_ARTIFACT_SIGNATURE"), + VerifyModelArtifactSignature("VERIFY_MODEL_ARTIFACT_SIGNATURE"), ; private final String value; diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/UpdateModelArtifactSignatureRequest.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/UpdateModelArtifactSignatureRequest.java new file mode 100644 index 00000000000..f12412dd481 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/UpdateModelArtifactSignatureRequest.java @@ -0,0 +1,366 @@ +/** + * 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.datascience.requests; + +import com.oracle.bmc.datascience.model.*; +/** + * Example: Click here to see how to use + * UpdateModelArtifactSignatureRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class UpdateModelArtifactSignatureRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.datascience.model.UpdateModelArtifactSignatureDetails> { + + /** Details for updating an existing model artifact signature */ + private com.oracle.bmc.datascience.model.UpdateModelArtifactSignatureDetails + updateModelArtifactSignatureDetails; + + /** Details for updating an existing model artifact signature */ + public com.oracle.bmc.datascience.model.UpdateModelArtifactSignatureDetails + getUpdateModelArtifactSignatureDetails() { + return updateModelArtifactSignatureDetails; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + public String getModelId() { + return modelId; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + public String getArtifactSignatureId() { + return artifactSignatureId; + } + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource is updated or deleted only if the {@code etag} you provide matches the + * resource's current {@code 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 is updated or deleted only if the {@code etag} you provide matches the + * resource's current {@code etag} value. + */ + public String getIfMatch() { + return ifMatch; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.datascience.model.UpdateModelArtifactSignatureDetails getBody$() { + return updateModelArtifactSignatureDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + UpdateModelArtifactSignatureRequest, + com.oracle.bmc.datascience.model.UpdateModelArtifactSignatureDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** Details for updating an existing model artifact signature */ + private com.oracle.bmc.datascience.model.UpdateModelArtifactSignatureDetails + updateModelArtifactSignatureDetails = null; + + /** + * Details for updating an existing model artifact signature + * + * @param updateModelArtifactSignatureDetails the value to set + * @return this builder instance + */ + public Builder updateModelArtifactSignatureDetails( + com.oracle.bmc.datascience.model.UpdateModelArtifactSignatureDetails + updateModelArtifactSignatureDetails) { + this.updateModelArtifactSignatureDetails = updateModelArtifactSignatureDetails; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + * + * @param modelId the value to set + * @return this builder instance + */ + public Builder modelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + * + * @param artifactSignatureId the value to set + * @return this builder instance + */ + public Builder artifactSignatureId(String artifactSignatureId) { + this.artifactSignatureId = artifactSignatureId; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource is updated or deleted only if the {@code etag} you + * provide matches the resource's current {@code 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 is updated or deleted only if the {@code etag} you + * provide matches the resource's current {@code etag} value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(UpdateModelArtifactSignatureRequest o) { + updateModelArtifactSignatureDetails(o.getUpdateModelArtifactSignatureDetails()); + modelId(o.getModelId()); + artifactSignatureId(o.getArtifactSignatureId()); + opcRequestId(o.getOpcRequestId()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of UpdateModelArtifactSignatureRequest 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 UpdateModelArtifactSignatureRequest + */ + public UpdateModelArtifactSignatureRequest build() { + UpdateModelArtifactSignatureRequest 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.datascience.model.UpdateModelArtifactSignatureDetails body) { + updateModelArtifactSignatureDetails(body); + return this; + } + + /** + * Build the instance of UpdateModelArtifactSignatureRequest 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 UpdateModelArtifactSignatureRequest + */ + public UpdateModelArtifactSignatureRequest buildWithoutInvocationCallback() { + UpdateModelArtifactSignatureRequest request = new UpdateModelArtifactSignatureRequest(); + request.updateModelArtifactSignatureDetails = updateModelArtifactSignatureDetails; + request.modelId = modelId; + request.artifactSignatureId = artifactSignatureId; + request.opcRequestId = opcRequestId; + request.ifMatch = ifMatch; + return request; + // new UpdateModelArtifactSignatureRequest(updateModelArtifactSignatureDetails, modelId, + // artifactSignatureId, opcRequestId, ifMatch); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .updateModelArtifactSignatureDetails(updateModelArtifactSignatureDetails) + .modelId(modelId) + .artifactSignatureId(artifactSignatureId) + .opcRequestId(opcRequestId) + .ifMatch(ifMatch); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",updateModelArtifactSignatureDetails=") + .append(String.valueOf(this.updateModelArtifactSignatureDetails)); + sb.append(",modelId=").append(String.valueOf(this.modelId)); + sb.append(",artifactSignatureId=").append(String.valueOf(this.artifactSignatureId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateModelArtifactSignatureRequest)) { + return false; + } + + UpdateModelArtifactSignatureRequest other = (UpdateModelArtifactSignatureRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.updateModelArtifactSignatureDetails, + other.updateModelArtifactSignatureDetails) + && java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals(this.artifactSignatureId, other.artifactSignatureId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.ifMatch, other.ifMatch); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.updateModelArtifactSignatureDetails == null + ? 43 + : this.updateModelArtifactSignatureDetails.hashCode()); + result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.artifactSignatureId == null + ? 43 + : this.artifactSignatureId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/VerifyModelArtifactSignatureRequest.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/VerifyModelArtifactSignatureRequest.java new file mode 100644 index 00000000000..e57a52e7714 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/requests/VerifyModelArtifactSignatureRequest.java @@ -0,0 +1,352 @@ +/** + * 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.datascience.requests; + +import com.oracle.bmc.datascience.model.*; +/** + * Example: Click here to see how to use + * VerifyModelArtifactSignatureRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class VerifyModelArtifactSignatureRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + public String getModelId() { + return modelId; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + public String getArtifactSignatureId() { + return artifactSignatureId; + } + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource is updated or deleted only if the {@code etag} you provide matches the + * resource's current {@code 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 is updated or deleted only if the {@code etag} you provide matches the + * resource's current {@code etag} value. + */ + public String getIfMatch() { + return ifMatch; + } + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + VerifyModelArtifactSignatureRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + */ + private String modelId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model. + * + * @param modelId the value to set + * @return this builder instance + */ + public Builder modelId(String modelId) { + this.modelId = modelId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + */ + private String artifactSignatureId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * model artifact signature. + * + * @param artifactSignatureId the value to set + * @return this builder instance + */ + public Builder artifactSignatureId(String artifactSignatureId) { + this.artifactSignatureId = artifactSignatureId; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource is updated or deleted only if the {@code etag} you + * provide matches the resource's current {@code 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 is updated or deleted only if the {@code etag} you + * provide matches the resource's current {@code etag} value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request so it can be retried in case of a timeout or + * server error without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** + * 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(VerifyModelArtifactSignatureRequest o) { + modelId(o.getModelId()); + artifactSignatureId(o.getArtifactSignatureId()); + opcRequestId(o.getOpcRequestId()); + ifMatch(o.getIfMatch()); + opcRetryToken(o.getOpcRetryToken()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of VerifyModelArtifactSignatureRequest 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 VerifyModelArtifactSignatureRequest + */ + public VerifyModelArtifactSignatureRequest build() { + VerifyModelArtifactSignatureRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of VerifyModelArtifactSignatureRequest 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 VerifyModelArtifactSignatureRequest + */ + public VerifyModelArtifactSignatureRequest buildWithoutInvocationCallback() { + VerifyModelArtifactSignatureRequest request = new VerifyModelArtifactSignatureRequest(); + request.modelId = modelId; + request.artifactSignatureId = artifactSignatureId; + request.opcRequestId = opcRequestId; + request.ifMatch = ifMatch; + request.opcRetryToken = opcRetryToken; + return request; + // new VerifyModelArtifactSignatureRequest(modelId, artifactSignatureId, opcRequestId, + // ifMatch, 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() + .modelId(modelId) + .artifactSignatureId(artifactSignatureId) + .opcRequestId(opcRequestId) + .ifMatch(ifMatch) + .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(",modelId=").append(String.valueOf(this.modelId)); + sb.append(",artifactSignatureId=").append(String.valueOf(this.artifactSignatureId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + 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 VerifyModelArtifactSignatureRequest)) { + return false; + } + + VerifyModelArtifactSignatureRequest other = (VerifyModelArtifactSignatureRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.modelId, other.modelId) + && java.util.Objects.equals(this.artifactSignatureId, other.artifactSignatureId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.ifMatch, other.ifMatch) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.modelId == null ? 43 : this.modelId.hashCode()); + result = + (result * PRIME) + + (this.artifactSignatureId == null + ? 43 + : this.artifactSignatureId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/ChangeModelArtifactSignatureCompartmentResponse.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/ChangeModelArtifactSignatureCompartmentResponse.java new file mode 100644 index 00000000000..57584ba8800 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/ChangeModelArtifactSignatureCompartmentResponse.java @@ -0,0 +1,140 @@ +/** + * 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.datascience.responses; + +import com.oracle.bmc.datascience.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class ChangeModelArtifactSignatureCompartmentResponse + extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + private ChangeModelArtifactSignatureCompartmentResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ChangeModelArtifactSignatureCompartmentResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then 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(ChangeModelArtifactSignatureCompartmentResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ChangeModelArtifactSignatureCompartmentResponse build() { + return new ChangeModelArtifactSignatureCompartmentResponse( + __httpStatusCode__, headers, 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(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ChangeModelArtifactSignatureCompartmentResponse)) { + return false; + } + + ChangeModelArtifactSignatureCompartmentResponse other = + (ChangeModelArtifactSignatureCompartmentResponse) o; + return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/CreateModelArtifactSignatureResponse.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/CreateModelArtifactSignatureResponse.java new file mode 100644 index 00000000000..21d8f6676d7 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/CreateModelArtifactSignatureResponse.java @@ -0,0 +1,279 @@ +/** + * 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.datascience.responses; + +import com.oracle.bmc.datascience.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class CreateModelArtifactSignatureResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + */ + private String etag; + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/GetWorkRequest) + * with this ID to track the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/GetWorkRequest) + * with this ID to track the status of the request. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + /** The returned {@code ModelArtifactSignature} instance. */ + private com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature; + + /** + * The returned {@code ModelArtifactSignature} instance. + * + * @return the value + */ + public com.oracle.bmc.datascience.model.ModelArtifactSignature getModelArtifactSignature() { + return modelArtifactSignature; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "etag", + "opcRequestId", + "opcWorkRequestId", + "modelArtifactSignature" + }) + private CreateModelArtifactSignatureResponse( + int __httpStatusCode__, + java.util.Map> headers, + String etag, + String opcRequestId, + String opcWorkRequestId, + com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature) { + super(__httpStatusCode__, headers); + this.etag = etag; + this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; + this.modelArtifactSignature = modelArtifactSignature; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + CreateModelArtifactSignatureResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + */ + private String etag; + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/GetWorkRequest) + * with this ID to track the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/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; + } + + /** The returned {@code ModelArtifactSignature} instance. */ + private com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature; + + /** + * The returned {@code ModelArtifactSignature} instance. + * + * @param modelArtifactSignature the value to set + * @return this builder + */ + public Builder modelArtifactSignature( + com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature) { + this.modelArtifactSignature = modelArtifactSignature; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(CreateModelArtifactSignatureResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); + modelArtifactSignature(o.getModelArtifactSignature()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public CreateModelArtifactSignatureResponse build() { + return new CreateModelArtifactSignatureResponse( + __httpStatusCode__, + headers, + etag, + opcRequestId, + opcWorkRequestId, + modelArtifactSignature); + } + } + + /** + * 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(",etag=").append(String.valueOf(etag)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); + sb.append(",modelArtifactSignature=").append(String.valueOf(modelArtifactSignature)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateModelArtifactSignatureResponse)) { + return false; + } + + CreateModelArtifactSignatureResponse other = (CreateModelArtifactSignatureResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) + && java.util.Objects.equals( + this.modelArtifactSignature, other.modelArtifactSignature); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); + result = + (result * PRIME) + + (this.modelArtifactSignature == null + ? 43 + : this.modelArtifactSignature.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/DeleteModelArtifactSignatureResponse.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/DeleteModelArtifactSignatureResponse.java new file mode 100644 index 00000000000..66802641dd8 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/DeleteModelArtifactSignatureResponse.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.datascience.responses; + +import com.oracle.bmc.datascience.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class DeleteModelArtifactSignatureResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + private DeleteModelArtifactSignatureResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + DeleteModelArtifactSignatureResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then 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(DeleteModelArtifactSignatureResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public DeleteModelArtifactSignatureResponse build() { + return new DeleteModelArtifactSignatureResponse( + __httpStatusCode__, headers, 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(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DeleteModelArtifactSignatureResponse)) { + return false; + } + + DeleteModelArtifactSignatureResponse other = (DeleteModelArtifactSignatureResponse) o; + return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/GetModelArtifactSignatureResponse.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/GetModelArtifactSignatureResponse.java new file mode 100644 index 00000000000..606e7680a29 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/GetModelArtifactSignatureResponse.java @@ -0,0 +1,223 @@ +/** + * 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.datascience.responses; + +import com.oracle.bmc.datascience.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class GetModelArtifactSignatureResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + */ + private String etag; + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** The returned {@code ModelArtifactSignature} instance. */ + private com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature; + + /** + * The returned {@code ModelArtifactSignature} instance. + * + * @return the value + */ + public com.oracle.bmc.datascience.model.ModelArtifactSignature getModelArtifactSignature() { + return modelArtifactSignature; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "etag", + "opcRequestId", + "modelArtifactSignature" + }) + private GetModelArtifactSignatureResponse( + int __httpStatusCode__, + java.util.Map> headers, + String etag, + String opcRequestId, + com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature) { + super(__httpStatusCode__, headers); + this.etag = etag; + this.opcRequestId = opcRequestId; + this.modelArtifactSignature = modelArtifactSignature; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + GetModelArtifactSignatureResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + */ + private String etag; + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** The returned {@code ModelArtifactSignature} instance. */ + private com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature; + + /** + * The returned {@code ModelArtifactSignature} instance. + * + * @param modelArtifactSignature the value to set + * @return this builder + */ + public Builder modelArtifactSignature( + com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature) { + this.modelArtifactSignature = modelArtifactSignature; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetModelArtifactSignatureResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + modelArtifactSignature(o.getModelArtifactSignature()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetModelArtifactSignatureResponse build() { + return new GetModelArtifactSignatureResponse( + __httpStatusCode__, headers, etag, opcRequestId, modelArtifactSignature); + } + } + + /** + * 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(",etag=").append(String.valueOf(etag)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",modelArtifactSignature=").append(String.valueOf(modelArtifactSignature)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetModelArtifactSignatureResponse)) { + return false; + } + + GetModelArtifactSignatureResponse other = (GetModelArtifactSignatureResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals( + this.modelArtifactSignature, other.modelArtifactSignature); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.modelArtifactSignature == null + ? 43 + : this.modelArtifactSignature.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/ListModelArtifactSignaturesResponse.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/ListModelArtifactSignaturesResponse.java new file mode 100644 index 00000000000..082808b4632 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/ListModelArtifactSignaturesResponse.java @@ -0,0 +1,276 @@ +/** + * 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.datascience.responses; + +import com.oracle.bmc.datascience.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class ListModelArtifactSignaturesResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Retrieves the next page of results. When this header appears in the response, additional + * pages of results remain. See [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * Retrieves the next page of results. When this header appears in the response, additional + * pages of results remain. See [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** + * Retrieves the previous page of results. When this header appears in the response, previous + * pages of results exist. See [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcPrevPage; + + /** + * Retrieves the previous page of results. When this header appears in the response, previous + * pages of results exist. See [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcPrevPage() { + return opcPrevPage; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * A list of {@code com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary} instances. + */ + private java.util.List items; + + /** + * A list of {@code com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary} instances. + * + * @return the value + */ + public java.util.List + getItems() { + return items; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcNextPage", + "opcPrevPage", + "opcRequestId", + "items" + }) + private ListModelArtifactSignaturesResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcNextPage, + String opcPrevPage, + String opcRequestId, + java.util.List items) { + super(__httpStatusCode__, headers); + this.opcNextPage = opcNextPage; + this.opcPrevPage = opcPrevPage; + this.opcRequestId = opcRequestId; + this.items = items; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ListModelArtifactSignaturesResponse> { + 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; + } + + /** + * Retrieves the next page of results. When this header appears in the response, additional + * pages of results remain. See [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * Retrieves the next page of results. When this header appears in the response, additional + * pages of results remain. See [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** + * Retrieves the previous page of results. When this header appears in the response, + * previous pages of results exist. See [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcPrevPage; + + /** + * Retrieves the previous page of results. When this header appears in the response, + * previous pages of results exist. See [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcPrevPage the value to set + * @return this builder + */ + public Builder opcPrevPage(String opcPrevPage) { + this.opcPrevPage = opcPrevPage; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * A list of {@code com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary} + * instances. + */ + private java.util.List + items; + + /** + * A list of {@code com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary} + * instances. + * + * @param items the value to set + * @return this builder + */ + public Builder items( + java.util.List + items) { + this.items = items; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListModelArtifactSignaturesResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcNextPage(o.getOpcNextPage()); + opcPrevPage(o.getOpcPrevPage()); + opcRequestId(o.getOpcRequestId()); + items(o.getItems()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListModelArtifactSignaturesResponse build() { + return new ListModelArtifactSignaturesResponse( + __httpStatusCode__, headers, opcNextPage, opcPrevPage, opcRequestId, items); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + sb.append(",opcPrevPage=").append(String.valueOf(opcPrevPage)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",items=").append(String.valueOf(items)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListModelArtifactSignaturesResponse)) { + return false; + } + + ListModelArtifactSignaturesResponse other = (ListModelArtifactSignaturesResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcNextPage, other.opcNextPage) + && java.util.Objects.equals(this.opcPrevPage, other.opcPrevPage) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.items, other.items); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode()); + result = (result * PRIME) + (this.opcPrevPage == null ? 43 : this.opcPrevPage.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/UpdateModelArtifactSignatureResponse.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/UpdateModelArtifactSignatureResponse.java new file mode 100644 index 00000000000..f35255475a2 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/UpdateModelArtifactSignatureResponse.java @@ -0,0 +1,279 @@ +/** + * 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.datascience.responses; + +import com.oracle.bmc.datascience.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class UpdateModelArtifactSignatureResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + */ + private String etag; + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/GetWorkRequest) + * with this ID to track the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/GetWorkRequest) + * with this ID to track the status of the request. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + /** The returned {@code ModelArtifactSignature} instance. */ + private com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature; + + /** + * The returned {@code ModelArtifactSignature} instance. + * + * @return the value + */ + public com.oracle.bmc.datascience.model.ModelArtifactSignature getModelArtifactSignature() { + return modelArtifactSignature; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "etag", + "opcRequestId", + "opcWorkRequestId", + "modelArtifactSignature" + }) + private UpdateModelArtifactSignatureResponse( + int __httpStatusCode__, + java.util.Map> headers, + String etag, + String opcRequestId, + String opcWorkRequestId, + com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature) { + super(__httpStatusCode__, headers); + this.etag = etag; + this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; + this.modelArtifactSignature = modelArtifactSignature; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + UpdateModelArtifactSignatureResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + */ + private String etag; + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/GetWorkRequest) + * with this ID to track the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/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; + } + + /** The returned {@code ModelArtifactSignature} instance. */ + private com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature; + + /** + * The returned {@code ModelArtifactSignature} instance. + * + * @param modelArtifactSignature the value to set + * @return this builder + */ + public Builder modelArtifactSignature( + com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature) { + this.modelArtifactSignature = modelArtifactSignature; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(UpdateModelArtifactSignatureResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); + modelArtifactSignature(o.getModelArtifactSignature()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public UpdateModelArtifactSignatureResponse build() { + return new UpdateModelArtifactSignatureResponse( + __httpStatusCode__, + headers, + etag, + opcRequestId, + opcWorkRequestId, + modelArtifactSignature); + } + } + + /** + * 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(",etag=").append(String.valueOf(etag)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); + sb.append(",modelArtifactSignature=").append(String.valueOf(modelArtifactSignature)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateModelArtifactSignatureResponse)) { + return false; + } + + UpdateModelArtifactSignatureResponse other = (UpdateModelArtifactSignatureResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) + && java.util.Objects.equals( + this.modelArtifactSignature, other.modelArtifactSignature); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); + result = + (result * PRIME) + + (this.modelArtifactSignature == null + ? 43 + : this.modelArtifactSignature.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/VerifyModelArtifactSignatureResponse.java b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/VerifyModelArtifactSignatureResponse.java new file mode 100644 index 00000000000..45e8233cea6 --- /dev/null +++ b/bmc-datascience/src/main/java/com/oracle/bmc/datascience/responses/VerifyModelArtifactSignatureResponse.java @@ -0,0 +1,279 @@ +/** + * 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.datascience.responses; + +import com.oracle.bmc.datascience.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190101") +public class VerifyModelArtifactSignatureResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + */ + private String etag; + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/GetWorkRequest) + * with this ID to track the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/GetWorkRequest) + * with this ID to track the status of the request. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + /** The returned {@code ModelArtifactSignature} instance. */ + private com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature; + + /** + * The returned {@code ModelArtifactSignature} instance. + * + * @return the value + */ + public com.oracle.bmc.datascience.model.ModelArtifactSignature getModelArtifactSignature() { + return modelArtifactSignature; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "etag", + "opcRequestId", + "opcWorkRequestId", + "modelArtifactSignature" + }) + private VerifyModelArtifactSignatureResponse( + int __httpStatusCode__, + java.util.Map> headers, + String etag, + String opcRequestId, + String opcWorkRequestId, + com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature) { + super(__httpStatusCode__, headers); + this.etag = etag; + this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; + this.modelArtifactSignature = modelArtifactSignature; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + VerifyModelArtifactSignatureResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + */ + private String etag; + + /** + * For optimistic concurrency control. See [ETags for Optimistic Concurrency + * Control](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#eleven). + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle assigned identifier for the request. If you need to contact Oracle about a + * particular request, then provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/GetWorkRequest) + * with this ID to track the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/API/Concepts/identifiers.htm) of the work + * request. Use + * [GetWorkRequest](https://docs.oracle.com/iaas/api/#/en/workrequests/20160918/WorkRequest/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; + } + + /** The returned {@code ModelArtifactSignature} instance. */ + private com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature; + + /** + * The returned {@code ModelArtifactSignature} instance. + * + * @param modelArtifactSignature the value to set + * @return this builder + */ + public Builder modelArtifactSignature( + com.oracle.bmc.datascience.model.ModelArtifactSignature modelArtifactSignature) { + this.modelArtifactSignature = modelArtifactSignature; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(VerifyModelArtifactSignatureResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); + modelArtifactSignature(o.getModelArtifactSignature()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public VerifyModelArtifactSignatureResponse build() { + return new VerifyModelArtifactSignatureResponse( + __httpStatusCode__, + headers, + etag, + opcRequestId, + opcWorkRequestId, + modelArtifactSignature); + } + } + + /** + * 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(",etag=").append(String.valueOf(etag)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); + sb.append(",modelArtifactSignature=").append(String.valueOf(modelArtifactSignature)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof VerifyModelArtifactSignatureResponse)) { + return false; + } + + VerifyModelArtifactSignatureResponse other = (VerifyModelArtifactSignatureResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) + && java.util.Objects.equals( + this.modelArtifactSignature, other.modelArtifactSignature); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); + result = + (result * PRIME) + + (this.modelArtifactSignature == null + ? 43 + : this.modelArtifactSignature.hashCode()); + return result; + } +} diff --git a/bmc-datascience/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-datascience/reflect-config.json b/bmc-datascience/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-datascience/reflect-config.json index 2c14d66a3ab..53796b57e63 100644 --- a/bmc-datascience/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-datascience/reflect-config.json +++ b/bmc-datascience/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-datascience/reflect-config.json @@ -54,6 +54,18 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.ArtifactSignatureLifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.ArtifactSigningAlgorithm", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.datascience.model.ArtifactSourceType", @@ -254,6 +266,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.ChangeModelArtifactSignatureCompartmentDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.ChangeModelArtifactSignatureCompartmentDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.datascience.model.ChangeModelCompartmentDetails", @@ -734,6 +760,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.CreateModelArtifactSignatureDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.CreateModelArtifactSignatureDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.datascience.model.CreateModelDeploymentDetails", @@ -2538,6 +2578,34 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.ModelArtifactSignature", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.ModelArtifactSignature$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.ModelArtifactSignatureSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.datascience.model.ModelCategory", @@ -4589,6 +4657,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.UpdateModelArtifactSignatureDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.datascience.model.UpdateModelArtifactSignatureDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.datascience.model.UpdateModelConfigurationDetails", diff --git a/bmc-dblm/pom.xml b/bmc-dblm/pom.xml index d242a7e8927..32c3ec07822 100644 --- a/bmc-dblm/pom.xml +++ b/bmc-dblm/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-dblm @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-dbmulticloud/pom.xml b/bmc-dbmulticloud/pom.xml index f6d9d025615..1f0eb7bb914 100644 --- a/bmc-dbmulticloud/pom.xml +++ b/bmc-dbmulticloud/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-dbmulticloud @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProvider.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProvider.java index c2ccf2fbcd7..cfe0b8d9114 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProvider.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProvider.java @@ -154,6 +154,24 @@ public interface DbMulticloudAwsProvider extends AutoCloseable { ChangeOracleDbAwsKeyCompartmentResponse changeOracleDbAwsKeyCompartment( ChangeOracleDbAwsKeyCompartmentRequest request); + /** + * Moves the AWS Key Pool resource into a different compartment. When provided, 'If-Match' is + * checked against 'ETag' values of the resource. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ChangeOracleDbAwsKeyPoolCompartment API. + */ + ChangeOracleDbAwsKeyPoolCompartmentResponse changeOracleDbAwsKeyPoolCompartment( + ChangeOracleDbAwsKeyPoolCompartmentRequest request); + /** * Creates Oracle DB AWS Identity Connector resource. * @@ -187,6 +205,23 @@ CreateOracleDbAwsIdentityConnectorResponse createOracleDbAwsIdentityConnector( */ CreateOracleDbAwsKeyResponse createOracleDbAwsKey(CreateOracleDbAwsKeyRequest request); + /** + * Create DB AWS Key Pool resource. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * CreateOracleDbAwsKeyPool API. + */ + CreateOracleDbAwsKeyPoolResponse createOracleDbAwsKeyPool( + CreateOracleDbAwsKeyPoolRequest request); + /** * Deletes a Oracle DB AWS Identity Connector resource. * @@ -220,6 +255,23 @@ DeleteOracleDbAwsIdentityConnectorResponse deleteOracleDbAwsIdentityConnector( */ DeleteOracleDbAwsKeyResponse deleteOracleDbAwsKey(DeleteOracleDbAwsKeyRequest request); + /** + * Delete AWS Key Pool resource. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * DeleteOracleDbAwsKeyPool API. + */ + DeleteOracleDbAwsKeyPoolResponse deleteOracleDbAwsKeyPool( + DeleteOracleDbAwsKeyPoolRequest request); + /** * Retrieves detailed information about a Oracle DB AWS Identity Connector resource by * specifying its unique resource @@ -256,6 +308,23 @@ GetOracleDbAwsIdentityConnectorResponse getOracleDbAwsIdentityConnector( */ GetOracleDbAwsKeyResponse getOracleDbAwsKey(GetOracleDbAwsKeyRequest request); + /** + * Retrieves detailed information about a Oracle AWS Key Pool resource by specifying its unique + * resource [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 + * GetOracleDbAwsKeyPool API. + */ + GetOracleDbAwsKeyPoolResponse getOracleDbAwsKeyPool(GetOracleDbAwsKeyPoolRequest request); + /** * Lists all Oracle DB AWS Identity Connectors based on the specified filters. * @@ -273,6 +342,22 @@ GetOracleDbAwsIdentityConnectorResponse getOracleDbAwsIdentityConnector( ListOracleDbAwsIdentityConnectorsResponse listOracleDbAwsIdentityConnectors( ListOracleDbAwsIdentityConnectorsRequest request); + /** + * Lists all DB AWS Key Pools based on the specified filters. + * + * @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 + * ListOracleDbAwsKeyPools API. + */ + ListOracleDbAwsKeyPoolsResponse listOracleDbAwsKeyPools(ListOracleDbAwsKeyPoolsRequest request); + /** * Lists all DB AWS Keys based on the specified filters. * @@ -338,6 +423,23 @@ RefreshOracleDbAwsIdentityConnectorResponse refreshOracleDbAwsIdentityConnector( */ ReplicateOracleDbAwsKeyResponse replicateOracleDbAwsKey(ReplicateOracleDbAwsKeyRequest request); + /** + * Replicate Oracle AWS Key Pool resource to target region. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ReplicateOracleDbAwsKeyPool API. + */ + ReplicateOracleDbAwsKeyPoolResponse replicateOracleDbAwsKeyPool( + ReplicateOracleDbAwsKeyPoolRequest request); + /** * Modifies the existing Oracle DB AWS Identity Connector resource for a given * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). @@ -373,6 +475,24 @@ UpdateOracleDbAwsIdentityConnectorResponse updateOracleDbAwsIdentityConnector( */ UpdateOracleDbAwsKeyResponse updateOracleDbAwsKey(UpdateOracleDbAwsKeyRequest request); + /** + * Modifies the existing Oracle AWS Key Pool Details for a given + * [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 + * UpdateOracleDbAwsKeyPool API. + */ + UpdateOracleDbAwsKeyPoolResponse updateOracleDbAwsKeyPool( + UpdateOracleDbAwsKeyPoolRequest request); + /** * Gets the pre-configured waiters available for resources for this service. * diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderAsync.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderAsync.java index 2a81f2dd9f5..e9c96b23c01 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderAsync.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderAsync.java @@ -152,6 +152,25 @@ public interface DbMulticloudAwsProviderAsync extends AutoCloseable { ChangeOracleDbAwsKeyCompartmentResponse> handler); + /** + * Moves the AWS Key Pool resource into a different compartment. When provided, 'If-Match' is + * checked against 'ETag' values of the resource. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future + changeOracleDbAwsKeyPoolCompartment( + ChangeOracleDbAwsKeyPoolCompartmentRequest request, + com.oracle.bmc.responses.AsyncHandler< + ChangeOracleDbAwsKeyPoolCompartmentRequest, + ChangeOracleDbAwsKeyPoolCompartmentResponse> + handler); + /** * Creates Oracle DB AWS Identity Connector resource. * @@ -186,6 +205,22 @@ java.util.concurrent.Future createOracleDbAwsKey( CreateOracleDbAwsKeyRequest, CreateOracleDbAwsKeyResponse> handler); + /** + * Create DB AWS Key Pool resource. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future createOracleDbAwsKeyPool( + CreateOracleDbAwsKeyPoolRequest request, + com.oracle.bmc.responses.AsyncHandler< + CreateOracleDbAwsKeyPoolRequest, CreateOracleDbAwsKeyPoolResponse> + handler); + /** * Deletes a Oracle DB AWS Identity Connector resource. * @@ -220,6 +255,22 @@ java.util.concurrent.Future deleteOracleDbAwsKey( DeleteOracleDbAwsKeyRequest, DeleteOracleDbAwsKeyResponse> handler); + /** + * Delete AWS Key Pool resource. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future deleteOracleDbAwsKeyPool( + DeleteOracleDbAwsKeyPoolRequest request, + com.oracle.bmc.responses.AsyncHandler< + DeleteOracleDbAwsKeyPoolRequest, DeleteOracleDbAwsKeyPoolResponse> + handler); + /** * Retrieves detailed information about a Oracle DB AWS Identity Connector resource by * specifying its unique resource @@ -257,6 +308,23 @@ java.util.concurrent.Future getOracleDbAwsKey( GetOracleDbAwsKeyRequest, GetOracleDbAwsKeyResponse> handler); + /** + * Retrieves detailed information about a Oracle AWS Key Pool resource by specifying its unique + * resource [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 getOracleDbAwsKeyPool( + GetOracleDbAwsKeyPoolRequest request, + com.oracle.bmc.responses.AsyncHandler< + GetOracleDbAwsKeyPoolRequest, GetOracleDbAwsKeyPoolResponse> + handler); + /** * Lists all Oracle DB AWS Identity Connectors based on the specified filters. * @@ -275,6 +343,22 @@ java.util.concurrent.Future getOracleDbAwsKey( ListOracleDbAwsIdentityConnectorsResponse> handler); + /** + * Lists all DB AWS Key Pools based on the specified filters. + * + * @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 listOracleDbAwsKeyPools( + ListOracleDbAwsKeyPoolsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListOracleDbAwsKeyPoolsRequest, ListOracleDbAwsKeyPoolsResponse> + handler); + /** * Lists all DB AWS Keys based on the specified filters. * @@ -341,6 +425,22 @@ java.util.concurrent.Future replicateOracleDbAw ReplicateOracleDbAwsKeyRequest, ReplicateOracleDbAwsKeyResponse> handler); + /** + * Replicate Oracle AWS Key Pool resource to target region. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future replicateOracleDbAwsKeyPool( + ReplicateOracleDbAwsKeyPoolRequest request, + com.oracle.bmc.responses.AsyncHandler< + ReplicateOracleDbAwsKeyPoolRequest, ReplicateOracleDbAwsKeyPoolResponse> + handler); + /** * Modifies the existing Oracle DB AWS Identity Connector resource for a given * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). @@ -376,4 +476,21 @@ java.util.concurrent.Future updateOracleDbAwsKey( com.oracle.bmc.responses.AsyncHandler< UpdateOracleDbAwsKeyRequest, UpdateOracleDbAwsKeyResponse> handler); + + /** + * Modifies the existing Oracle AWS Key Pool Details for a given + * [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 updateOracleDbAwsKeyPool( + UpdateOracleDbAwsKeyPoolRequest request, + com.oracle.bmc.responses.AsyncHandler< + UpdateOracleDbAwsKeyPoolRequest, UpdateOracleDbAwsKeyPoolResponse> + handler); } diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderAsyncClient.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderAsyncClient.java index 4787f54abbf..be18f47c1a9 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderAsyncClient.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderAsyncClient.java @@ -182,6 +182,48 @@ public void setRegion(String regionId) { .callAsync(handler); } + @Override + public java.util.concurrent.Future + changeOracleDbAwsKeyPoolCompartment( + ChangeOracleDbAwsKeyPoolCompartmentRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ChangeOracleDbAwsKeyPoolCompartmentRequest, + ChangeOracleDbAwsKeyPoolCompartmentResponse> + handler) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + Objects.requireNonNull( + request.getChangeOracleDbAwsKeyPoolCompartmentDetails(), + "changeOracleDbAwsKeyPoolCompartmentDetails is required"); + + return clientCall(request, ChangeOracleDbAwsKeyPoolCompartmentResponse::builder) + .logger(LOG, "changeOracleDbAwsKeyPoolCompartment") + .serviceDetails( + "DbMulticloudAwsProvider", + "ChangeOracleDbAwsKeyPoolCompartment", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/ChangeOracleDbAwsKeyPoolCompartment") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(ChangeOracleDbAwsKeyPoolCompartmentRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .appendPathParam("actions") + .appendPathParam("changeCompartment") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleResponseHeaderString( + "opc-request-id", + ChangeOracleDbAwsKeyPoolCompartmentResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ChangeOracleDbAwsKeyPoolCompartmentResponse.Builder::opcWorkRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future createOracleDbAwsIdentityConnector( @@ -269,6 +311,47 @@ public java.util.concurrent.Future createOracleDbA .callAsync(handler); } + @Override + public java.util.concurrent.Future createOracleDbAwsKeyPool( + CreateOracleDbAwsKeyPoolRequest request, + final com.oracle.bmc.responses.AsyncHandler< + CreateOracleDbAwsKeyPoolRequest, CreateOracleDbAwsKeyPoolResponse> + handler) { + Objects.requireNonNull( + request.getCreateOracleDbAwsKeyPoolDetails(), + "createOracleDbAwsKeyPoolDetails is required"); + + return clientCall(request, CreateOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "createOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "CreateOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/CreateOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.class, + CreateOracleDbAwsKeyPoolResponse.Builder::oracleDbAwsKeyPool) + .handleResponseHeaderString( + "opc-work-request-id", + CreateOracleDbAwsKeyPoolResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", CreateOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "location", CreateOracleDbAwsKeyPoolResponse.Builder::location) + .handleResponseHeaderString( + "content-location", + CreateOracleDbAwsKeyPoolResponse.Builder::contentLocation) + .handleResponseHeaderString("etag", CreateOracleDbAwsKeyPoolResponse.Builder::etag) + .callAsync(handler); + } + @Override public java.util.concurrent.Future deleteOracleDbAwsIdentityConnector( @@ -336,6 +419,38 @@ public java.util.concurrent.Future deleteOracleDbA .callAsync(handler); } + @Override + public java.util.concurrent.Future deleteOracleDbAwsKeyPool( + DeleteOracleDbAwsKeyPoolRequest request, + final com.oracle.bmc.responses.AsyncHandler< + DeleteOracleDbAwsKeyPoolRequest, DeleteOracleDbAwsKeyPoolResponse> + handler) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + + return clientCall(request, DeleteOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "deleteOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "DeleteOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/DeleteOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleResponseHeaderString( + "opc-request-id", DeleteOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + DeleteOracleDbAwsKeyPoolResponse.Builder::opcWorkRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future getOracleDbAwsIdentityConnector( @@ -408,6 +523,38 @@ public java.util.concurrent.Future getOracleDbAwsKey( .callAsync(handler); } + @Override + public java.util.concurrent.Future getOracleDbAwsKeyPool( + GetOracleDbAwsKeyPoolRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetOracleDbAwsKeyPoolRequest, GetOracleDbAwsKeyPoolResponse> + handler) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + + return clientCall(request, GetOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "getOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "GetOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/GetOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.class, + GetOracleDbAwsKeyPoolResponse.Builder::oracleDbAwsKeyPool) + .handleResponseHeaderString("etag", GetOracleDbAwsKeyPoolResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", GetOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future listOracleDbAwsIdentityConnectors( @@ -452,6 +599,44 @@ public java.util.concurrent.Future getOracleDbAwsKey( .callAsync(handler); } + @Override + public java.util.concurrent.Future listOracleDbAwsKeyPools( + ListOracleDbAwsKeyPoolsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListOracleDbAwsKeyPoolsRequest, ListOracleDbAwsKeyPoolsResponse> + handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListOracleDbAwsKeyPoolsResponse::builder) + .logger(LOG, "listOracleDbAwsKeyPools") + .serviceDetails( + "DbMulticloudAwsProvider", + "ListOracleDbAwsKeyPools", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/ListOracleDbAwsKeyPools") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListOracleDbAwsKeyPoolsRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("displayName", request.getDisplayName()) + .appendQueryParam("oracleDbAwsKeyPoolId", request.getOracleDbAwsKeyPoolId()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolCollection.class, + ListOracleDbAwsKeyPoolsResponse.Builder::oracleDbAwsKeyPoolCollection) + .handleResponseHeaderString( + "opc-request-id", ListOracleDbAwsKeyPoolsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListOracleDbAwsKeyPoolsResponse.Builder::opcNextPage) + .callAsync(handler); + } + @Override public java.util.concurrent.Future listOracleDbAwsKeys( ListOracleDbAwsKeysRequest request, @@ -475,6 +660,7 @@ public java.util.concurrent.Future listOracleDbAwsK .appendQueryParam("oracleDbAwsKeyId", request.getOracleDbAwsKeyId()) .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) .appendQueryParam("oracleDbAwsConnectorId", request.getOracleDbAwsConnectorId()) + .appendQueryParam("oracleDbAwsKeyPoolId", request.getOracleDbAwsKeyPoolId()) .appendQueryParam("limit", request.getLimit()) .appendQueryParam("page", request.getPage()) .appendEnumQueryParam("sortOrder", request.getSortOrder()) @@ -606,6 +792,47 @@ public java.util.concurrent.Future replicateOra .callAsync(handler); } + @Override + public java.util.concurrent.Future + replicateOracleDbAwsKeyPool( + ReplicateOracleDbAwsKeyPoolRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ReplicateOracleDbAwsKeyPoolRequest, + ReplicateOracleDbAwsKeyPoolResponse> + handler) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + Objects.requireNonNull( + request.getReplicateOracleDbAwsKeyPoolDetails(), + "replicateOracleDbAwsKeyPoolDetails is required"); + + return clientCall(request, ReplicateOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "replicateOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "ReplicateOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/ReplicateOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(ReplicateOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .appendPathParam("actions") + .appendPathParam("replicate") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleResponseHeaderString( + "opc-request-id", ReplicateOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ReplicateOracleDbAwsKeyPoolResponse.Builder::opcWorkRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future updateOracleDbAwsIdentityConnector( @@ -669,6 +896,7 @@ public java.util.concurrent.Future updateOracleDbA .basePath("/20240501") .appendPathParam("oracleDbAwsKey") .appendPathParam(request.getOracleDbAwsKeyId()) + .appendQueryParam("isForceDeleteFromKeyPool", request.getIsForceDeleteFromKeyPool()) .accept("application/json") .appendHeader("if-match", request.getIfMatch()) .appendHeader("opc-request-id", request.getOpcRequestId()) @@ -681,6 +909,42 @@ public java.util.concurrent.Future updateOracleDbA .callAsync(handler); } + @Override + public java.util.concurrent.Future updateOracleDbAwsKeyPool( + UpdateOracleDbAwsKeyPoolRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UpdateOracleDbAwsKeyPoolRequest, UpdateOracleDbAwsKeyPoolResponse> + handler) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + Objects.requireNonNull( + request.getUpdateOracleDbAwsKeyPoolDetails(), + "updateOracleDbAwsKeyPoolDetails is required"); + + return clientCall(request, UpdateOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "updateOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "UpdateOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/UpdateOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleResponseHeaderString( + "opc-work-request-id", + UpdateOracleDbAwsKeyPoolResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", UpdateOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .callAsync(handler); + } + /** * Create a new client instance. * diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderClient.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderClient.java index 2b672361263..9cce821b4f2 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderClient.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderClient.java @@ -204,6 +204,44 @@ public ChangeOracleDbAwsKeyCompartmentResponse changeOracleDbAwsKeyCompartment( .callSync(); } + @Override + public ChangeOracleDbAwsKeyPoolCompartmentResponse changeOracleDbAwsKeyPoolCompartment( + ChangeOracleDbAwsKeyPoolCompartmentRequest request) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + Objects.requireNonNull( + request.getChangeOracleDbAwsKeyPoolCompartmentDetails(), + "changeOracleDbAwsKeyPoolCompartmentDetails is required"); + + return clientCall(request, ChangeOracleDbAwsKeyPoolCompartmentResponse::builder) + .logger(LOG, "changeOracleDbAwsKeyPoolCompartment") + .serviceDetails( + "DbMulticloudAwsProvider", + "ChangeOracleDbAwsKeyPoolCompartment", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/ChangeOracleDbAwsKeyPoolCompartment") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(ChangeOracleDbAwsKeyPoolCompartmentRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .appendPathParam("actions") + .appendPathParam("changeCompartment") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleResponseHeaderString( + "opc-request-id", + ChangeOracleDbAwsKeyPoolCompartmentResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ChangeOracleDbAwsKeyPoolCompartmentResponse.Builder::opcWorkRequestId) + .callSync(); + } + @Override public CreateOracleDbAwsIdentityConnectorResponse createOracleDbAwsIdentityConnector( CreateOracleDbAwsIdentityConnectorRequest request) { @@ -284,6 +322,45 @@ public CreateOracleDbAwsKeyResponse createOracleDbAwsKey(CreateOracleDbAwsKeyReq .callSync(); } + @Override + public CreateOracleDbAwsKeyPoolResponse createOracleDbAwsKeyPool( + CreateOracleDbAwsKeyPoolRequest request) { + Objects.requireNonNull( + request.getCreateOracleDbAwsKeyPoolDetails(), + "createOracleDbAwsKeyPoolDetails is required"); + + return clientCall(request, CreateOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "createOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "CreateOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/CreateOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.class, + CreateOracleDbAwsKeyPoolResponse.Builder::oracleDbAwsKeyPool) + .handleResponseHeaderString( + "opc-work-request-id", + CreateOracleDbAwsKeyPoolResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", CreateOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "location", CreateOracleDbAwsKeyPoolResponse.Builder::location) + .handleResponseHeaderString( + "content-location", + CreateOracleDbAwsKeyPoolResponse.Builder::contentLocation) + .handleResponseHeaderString("etag", CreateOracleDbAwsKeyPoolResponse.Builder::etag) + .callSync(); + } + @Override public DeleteOracleDbAwsIdentityConnectorResponse deleteOracleDbAwsIdentityConnector( DeleteOracleDbAwsIdentityConnectorRequest request) { @@ -344,6 +421,36 @@ public DeleteOracleDbAwsKeyResponse deleteOracleDbAwsKey(DeleteOracleDbAwsKeyReq .callSync(); } + @Override + public DeleteOracleDbAwsKeyPoolResponse deleteOracleDbAwsKeyPool( + DeleteOracleDbAwsKeyPoolRequest request) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + + return clientCall(request, DeleteOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "deleteOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "DeleteOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/DeleteOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleResponseHeaderString( + "opc-request-id", DeleteOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + DeleteOracleDbAwsKeyPoolResponse.Builder::opcWorkRequestId) + .callSync(); + } + @Override public GetOracleDbAwsIdentityConnectorResponse getOracleDbAwsIdentityConnector( GetOracleDbAwsIdentityConnectorRequest request) { @@ -409,6 +516,36 @@ public GetOracleDbAwsKeyResponse getOracleDbAwsKey(GetOracleDbAwsKeyRequest requ .callSync(); } + @Override + public GetOracleDbAwsKeyPoolResponse getOracleDbAwsKeyPool( + GetOracleDbAwsKeyPoolRequest request) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + + return clientCall(request, GetOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "getOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "GetOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/GetOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.class, + GetOracleDbAwsKeyPoolResponse.Builder::oracleDbAwsKeyPool) + .handleResponseHeaderString("etag", GetOracleDbAwsKeyPoolResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", GetOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .callSync(); + } + @Override public ListOracleDbAwsIdentityConnectorsResponse listOracleDbAwsIdentityConnectors( ListOracleDbAwsIdentityConnectorsRequest request) { @@ -449,6 +586,42 @@ public ListOracleDbAwsIdentityConnectorsResponse listOracleDbAwsIdentityConnecto .callSync(); } + @Override + public ListOracleDbAwsKeyPoolsResponse listOracleDbAwsKeyPools( + ListOracleDbAwsKeyPoolsRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListOracleDbAwsKeyPoolsResponse::builder) + .logger(LOG, "listOracleDbAwsKeyPools") + .serviceDetails( + "DbMulticloudAwsProvider", + "ListOracleDbAwsKeyPools", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/ListOracleDbAwsKeyPools") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListOracleDbAwsKeyPoolsRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("displayName", request.getDisplayName()) + .appendQueryParam("oracleDbAwsKeyPoolId", request.getOracleDbAwsKeyPoolId()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolCollection.class, + ListOracleDbAwsKeyPoolsResponse.Builder::oracleDbAwsKeyPoolCollection) + .handleResponseHeaderString( + "opc-request-id", ListOracleDbAwsKeyPoolsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListOracleDbAwsKeyPoolsResponse.Builder::opcNextPage) + .callSync(); + } + @Override public ListOracleDbAwsKeysResponse listOracleDbAwsKeys(ListOracleDbAwsKeysRequest request) { Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); @@ -468,6 +641,7 @@ public ListOracleDbAwsKeysResponse listOracleDbAwsKeys(ListOracleDbAwsKeysReques .appendQueryParam("oracleDbAwsKeyId", request.getOracleDbAwsKeyId()) .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) .appendQueryParam("oracleDbAwsConnectorId", request.getOracleDbAwsConnectorId()) + .appendQueryParam("oracleDbAwsKeyPoolId", request.getOracleDbAwsKeyPoolId()) .appendQueryParam("limit", request.getLimit()) .appendQueryParam("page", request.getPage()) .appendEnumQueryParam("sortOrder", request.getSortOrder()) @@ -592,6 +766,43 @@ public ReplicateOracleDbAwsKeyResponse replicateOracleDbAwsKey( .callSync(); } + @Override + public ReplicateOracleDbAwsKeyPoolResponse replicateOracleDbAwsKeyPool( + ReplicateOracleDbAwsKeyPoolRequest request) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + Objects.requireNonNull( + request.getReplicateOracleDbAwsKeyPoolDetails(), + "replicateOracleDbAwsKeyPoolDetails is required"); + + return clientCall(request, ReplicateOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "replicateOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "ReplicateOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/ReplicateOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(ReplicateOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .appendPathParam("actions") + .appendPathParam("replicate") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleResponseHeaderString( + "opc-request-id", ReplicateOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ReplicateOracleDbAwsKeyPoolResponse.Builder::opcWorkRequestId) + .callSync(); + } + @Override public UpdateOracleDbAwsIdentityConnectorResponse updateOracleDbAwsIdentityConnector( UpdateOracleDbAwsIdentityConnectorRequest request) { @@ -647,6 +858,7 @@ public UpdateOracleDbAwsKeyResponse updateOracleDbAwsKey(UpdateOracleDbAwsKeyReq .basePath("/20240501") .appendPathParam("oracleDbAwsKey") .appendPathParam(request.getOracleDbAwsKeyId()) + .appendQueryParam("isForceDeleteFromKeyPool", request.getIsForceDeleteFromKeyPool()) .accept("application/json") .appendHeader("if-match", request.getIfMatch()) .appendHeader("opc-request-id", request.getOpcRequestId()) @@ -660,6 +872,40 @@ public UpdateOracleDbAwsKeyResponse updateOracleDbAwsKey(UpdateOracleDbAwsKeyReq .callSync(); } + @Override + public UpdateOracleDbAwsKeyPoolResponse updateOracleDbAwsKeyPool( + UpdateOracleDbAwsKeyPoolRequest request) { + + Validate.notBlank( + request.getOracleDbAwsKeyPoolId(), "oracleDbAwsKeyPoolId must not be blank"); + Objects.requireNonNull( + request.getUpdateOracleDbAwsKeyPoolDetails(), + "updateOracleDbAwsKeyPoolDetails is required"); + + return clientCall(request, UpdateOracleDbAwsKeyPoolResponse::builder) + .logger(LOG, "updateOracleDbAwsKeyPool") + .serviceDetails( + "DbMulticloudAwsProvider", + "UpdateOracleDbAwsKeyPool", + "https://docs.oracle.com/iaas/api/#/en/database-multicloud-integrations/20240501/OracleDbAwsKeyPool/UpdateOracleDbAwsKeyPool") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateOracleDbAwsKeyPoolRequest::builder) + .basePath("/20240501") + .appendPathParam("oracleDbAwsKeyPool") + .appendPathParam(request.getOracleDbAwsKeyPoolId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleResponseHeaderString( + "opc-work-request-id", + UpdateOracleDbAwsKeyPoolResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", UpdateOracleDbAwsKeyPoolResponse.Builder::opcRequestId) + .callSync(); + } + @Override public DbMulticloudAwsProviderWaiters getWaiters() { return waiters; diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderPaginators.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderPaginators.java index 1b15cf71670..2883d9c8144 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderPaginators.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderPaginators.java @@ -176,6 +176,130 @@ public ListOracleDbAwsIdentityConnectorsResponse apply( }); } + /** + * Creates a new iterable which will iterate over the responses received from the + * listOracleDbAwsKeyPools operation. This iterable will fetch more data from the server as + * needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses + * received from the service. + */ + public Iterable listOracleDbAwsKeyPoolsResponseIterator( + final ListOracleDbAwsKeyPoolsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListOracleDbAwsKeyPoolsRequest.Builder, + ListOracleDbAwsKeyPoolsRequest, + ListOracleDbAwsKeyPoolsResponse>( + new java.util.function.Supplier() { + @Override + public ListOracleDbAwsKeyPoolsRequest.Builder get() { + return ListOracleDbAwsKeyPoolsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListOracleDbAwsKeyPoolsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListOracleDbAwsKeyPoolsRequest.Builder>, + ListOracleDbAwsKeyPoolsRequest>() { + @Override + public ListOracleDbAwsKeyPoolsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListOracleDbAwsKeyPoolsRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListOracleDbAwsKeyPoolsRequest, ListOracleDbAwsKeyPoolsResponse>() { + @Override + public ListOracleDbAwsKeyPoolsResponse apply( + ListOracleDbAwsKeyPoolsRequest request) { + return client.listOracleDbAwsKeyPools(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolSummary} objects contained in responses + * from the listOracleDbAwsKeyPools operation. This iterable will fetch more data from the + * server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link + * com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolSummary} objects contained in + * responses received from the service. + */ + public Iterable + listOracleDbAwsKeyPoolsRecordIterator(final ListOracleDbAwsKeyPoolsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListOracleDbAwsKeyPoolsRequest.Builder, + ListOracleDbAwsKeyPoolsRequest, + ListOracleDbAwsKeyPoolsResponse, + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolSummary>( + new java.util.function.Supplier() { + @Override + public ListOracleDbAwsKeyPoolsRequest.Builder get() { + return ListOracleDbAwsKeyPoolsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListOracleDbAwsKeyPoolsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListOracleDbAwsKeyPoolsRequest.Builder>, + ListOracleDbAwsKeyPoolsRequest>() { + @Override + public ListOracleDbAwsKeyPoolsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListOracleDbAwsKeyPoolsRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListOracleDbAwsKeyPoolsRequest, ListOracleDbAwsKeyPoolsResponse>() { + @Override + public ListOracleDbAwsKeyPoolsResponse apply( + ListOracleDbAwsKeyPoolsRequest request) { + return client.listOracleDbAwsKeyPools(request); + } + }, + new java.util.function.Function< + ListOracleDbAwsKeyPoolsResponse, + java.util.List< + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolSummary>>() { + @Override + public java.util.List< + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolSummary> + apply(ListOracleDbAwsKeyPoolsResponse response) { + return response.getOracleDbAwsKeyPoolCollection().getItems(); + } + }); + } + /** * Creates a new iterable which will iterate over the responses received from the * listOracleDbAwsKeys operation. This iterable will fetch more data from the server as needed. diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderWaiters.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderWaiters.java index e71ef255394..aff47a44da0 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderWaiters.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/DbMulticloudAwsProviderWaiters.java @@ -254,4 +254,114 @@ public boolean test(GetOracleDbAwsKeyResponse response) { .Deleted)), request); } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @param targetStates the desired states to wait for. If multiple states are provided then the + * waiter will return once the resource reaches any of the provided states + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forOracleDbAwsKeyPool( + GetOracleDbAwsKeyPoolRequest request, + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.LifecycleState... + targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forOracleDbAwsKeyPool( + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param targetState the desired state to wait for + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@code com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forOracleDbAwsKeyPool( + GetOracleDbAwsKeyPoolRequest request, + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.LifecycleState targetState, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + com.oracle.bmc.util.internal.Validate.notNull( + targetState, "The targetState cannot be null"); + + return forOracleDbAwsKeyPool( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetState); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @param targetStates the desired states to wait for. The waiter will return once the resource + * reaches any of the provided states + * @return a new {@code com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forOracleDbAwsKeyPool( + GetOracleDbAwsKeyPoolRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.LifecycleState... + targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one target state must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null target states are not permitted"); + + return forOracleDbAwsKeyPool( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for OracleDbAwsKeyPool. + private com.oracle.bmc.waiter.Waiter< + GetOracleDbAwsKeyPoolRequest, GetOracleDbAwsKeyPoolResponse> + forOracleDbAwsKeyPool( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetOracleDbAwsKeyPoolRequest request, + final com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.LifecycleState... + targetStates) { + final java.util.Set + targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates)); + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + waiter.toCallable( + () -> request, + new java.util.function.Function< + GetOracleDbAwsKeyPoolRequest, GetOracleDbAwsKeyPoolResponse>() { + @Override + public GetOracleDbAwsKeyPoolResponse apply( + GetOracleDbAwsKeyPoolRequest request) { + return client.getOracleDbAwsKeyPool(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetOracleDbAwsKeyPoolResponse response) { + return targetStatesSet.contains( + response.getOracleDbAwsKeyPool().getLifecycleState()); + } + }, + targetStatesSet.contains( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.LifecycleState + .Deleted)), + request); + } } diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/ChangeOracleDbAwsKeyPoolCompartmentDetails.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/ChangeOracleDbAwsKeyPoolCompartmentDetails.java new file mode 100644 index 00000000000..ed2d97bca07 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/ChangeOracleDbAwsKeyPoolCompartmentDetails.java @@ -0,0 +1,146 @@ +/** + * 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.dbmulticloud.model; + +/** + * Details for moving the Oracle DB AWS key pool resource to a different compartment.
+ * 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: 20240501") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = ChangeOracleDbAwsKeyPoolCompartmentDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ChangeOracleDbAwsKeyPoolCompartmentDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"compartmentId"}) + public ChangeOracleDbAwsKeyPoolCompartmentDetails(String compartmentId) { + super(); + this.compartmentId = compartmentId; + } + + @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 + * new compartment to contain the Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * new compartment to contain the Oracle DB AWS Key Pool resource. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ChangeOracleDbAwsKeyPoolCompartmentDetails build() { + ChangeOracleDbAwsKeyPoolCompartmentDetails model = + new ChangeOracleDbAwsKeyPoolCompartmentDetails(this.compartmentId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ChangeOracleDbAwsKeyPoolCompartmentDetails model) { + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + 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 new + * compartment to contain the Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the new + * compartment to contain the Oracle DB AWS Key Pool resource. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + @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("ChangeOracleDbAwsKeyPoolCompartmentDetails("); + sb.append("super=").append(super.toString()); + sb.append("compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ChangeOracleDbAwsKeyPoolCompartmentDetails)) { + return false; + } + + ChangeOracleDbAwsKeyPoolCompartmentDetails other = + (ChangeOracleDbAwsKeyPoolCompartmentDetails) o; + return java.util.Objects.equals(this.compartmentId, other.compartmentId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/CreateOracleDbAwsKeyDetails.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/CreateOracleDbAwsKeyDetails.java index 25d965f92d1..a13a995bd45 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/CreateOracleDbAwsKeyDetails.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/CreateOracleDbAwsKeyDetails.java @@ -26,6 +26,7 @@ public final class CreateOracleDbAwsKeyDetails @java.beans.ConstructorProperties({ "compartmentId", "oracleDbConnectorId", + "oracleDbAwsKeyPoolId", "displayName", "awsKeyArn", "awsAccountId", @@ -39,6 +40,7 @@ public final class CreateOracleDbAwsKeyDetails public CreateOracleDbAwsKeyDetails( String compartmentId, String oracleDbConnectorId, + String oracleDbAwsKeyPoolId, String displayName, String awsKeyArn, String awsAccountId, @@ -51,6 +53,7 @@ public CreateOracleDbAwsKeyDetails( super(); this.compartmentId = compartmentId; this.oracleDbConnectorId = oracleDbConnectorId; + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; this.displayName = displayName; this.awsKeyArn = awsKeyArn; this.awsAccountId = awsAccountId; @@ -102,6 +105,25 @@ public Builder oracleDbConnectorId(String oracleDbConnectorId) { this.__explicitlySet__.add("oracleDbConnectorId"); return this; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleDbAwsKeyPoolId") + private String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + this.__explicitlySet__.add("oracleDbAwsKeyPoolId"); + return this; + } /** Oracle DB AWS Key resource name. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -267,6 +289,7 @@ public CreateOracleDbAwsKeyDetails build() { new CreateOracleDbAwsKeyDetails( this.compartmentId, this.oracleDbConnectorId, + this.oracleDbAwsKeyPoolId, this.displayName, this.awsKeyArn, this.awsAccountId, @@ -290,6 +313,9 @@ public Builder copy(CreateOracleDbAwsKeyDetails model) { if (model.wasPropertyExplicitlySet("oracleDbConnectorId")) { this.oracleDbConnectorId(model.getOracleDbConnectorId()); } + if (model.wasPropertyExplicitlySet("oracleDbAwsKeyPoolId")) { + this.oracleDbAwsKeyPoolId(model.getOracleDbAwsKeyPoolId()); + } if (model.wasPropertyExplicitlySet("displayName")) { this.displayName(model.getDisplayName()); } @@ -364,6 +390,23 @@ public String getOracleDbConnectorId() { return oracleDbConnectorId; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleDbAwsKeyPoolId") + private final String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @return the value + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + /** Oracle DB AWS Key resource name. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private final String displayName; @@ -518,6 +561,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(", oracleDbConnectorId=").append(String.valueOf(this.oracleDbConnectorId)); + sb.append(", oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); sb.append(", displayName=").append(String.valueOf(this.displayName)); sb.append(", awsKeyArn=").append(String.valueOf(this.awsKeyArn)); sb.append(", awsAccountId=").append(String.valueOf(this.awsAccountId)); @@ -543,6 +587,7 @@ public boolean equals(Object o) { CreateOracleDbAwsKeyDetails other = (CreateOracleDbAwsKeyDetails) o; return java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.oracleDbConnectorId, other.oracleDbConnectorId) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) && java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.awsKeyArn, other.awsKeyArn) && java.util.Objects.equals(this.awsAccountId, other.awsAccountId) @@ -567,6 +612,11 @@ public int hashCode() { + (this.oracleDbConnectorId == null ? 43 : this.oracleDbConnectorId.hashCode()); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); result = (result * PRIME) + (this.awsKeyArn == null ? 43 : this.awsKeyArn.hashCode()); result = (result * PRIME) + (this.awsAccountId == null ? 43 : this.awsAccountId.hashCode()); diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/CreateOracleDbAwsKeyPoolDetails.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/CreateOracleDbAwsKeyPoolDetails.java new file mode 100644 index 00000000000..120a1a3829a --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/CreateOracleDbAwsKeyPoolDetails.java @@ -0,0 +1,396 @@ +/** + * 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.dbmulticloud.model; + +/** + * Details for creating an Oracle DB AWS key pool resource.
+ * 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: 20240501") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateOracleDbAwsKeyPoolDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateOracleDbAwsKeyPoolDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "compartmentId", + "displayName", + "isReuseAllowed", + "isMultiRegionKeyPool", + "freeformTags", + "definedTags" + }) + public CreateOracleDbAwsKeyPoolDetails( + String compartmentId, + String displayName, + Boolean isReuseAllowed, + Boolean isMultiRegionKeyPool, + java.util.Map freeformTags, + java.util.Map> definedTags) { + super(); + this.compartmentId = compartmentId; + this.displayName = displayName; + this.isReuseAllowed = isReuseAllowed; + this.isMultiRegionKeyPool = isMultiRegionKeyPool; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The Compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) that + * contains this Oracle DB AWS Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The Compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) that + * contains this Oracle DB AWS Pool resource. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** The display name of the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The display name of the Oracle DB AWS key pool resource. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** Indicates whether AWS KMS keys in this key pool can be reused. */ + @com.fasterxml.jackson.annotation.JsonProperty("isReuseAllowed") + private Boolean isReuseAllowed; + + /** + * Indicates whether AWS KMS keys in this key pool can be reused. + * + * @param isReuseAllowed the value to set + * @return this builder + */ + public Builder isReuseAllowed(Boolean isReuseAllowed) { + this.isReuseAllowed = isReuseAllowed; + this.__explicitlySet__.add("isReuseAllowed"); + return this; + } + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the + * key pool accepts only single-region AWS KMS keys. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isMultiRegionKeyPool") + private Boolean isMultiRegionKeyPool; + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the + * key pool accepts only single-region AWS KMS keys. + * + * @param isMultiRegionKeyPool the value to set + * @return this builder + */ + public Builder isMultiRegionKeyPool(Boolean isMultiRegionKeyPool) { + this.isMultiRegionKeyPool = isMultiRegionKeyPool; + this.__explicitlySet__.add("isMultiRegionKeyPool"); + 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; + } + /** + * 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; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateOracleDbAwsKeyPoolDetails build() { + CreateOracleDbAwsKeyPoolDetails model = + new CreateOracleDbAwsKeyPoolDetails( + this.compartmentId, + this.displayName, + this.isReuseAllowed, + this.isMultiRegionKeyPool, + this.freeformTags, + this.definedTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateOracleDbAwsKeyPoolDetails model) { + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("isReuseAllowed")) { + this.isReuseAllowed(model.getIsReuseAllowed()); + } + if (model.wasPropertyExplicitlySet("isMultiRegionKeyPool")) { + this.isMultiRegionKeyPool(model.getIsMultiRegionKeyPool()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The Compartment [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) + * that contains this Oracle DB AWS Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The Compartment [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) + * that contains this Oracle DB AWS Pool resource. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The display name of the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The display name of the Oracle DB AWS key pool resource. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** Indicates whether AWS KMS keys in this key pool can be reused. */ + @com.fasterxml.jackson.annotation.JsonProperty("isReuseAllowed") + private final Boolean isReuseAllowed; + + /** + * Indicates whether AWS KMS keys in this key pool can be reused. + * + * @return the value + */ + public Boolean getIsReuseAllowed() { + return isReuseAllowed; + } + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the key + * pool accepts only single-region AWS KMS keys. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isMultiRegionKeyPool") + private final Boolean isMultiRegionKeyPool; + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the key + * pool accepts only single-region AWS KMS keys. + * + * @return the value + */ + public Boolean getIsMultiRegionKeyPool() { + return isMultiRegionKeyPool; + } + + /** + * 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; + } + + /** + * 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; + } + + @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("CreateOracleDbAwsKeyPoolDetails("); + sb.append("super=").append(super.toString()); + sb.append("compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", isReuseAllowed=").append(String.valueOf(this.isReuseAllowed)); + sb.append(", isMultiRegionKeyPool=").append(String.valueOf(this.isMultiRegionKeyPool)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateOracleDbAwsKeyPoolDetails)) { + return false; + } + + CreateOracleDbAwsKeyPoolDetails other = (CreateOracleDbAwsKeyPoolDetails) o; + return java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.isReuseAllowed, other.isReuseAllowed) + && java.util.Objects.equals(this.isMultiRegionKeyPool, other.isMultiRegionKeyPool) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.isReuseAllowed == null ? 43 : this.isReuseAllowed.hashCode()); + result = + (result * PRIME) + + (this.isMultiRegionKeyPool == null + ? 43 + : this.isMultiRegionKeyPool.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OperationType.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OperationType.java index d35c9fb4527..d78d0d341e2 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OperationType.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OperationType.java @@ -63,6 +63,10 @@ public enum OperationType implements com.oracle.bmc.http.internal.BmcEnum { MoveReplicateResource("MOVE_REPLICATE_RESOURCE"), RefreshReplicateResource("REFRESH_REPLICATE_RESOURCE"), Replicate("REPLICATE"), + CreateAwsKeyPool("CREATE_AWS_KEY_POOL"), + DeleteAwsKeyPool("DELETE_AWS_KEY_POOL"), + UpdateAwsKeyPool("UPDATE_AWS_KEY_POOL"), + MoveAwsKeyPool("MOVE_AWS_KEY_POOL"), /** * This value is used if a service returns a value for this enum that is not recognized by this diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKey.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKey.java index fa85582c86d..4970085147d 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKey.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKey.java @@ -25,6 +25,9 @@ public final class OracleDbAwsKey @java.beans.ConstructorProperties({ "id", "oracleDbConnectorId", + "oracleDbAwsKeyPoolId", + "isOracleAwsKeyUsed", + "refCount", "displayName", "awsKeyArn", "awsAccountId", @@ -45,6 +48,9 @@ public final class OracleDbAwsKey public OracleDbAwsKey( String id, String oracleDbConnectorId, + String oracleDbAwsKeyPoolId, + Boolean isOracleAwsKeyUsed, + Integer refCount, String displayName, String awsKeyArn, String awsAccountId, @@ -64,6 +70,9 @@ public OracleDbAwsKey( super(); this.id = id; this.oracleDbConnectorId = oracleDbConnectorId; + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + this.isOracleAwsKeyUsed = isOracleAwsKeyUsed; + this.refCount = refCount; this.displayName = displayName; this.awsKeyArn = awsKeyArn; this.awsAccountId = awsAccountId; @@ -122,6 +131,55 @@ public Builder oracleDbConnectorId(String oracleDbConnectorId) { this.__explicitlySet__.add("oracleDbConnectorId"); return this; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleDbAwsKeyPoolId") + private String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + this.__explicitlySet__.add("oracleDbAwsKeyPoolId"); + return this; + } + /** Indicates whether the Oracle AWS Key resource is currently in use. */ + @com.fasterxml.jackson.annotation.JsonProperty("isOracleAwsKeyUsed") + private Boolean isOracleAwsKeyUsed; + + /** + * Indicates whether the Oracle AWS Key resource is currently in use. + * + * @param isOracleAwsKeyUsed the value to set + * @return this builder + */ + public Builder isOracleAwsKeyUsed(Boolean isOracleAwsKeyUsed) { + this.isOracleAwsKeyUsed = isOracleAwsKeyUsed; + this.__explicitlySet__.add("isOracleAwsKeyUsed"); + return this; + } + /** The number of active references to the Oracle AWS Key resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("refCount") + private Integer refCount; + + /** + * The number of active references to the Oracle AWS Key resource. + * + * @param refCount the value to set + * @return this builder + */ + public Builder refCount(Integer refCount) { + this.refCount = refCount; + this.__explicitlySet__.add("refCount"); + return this; + } /** Oracle DB AWS Key Ring resource name. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; @@ -410,6 +468,9 @@ public OracleDbAwsKey build() { new OracleDbAwsKey( this.id, this.oracleDbConnectorId, + this.oracleDbAwsKeyPoolId, + this.isOracleAwsKeyUsed, + this.refCount, this.displayName, this.awsKeyArn, this.awsAccountId, @@ -440,6 +501,15 @@ public Builder copy(OracleDbAwsKey model) { if (model.wasPropertyExplicitlySet("oracleDbConnectorId")) { this.oracleDbConnectorId(model.getOracleDbConnectorId()); } + if (model.wasPropertyExplicitlySet("oracleDbAwsKeyPoolId")) { + this.oracleDbAwsKeyPoolId(model.getOracleDbAwsKeyPoolId()); + } + if (model.wasPropertyExplicitlySet("isOracleAwsKeyUsed")) { + this.isOracleAwsKeyUsed(model.getIsOracleAwsKeyUsed()); + } + if (model.wasPropertyExplicitlySet("refCount")) { + this.refCount(model.getRefCount()); + } if (model.wasPropertyExplicitlySet("displayName")) { this.displayName(model.getDisplayName()); } @@ -535,6 +605,49 @@ public String getOracleDbConnectorId() { return oracleDbConnectorId; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleDbAwsKeyPoolId") + private final String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @return the value + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + + /** Indicates whether the Oracle AWS Key resource is currently in use. */ + @com.fasterxml.jackson.annotation.JsonProperty("isOracleAwsKeyUsed") + private final Boolean isOracleAwsKeyUsed; + + /** + * Indicates whether the Oracle AWS Key resource is currently in use. + * + * @return the value + */ + public Boolean getIsOracleAwsKeyUsed() { + return isOracleAwsKeyUsed; + } + + /** The number of active references to the Oracle AWS Key resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("refCount") + private final Integer refCount; + + /** + * The number of active references to the Oracle AWS Key resource. + * + * @return the value + */ + public Integer getRefCount() { + return refCount; + } + /** Oracle DB AWS Key Ring resource name. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private final String displayName; @@ -842,6 +955,9 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("id=").append(String.valueOf(this.id)); sb.append(", oracleDbConnectorId=").append(String.valueOf(this.oracleDbConnectorId)); + sb.append(", oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); + sb.append(", isOracleAwsKeyUsed=").append(String.valueOf(this.isOracleAwsKeyUsed)); + sb.append(", refCount=").append(String.valueOf(this.refCount)); sb.append(", displayName=").append(String.valueOf(this.displayName)); sb.append(", awsKeyArn=").append(String.valueOf(this.awsKeyArn)); sb.append(", awsAccountId=").append(String.valueOf(this.awsAccountId)); @@ -874,6 +990,9 @@ public boolean equals(Object o) { OracleDbAwsKey other = (OracleDbAwsKey) o; return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.oracleDbConnectorId, other.oracleDbConnectorId) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) + && java.util.Objects.equals(this.isOracleAwsKeyUsed, other.isOracleAwsKeyUsed) + && java.util.Objects.equals(this.refCount, other.refCount) && java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.awsKeyArn, other.awsKeyArn) && java.util.Objects.equals(this.awsAccountId, other.awsAccountId) @@ -903,6 +1022,17 @@ public int hashCode() { + (this.oracleDbConnectorId == null ? 43 : this.oracleDbConnectorId.hashCode()); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); + result = + (result * PRIME) + + (this.isOracleAwsKeyUsed == null + ? 43 + : this.isOracleAwsKeyUsed.hashCode()); + result = (result * PRIME) + (this.refCount == null ? 43 : this.refCount.hashCode()); result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); result = (result * PRIME) + (this.awsKeyArn == null ? 43 : this.awsKeyArn.hashCode()); result = (result * PRIME) + (this.awsAccountId == null ? 43 : this.awsAccountId.hashCode()); diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeyPool.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeyPool.java new file mode 100644 index 00000000000..dc2d0a1abad --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeyPool.java @@ -0,0 +1,751 @@ +/** + * 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.dbmulticloud.model; + +/** + * Oracle DB AWS Key Pool is a resource that represents a collection of AWS KMS keys. These keys are + * used for Oracle Database Transparent Data Encryption (TDE) operations.
+ * 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: 20240501") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = OracleDbAwsKeyPool.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class OracleDbAwsKeyPool + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "displayName", + "compartmentId", + "isReuseAllowed", + "isMultiRegionKeyPool", + "lifecycleState", + "lifecycleStateDetails", + "replicationMetadata", + "timeCreated", + "timeUpdated", + "freeformTags", + "definedTags", + "systemTags" + }) + public OracleDbAwsKeyPool( + String id, + String displayName, + String compartmentId, + Boolean isReuseAllowed, + Boolean isMultiRegionKeyPool, + LifecycleState lifecycleState, + String lifecycleStateDetails, + ReplicationMetadata replicationMetadata, + java.util.Date timeCreated, + java.util.Date timeUpdated, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.displayName = displayName; + this.compartmentId = compartmentId; + this.isReuseAllowed = isReuseAllowed; + this.isMultiRegionKeyPool = isMultiRegionKeyPool; + this.lifecycleState = lifecycleState; + this.lifecycleStateDetails = lifecycleStateDetails; + this.replicationMetadata = replicationMetadata; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + } + + @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 + * DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * DB AWS Key Pool resource. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** The display name of the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The display name of the Oracle DB AWS key pool resource. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * The Compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) that + * contains this Oracle DB AWS Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The Compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) that + * contains this Oracle DB AWS Pool resource. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** Indicates whether AWS KMS keys in this key pool can be reused. */ + @com.fasterxml.jackson.annotation.JsonProperty("isReuseAllowed") + private Boolean isReuseAllowed; + + /** + * Indicates whether AWS KMS keys in this key pool can be reused. + * + * @param isReuseAllowed the value to set + * @return this builder + */ + public Builder isReuseAllowed(Boolean isReuseAllowed) { + this.isReuseAllowed = isReuseAllowed; + this.__explicitlySet__.add("isReuseAllowed"); + return this; + } + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the + * key pool accepts only single-region AWS KMS keys. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isMultiRegionKeyPool") + private Boolean isMultiRegionKeyPool; + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the + * key pool accepts only single-region AWS KMS keys. + * + * @param isMultiRegionKeyPool the value to set + * @return this builder + */ + public Builder isMultiRegionKeyPool(Boolean isMultiRegionKeyPool) { + this.isMultiRegionKeyPool = isMultiRegionKeyPool; + this.__explicitlySet__.add("isMultiRegionKeyPool"); + return this; + } + /** The lifecycle state of the Oracle DB AWS Key Pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The lifecycle state of the Oracle DB AWS Key Pool resource. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** Description of the current lifecycle state in more detail. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleStateDetails") + private String lifecycleStateDetails; + + /** + * Description of the current lifecycle state in more detail. + * + * @param lifecycleStateDetails the value to set + * @return this builder + */ + public Builder lifecycleStateDetails(String lifecycleStateDetails) { + this.lifecycleStateDetails = lifecycleStateDetails; + this.__explicitlySet__.add("lifecycleStateDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("replicationMetadata") + private ReplicationMetadata replicationMetadata; + + public Builder replicationMetadata(ReplicationMetadata replicationMetadata) { + this.replicationMetadata = replicationMetadata; + this.__explicitlySet__.add("replicationMetadata"); + return this; + } + /** + * Time when the DB AWS Key Pool resource was created in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. + * '2020-05-23T21:10:29.600Z'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * Time when the DB AWS Key Pool resource was created in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. + * '2020-05-23T21:10:29.600Z'. + * + * @param timeCreated the value to set + * @return this builder + */ + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + /** + * Time when the DB AWS Key Pool resource was last modified, expressed in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. + * '2020-05-23T21:10:29.600Z'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * Time when the DB AWS Key Pool resource was last modified, expressed in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. + * '2020-05-23T21: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; + } + /** + * 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; + } + /** + * 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; + } + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public OracleDbAwsKeyPool build() { + OracleDbAwsKeyPool model = + new OracleDbAwsKeyPool( + this.id, + this.displayName, + this.compartmentId, + this.isReuseAllowed, + this.isMultiRegionKeyPool, + this.lifecycleState, + this.lifecycleStateDetails, + this.replicationMetadata, + this.timeCreated, + this.timeUpdated, + this.freeformTags, + this.definedTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(OracleDbAwsKeyPool model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("isReuseAllowed")) { + this.isReuseAllowed(model.getIsReuseAllowed()); + } + if (model.wasPropertyExplicitlySet("isMultiRegionKeyPool")) { + this.isMultiRegionKeyPool(model.getIsMultiRegionKeyPool()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("lifecycleStateDetails")) { + this.lifecycleStateDetails(model.getLifecycleStateDetails()); + } + if (model.wasPropertyExplicitlySet("replicationMetadata")) { + this.replicationMetadata(model.getReplicationMetadata()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + 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 DB + * AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DB + * AWS Key Pool resource. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The display name of the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The display name of the Oracle DB AWS key pool resource. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * The Compartment [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) + * that contains this Oracle DB AWS Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The Compartment [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) + * that contains this Oracle DB AWS Pool resource. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** Indicates whether AWS KMS keys in this key pool can be reused. */ + @com.fasterxml.jackson.annotation.JsonProperty("isReuseAllowed") + private final Boolean isReuseAllowed; + + /** + * Indicates whether AWS KMS keys in this key pool can be reused. + * + * @return the value + */ + public Boolean getIsReuseAllowed() { + return isReuseAllowed; + } + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the key + * pool accepts only single-region AWS KMS keys. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isMultiRegionKeyPool") + private final Boolean isMultiRegionKeyPool; + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the key + * pool accepts only single-region AWS KMS keys. + * + * @return the value + */ + public Boolean getIsMultiRegionKeyPool() { + return isMultiRegionKeyPool; + } + + /** The lifecycle state of the Oracle DB AWS Key Pool resource. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Creating("CREATING"), + Active("ACTIVE"), + Updating("UPDATING"), + Deleting("DELETING"), + Deleted("DELETED"), + 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(LifecycleState.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LifecycleState v : LifecycleState.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LifecycleState(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LifecycleState create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LifecycleState', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The lifecycle state of the Oracle DB AWS Key Pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The lifecycle state of the Oracle DB AWS Key Pool resource. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** Description of the current lifecycle state in more detail. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleStateDetails") + private final String lifecycleStateDetails; + + /** + * Description of the current lifecycle state in more detail. + * + * @return the value + */ + public String getLifecycleStateDetails() { + return lifecycleStateDetails; + } + + @com.fasterxml.jackson.annotation.JsonProperty("replicationMetadata") + private final ReplicationMetadata replicationMetadata; + + public ReplicationMetadata getReplicationMetadata() { + return replicationMetadata; + } + + /** + * Time when the DB AWS Key Pool resource was created in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-23T21:10:29.600Z'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * Time when the DB AWS Key Pool resource was created in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-23T21:10:29.600Z'. + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * Time when the DB AWS Key Pool resource was last modified, expressed in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-23T21:10:29.600Z'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * Time when the DB AWS Key Pool resource was last modified, expressed in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-23T21:10:29.600Z'. + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * 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; + } + + /** + * 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; + } + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @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("OracleDbAwsKeyPool("); + sb.append("super=").append(super.toString()); + 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(", isReuseAllowed=").append(String.valueOf(this.isReuseAllowed)); + sb.append(", isMultiRegionKeyPool=").append(String.valueOf(this.isMultiRegionKeyPool)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", lifecycleStateDetails=").append(String.valueOf(this.lifecycleStateDetails)); + sb.append(", replicationMetadata=").append(String.valueOf(this.replicationMetadata)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OracleDbAwsKeyPool)) { + return false; + } + + OracleDbAwsKeyPool other = (OracleDbAwsKeyPool) 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.isReuseAllowed, other.isReuseAllowed) + && java.util.Objects.equals(this.isMultiRegionKeyPool, other.isMultiRegionKeyPool) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleStateDetails, other.lifecycleStateDetails) + && java.util.Objects.equals(this.replicationMetadata, other.replicationMetadata) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = + (result * PRIME) + + (this.isReuseAllowed == null ? 43 : this.isReuseAllowed.hashCode()); + result = + (result * PRIME) + + (this.isMultiRegionKeyPool == null + ? 43 + : this.isMultiRegionKeyPool.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.lifecycleStateDetails == null + ? 43 + : this.lifecycleStateDetails.hashCode()); + result = + (result * PRIME) + + (this.replicationMetadata == null + ? 43 + : this.replicationMetadata.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.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()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeyPoolCollection.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeyPoolCollection.java new file mode 100644 index 00000000000..93947670cae --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeyPoolCollection.java @@ -0,0 +1,133 @@ +/** + * 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.dbmulticloud.model; + +/** + * List of OracleDbAwsKeyPoolSummary resources.
+ * 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: 20240501") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = OracleDbAwsKeyPoolCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class OracleDbAwsKeyPoolCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public OracleDbAwsKeyPoolCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** This list contains the summary of Oracle DB AWS Key Pool resources. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * This list contains the summary of Oracle DB AWS Key Pool resources. + * + * @param items the value to set + * @return this builder + */ + public Builder items(java.util.List items) { + this.items = items; + this.__explicitlySet__.add("items"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public OracleDbAwsKeyPoolCollection build() { + OracleDbAwsKeyPoolCollection model = new OracleDbAwsKeyPoolCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(OracleDbAwsKeyPoolCollection model) { + if (model.wasPropertyExplicitlySet("items")) { + this.items(model.getItems()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** This list contains the summary of Oracle DB AWS Key Pool resources. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * This list contains the summary of Oracle DB AWS Key Pool resources. + * + * @return the value + */ + public java.util.List getItems() { + return items; + } + + @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("OracleDbAwsKeyPoolCollection("); + sb.append("super=").append(super.toString()); + sb.append("items=").append(String.valueOf(this.items)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OracleDbAwsKeyPoolCollection)) { + return false; + } + + OracleDbAwsKeyPoolCollection other = (OracleDbAwsKeyPoolCollection) o; + return java.util.Objects.equals(this.items, other.items) && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeyPoolSummary.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeyPoolSummary.java new file mode 100644 index 00000000000..b495a37036d --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeyPoolSummary.java @@ -0,0 +1,700 @@ +/** + * 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.dbmulticloud.model; + +/** + * Summary information for an Oracle DB AWS key pool resource.
+ * 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: 20240501") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = OracleDbAwsKeyPoolSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class OracleDbAwsKeyPoolSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "displayName", + "compartmentId", + "isReuseAllowed", + "isMultiRegionKeyPool", + "lifecycleState", + "lifecycleStateDetails", + "replicationMetadata", + "timeCreated", + "timeUpdated", + "freeformTags", + "definedTags", + "systemTags" + }) + public OracleDbAwsKeyPoolSummary( + String id, + String displayName, + String compartmentId, + Boolean isReuseAllowed, + Boolean isMultiRegionKeyPool, + OracleDbAwsKeyPool.LifecycleState lifecycleState, + String lifecycleStateDetails, + ReplicationMetadata replicationMetadata, + java.util.Date timeCreated, + java.util.Date timeUpdated, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.displayName = displayName; + this.compartmentId = compartmentId; + this.isReuseAllowed = isReuseAllowed; + this.isMultiRegionKeyPool = isMultiRegionKeyPool; + this.lifecycleState = lifecycleState; + this.lifecycleStateDetails = lifecycleStateDetails; + this.replicationMetadata = replicationMetadata; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + } + + @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 + * DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * DB AWS Key Pool resource. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** The display name of the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The display name of the Oracle DB AWS key pool resource. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * The Compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) that + * contains this Oracle DB AWS Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The Compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) that + * contains this Oracle DB AWS Pool resource. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** Indicates whether AWS KMS keys in this key pool can be reused. */ + @com.fasterxml.jackson.annotation.JsonProperty("isReuseAllowed") + private Boolean isReuseAllowed; + + /** + * Indicates whether AWS KMS keys in this key pool can be reused. + * + * @param isReuseAllowed the value to set + * @return this builder + */ + public Builder isReuseAllowed(Boolean isReuseAllowed) { + this.isReuseAllowed = isReuseAllowed; + this.__explicitlySet__.add("isReuseAllowed"); + return this; + } + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the + * key pool accepts only single-region AWS KMS keys. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isMultiRegionKeyPool") + private Boolean isMultiRegionKeyPool; + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the + * key pool accepts only single-region AWS KMS keys. + * + * @param isMultiRegionKeyPool the value to set + * @return this builder + */ + public Builder isMultiRegionKeyPool(Boolean isMultiRegionKeyPool) { + this.isMultiRegionKeyPool = isMultiRegionKeyPool; + this.__explicitlySet__.add("isMultiRegionKeyPool"); + return this; + } + /** The current lifecycle state of the Oracle DB AWS Key Pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private OracleDbAwsKeyPool.LifecycleState lifecycleState; + + /** + * The current lifecycle state of the Oracle DB AWS Key Pool resource. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(OracleDbAwsKeyPool.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** Description of the current lifecycle state in more detail. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleStateDetails") + private String lifecycleStateDetails; + + /** + * Description of the current lifecycle state in more detail. + * + * @param lifecycleStateDetails the value to set + * @return this builder + */ + public Builder lifecycleStateDetails(String lifecycleStateDetails) { + this.lifecycleStateDetails = lifecycleStateDetails; + this.__explicitlySet__.add("lifecycleStateDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("replicationMetadata") + private ReplicationMetadata replicationMetadata; + + public Builder replicationMetadata(ReplicationMetadata replicationMetadata) { + this.replicationMetadata = replicationMetadata; + this.__explicitlySet__.add("replicationMetadata"); + return this; + } + /** + * Time when the DB AWS Key Pool resource was created in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. + * '2020-05-23T21:10:29.600Z'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * Time when the DB AWS Key Pool resource was created in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. + * '2020-05-23T21:10:29.600Z'. + * + * @param timeCreated the value to set + * @return this builder + */ + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + /** + * Time when the DB AWS Key Pool resource was last modified, expressed in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. + * '2020-05-23T21:10:29.600Z'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * Time when the DB AWS Key Pool resource was last modified, expressed in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. + * '2020-05-23T21: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; + } + /** + * 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; + } + /** + * 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; + } + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public OracleDbAwsKeyPoolSummary build() { + OracleDbAwsKeyPoolSummary model = + new OracleDbAwsKeyPoolSummary( + this.id, + this.displayName, + this.compartmentId, + this.isReuseAllowed, + this.isMultiRegionKeyPool, + this.lifecycleState, + this.lifecycleStateDetails, + this.replicationMetadata, + this.timeCreated, + this.timeUpdated, + this.freeformTags, + this.definedTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(OracleDbAwsKeyPoolSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("isReuseAllowed")) { + this.isReuseAllowed(model.getIsReuseAllowed()); + } + if (model.wasPropertyExplicitlySet("isMultiRegionKeyPool")) { + this.isMultiRegionKeyPool(model.getIsMultiRegionKeyPool()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("lifecycleStateDetails")) { + this.lifecycleStateDetails(model.getLifecycleStateDetails()); + } + if (model.wasPropertyExplicitlySet("replicationMetadata")) { + this.replicationMetadata(model.getReplicationMetadata()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + 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 DB + * AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DB + * AWS Key Pool resource. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The display name of the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The display name of the Oracle DB AWS key pool resource. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * The Compartment [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) + * that contains this Oracle DB AWS Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The Compartment [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) + * that contains this Oracle DB AWS Pool resource. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** Indicates whether AWS KMS keys in this key pool can be reused. */ + @com.fasterxml.jackson.annotation.JsonProperty("isReuseAllowed") + private final Boolean isReuseAllowed; + + /** + * Indicates whether AWS KMS keys in this key pool can be reused. + * + * @return the value + */ + public Boolean getIsReuseAllowed() { + return isReuseAllowed; + } + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the key + * pool accepts only single-region AWS KMS keys. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isMultiRegionKeyPool") + private final Boolean isMultiRegionKeyPool; + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the key + * pool accepts only single-region AWS KMS keys. + * + * @return the value + */ + public Boolean getIsMultiRegionKeyPool() { + return isMultiRegionKeyPool; + } + + /** The current lifecycle state of the Oracle DB AWS Key Pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final OracleDbAwsKeyPool.LifecycleState lifecycleState; + + /** + * The current lifecycle state of the Oracle DB AWS Key Pool resource. + * + * @return the value + */ + public OracleDbAwsKeyPool.LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** Description of the current lifecycle state in more detail. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleStateDetails") + private final String lifecycleStateDetails; + + /** + * Description of the current lifecycle state in more detail. + * + * @return the value + */ + public String getLifecycleStateDetails() { + return lifecycleStateDetails; + } + + @com.fasterxml.jackson.annotation.JsonProperty("replicationMetadata") + private final ReplicationMetadata replicationMetadata; + + public ReplicationMetadata getReplicationMetadata() { + return replicationMetadata; + } + + /** + * Time when the DB AWS Key Pool resource was created in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-23T21:10:29.600Z'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * Time when the DB AWS Key Pool resource was created in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-23T21:10:29.600Z'. + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * Time when the DB AWS Key Pool resource was last modified, expressed in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-23T21:10:29.600Z'. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * Time when the DB AWS Key Pool resource was last modified, expressed in [RFC + * 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-23T21:10:29.600Z'. + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * 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; + } + + /** + * 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; + } + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @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("OracleDbAwsKeyPoolSummary("); + sb.append("super=").append(super.toString()); + 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(", isReuseAllowed=").append(String.valueOf(this.isReuseAllowed)); + sb.append(", isMultiRegionKeyPool=").append(String.valueOf(this.isMultiRegionKeyPool)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", lifecycleStateDetails=").append(String.valueOf(this.lifecycleStateDetails)); + sb.append(", replicationMetadata=").append(String.valueOf(this.replicationMetadata)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OracleDbAwsKeyPoolSummary)) { + return false; + } + + OracleDbAwsKeyPoolSummary other = (OracleDbAwsKeyPoolSummary) 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.isReuseAllowed, other.isReuseAllowed) + && java.util.Objects.equals(this.isMultiRegionKeyPool, other.isMultiRegionKeyPool) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleStateDetails, other.lifecycleStateDetails) + && java.util.Objects.equals(this.replicationMetadata, other.replicationMetadata) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = + (result * PRIME) + + (this.isReuseAllowed == null ? 43 : this.isReuseAllowed.hashCode()); + result = + (result * PRIME) + + (this.isMultiRegionKeyPool == null + ? 43 + : this.isMultiRegionKeyPool.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.lifecycleStateDetails == null + ? 43 + : this.lifecycleStateDetails.hashCode()); + result = + (result * PRIME) + + (this.replicationMetadata == null + ? 43 + : this.replicationMetadata.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.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()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeySummary.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeySummary.java index 384a37548a1..ed3c3c42d38 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeySummary.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/OracleDbAwsKeySummary.java @@ -28,6 +28,9 @@ public final class OracleDbAwsKeySummary "displayName", "compartmentId", "oracleDbConnectorId", + "oracleDbAwsKeyPoolId", + "isOracleAwsKeyUsed", + "refCount", "awsKeyArn", "awsAccountId", "type", @@ -48,6 +51,9 @@ public OracleDbAwsKeySummary( String displayName, String compartmentId, String oracleDbConnectorId, + String oracleDbAwsKeyPoolId, + Boolean isOracleAwsKeyUsed, + Integer refCount, String awsKeyArn, String awsAccountId, String type, @@ -67,6 +73,9 @@ public OracleDbAwsKeySummary( this.displayName = displayName; this.compartmentId = compartmentId; this.oracleDbConnectorId = oracleDbConnectorId; + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + this.isOracleAwsKeyUsed = isOracleAwsKeyUsed; + this.refCount = refCount; this.awsKeyArn = awsKeyArn; this.awsAccountId = awsAccountId; this.type = type; @@ -157,6 +166,55 @@ public Builder oracleDbConnectorId(String oracleDbConnectorId) { this.__explicitlySet__.add("oracleDbConnectorId"); return this; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleDbAwsKeyPoolId") + private String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + this.__explicitlySet__.add("oracleDbAwsKeyPoolId"); + return this; + } + /** Indicates whether the Oracle AWS Key resource is currently in use. */ + @com.fasterxml.jackson.annotation.JsonProperty("isOracleAwsKeyUsed") + private Boolean isOracleAwsKeyUsed; + + /** + * Indicates whether the Oracle AWS Key resource is currently in use. + * + * @param isOracleAwsKeyUsed the value to set + * @return this builder + */ + public Builder isOracleAwsKeyUsed(Boolean isOracleAwsKeyUsed) { + this.isOracleAwsKeyUsed = isOracleAwsKeyUsed; + this.__explicitlySet__.add("isOracleAwsKeyUsed"); + return this; + } + /** The number of active references to the Oracle AWS Key resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("refCount") + private Integer refCount; + + /** + * The number of active references to the Oracle AWS Key resource. + * + * @param refCount the value to set + * @return this builder + */ + public Builder refCount(Integer refCount) { + this.refCount = refCount; + this.__explicitlySet__.add("refCount"); + return this; + } /** Amazon resource name of AWS Key. */ @com.fasterxml.jackson.annotation.JsonProperty("awsKeyArn") private String awsKeyArn; @@ -411,6 +469,9 @@ public OracleDbAwsKeySummary build() { this.displayName, this.compartmentId, this.oracleDbConnectorId, + this.oracleDbAwsKeyPoolId, + this.isOracleAwsKeyUsed, + this.refCount, this.awsKeyArn, this.awsAccountId, this.type, @@ -445,6 +506,15 @@ public Builder copy(OracleDbAwsKeySummary model) { if (model.wasPropertyExplicitlySet("oracleDbConnectorId")) { this.oracleDbConnectorId(model.getOracleDbConnectorId()); } + if (model.wasPropertyExplicitlySet("oracleDbAwsKeyPoolId")) { + this.oracleDbAwsKeyPoolId(model.getOracleDbAwsKeyPoolId()); + } + if (model.wasPropertyExplicitlySet("isOracleAwsKeyUsed")) { + this.isOracleAwsKeyUsed(model.getIsOracleAwsKeyUsed()); + } + if (model.wasPropertyExplicitlySet("refCount")) { + this.refCount(model.getRefCount()); + } if (model.wasPropertyExplicitlySet("awsKeyArn")) { this.awsKeyArn(model.getAwsKeyArn()); } @@ -564,6 +634,49 @@ public String getOracleDbConnectorId() { return oracleDbConnectorId; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleDbAwsKeyPoolId") + private final String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @return the value + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + + /** Indicates whether the Oracle AWS Key resource is currently in use. */ + @com.fasterxml.jackson.annotation.JsonProperty("isOracleAwsKeyUsed") + private final Boolean isOracleAwsKeyUsed; + + /** + * Indicates whether the Oracle AWS Key resource is currently in use. + * + * @return the value + */ + public Boolean getIsOracleAwsKeyUsed() { + return isOracleAwsKeyUsed; + } + + /** The number of active references to the Oracle AWS Key resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("refCount") + private final Integer refCount; + + /** + * The number of active references to the Oracle AWS Key resource. + * + * @return the value + */ + public Integer getRefCount() { + return refCount; + } + /** Amazon resource name of AWS Key. */ @com.fasterxml.jackson.annotation.JsonProperty("awsKeyArn") private final String awsKeyArn; @@ -793,6 +906,9 @@ public String toString(boolean includeByteArrayContents) { sb.append(", displayName=").append(String.valueOf(this.displayName)); sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(", oracleDbConnectorId=").append(String.valueOf(this.oracleDbConnectorId)); + sb.append(", oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); + sb.append(", isOracleAwsKeyUsed=").append(String.valueOf(this.isOracleAwsKeyUsed)); + sb.append(", refCount=").append(String.valueOf(this.refCount)); sb.append(", awsKeyArn=").append(String.valueOf(this.awsKeyArn)); sb.append(", awsAccountId=").append(String.valueOf(this.awsAccountId)); sb.append(", type=").append(String.valueOf(this.type)); @@ -825,6 +941,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.oracleDbConnectorId, other.oracleDbConnectorId) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) + && java.util.Objects.equals(this.isOracleAwsKeyUsed, other.isOracleAwsKeyUsed) + && java.util.Objects.equals(this.refCount, other.refCount) && java.util.Objects.equals(this.awsKeyArn, other.awsKeyArn) && java.util.Objects.equals(this.awsAccountId, other.awsAccountId) && java.util.Objects.equals(this.type, other.type) @@ -856,6 +975,17 @@ public int hashCode() { + (this.oracleDbConnectorId == null ? 43 : this.oracleDbConnectorId.hashCode()); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); + result = + (result * PRIME) + + (this.isOracleAwsKeyUsed == null + ? 43 + : this.isOracleAwsKeyUsed.hashCode()); + result = (result * PRIME) + (this.refCount == null ? 43 : this.refCount.hashCode()); result = (result * PRIME) + (this.awsKeyArn == null ? 43 : this.awsKeyArn.hashCode()); result = (result * PRIME) + (this.awsAccountId == null ? 43 : this.awsAccountId.hashCode()); result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode()); diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/ReplicateOracleDbAwsKeyPoolDetails.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/ReplicateOracleDbAwsKeyPoolDetails.java new file mode 100644 index 00000000000..5b2443082c2 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/ReplicateOracleDbAwsKeyPoolDetails.java @@ -0,0 +1,178 @@ +/** + * 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.dbmulticloud.model; + +/** + * Details for replicating an Oracle DB AWS key pool resource to another region.
+ * 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: 20240501") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = ReplicateOracleDbAwsKeyPoolDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ReplicateOracleDbAwsKeyPoolDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"targetRegion", "action"}) + public ReplicateOracleDbAwsKeyPoolDetails(String targetRegion, ReplicationActions action) { + super(); + this.targetRegion = targetRegion; + this.action = action; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The destination OCI public region name (e.g., us-phoenix-1 or us-ashburn-1) where the + * Oracle DB AWS Key Pool resource will be replicated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("targetRegion") + private String targetRegion; + + /** + * The destination OCI public region name (e.g., us-phoenix-1 or us-ashburn-1) where the + * Oracle DB AWS Key Pool resource will be replicated. + * + * @param targetRegion the value to set + * @return this builder + */ + public Builder targetRegion(String targetRegion) { + this.targetRegion = targetRegion; + this.__explicitlySet__.add("targetRegion"); + return this; + } + /** The replication action to perform for the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("action") + private ReplicationActions action; + + /** + * The replication action to perform for the Oracle DB AWS key pool resource. + * + * @param action the value to set + * @return this builder + */ + public Builder action(ReplicationActions action) { + this.action = action; + this.__explicitlySet__.add("action"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ReplicateOracleDbAwsKeyPoolDetails build() { + ReplicateOracleDbAwsKeyPoolDetails model = + new ReplicateOracleDbAwsKeyPoolDetails(this.targetRegion, this.action); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ReplicateOracleDbAwsKeyPoolDetails model) { + if (model.wasPropertyExplicitlySet("targetRegion")) { + this.targetRegion(model.getTargetRegion()); + } + if (model.wasPropertyExplicitlySet("action")) { + this.action(model.getAction()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The destination OCI public region name (e.g., us-phoenix-1 or us-ashburn-1) where the Oracle + * DB AWS Key Pool resource will be replicated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("targetRegion") + private final String targetRegion; + + /** + * The destination OCI public region name (e.g., us-phoenix-1 or us-ashburn-1) where the Oracle + * DB AWS Key Pool resource will be replicated. + * + * @return the value + */ + public String getTargetRegion() { + return targetRegion; + } + + /** The replication action to perform for the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("action") + private final ReplicationActions action; + + /** + * The replication action to perform for the Oracle DB AWS key pool resource. + * + * @return the value + */ + public ReplicationActions getAction() { + return action; + } + + @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("ReplicateOracleDbAwsKeyPoolDetails("); + sb.append("super=").append(super.toString()); + sb.append("targetRegion=").append(String.valueOf(this.targetRegion)); + sb.append(", action=").append(String.valueOf(this.action)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ReplicateOracleDbAwsKeyPoolDetails)) { + return false; + } + + ReplicateOracleDbAwsKeyPoolDetails other = (ReplicateOracleDbAwsKeyPoolDetails) o; + return java.util.Objects.equals(this.targetRegion, other.targetRegion) + && java.util.Objects.equals(this.action, other.action) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.targetRegion == null ? 43 : this.targetRegion.hashCode()); + result = (result * PRIME) + (this.action == null ? 43 : this.action.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/UpdateOracleDbAwsKeyDetails.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/UpdateOracleDbAwsKeyDetails.java index 00552ef4e62..55362b20638 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/UpdateOracleDbAwsKeyDetails.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/UpdateOracleDbAwsKeyDetails.java @@ -23,13 +23,20 @@ public final class UpdateOracleDbAwsKeyDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"displayName", "freeformTags", "definedTags"}) + @java.beans.ConstructorProperties({ + "displayName", + "oracleDbAwsKeyPoolId", + "freeformTags", + "definedTags" + }) public UpdateOracleDbAwsKeyDetails( String displayName, + String oracleDbAwsKeyPoolId, java.util.Map freeformTags, java.util.Map> definedTags) { super(); this.displayName = displayName; + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; this.freeformTags = freeformTags; this.definedTags = definedTags; } @@ -51,6 +58,25 @@ public Builder displayName(String displayName) { this.__explicitlySet__.add("displayName"); return this; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleDbAwsKeyPoolId") + private String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + this.__explicitlySet__.add("oracleDbAwsKeyPoolId"); + 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 @@ -109,7 +135,10 @@ public Builder definedTags( public UpdateOracleDbAwsKeyDetails build() { UpdateOracleDbAwsKeyDetails model = new UpdateOracleDbAwsKeyDetails( - this.displayName, this.freeformTags, this.definedTags); + this.displayName, + this.oracleDbAwsKeyPoolId, + this.freeformTags, + this.definedTags); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -121,6 +150,9 @@ public Builder copy(UpdateOracleDbAwsKeyDetails model) { if (model.wasPropertyExplicitlySet("displayName")) { this.displayName(model.getDisplayName()); } + if (model.wasPropertyExplicitlySet("oracleDbAwsKeyPoolId")) { + this.oracleDbAwsKeyPoolId(model.getOracleDbAwsKeyPoolId()); + } if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } @@ -153,6 +185,23 @@ public String getDisplayName() { return displayName; } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleDbAwsKeyPoolId") + private final String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @return the value + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + /** * 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 @@ -215,6 +264,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("UpdateOracleDbAwsKeyDetails("); sb.append("super=").append(super.toString()); sb.append("displayName=").append(String.valueOf(this.displayName)); + sb.append(", oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(")"); @@ -232,6 +282,7 @@ public boolean equals(Object o) { UpdateOracleDbAwsKeyDetails other = (UpdateOracleDbAwsKeyDetails) o; return java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) && super.equals(other); @@ -242,6 +293,11 @@ public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); result = (result * PRIME) + super.hashCode(); diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/UpdateOracleDbAwsKeyPoolDetails.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/UpdateOracleDbAwsKeyPoolDetails.java new file mode 100644 index 00000000000..70b76f78f3d --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/model/UpdateOracleDbAwsKeyPoolDetails.java @@ -0,0 +1,346 @@ +/** + * 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.dbmulticloud.model; + +/** + * Details for updating an Oracle DB AWS key pool resource.
+ * 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: 20240501") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateOracleDbAwsKeyPoolDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateOracleDbAwsKeyPoolDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "displayName", + "isReuseAllowed", + "isMultiRegionKeyPool", + "freeformTags", + "definedTags" + }) + public UpdateOracleDbAwsKeyPoolDetails( + String displayName, + Boolean isReuseAllowed, + Boolean isMultiRegionKeyPool, + java.util.Map freeformTags, + java.util.Map> definedTags) { + super(); + this.displayName = displayName; + this.isReuseAllowed = isReuseAllowed; + this.isMultiRegionKeyPool = isMultiRegionKeyPool; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The display name of the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The display name of the Oracle DB AWS key pool resource. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** Indicates whether AWS KMS keys in this key pool can be reused. */ + @com.fasterxml.jackson.annotation.JsonProperty("isReuseAllowed") + private Boolean isReuseAllowed; + + /** + * Indicates whether AWS KMS keys in this key pool can be reused. + * + * @param isReuseAllowed the value to set + * @return this builder + */ + public Builder isReuseAllowed(Boolean isReuseAllowed) { + this.isReuseAllowed = isReuseAllowed; + this.__explicitlySet__.add("isReuseAllowed"); + return this; + } + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the + * key pool accepts only single-region AWS KMS keys. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isMultiRegionKeyPool") + private Boolean isMultiRegionKeyPool; + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the + * key pool accepts only single-region AWS KMS keys. + * + * @param isMultiRegionKeyPool the value to set + * @return this builder + */ + public Builder isMultiRegionKeyPool(Boolean isMultiRegionKeyPool) { + this.isMultiRegionKeyPool = isMultiRegionKeyPool; + this.__explicitlySet__.add("isMultiRegionKeyPool"); + 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; + } + /** + * 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; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateOracleDbAwsKeyPoolDetails build() { + UpdateOracleDbAwsKeyPoolDetails model = + new UpdateOracleDbAwsKeyPoolDetails( + this.displayName, + this.isReuseAllowed, + this.isMultiRegionKeyPool, + this.freeformTags, + this.definedTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateOracleDbAwsKeyPoolDetails model) { + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("isReuseAllowed")) { + this.isReuseAllowed(model.getIsReuseAllowed()); + } + if (model.wasPropertyExplicitlySet("isMultiRegionKeyPool")) { + this.isMultiRegionKeyPool(model.getIsMultiRegionKeyPool()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The display name of the Oracle DB AWS key pool resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The display name of the Oracle DB AWS key pool resource. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** Indicates whether AWS KMS keys in this key pool can be reused. */ + @com.fasterxml.jackson.annotation.JsonProperty("isReuseAllowed") + private final Boolean isReuseAllowed; + + /** + * Indicates whether AWS KMS keys in this key pool can be reused. + * + * @return the value + */ + public Boolean getIsReuseAllowed() { + return isReuseAllowed; + } + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the key + * pool accepts only single-region AWS KMS keys. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isMultiRegionKeyPool") + private final Boolean isMultiRegionKeyPool; + + /** + * Indicates whether this key pool accepts only multi-region AWS KMS keys. When false, the key + * pool accepts only single-region AWS KMS keys. + * + * @return the value + */ + public Boolean getIsMultiRegionKeyPool() { + return isMultiRegionKeyPool; + } + + /** + * 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; + } + + /** + * 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; + } + + @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("UpdateOracleDbAwsKeyPoolDetails("); + sb.append("super=").append(super.toString()); + sb.append("displayName=").append(String.valueOf(this.displayName)); + sb.append(", isReuseAllowed=").append(String.valueOf(this.isReuseAllowed)); + sb.append(", isMultiRegionKeyPool=").append(String.valueOf(this.isMultiRegionKeyPool)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateOracleDbAwsKeyPoolDetails)) { + return false; + } + + UpdateOracleDbAwsKeyPoolDetails other = (UpdateOracleDbAwsKeyPoolDetails) o; + return java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.isReuseAllowed, other.isReuseAllowed) + && java.util.Objects.equals(this.isMultiRegionKeyPool, other.isMultiRegionKeyPool) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.isReuseAllowed == null ? 43 : this.isReuseAllowed.hashCode()); + result = + (result * PRIME) + + (this.isMultiRegionKeyPool == null + ? 43 + : this.isMultiRegionKeyPool.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ChangeOracleDbAwsKeyPoolCompartmentRequest.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ChangeOracleDbAwsKeyPoolCompartmentRequest.java new file mode 100644 index 00000000000..bffffd71ff4 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ChangeOracleDbAwsKeyPoolCompartmentRequest.java @@ -0,0 +1,392 @@ +/** + * 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.dbmulticloud.requests; + +import com.oracle.bmc.dbmulticloud.model.*; +/** + * Example: Click here to see how to use + * ChangeOracleDbAwsKeyPoolCompartmentRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class ChangeOracleDbAwsKeyPoolCompartmentRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails> { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + /** Moves the AWS Key Pool resource into a different compartment. */ + private com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails + changeOracleDbAwsKeyPoolCompartmentDetails; + + /** Moves the AWS Key Pool resource into a different compartment. */ + public com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails + getChangeOracleDbAwsKeyPoolCompartmentDetails() { + return changeOracleDbAwsKeyPoolCompartmentDetails; + } + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event of + * a timeout or server error without the risk of the action being executed more than once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting operations + * occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event of + * a timeout or server error without the risk of the action being executed more than once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting operations + * occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** + * 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; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails getBody$() { + return changeOracleDbAwsKeyPoolCompartmentDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ChangeOracleDbAwsKeyPoolCompartmentRequest, + com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails> { + 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 + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder instance + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + return this; + } + + /** Moves the AWS Key Pool resource into a different compartment. */ + private com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails + changeOracleDbAwsKeyPoolCompartmentDetails = null; + + /** + * Moves the AWS Key Pool resource into a different compartment. + * + * @param changeOracleDbAwsKeyPoolCompartmentDetails the value to set + * @return this builder instance + */ + public Builder changeOracleDbAwsKeyPoolCompartmentDetails( + com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails + changeOracleDbAwsKeyPoolCompartmentDetails) { + this.changeOracleDbAwsKeyPoolCompartmentDetails = + changeOracleDbAwsKeyPoolCompartmentDetails; + return this; + } + + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event + * of a timeout or server error without the risk of the action being executed more than + * once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting + * operations occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event + * of a timeout or server error without the risk of the action being executed more than + * once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting + * operations occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + 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; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(ChangeOracleDbAwsKeyPoolCompartmentRequest o) { + oracleDbAwsKeyPoolId(o.getOracleDbAwsKeyPoolId()); + changeOracleDbAwsKeyPoolCompartmentDetails( + o.getChangeOracleDbAwsKeyPoolCompartmentDetails()); + opcRetryToken(o.getOpcRetryToken()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ChangeOracleDbAwsKeyPoolCompartmentRequest 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 ChangeOracleDbAwsKeyPoolCompartmentRequest + */ + public ChangeOracleDbAwsKeyPoolCompartmentRequest build() { + ChangeOracleDbAwsKeyPoolCompartmentRequest 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.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails body) { + changeOracleDbAwsKeyPoolCompartmentDetails(body); + return this; + } + + /** + * Build the instance of ChangeOracleDbAwsKeyPoolCompartmentRequest 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 ChangeOracleDbAwsKeyPoolCompartmentRequest + */ + public ChangeOracleDbAwsKeyPoolCompartmentRequest buildWithoutInvocationCallback() { + ChangeOracleDbAwsKeyPoolCompartmentRequest request = + new ChangeOracleDbAwsKeyPoolCompartmentRequest(); + request.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + request.changeOracleDbAwsKeyPoolCompartmentDetails = + changeOracleDbAwsKeyPoolCompartmentDetails; + request.opcRetryToken = opcRetryToken; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new ChangeOracleDbAwsKeyPoolCompartmentRequest(oracleDbAwsKeyPoolId, + // changeOracleDbAwsKeyPoolCompartmentDetails, opcRetryToken, ifMatch, opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .oracleDbAwsKeyPoolId(oracleDbAwsKeyPoolId) + .changeOracleDbAwsKeyPoolCompartmentDetails( + changeOracleDbAwsKeyPoolCompartmentDetails) + .opcRetryToken(opcRetryToken) + .ifMatch(ifMatch) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); + sb.append(",changeOracleDbAwsKeyPoolCompartmentDetails=") + .append(String.valueOf(this.changeOracleDbAwsKeyPoolCompartmentDetails)); + sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ChangeOracleDbAwsKeyPoolCompartmentRequest)) { + return false; + } + + ChangeOracleDbAwsKeyPoolCompartmentRequest other = + (ChangeOracleDbAwsKeyPoolCompartmentRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) + && java.util.Objects.equals( + this.changeOracleDbAwsKeyPoolCompartmentDetails, + other.changeOracleDbAwsKeyPoolCompartmentDetails) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken) + && java.util.Objects.equals(this.ifMatch, other.ifMatch) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); + result = + (result * PRIME) + + (this.changeOracleDbAwsKeyPoolCompartmentDetails == null + ? 43 + : this.changeOracleDbAwsKeyPoolCompartmentDetails.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/CreateOracleDbAwsKeyPoolRequest.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/CreateOracleDbAwsKeyPoolRequest.java new file mode 100644 index 00000000000..e4935a9c222 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/CreateOracleDbAwsKeyPoolRequest.java @@ -0,0 +1,297 @@ +/** + * 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.dbmulticloud.requests; + +import com.oracle.bmc.dbmulticloud.model.*; +/** + * Example: Click here to see how to use + * CreateOracleDbAwsKeyPoolRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class CreateOracleDbAwsKeyPoolRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails> { + + /** Details to create AWS Key Pool details. */ + private com.oracle.bmc.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails + createOracleDbAwsKeyPoolDetails; + + /** Details to create AWS Key Pool details. */ + public com.oracle.bmc.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails + getCreateOracleDbAwsKeyPoolDetails() { + return createOracleDbAwsKeyPoolDetails; + } + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event of + * a timeout or server error without the risk of the action being executed more than once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting operations + * occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event of + * a timeout or server error without the risk of the action being executed more than once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting operations + * occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails getBody$() { + return createOracleDbAwsKeyPoolDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + CreateOracleDbAwsKeyPoolRequest, + com.oracle.bmc.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** Details to create AWS Key Pool details. */ + private com.oracle.bmc.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails + createOracleDbAwsKeyPoolDetails = null; + + /** + * Details to create AWS Key Pool details. + * + * @param createOracleDbAwsKeyPoolDetails the value to set + * @return this builder instance + */ + public Builder createOracleDbAwsKeyPoolDetails( + com.oracle.bmc.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails + createOracleDbAwsKeyPoolDetails) { + this.createOracleDbAwsKeyPoolDetails = createOracleDbAwsKeyPoolDetails; + return this; + } + + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event + * of a timeout or server error without the risk of the action being executed more than + * once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting + * operations occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event + * of a timeout or server error without the risk of the action being executed more than + * once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting + * operations occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(CreateOracleDbAwsKeyPoolRequest o) { + createOracleDbAwsKeyPoolDetails(o.getCreateOracleDbAwsKeyPoolDetails()); + opcRetryToken(o.getOpcRetryToken()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of CreateOracleDbAwsKeyPoolRequest 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 CreateOracleDbAwsKeyPoolRequest + */ + public CreateOracleDbAwsKeyPoolRequest build() { + CreateOracleDbAwsKeyPoolRequest 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.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails body) { + createOracleDbAwsKeyPoolDetails(body); + return this; + } + + /** + * Build the instance of CreateOracleDbAwsKeyPoolRequest 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 CreateOracleDbAwsKeyPoolRequest + */ + public CreateOracleDbAwsKeyPoolRequest buildWithoutInvocationCallback() { + CreateOracleDbAwsKeyPoolRequest request = new CreateOracleDbAwsKeyPoolRequest(); + request.createOracleDbAwsKeyPoolDetails = createOracleDbAwsKeyPoolDetails; + request.opcRetryToken = opcRetryToken; + request.opcRequestId = opcRequestId; + return request; + // new CreateOracleDbAwsKeyPoolRequest(createOracleDbAwsKeyPoolDetails, opcRetryToken, + // opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .createOracleDbAwsKeyPoolDetails(createOracleDbAwsKeyPoolDetails) + .opcRetryToken(opcRetryToken) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",createOracleDbAwsKeyPoolDetails=") + .append(String.valueOf(this.createOracleDbAwsKeyPoolDetails)); + sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateOracleDbAwsKeyPoolRequest)) { + return false; + } + + CreateOracleDbAwsKeyPoolRequest other = (CreateOracleDbAwsKeyPoolRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.createOracleDbAwsKeyPoolDetails, other.createOracleDbAwsKeyPoolDetails) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.createOracleDbAwsKeyPoolDetails == null + ? 43 + : this.createOracleDbAwsKeyPoolDetails.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/DeleteOracleDbAwsKeyPoolRequest.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/DeleteOracleDbAwsKeyPoolRequest.java new file mode 100644 index 00000000000..656d80b5c63 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/DeleteOracleDbAwsKeyPoolRequest.java @@ -0,0 +1,253 @@ +/** + * 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.dbmulticloud.requests; + +import com.oracle.bmc.dbmulticloud.model.*; +/** + * Example: Click here to see how to use + * DeleteOracleDbAwsKeyPoolRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class DeleteOracleDbAwsKeyPoolRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + /** + * 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; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + DeleteOracleDbAwsKeyPoolRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder instance + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + 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; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(DeleteOracleDbAwsKeyPoolRequest o) { + oracleDbAwsKeyPoolId(o.getOracleDbAwsKeyPoolId()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of DeleteOracleDbAwsKeyPoolRequest 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 DeleteOracleDbAwsKeyPoolRequest + */ + public DeleteOracleDbAwsKeyPoolRequest build() { + DeleteOracleDbAwsKeyPoolRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of DeleteOracleDbAwsKeyPoolRequest 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 DeleteOracleDbAwsKeyPoolRequest + */ + public DeleteOracleDbAwsKeyPoolRequest buildWithoutInvocationCallback() { + DeleteOracleDbAwsKeyPoolRequest request = new DeleteOracleDbAwsKeyPoolRequest(); + request.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new DeleteOracleDbAwsKeyPoolRequest(oracleDbAwsKeyPoolId, ifMatch, opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .oracleDbAwsKeyPoolId(oracleDbAwsKeyPoolId) + .ifMatch(ifMatch) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DeleteOracleDbAwsKeyPoolRequest)) { + return false; + } + + DeleteOracleDbAwsKeyPoolRequest other = (DeleteOracleDbAwsKeyPoolRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) + && java.util.Objects.equals(this.ifMatch, other.ifMatch) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/GetOracleDbAwsKeyPoolRequest.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/GetOracleDbAwsKeyPoolRequest.java new file mode 100644 index 00000000000..5ca794b7182 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/GetOracleDbAwsKeyPoolRequest.java @@ -0,0 +1,206 @@ +/** + * 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.dbmulticloud.requests; + +import com.oracle.bmc.dbmulticloud.model.*; +/** + * Example: Click here to see how to use + * GetOracleDbAwsKeyPoolRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class GetOracleDbAwsKeyPoolRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + GetOracleDbAwsKeyPoolRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder instance + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(GetOracleDbAwsKeyPoolRequest o) { + oracleDbAwsKeyPoolId(o.getOracleDbAwsKeyPoolId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetOracleDbAwsKeyPoolRequest 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 GetOracleDbAwsKeyPoolRequest + */ + public GetOracleDbAwsKeyPoolRequest build() { + GetOracleDbAwsKeyPoolRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetOracleDbAwsKeyPoolRequest 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 GetOracleDbAwsKeyPoolRequest + */ + public GetOracleDbAwsKeyPoolRequest buildWithoutInvocationCallback() { + GetOracleDbAwsKeyPoolRequest request = new GetOracleDbAwsKeyPoolRequest(); + request.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + request.opcRequestId = opcRequestId; + return request; + // new GetOracleDbAwsKeyPoolRequest(oracleDbAwsKeyPoolId, opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder().oracleDbAwsKeyPoolId(oracleDbAwsKeyPoolId).opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetOracleDbAwsKeyPoolRequest)) { + return false; + } + + GetOracleDbAwsKeyPoolRequest other = (GetOracleDbAwsKeyPoolRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ListOracleDbAwsKeyPoolsRequest.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ListOracleDbAwsKeyPoolsRequest.java new file mode 100644 index 00000000000..24f8eac30ee --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ListOracleDbAwsKeyPoolsRequest.java @@ -0,0 +1,487 @@ +/** + * 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.dbmulticloud.requests; + +import com.oracle.bmc.dbmulticloud.model.*; +/** + * Example: Click here to see how to use + * ListOracleDbAwsKeyPoolsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class ListOracleDbAwsKeyPoolsRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [ID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + private String compartmentId; + + /** + * The [ID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + public String getCompartmentId() { + return compartmentId; + } + /** A filter to return Oracle DB AWS Key Pool Resource that match the given display name. */ + private String displayName; + + /** A filter to return Oracle DB AWS Key Pool Resource that match the given display name. */ + public String getDisplayName() { + return displayName; + } + /** + * A filter to return only resources that match the given + * OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId; + + /** + * A filter to return only resources that match the given + * OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB AWS Key Pool resource. + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + /** + * A filter to return only resources that match the given lifecycle state. The state value is + * case-insensitive. + */ + private com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.LifecycleState lifecycleState; + + /** + * A filter to return only resources that match the given lifecycle state. The state value is + * case-insensitive. + */ + public com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.LifecycleState getLifecycleState() { + return lifecycleState; + } + /** The maximum number of items to return. */ + private Integer limit; + + /** The maximum number of items to return. */ + public Integer getLimit() { + return limit; + } + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + private String page; + + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + public String getPage() { + return page; + } + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.dbmulticloud.model.SortOrder sortOrder; + + /** The sort order to use, either 'asc' or 'desc'. */ + public com.oracle.bmc.dbmulticloud.model.SortOrder getSortOrder() { + return sortOrder; + } + /** + * The field to sort by. Only one sort order may be provided. Default order for timeCreated is + * descending. Default order for displayName is ascending. If no value is specified, default is + * timeCreated. + */ + private SortBy sortBy; + + /** + * The field to sort by. Only one sort order may be provided. Default order for timeCreated is + * descending. Default order for displayName is ascending. If no value is specified, default is + * timeCreated. + */ + public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum { + TimeCreated("timeCreated"), + DisplayName("displayName"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortBy v : SortBy.values()) { + map.put(v.getValue(), v); + } + } + + SortBy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortBy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortBy: " + key); + } + }; + + /** + * The field to sort by. Only one sort order may be provided. Default order for timeCreated is + * descending. Default order for displayName is ascending. If no value is specified, default is + * timeCreated. + */ + public SortBy getSortBy() { + return sortBy; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListOracleDbAwsKeyPoolsRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The [ID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + private String compartmentId = null; + + /** + * The [ID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** A filter to return Oracle DB AWS Key Pool Resource that match the given display name. */ + private String displayName = null; + + /** + * A filter to return Oracle DB AWS Key Pool Resource that match the given display name. + * + * @param displayName the value to set + * @return this builder instance + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * A filter to return only resources that match the given + * OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId = null; + + /** + * A filter to return only resources that match the given + * OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder instance + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + return this; + } + + /** + * A filter to return only resources that match the given lifecycle state. The state value + * is case-insensitive. + */ + private com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.LifecycleState lifecycleState = + null; + + /** + * A filter to return only resources that match the given lifecycle state. The state value + * is case-insensitive. + * + * @param lifecycleState the value to set + * @return this builder instance + */ + public Builder lifecycleState( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool.LifecycleState + lifecycleState) { + this.lifecycleState = lifecycleState; + return this; + } + + /** The maximum number of items to return. */ + private Integer limit = null; + + /** + * The maximum number of items to return. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + */ + private String page = null; + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.dbmulticloud.model.SortOrder sortOrder = null; + + /** + * The sort order to use, either 'asc' or 'desc'. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(com.oracle.bmc.dbmulticloud.model.SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * The field to sort by. Only one sort order may be provided. Default order for timeCreated + * is descending. Default order for displayName is ascending. If no value is specified, + * default is timeCreated. + */ + private SortBy sortBy = null; + + /** + * The field to sort by. Only one sort order may be provided. Default order for timeCreated + * is descending. Default order for displayName is ascending. If no value is specified, + * default is timeCreated. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(SortBy sortBy) { + this.sortBy = sortBy; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(ListOracleDbAwsKeyPoolsRequest o) { + compartmentId(o.getCompartmentId()); + displayName(o.getDisplayName()); + oracleDbAwsKeyPoolId(o.getOracleDbAwsKeyPoolId()); + lifecycleState(o.getLifecycleState()); + limit(o.getLimit()); + page(o.getPage()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListOracleDbAwsKeyPoolsRequest 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 ListOracleDbAwsKeyPoolsRequest + */ + public ListOracleDbAwsKeyPoolsRequest build() { + ListOracleDbAwsKeyPoolsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListOracleDbAwsKeyPoolsRequest 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 ListOracleDbAwsKeyPoolsRequest + */ + public ListOracleDbAwsKeyPoolsRequest buildWithoutInvocationCallback() { + ListOracleDbAwsKeyPoolsRequest request = new ListOracleDbAwsKeyPoolsRequest(); + request.compartmentId = compartmentId; + request.displayName = displayName; + request.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + request.lifecycleState = lifecycleState; + request.limit = limit; + request.page = page; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.opcRequestId = opcRequestId; + return request; + // new ListOracleDbAwsKeyPoolsRequest(compartmentId, displayName, oracleDbAwsKeyPoolId, + // lifecycleState, limit, page, sortOrder, sortBy, opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .compartmentId(compartmentId) + .displayName(displayName) + .oracleDbAwsKeyPoolId(oracleDbAwsKeyPoolId) + .lifecycleState(lifecycleState) + .limit(limit) + .page(page) + .sortOrder(sortOrder) + .sortBy(sortBy) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(",displayName=").append(String.valueOf(this.displayName)); + sb.append(",oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); + sb.append(",lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(",limit=").append(String.valueOf(this.limit)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListOracleDbAwsKeyPoolsRequest)) { + return false; + } + + ListOracleDbAwsKeyPoolsRequest other = (ListOracleDbAwsKeyPoolsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ListOracleDbAwsKeysRequest.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ListOracleDbAwsKeysRequest.java index 10f823e3963..7c45f9001e8 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ListOracleDbAwsKeysRequest.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ListOracleDbAwsKeysRequest.java @@ -74,6 +74,19 @@ public com.oracle.bmc.dbmulticloud.model.OracleDbAwsKey.LifecycleState getLifecy public String getOracleDbAwsConnectorId() { return oracleDbAwsConnectorId; } + /** + * A filter to return only resources that match the given + * OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId; + + /** + * A filter to return only resources that match the given + * OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB AWS Key Pool resource. + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } /** The maximum number of items to return. */ private Integer limit; @@ -258,6 +271,24 @@ public Builder oracleDbAwsConnectorId(String oracleDbAwsConnectorId) { return this; } + /** + * A filter to return only resources that match the given + * OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId = null; + + /** + * A filter to return only resources that match the given + * OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder instance + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + return this; + } + /** The maximum number of items to return. */ private Integer limit = null; @@ -373,6 +404,7 @@ public Builder copy(ListOracleDbAwsKeysRequest o) { oracleDbAwsKeyId(o.getOracleDbAwsKeyId()); lifecycleState(o.getLifecycleState()); oracleDbAwsConnectorId(o.getOracleDbAwsConnectorId()); + oracleDbAwsKeyPoolId(o.getOracleDbAwsKeyPoolId()); limit(o.getLimit()); page(o.getPage()); sortOrder(o.getSortOrder()); @@ -417,6 +449,7 @@ public ListOracleDbAwsKeysRequest buildWithoutInvocationCallback() { request.oracleDbAwsKeyId = oracleDbAwsKeyId; request.lifecycleState = lifecycleState; request.oracleDbAwsConnectorId = oracleDbAwsConnectorId; + request.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; request.limit = limit; request.page = page; request.sortOrder = sortOrder; @@ -424,8 +457,8 @@ public ListOracleDbAwsKeysRequest buildWithoutInvocationCallback() { request.opcRequestId = opcRequestId; return request; // new ListOracleDbAwsKeysRequest(compartmentId, displayName, oracleDbAwsKeyId, - // lifecycleState, oracleDbAwsConnectorId, limit, page, sortOrder, sortBy, - // opcRequestId); + // lifecycleState, oracleDbAwsConnectorId, oracleDbAwsKeyPoolId, limit, page, sortOrder, + // sortBy, opcRequestId); } } @@ -441,6 +474,7 @@ public Builder toBuilder() { .oracleDbAwsKeyId(oracleDbAwsKeyId) .lifecycleState(lifecycleState) .oracleDbAwsConnectorId(oracleDbAwsConnectorId) + .oracleDbAwsKeyPoolId(oracleDbAwsKeyPoolId) .limit(limit) .page(page) .sortOrder(sortOrder) @@ -467,6 +501,7 @@ public String toString() { sb.append(",oracleDbAwsKeyId=").append(String.valueOf(this.oracleDbAwsKeyId)); sb.append(",lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(",oracleDbAwsConnectorId=").append(String.valueOf(this.oracleDbAwsConnectorId)); + sb.append(",oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); sb.append(",limit=").append(String.valueOf(this.limit)); sb.append(",page=").append(String.valueOf(this.page)); sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); @@ -493,6 +528,7 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals( this.oracleDbAwsConnectorId, other.oracleDbAwsConnectorId) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) && java.util.Objects.equals(this.limit, other.limit) && java.util.Objects.equals(this.page, other.page) && java.util.Objects.equals(this.sortOrder, other.sortOrder) @@ -519,6 +555,11 @@ public int hashCode() { + (this.oracleDbAwsConnectorId == null ? 43 : this.oracleDbAwsConnectorId.hashCode()); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ReplicateOracleDbAwsKeyPoolRequest.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ReplicateOracleDbAwsKeyPoolRequest.java new file mode 100644 index 00000000000..7549419eef4 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/ReplicateOracleDbAwsKeyPoolRequest.java @@ -0,0 +1,384 @@ +/** + * 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.dbmulticloud.requests; + +import com.oracle.bmc.dbmulticloud.model.*; +/** + * Example: Click here to see how to use + * ReplicateOracleDbAwsKeyPoolRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class ReplicateOracleDbAwsKeyPoolRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails> { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + /** Details for to replicate Oracle DB AWS Key to target region. */ + private com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails + replicateOracleDbAwsKeyPoolDetails; + + /** Details for to replicate Oracle DB AWS Key to target region. */ + public com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails + getReplicateOracleDbAwsKeyPoolDetails() { + return replicateOracleDbAwsKeyPoolDetails; + } + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event of + * a timeout or server error without the risk of the action being executed more than once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting operations + * occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event of + * a timeout or server error without the risk of the action being executed more than once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting operations + * occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** + * 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; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails getBody$() { + return replicateOracleDbAwsKeyPoolDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ReplicateOracleDbAwsKeyPoolRequest, + com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails> { + 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 + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder instance + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + return this; + } + + /** Details for to replicate Oracle DB AWS Key to target region. */ + private com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails + replicateOracleDbAwsKeyPoolDetails = null; + + /** + * Details for to replicate Oracle DB AWS Key to target region. + * + * @param replicateOracleDbAwsKeyPoolDetails the value to set + * @return this builder instance + */ + public Builder replicateOracleDbAwsKeyPoolDetails( + com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails + replicateOracleDbAwsKeyPoolDetails) { + this.replicateOracleDbAwsKeyPoolDetails = replicateOracleDbAwsKeyPoolDetails; + return this; + } + + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event + * of a timeout or server error without the risk of the action being executed more than + * once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting + * operations occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request, allowing it to be safely retried in the event + * of a timeout or server error without the risk of the action being executed more than + * once. + * + *

Retry tokens expire after 24 hours but can be invalidated sooner if conflicting + * operations occur. + * + *

For example, if a resource has been deleted and permanently purged from the system, a + * retry of the original creation request may be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + 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; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(ReplicateOracleDbAwsKeyPoolRequest o) { + oracleDbAwsKeyPoolId(o.getOracleDbAwsKeyPoolId()); + replicateOracleDbAwsKeyPoolDetails(o.getReplicateOracleDbAwsKeyPoolDetails()); + opcRetryToken(o.getOpcRetryToken()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ReplicateOracleDbAwsKeyPoolRequest 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 ReplicateOracleDbAwsKeyPoolRequest + */ + public ReplicateOracleDbAwsKeyPoolRequest build() { + ReplicateOracleDbAwsKeyPoolRequest 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.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails body) { + replicateOracleDbAwsKeyPoolDetails(body); + return this; + } + + /** + * Build the instance of ReplicateOracleDbAwsKeyPoolRequest 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 ReplicateOracleDbAwsKeyPoolRequest + */ + public ReplicateOracleDbAwsKeyPoolRequest buildWithoutInvocationCallback() { + ReplicateOracleDbAwsKeyPoolRequest request = new ReplicateOracleDbAwsKeyPoolRequest(); + request.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + request.replicateOracleDbAwsKeyPoolDetails = replicateOracleDbAwsKeyPoolDetails; + request.opcRetryToken = opcRetryToken; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new ReplicateOracleDbAwsKeyPoolRequest(oracleDbAwsKeyPoolId, + // replicateOracleDbAwsKeyPoolDetails, opcRetryToken, ifMatch, opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .oracleDbAwsKeyPoolId(oracleDbAwsKeyPoolId) + .replicateOracleDbAwsKeyPoolDetails(replicateOracleDbAwsKeyPoolDetails) + .opcRetryToken(opcRetryToken) + .ifMatch(ifMatch) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); + sb.append(",replicateOracleDbAwsKeyPoolDetails=") + .append(String.valueOf(this.replicateOracleDbAwsKeyPoolDetails)); + sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ReplicateOracleDbAwsKeyPoolRequest)) { + return false; + } + + ReplicateOracleDbAwsKeyPoolRequest other = (ReplicateOracleDbAwsKeyPoolRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) + && java.util.Objects.equals( + this.replicateOracleDbAwsKeyPoolDetails, + other.replicateOracleDbAwsKeyPoolDetails) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken) + && java.util.Objects.equals(this.ifMatch, other.ifMatch) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); + result = + (result * PRIME) + + (this.replicateOracleDbAwsKeyPoolDetails == null + ? 43 + : this.replicateOracleDbAwsKeyPoolDetails.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/UpdateOracleDbAwsKeyPoolRequest.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/UpdateOracleDbAwsKeyPoolRequest.java new file mode 100644 index 00000000000..bbd4ea1c8ad --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/UpdateOracleDbAwsKeyPoolRequest.java @@ -0,0 +1,318 @@ +/** + * 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.dbmulticloud.requests; + +import com.oracle.bmc.dbmulticloud.model.*; +/** + * Example: Click here to see how to use + * UpdateOracleDbAwsKeyPoolRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class UpdateOracleDbAwsKeyPoolRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails> { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + */ + public String getOracleDbAwsKeyPoolId() { + return oracleDbAwsKeyPoolId; + } + /** Details for to update OracleDbAwsKeyPool. */ + private com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails + updateOracleDbAwsKeyPoolDetails; + + /** Details for to update OracleDbAwsKeyPool. */ + public com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails + getUpdateOracleDbAwsKeyPoolDetails() { + return updateOracleDbAwsKeyPoolDetails; + } + /** + * 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; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails getBody$() { + return updateOracleDbAwsKeyPoolDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + UpdateOracleDbAwsKeyPoolRequest, + com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails> { + 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 + * Oracle DB AWS Key Pool resource. + */ + private String oracleDbAwsKeyPoolId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Oracle DB AWS Key Pool resource. + * + * @param oracleDbAwsKeyPoolId the value to set + * @return this builder instance + */ + public Builder oracleDbAwsKeyPoolId(String oracleDbAwsKeyPoolId) { + this.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + return this; + } + + /** Details for to update OracleDbAwsKeyPool. */ + private com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails + updateOracleDbAwsKeyPoolDetails = null; + + /** + * Details for to update OracleDbAwsKeyPool. + * + * @param updateOracleDbAwsKeyPoolDetails the value to set + * @return this builder instance + */ + public Builder updateOracleDbAwsKeyPoolDetails( + com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails + updateOracleDbAwsKeyPoolDetails) { + this.updateOracleDbAwsKeyPoolDetails = updateOracleDbAwsKeyPoolDetails; + 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; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(UpdateOracleDbAwsKeyPoolRequest o) { + oracleDbAwsKeyPoolId(o.getOracleDbAwsKeyPoolId()); + updateOracleDbAwsKeyPoolDetails(o.getUpdateOracleDbAwsKeyPoolDetails()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of UpdateOracleDbAwsKeyPoolRequest 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 UpdateOracleDbAwsKeyPoolRequest + */ + public UpdateOracleDbAwsKeyPoolRequest build() { + UpdateOracleDbAwsKeyPoolRequest 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.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails body) { + updateOracleDbAwsKeyPoolDetails(body); + return this; + } + + /** + * Build the instance of UpdateOracleDbAwsKeyPoolRequest 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 UpdateOracleDbAwsKeyPoolRequest + */ + public UpdateOracleDbAwsKeyPoolRequest buildWithoutInvocationCallback() { + UpdateOracleDbAwsKeyPoolRequest request = new UpdateOracleDbAwsKeyPoolRequest(); + request.oracleDbAwsKeyPoolId = oracleDbAwsKeyPoolId; + request.updateOracleDbAwsKeyPoolDetails = updateOracleDbAwsKeyPoolDetails; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new UpdateOracleDbAwsKeyPoolRequest(oracleDbAwsKeyPoolId, + // updateOracleDbAwsKeyPoolDetails, ifMatch, opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .oracleDbAwsKeyPoolId(oracleDbAwsKeyPoolId) + .updateOracleDbAwsKeyPoolDetails(updateOracleDbAwsKeyPoolDetails) + .ifMatch(ifMatch) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",oracleDbAwsKeyPoolId=").append(String.valueOf(this.oracleDbAwsKeyPoolId)); + sb.append(",updateOracleDbAwsKeyPoolDetails=") + .append(String.valueOf(this.updateOracleDbAwsKeyPoolDetails)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateOracleDbAwsKeyPoolRequest)) { + return false; + } + + UpdateOracleDbAwsKeyPoolRequest other = (UpdateOracleDbAwsKeyPoolRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.oracleDbAwsKeyPoolId, other.oracleDbAwsKeyPoolId) + && java.util.Objects.equals( + this.updateOracleDbAwsKeyPoolDetails, other.updateOracleDbAwsKeyPoolDetails) + && java.util.Objects.equals(this.ifMatch, other.ifMatch) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolId == null + ? 43 + : this.oracleDbAwsKeyPoolId.hashCode()); + result = + (result * PRIME) + + (this.updateOracleDbAwsKeyPoolDetails == null + ? 43 + : this.updateOracleDbAwsKeyPoolDetails.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/UpdateOracleDbAwsKeyRequest.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/UpdateOracleDbAwsKeyRequest.java index 7ca34d5df5c..9846abe955b 100644 --- a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/UpdateOracleDbAwsKeyRequest.java +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/requests/UpdateOracleDbAwsKeyRequest.java @@ -61,6 +61,19 @@ public String getIfMatch() { public String getOpcRequestId() { return opcRequestId; } + /** + * If true, removes the key from its key pool even when it is currently in use; otherwise the + * request is rejected. + */ + private Boolean isForceDeleteFromKeyPool; + + /** + * If true, removes the key from its key pool even when it is currently in use; otherwise the + * request is rejected. + */ + public Boolean getIsForceDeleteFromKeyPool() { + return isForceDeleteFromKeyPool; + } /** * Alternative accessor for the body parameter. @@ -151,6 +164,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * If true, removes the key from its key pool even when it is currently in use; otherwise + * the request is rejected. + */ + private Boolean isForceDeleteFromKeyPool = null; + + /** + * If true, removes the key from its key pool even when it is currently in use; otherwise + * the request is rejected. + * + * @param isForceDeleteFromKeyPool the value to set + * @return this builder instance + */ + public Builder isForceDeleteFromKeyPool(Boolean isForceDeleteFromKeyPool) { + this.isForceDeleteFromKeyPool = isForceDeleteFromKeyPool; + return this; + } + /** * Set the invocation callback for the request to be built. * @@ -185,6 +216,7 @@ public Builder copy(UpdateOracleDbAwsKeyRequest o) { updateOracleDbAwsKeyDetails(o.getUpdateOracleDbAwsKeyDetails()); ifMatch(o.getIfMatch()); opcRequestId(o.getOpcRequestId()); + isForceDeleteFromKeyPool(o.getIsForceDeleteFromKeyPool()); invocationCallback(o.getInvocationCallback()); retryConfiguration(o.getRetryConfiguration()); return this; @@ -235,9 +267,10 @@ public UpdateOracleDbAwsKeyRequest buildWithoutInvocationCallback() { request.updateOracleDbAwsKeyDetails = updateOracleDbAwsKeyDetails; request.ifMatch = ifMatch; request.opcRequestId = opcRequestId; + request.isForceDeleteFromKeyPool = isForceDeleteFromKeyPool; return request; // new UpdateOracleDbAwsKeyRequest(oracleDbAwsKeyId, updateOracleDbAwsKeyDetails, - // ifMatch, opcRequestId); + // ifMatch, opcRequestId, isForceDeleteFromKeyPool); } } @@ -251,7 +284,8 @@ public Builder toBuilder() { .oracleDbAwsKeyId(oracleDbAwsKeyId) .updateOracleDbAwsKeyDetails(updateOracleDbAwsKeyDetails) .ifMatch(ifMatch) - .opcRequestId(opcRequestId); + .opcRequestId(opcRequestId) + .isForceDeleteFromKeyPool(isForceDeleteFromKeyPool); } /** @@ -273,6 +307,8 @@ public String toString() { .append(String.valueOf(this.updateOracleDbAwsKeyDetails)); sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",isForceDeleteFromKeyPool=") + .append(String.valueOf(this.isForceDeleteFromKeyPool)); sb.append(")"); return sb.toString(); } @@ -292,7 +328,9 @@ public boolean equals(Object o) { && java.util.Objects.equals( this.updateOracleDbAwsKeyDetails, other.updateOracleDbAwsKeyDetails) && java.util.Objects.equals(this.ifMatch, other.ifMatch) - && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals( + this.isForceDeleteFromKeyPool, other.isForceDeleteFromKeyPool); } @Override @@ -309,6 +347,11 @@ public int hashCode() { : this.updateOracleDbAwsKeyDetails.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.isForceDeleteFromKeyPool == null + ? 43 + : this.isForceDeleteFromKeyPool.hashCode()); return result; } } diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/ChangeOracleDbAwsKeyPoolCompartmentResponse.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/ChangeOracleDbAwsKeyPoolCompartmentResponse.java new file mode 100644 index 00000000000..d0ce2cd8c53 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/ChangeOracleDbAwsKeyPoolCompartmentResponse.java @@ -0,0 +1,192 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.dbmulticloud.responses; + +import com.oracle.bmc.dbmulticloud.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class ChangeOracleDbAwsKeyPoolCompartmentResponse + extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * 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; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcWorkRequestId" + }) + private ChangeOracleDbAwsKeyPoolCompartmentResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcWorkRequestId) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ChangeOracleDbAwsKeyPoolCompartmentResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * 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; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ChangeOracleDbAwsKeyPoolCompartmentResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ChangeOracleDbAwsKeyPoolCompartmentResponse build() { + return new ChangeOracleDbAwsKeyPoolCompartmentResponse( + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ChangeOracleDbAwsKeyPoolCompartmentResponse)) { + return false; + } + + ChangeOracleDbAwsKeyPoolCompartmentResponse other = + (ChangeOracleDbAwsKeyPoolCompartmentResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/CreateOracleDbAwsKeyPoolResponse.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/CreateOracleDbAwsKeyPoolResponse.java new file mode 100644 index 00000000000..cb91f74ed76 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/CreateOracleDbAwsKeyPoolResponse.java @@ -0,0 +1,336 @@ +/** + * 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.dbmulticloud.responses; + +import com.oracle.bmc.dbmulticloud.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class CreateOracleDbAwsKeyPoolResponse 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; + } + + /** URI of the resource */ + private String location; + + /** + * URI of the resource + * + * @return the value + */ + public String getLocation() { + return location; + } + + /** URI of the resource */ + private String contentLocation; + + /** + * URI of the resource + * + * @return the value + */ + public String getContentLocation() { + return contentLocation; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code OracleDbAwsKeyPool} instance. */ + private com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool oracleDbAwsKeyPool; + + /** + * The returned {@code OracleDbAwsKeyPool} instance. + * + * @return the value + */ + public com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool getOracleDbAwsKeyPool() { + return oracleDbAwsKeyPool; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcWorkRequestId", + "opcRequestId", + "location", + "contentLocation", + "etag", + "oracleDbAwsKeyPool" + }) + private CreateOracleDbAwsKeyPoolResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcWorkRequestId, + String opcRequestId, + String location, + String contentLocation, + String etag, + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool oracleDbAwsKeyPool) { + super(__httpStatusCode__, headers); + this.opcWorkRequestId = opcWorkRequestId; + this.opcRequestId = opcRequestId; + this.location = location; + this.contentLocation = contentLocation; + this.etag = etag; + this.oracleDbAwsKeyPool = oracleDbAwsKeyPool; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + CreateOracleDbAwsKeyPoolResponse> { + 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; + } + + /** URI of the resource */ + private String location; + + /** + * URI of the resource + * + * @param location the value to set + * @return this builder + */ + public Builder location(String location) { + this.location = location; + return this; + } + + /** URI of the resource */ + private String contentLocation; + + /** + * URI of the resource + * + * @param contentLocation the value to set + * @return this builder + */ + public Builder contentLocation(String contentLocation) { + this.contentLocation = contentLocation; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code OracleDbAwsKeyPool} instance. */ + private com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool oracleDbAwsKeyPool; + + /** + * The returned {@code OracleDbAwsKeyPool} instance. + * + * @param oracleDbAwsKeyPool the value to set + * @return this builder + */ + public Builder oracleDbAwsKeyPool( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool oracleDbAwsKeyPool) { + this.oracleDbAwsKeyPool = oracleDbAwsKeyPool; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(CreateOracleDbAwsKeyPoolResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcWorkRequestId(o.getOpcWorkRequestId()); + opcRequestId(o.getOpcRequestId()); + location(o.getLocation()); + contentLocation(o.getContentLocation()); + etag(o.getEtag()); + oracleDbAwsKeyPool(o.getOracleDbAwsKeyPool()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public CreateOracleDbAwsKeyPoolResponse build() { + return new CreateOracleDbAwsKeyPoolResponse( + __httpStatusCode__, + headers, + opcWorkRequestId, + opcRequestId, + location, + contentLocation, + etag, + oracleDbAwsKeyPool); + } + } + + /** + * 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(",location=").append(String.valueOf(location)); + sb.append(",contentLocation=").append(String.valueOf(contentLocation)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",oracleDbAwsKeyPool=").append(String.valueOf(oracleDbAwsKeyPool)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateOracleDbAwsKeyPoolResponse)) { + return false; + } + + CreateOracleDbAwsKeyPoolResponse other = (CreateOracleDbAwsKeyPoolResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.location, other.location) + && java.util.Objects.equals(this.contentLocation, other.contentLocation) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.oracleDbAwsKeyPool, other.oracleDbAwsKeyPool); + } + + @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()); + result = (result * PRIME) + (this.location == null ? 43 : this.location.hashCode()); + result = + (result * PRIME) + + (this.contentLocation == null ? 43 : this.contentLocation.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPool == null + ? 43 + : this.oracleDbAwsKeyPool.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/DeleteOracleDbAwsKeyPoolResponse.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/DeleteOracleDbAwsKeyPoolResponse.java new file mode 100644 index 00000000000..d447645e784 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/DeleteOracleDbAwsKeyPoolResponse.java @@ -0,0 +1,190 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.dbmulticloud.responses; + +import com.oracle.bmc.dbmulticloud.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class DeleteOracleDbAwsKeyPoolResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * 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; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcWorkRequestId" + }) + private DeleteOracleDbAwsKeyPoolResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcWorkRequestId) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + DeleteOracleDbAwsKeyPoolResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * 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; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(DeleteOracleDbAwsKeyPoolResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public DeleteOracleDbAwsKeyPoolResponse build() { + return new DeleteOracleDbAwsKeyPoolResponse( + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DeleteOracleDbAwsKeyPoolResponse)) { + return false; + } + + DeleteOracleDbAwsKeyPoolResponse other = (DeleteOracleDbAwsKeyPoolResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/GetOracleDbAwsKeyPoolResponse.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/GetOracleDbAwsKeyPoolResponse.java new file mode 100644 index 00000000000..a59d2ac6e06 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/GetOracleDbAwsKeyPoolResponse.java @@ -0,0 +1,213 @@ +/** + * 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.dbmulticloud.responses; + +import com.oracle.bmc.dbmulticloud.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class GetOracleDbAwsKeyPoolResponse extends com.oracle.bmc.responses.BmcResponse { + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** + * 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; + } + + /** The returned {@code OracleDbAwsKeyPool} instance. */ + private com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool oracleDbAwsKeyPool; + + /** + * The returned {@code OracleDbAwsKeyPool} instance. + * + * @return the value + */ + public com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool getOracleDbAwsKeyPool() { + return oracleDbAwsKeyPool; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "etag", + "opcRequestId", + "oracleDbAwsKeyPool" + }) + private GetOracleDbAwsKeyPoolResponse( + int __httpStatusCode__, + java.util.Map> headers, + String etag, + String opcRequestId, + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool oracleDbAwsKeyPool) { + super(__httpStatusCode__, headers); + this.etag = etag; + this.opcRequestId = opcRequestId; + this.oracleDbAwsKeyPool = oracleDbAwsKeyPool; + } + + 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; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** + * 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; + } + + /** The returned {@code OracleDbAwsKeyPool} instance. */ + private com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool oracleDbAwsKeyPool; + + /** + * The returned {@code OracleDbAwsKeyPool} instance. + * + * @param oracleDbAwsKeyPool the value to set + * @return this builder + */ + public Builder oracleDbAwsKeyPool( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool oracleDbAwsKeyPool) { + this.oracleDbAwsKeyPool = oracleDbAwsKeyPool; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetOracleDbAwsKeyPoolResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + oracleDbAwsKeyPool(o.getOracleDbAwsKeyPool()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetOracleDbAwsKeyPoolResponse build() { + return new GetOracleDbAwsKeyPoolResponse( + __httpStatusCode__, headers, etag, opcRequestId, oracleDbAwsKeyPool); + } + } + + /** + * 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(",etag=").append(String.valueOf(etag)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",oracleDbAwsKeyPool=").append(String.valueOf(oracleDbAwsKeyPool)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetOracleDbAwsKeyPoolResponse)) { + return false; + } + + GetOracleDbAwsKeyPoolResponse other = (GetOracleDbAwsKeyPoolResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.oracleDbAwsKeyPool, other.oracleDbAwsKeyPool); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPool == null + ? 43 + : this.oracleDbAwsKeyPool.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/ListOracleDbAwsKeyPoolsResponse.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/ListOracleDbAwsKeyPoolsResponse.java new file mode 100644 index 00000000000..8437b8359c4 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/ListOracleDbAwsKeyPoolsResponse.java @@ -0,0 +1,237 @@ +/** + * 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.dbmulticloud.responses; + +import com.oracle.bmc.dbmulticloud.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class ListOracleDbAwsKeyPoolsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** The returned {@code OracleDbAwsKeyPoolCollection} instance. */ + private com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolCollection + oracleDbAwsKeyPoolCollection; + + /** + * The returned {@code OracleDbAwsKeyPoolCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolCollection + getOracleDbAwsKeyPoolCollection() { + return oracleDbAwsKeyPoolCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "oracleDbAwsKeyPoolCollection" + }) + private ListOracleDbAwsKeyPoolsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolCollection + oracleDbAwsKeyPoolCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.oracleDbAwsKeyPoolCollection = oracleDbAwsKeyPoolCollection; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ListOracleDbAwsKeyPoolsResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** The returned {@code OracleDbAwsKeyPoolCollection} instance. */ + private com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolCollection + oracleDbAwsKeyPoolCollection; + + /** + * The returned {@code OracleDbAwsKeyPoolCollection} instance. + * + * @param oracleDbAwsKeyPoolCollection the value to set + * @return this builder + */ + public Builder oracleDbAwsKeyPoolCollection( + com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolCollection + oracleDbAwsKeyPoolCollection) { + this.oracleDbAwsKeyPoolCollection = oracleDbAwsKeyPoolCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListOracleDbAwsKeyPoolsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + oracleDbAwsKeyPoolCollection(o.getOracleDbAwsKeyPoolCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListOracleDbAwsKeyPoolsResponse build() { + return new ListOracleDbAwsKeyPoolsResponse( + __httpStatusCode__, + headers, + opcRequestId, + opcNextPage, + oracleDbAwsKeyPoolCollection); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + sb.append(",oracleDbAwsKeyPoolCollection=") + .append(String.valueOf(oracleDbAwsKeyPoolCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListOracleDbAwsKeyPoolsResponse)) { + return false; + } + + ListOracleDbAwsKeyPoolsResponse other = (ListOracleDbAwsKeyPoolsResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcNextPage, other.opcNextPage) + && java.util.Objects.equals( + this.oracleDbAwsKeyPoolCollection, other.oracleDbAwsKeyPoolCollection); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode()); + result = + (result * PRIME) + + (this.oracleDbAwsKeyPoolCollection == null + ? 43 + : this.oracleDbAwsKeyPoolCollection.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/ReplicateOracleDbAwsKeyPoolResponse.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/ReplicateOracleDbAwsKeyPoolResponse.java new file mode 100644 index 00000000000..3880441a718 --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/ReplicateOracleDbAwsKeyPoolResponse.java @@ -0,0 +1,190 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.dbmulticloud.responses; + +import com.oracle.bmc.dbmulticloud.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class ReplicateOracleDbAwsKeyPoolResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * 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; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcWorkRequestId" + }) + private ReplicateOracleDbAwsKeyPoolResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcWorkRequestId) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ReplicateOracleDbAwsKeyPoolResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * 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; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ReplicateOracleDbAwsKeyPoolResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ReplicateOracleDbAwsKeyPoolResponse build() { + return new ReplicateOracleDbAwsKeyPoolResponse( + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ReplicateOracleDbAwsKeyPoolResponse)) { + return false; + } + + ReplicateOracleDbAwsKeyPoolResponse other = (ReplicateOracleDbAwsKeyPoolResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); + return result; + } +} diff --git a/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/UpdateOracleDbAwsKeyPoolResponse.java b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/UpdateOracleDbAwsKeyPoolResponse.java new file mode 100644 index 00000000000..d8a4c4459bc --- /dev/null +++ b/bmc-dbmulticloud/src/main/java/com/oracle/bmc/dbmulticloud/responses/UpdateOracleDbAwsKeyPoolResponse.java @@ -0,0 +1,190 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.dbmulticloud.responses; + +import com.oracle.bmc.dbmulticloud.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20240501") +public class UpdateOracleDbAwsKeyPoolResponse 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 UpdateOracleDbAwsKeyPoolResponse( + 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< + UpdateOracleDbAwsKeyPoolResponse> { + 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(UpdateOracleDbAwsKeyPoolResponse 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 UpdateOracleDbAwsKeyPoolResponse build() { + return new UpdateOracleDbAwsKeyPoolResponse( + __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 UpdateOracleDbAwsKeyPoolResponse)) { + return false; + } + + UpdateOracleDbAwsKeyPoolResponse other = (UpdateOracleDbAwsKeyPoolResponse) 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-dbmulticloud/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-dbmulticloud/reflect-config.json b/bmc-dbmulticloud/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-dbmulticloud/reflect-config.json index 3b3fdfd8287..0427a5301e5 100644 --- a/bmc-dbmulticloud/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-dbmulticloud/reflect-config.json +++ b/bmc-dbmulticloud/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-dbmulticloud/reflect-config.json @@ -87,6 +87,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAwsKeyPoolCompartmentDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.dbmulticloud.model.ChangeOracleDbAzureBlobContainerCompartmentDetails", @@ -227,6 +241,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.CreateOracleDbAwsKeyPoolDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.dbmulticloud.model.CreateOracleDbAzureBlobContainerDetails", @@ -479,6 +507,54 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPool$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeyPoolSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.dbmulticloud.model.OracleDbAwsKeySummary", @@ -1027,6 +1103,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAwsKeyPoolDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.dbmulticloud.model.ReplicateOracleDbAzureVaultDetails", @@ -1203,6 +1293,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAwsKeyPoolDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.dbmulticloud.model.UpdateOracleDbAzureBlobContainerDetails", diff --git a/bmc-ddfs/pom.xml b/bmc-ddfs/pom.xml index 16e56c83b50..94a24548f22 100644 --- a/bmc-ddfs/pom.xml +++ b/bmc-ddfs/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-ddfs @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-delegateaccesscontrol/pom.xml b/bmc-delegateaccesscontrol/pom.xml index da19ba90490..bb0e95bcf35 100644 --- a/bmc-delegateaccesscontrol/pom.xml +++ b/bmc-delegateaccesscontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-delegateaccesscontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-demandsignal/pom.xml b/bmc-demandsignal/pom.xml index 69a2e15a128..2bae19e1d00 100644 --- a/bmc-demandsignal/pom.xml +++ b/bmc-demandsignal/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-demandsignal @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-desktops/pom.xml b/bmc-desktops/pom.xml index 91b2b061704..a5876c1881a 100644 --- a/bmc-desktops/pom.xml +++ b/bmc-desktops/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-desktops @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-devops/pom.xml b/bmc-devops/pom.xml index 5bc00cbe69a..5acf74998a9 100644 --- a/bmc-devops/pom.xml +++ b/bmc-devops/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-devops @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-dif/pom.xml b/bmc-dif/pom.xml index de3e1859de8..7583aa03447 100644 --- a/bmc-dif/pom.xml +++ b/bmc-dif/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-dif @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-disasterrecovery/pom.xml b/bmc-disasterrecovery/pom.xml index 2c13df21426..bc9b5b2c8c4 100644 --- a/bmc-disasterrecovery/pom.xml +++ b/bmc-disasterrecovery/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-disasterrecovery @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-distributeddatabase/pom.xml b/bmc-distributeddatabase/pom.xml index 559decf747e..9fd2852a246 100644 --- a/bmc-distributeddatabase/pom.xml +++ b/bmc-distributeddatabase/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-distributeddatabase @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-dns/pom.xml b/bmc-dns/pom.xml index 418419ac6cb..4e0c14f5081 100644 --- a/bmc-dns/pom.xml +++ b/bmc-dns/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.97.2 + 3.98.0 diff --git a/bmc-email/pom.xml b/bmc-email/pom.xml index 6ec33e3d517..c9f62061ac2 100644 --- a/bmc-email/pom.xml +++ b/bmc-email/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 diff --git a/bmc-emaildataplane/pom.xml b/bmc-emaildataplane/pom.xml index fa56bf88f62..6cfc52c6e62 100644 --- a/bmc-emaildataplane/pom.xml +++ b/bmc-emaildataplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-emaildataplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-emwarehouse/pom.xml b/bmc-emwarehouse/pom.xml index 9998caaa862..144ef900f5f 100644 --- a/bmc-emwarehouse/pom.xml +++ b/bmc-emwarehouse/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-emwarehouse @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-encryption/pom.xml b/bmc-encryption/pom.xml index 613180cec62..365041ae8e0 100644 --- a/bmc-encryption/pom.xml +++ b/bmc-encryption/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,17 +18,17 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-keymanagement - 3.97.2 + 3.98.0 com.fasterxml.jackson.core @@ -48,7 +48,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.97.2 + 3.98.0 test diff --git a/bmc-enforcer-rules/pom.xml b/bmc-enforcer-rules/pom.xml index 291f805f46e..c5855b48693 100644 --- a/bmc-enforcer-rules/pom.xml +++ b/bmc-enforcer-rules/pom.xml @@ -6,7 +6,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 oci-java-sdk-enforcer-rules diff --git a/bmc-events/pom.xml b/bmc-events/pom.xml index aaab49cd567..5084375e87e 100644 --- a/bmc-events/pom.xml +++ b/bmc-events/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-events @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-examples/pom.xml b/bmc-examples/pom.xml index 5b49a5241ab..50a05fe769b 100644 --- a/bmc-examples/pom.xml +++ b/bmc-examples/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-examples @@ -71,14 +71,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.97.2 + 3.98.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.97.2 + 3.98.0 pom import @@ -829,5 +829,9 @@ com.oracle.oci.sdk oci-java-sdk-ociproductcatalog + + com.oracle.oci.sdk + oci-java-sdk-ccdoffers + \ No newline at end of file diff --git a/bmc-filestorage/pom.xml b/bmc-filestorage/pom.xml index 26bfc0a2e7b..a0822202aee 100644 --- a/bmc-filestorage/pom.xml +++ b/bmc-filestorage/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 diff --git a/bmc-fleetappsmanagement/pom.xml b/bmc-fleetappsmanagement/pom.xml index f8db82a4df0..08c32dd20b6 100644 --- a/bmc-fleetappsmanagement/pom.xml +++ b/bmc-fleetappsmanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-fleetappsmanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-fleetsoftwareupdate/pom.xml b/bmc-fleetsoftwareupdate/pom.xml index d439faeec9c..df0a5ca2f71 100644 --- a/bmc-fleetsoftwareupdate/pom.xml +++ b/bmc-fleetsoftwareupdate/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-fleetsoftwareupdate @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-full/pom.xml b/bmc-full/pom.xml index 08776b01582..963a66802d6 100644 --- a/bmc-full/pom.xml +++ b/bmc-full/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-full @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.97.2 + 3.98.0 pom import @@ -715,5 +715,9 @@ com.oracle.oci.sdk oci-java-sdk-ociproductcatalog + + com.oracle.oci.sdk + oci-java-sdk-ccdoffers + \ No newline at end of file diff --git a/bmc-functions/pom.xml b/bmc-functions/pom.xml index 398fe7df273..e323dbe1bef 100644 --- a/bmc-functions/pom.xml +++ b/bmc-functions/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-functions @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-fusionapps/pom.xml b/bmc-fusionapps/pom.xml index 0b303ce7927..fc7e8be9b84 100644 --- a/bmc-fusionapps/pom.xml +++ b/bmc-fusionapps/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-fusionapps @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-gdp/pom.xml b/bmc-gdp/pom.xml index 4ae0592c361..08afeac2b85 100644 --- a/bmc-gdp/pom.xml +++ b/bmc-gdp/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-gdp @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-generativeai/pom.xml b/bmc-generativeai/pom.xml index 70166455f0b..be3a72486ba 100644 --- a/bmc-generativeai/pom.xml +++ b/bmc-generativeai/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-generativeai @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-generativeaiagent/pom.xml b/bmc-generativeaiagent/pom.xml index a75210e99a5..a65a896056c 100644 --- a/bmc-generativeaiagent/pom.xml +++ b/bmc-generativeaiagent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-generativeaiagent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-generativeaiagentruntime/pom.xml b/bmc-generativeaiagentruntime/pom.xml index 275a15c794d..22df40321c4 100644 --- a/bmc-generativeaiagentruntime/pom.xml +++ b/bmc-generativeaiagentruntime/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-generativeaiagentruntime @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-generativeaidata/pom.xml b/bmc-generativeaidata/pom.xml index 9a39024e265..59f68c51f78 100644 --- a/bmc-generativeaidata/pom.xml +++ b/bmc-generativeaidata/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-generativeaidata @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-generativeaiinference/pom.xml b/bmc-generativeaiinference/pom.xml index 2781c044399..6240201bbc9 100644 --- a/bmc-generativeaiinference/pom.xml +++ b/bmc-generativeaiinference/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-generativeaiinference @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-genericartifactscontent/pom.xml b/bmc-genericartifactscontent/pom.xml index 172629a564b..3a5fb1f0864 100644 --- a/bmc-genericartifactscontent/pom.xml +++ b/bmc-genericartifactscontent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-genericartifactscontent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-goldengate/pom.xml b/bmc-goldengate/pom.xml index 066c0591c51..7446fd81c62 100644 --- a/bmc-goldengate/pom.xml +++ b/bmc-goldengate/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-goldengate @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-governancerulescontrolplane/pom.xml b/bmc-governancerulescontrolplane/pom.xml index c2cb760bd90..e4380ed4641 100644 --- a/bmc-governancerulescontrolplane/pom.xml +++ b/bmc-governancerulescontrolplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-governancerulescontrolplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-healthchecks/pom.xml b/bmc-healthchecks/pom.xml index add451b5813..27f6b65e41c 100644 --- a/bmc-healthchecks/pom.xml +++ b/bmc-healthchecks/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-healthchecks @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-identity/pom.xml b/bmc-identity/pom.xml index 31b1c25fa64..c25443b3b2f 100644 --- a/bmc-identity/pom.xml +++ b/bmc-identity/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 diff --git a/bmc-identitydataplane/pom.xml b/bmc-identitydataplane/pom.xml index 9d422ab8153..fd1ab705f19 100644 --- a/bmc-identitydataplane/pom.xml +++ b/bmc-identitydataplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-identitydataplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-identitydomains/pom.xml b/bmc-identitydomains/pom.xml index ecbca34d1fa..73648e4e56f 100644 --- a/bmc-identitydomains/pom.xml +++ b/bmc-identitydomains/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-identitydomains @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-integration/pom.xml b/bmc-integration/pom.xml index 72fd2ced941..24f33136887 100644 --- a/bmc-integration/pom.xml +++ b/bmc-integration/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-integration @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-iot/pom.xml b/bmc-iot/pom.xml index afc36ce8854..7529df1915f 100644 --- a/bmc-iot/pom.xml +++ b/bmc-iot/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-iot @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-jms/pom.xml b/bmc-jms/pom.xml index a9c41fb7805..5fea13b03b1 100644 --- a/bmc-jms/pom.xml +++ b/bmc-jms/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-jms @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-jmsjavadownloads/pom.xml b/bmc-jmsjavadownloads/pom.xml index 99f6d34f94d..09183d43c77 100644 --- a/bmc-jmsjavadownloads/pom.xml +++ b/bmc-jmsjavadownloads/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-jmsjavadownloads @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-jmsutils/pom.xml b/bmc-jmsutils/pom.xml index 26ae6c1e038..29f53cb6cf0 100644 --- a/bmc-jmsutils/pom.xml +++ b/bmc-jmsutils/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-jmsutils @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-keymanagement/pom.xml b/bmc-keymanagement/pom.xml index 9c455118d6e..883984817e3 100644 --- a/bmc-keymanagement/pom.xml +++ b/bmc-keymanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-keymanagement @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-licensemanager/pom.xml b/bmc-licensemanager/pom.xml index 69ade23531e..cbe8bb211ec 100644 --- a/bmc-licensemanager/pom.xml +++ b/bmc-licensemanager/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-licensemanager @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-limits/pom.xml b/bmc-limits/pom.xml index 37295ae5c1d..90427d4dfd7 100644 --- a/bmc-limits/pom.xml +++ b/bmc-limits/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-limits @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-limitsincrease/pom.xml b/bmc-limitsincrease/pom.xml index d6cad180621..8d0156f3e93 100644 --- a/bmc-limitsincrease/pom.xml +++ b/bmc-limitsincrease/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-limitsincrease @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-loadbalancer/pom.xml b/bmc-loadbalancer/pom.xml index 46d5755ce12..9e1e4f28cf9 100644 --- a/bmc-loadbalancer/pom.xml +++ b/bmc-loadbalancer/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 diff --git a/bmc-lockbox/pom.xml b/bmc-lockbox/pom.xml index 6fc26238f69..d1e2c3bca50 100644 --- a/bmc-lockbox/pom.xml +++ b/bmc-lockbox/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-lockbox @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-loganalytics/pom.xml b/bmc-loganalytics/pom.xml index 3f0c219d43f..d3b0bb3bbba 100644 --- a/bmc-loganalytics/pom.xml +++ b/bmc-loganalytics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-loganalytics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-logging/pom.xml b/bmc-logging/pom.xml index deee1cbe246..777a0300fdb 100644 --- a/bmc-logging/pom.xml +++ b/bmc-logging/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-logging @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-loggingingestion/pom.xml b/bmc-loggingingestion/pom.xml index 8ee21325f8c..94ca2be5c07 100644 --- a/bmc-loggingingestion/pom.xml +++ b/bmc-loggingingestion/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-loggingingestion @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-loggingsearch/pom.xml b/bmc-loggingsearch/pom.xml index e747e2e1632..dd3589c0087 100644 --- a/bmc-loggingsearch/pom.xml +++ b/bmc-loggingsearch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-loggingsearch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-lustrefilestorage/pom.xml b/bmc-lustrefilestorage/pom.xml index 86fccd066b8..4ec177670c9 100644 --- a/bmc-lustrefilestorage/pom.xml +++ b/bmc-lustrefilestorage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-lustrefilestorage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-managedkafka/pom.xml b/bmc-managedkafka/pom.xml index 48a7045fad4..ec920c66d1e 100644 --- a/bmc-managedkafka/pom.xml +++ b/bmc-managedkafka/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-managedkafka @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-managementagent/pom.xml b/bmc-managementagent/pom.xml index 1b993bb2f21..040da674604 100644 --- a/bmc-managementagent/pom.xml +++ b/bmc-managementagent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-managementagent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-managementdashboard/pom.xml b/bmc-managementdashboard/pom.xml index fad1d9e1ec0..651660424ed 100644 --- a/bmc-managementdashboard/pom.xml +++ b/bmc-managementdashboard/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-managementdashboard @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-marketplace/pom.xml b/bmc-marketplace/pom.xml index c45c8befa14..4e14050cd8f 100644 --- a/bmc-marketplace/pom.xml +++ b/bmc-marketplace/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-marketplace @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-marketplaceprivateoffer/pom.xml b/bmc-marketplaceprivateoffer/pom.xml index 65a57b5b3da..7857e05c9ce 100644 --- a/bmc-marketplaceprivateoffer/pom.xml +++ b/bmc-marketplaceprivateoffer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-marketplaceprivateoffer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-marketplacepublisher/pom.xml b/bmc-marketplacepublisher/pom.xml index cec8fa8a094..eba798560e7 100644 --- a/bmc-marketplacepublisher/pom.xml +++ b/bmc-marketplacepublisher/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-marketplacepublisher @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-mediaservices/pom.xml b/bmc-mediaservices/pom.xml index f0ea1dc6177..9b880714d07 100644 --- a/bmc-mediaservices/pom.xml +++ b/bmc-mediaservices/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-mediaservices @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-mngdmac/pom.xml b/bmc-mngdmac/pom.xml index c852c001ac7..47dc0c12d3c 100644 --- a/bmc-mngdmac/pom.xml +++ b/bmc-mngdmac/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-mngdmac @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-modeldeployment/pom.xml b/bmc-modeldeployment/pom.xml index 5e75813b6dc..186ea88bc62 100644 --- a/bmc-modeldeployment/pom.xml +++ b/bmc-modeldeployment/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-modeldeployment @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-monitoring/pom.xml b/bmc-monitoring/pom.xml index 07ef90bbc05..c66ce8f7e48 100644 --- a/bmc-monitoring/pom.xml +++ b/bmc-monitoring/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-monitoring @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-multicloud/pom.xml b/bmc-multicloud/pom.xml index bb87da8909d..e6bfe81014a 100644 --- a/bmc-multicloud/pom.xml +++ b/bmc-multicloud/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-multicloud @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-mysql/pom.xml b/bmc-mysql/pom.xml index f89f1267828..24ee5f924aa 100644 --- a/bmc-mysql/pom.xml +++ b/bmc-mysql/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-mysql @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-networkfirewall/pom.xml b/bmc-networkfirewall/pom.xml index 956b139b119..168947c266b 100644 --- a/bmc-networkfirewall/pom.xml +++ b/bmc-networkfirewall/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-networkfirewall @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-networkloadbalancer/pom.xml b/bmc-networkloadbalancer/pom.xml index a82f1b1f2d5..04c62d9014e 100644 --- a/bmc-networkloadbalancer/pom.xml +++ b/bmc-networkloadbalancer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-networkloadbalancer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-nosql/pom.xml b/bmc-nosql/pom.xml index 3993aa1a07c..3a402875e98 100644 --- a/bmc-nosql/pom.xml +++ b/bmc-nosql/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-nosql @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-objectstorage/bmc-objectstorage-combined/pom.xml b/bmc-objectstorage/bmc-objectstorage-combined/pom.xml index 214c1a28961..7dd44f9b7eb 100644 --- a/bmc-objectstorage/bmc-objectstorage-combined/pom.xml +++ b/bmc-objectstorage/bmc-objectstorage-combined/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk-objectstorage-parent - 3.97.2 + 3.98.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-objectstorage-extensions - 3.97.2 + 3.98.0 diff --git a/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml b/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml index 083ef7687c5..0536a59a2ea 100644 --- a/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml +++ b/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk-objectstorage-parent - 3.97.2 + 3.98.0 ../pom.xml @@ -25,17 +25,17 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 3.97.2 + 3.98.0 org.slf4j diff --git a/bmc-objectstorage/bmc-objectstorage-generated/pom.xml b/bmc-objectstorage/bmc-objectstorage-generated/pom.xml index 02dcb19a5b1..87bd7709be6 100644 --- a/bmc-objectstorage/bmc-objectstorage-generated/pom.xml +++ b/bmc-objectstorage/bmc-objectstorage-generated/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk-objectstorage-parent - 3.97.2 + 3.98.0 ../pom.xml @@ -19,7 +19,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 diff --git a/bmc-objectstorage/pom.xml b/bmc-objectstorage/pom.xml index 96e255e77c0..5b3408eee51 100644 --- a/bmc-objectstorage/pom.xml +++ b/bmc-objectstorage/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml diff --git a/bmc-oce/pom.xml b/bmc-oce/pom.xml index 53b3199d05b..47ab90a30bd 100644 --- a/bmc-oce/pom.xml +++ b/bmc-oce/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-oce @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-ocicontrolcenter/pom.xml b/bmc-ocicontrolcenter/pom.xml index 3b11b4f87a9..3e925773834 100644 --- a/bmc-ocicontrolcenter/pom.xml +++ b/bmc-ocicontrolcenter/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-ocicontrolcenter @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-ociproductcatalog/pom.xml b/bmc-ociproductcatalog/pom.xml index 0ffebb6c9b7..505d4ac25e1 100644 --- a/bmc-ociproductcatalog/pom.xml +++ b/bmc-ociproductcatalog/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-ociproductcatalog @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-ocvp/pom.xml b/bmc-ocvp/pom.xml index 82fd895b605..5040645d86c 100644 --- a/bmc-ocvp/pom.xml +++ b/bmc-ocvp/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-ocvp @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-oda/pom.xml b/bmc-oda/pom.xml index 114a3f947cc..b5d9981d74c 100644 --- a/bmc-oda/pom.xml +++ b/bmc-oda/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-oda @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-onesubscription/pom.xml b/bmc-onesubscription/pom.xml index 79cb0e80667..04e66616af3 100644 --- a/bmc-onesubscription/pom.xml +++ b/bmc-onesubscription/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-onesubscription @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-ons/pom.xml b/bmc-ons/pom.xml index 05bd4dd19c6..2ff1eeb9473 100644 --- a/bmc-ons/pom.xml +++ b/bmc-ons/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-ons @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-opa/pom.xml b/bmc-opa/pom.xml index 24bc68c7fb8..327e3617002 100644 --- a/bmc-opa/pom.xml +++ b/bmc-opa/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-opa @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-opensearch/pom.xml b/bmc-opensearch/pom.xml index 830ff0c0ca9..547ac575147 100644 --- a/bmc-opensearch/pom.xml +++ b/bmc-opensearch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-opensearch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/CreateOpensearchClusterDetails.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/CreateOpensearchClusterDetails.java index b948878589b..251c10e3d03 100644 --- a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/CreateOpensearchClusterDetails.java +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/CreateOpensearchClusterDetails.java @@ -68,6 +68,7 @@ public final class CreateOpensearchClusterDetails "securityMode", "securityMasterUserName", "securityMasterUserPasswordHash", + "securityMasterUserAuthDetails", "securitySamlConfig", "backupPolicy", "nsgId", @@ -77,6 +78,7 @@ public final class CreateOpensearchClusterDetails "maintenanceDetails", "loadBalancerConfig", "certificateConfig", + "remoteReindexTrustConfig", "freeformTags", "definedTags", "systemTags", @@ -127,6 +129,7 @@ public CreateOpensearchClusterDetails( SecurityMode securityMode, String securityMasterUserName, String securityMasterUserPasswordHash, + SecurityUserAuthenticationDetails securityMasterUserAuthDetails, SecuritySamlConfig securitySamlConfig, BackupPolicy backupPolicy, String nsgId, @@ -136,6 +139,7 @@ public CreateOpensearchClusterDetails( CreateMaintenanceDetails maintenanceDetails, LoadBalancerConfig loadBalancerConfig, CertificateConfig certificateConfig, + RemoteReindexTrustConfig remoteReindexTrustConfig, java.util.Map freeformTags, java.util.Map> definedTags, java.util.Map> systemTags, @@ -185,6 +189,7 @@ public CreateOpensearchClusterDetails( this.securityMode = securityMode; this.securityMasterUserName = securityMasterUserName; this.securityMasterUserPasswordHash = securityMasterUserPasswordHash; + this.securityMasterUserAuthDetails = securityMasterUserAuthDetails; this.securitySamlConfig = securitySamlConfig; this.backupPolicy = backupPolicy; this.nsgId = nsgId; @@ -194,6 +199,7 @@ public CreateOpensearchClusterDetails( this.maintenanceDetails = maintenanceDetails; this.loadBalancerConfig = loadBalancerConfig; this.certificateConfig = certificateConfig; + this.remoteReindexTrustConfig = remoteReindexTrustConfig; this.freeformTags = freeformTags; this.definedTags = definedTags; this.systemTags = systemTags; @@ -865,6 +871,16 @@ public Builder securityMasterUserPasswordHash(String securityMasterUserPasswordH return this; } + @com.fasterxml.jackson.annotation.JsonProperty("securityMasterUserAuthDetails") + private SecurityUserAuthenticationDetails securityMasterUserAuthDetails; + + public Builder securityMasterUserAuthDetails( + SecurityUserAuthenticationDetails securityMasterUserAuthDetails) { + this.securityMasterUserAuthDetails = securityMasterUserAuthDetails; + this.__explicitlySet__.add("securityMasterUserAuthDetails"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("securitySamlConfig") private SecuritySamlConfig securitySamlConfig; @@ -964,6 +980,15 @@ public Builder certificateConfig(CertificateConfig certificateConfig) { this.__explicitlySet__.add("certificateConfig"); return this; } + + @com.fasterxml.jackson.annotation.JsonProperty("remoteReindexTrustConfig") + private RemoteReindexTrustConfig remoteReindexTrustConfig; + + public Builder remoteReindexTrustConfig(RemoteReindexTrustConfig remoteReindexTrustConfig) { + this.remoteReindexTrustConfig = remoteReindexTrustConfig; + this.__explicitlySet__.add("remoteReindexTrustConfig"); + 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"}} @@ -1101,6 +1126,7 @@ public CreateOpensearchClusterDetails build() { this.securityMode, this.securityMasterUserName, this.securityMasterUserPasswordHash, + this.securityMasterUserAuthDetails, this.securitySamlConfig, this.backupPolicy, this.nsgId, @@ -1110,6 +1136,7 @@ public CreateOpensearchClusterDetails build() { this.maintenanceDetails, this.loadBalancerConfig, this.certificateConfig, + this.remoteReindexTrustConfig, this.freeformTags, this.definedTags, this.systemTags, @@ -1254,6 +1281,9 @@ public Builder copy(CreateOpensearchClusterDetails model) { if (model.wasPropertyExplicitlySet("securityMasterUserPasswordHash")) { this.securityMasterUserPasswordHash(model.getSecurityMasterUserPasswordHash()); } + if (model.wasPropertyExplicitlySet("securityMasterUserAuthDetails")) { + this.securityMasterUserAuthDetails(model.getSecurityMasterUserAuthDetails()); + } if (model.wasPropertyExplicitlySet("securitySamlConfig")) { this.securitySamlConfig(model.getSecuritySamlConfig()); } @@ -1282,6 +1312,9 @@ public Builder copy(CreateOpensearchClusterDetails model) { if (model.wasPropertyExplicitlySet("certificateConfig")) { this.certificateConfig(model.getCertificateConfig()); } + if (model.wasPropertyExplicitlySet("remoteReindexTrustConfig")) { + this.remoteReindexTrustConfig(model.getRemoteReindexTrustConfig()); + } if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } @@ -1879,6 +1912,13 @@ public String getSecurityMasterUserPasswordHash() { return securityMasterUserPasswordHash; } + @com.fasterxml.jackson.annotation.JsonProperty("securityMasterUserAuthDetails") + private final SecurityUserAuthenticationDetails securityMasterUserAuthDetails; + + public SecurityUserAuthenticationDetails getSecurityMasterUserAuthDetails() { + return securityMasterUserAuthDetails; + } + @com.fasterxml.jackson.annotation.JsonProperty("securitySamlConfig") private final SecuritySamlConfig securitySamlConfig; @@ -1960,6 +2000,13 @@ public CertificateConfig getCertificateConfig() { return certificateConfig; } + @com.fasterxml.jackson.annotation.JsonProperty("remoteReindexTrustConfig") + private final RemoteReindexTrustConfig remoteReindexTrustConfig; + + public RemoteReindexTrustConfig getRemoteReindexTrustConfig() { + return remoteReindexTrustConfig; + } + /** * Simple key-value pair that is applied without any predefined name, type or scope. Exists for * cross-compatibility only. Example: {@code {"bar-key": "value"}} @@ -2105,6 +2152,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", securityMasterUserName=").append(String.valueOf(this.securityMasterUserName)); sb.append(", securityMasterUserPasswordHash=") .append(String.valueOf(this.securityMasterUserPasswordHash)); + sb.append(", securityMasterUserAuthDetails=") + .append(String.valueOf(this.securityMasterUserAuthDetails)); sb.append(", securitySamlConfig=").append(String.valueOf(this.securitySamlConfig)); sb.append(", backupPolicy=").append(String.valueOf(this.backupPolicy)); sb.append(", nsgId=").append(String.valueOf(this.nsgId)); @@ -2115,6 +2164,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", maintenanceDetails=").append(String.valueOf(this.maintenanceDetails)); sb.append(", loadBalancerConfig=").append(String.valueOf(this.loadBalancerConfig)); sb.append(", certificateConfig=").append(String.valueOf(this.certificateConfig)); + sb.append(", remoteReindexTrustConfig=") + .append(String.valueOf(this.remoteReindexTrustConfig)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(", systemTags=").append(String.valueOf(this.systemTags)); @@ -2193,6 +2244,8 @@ public boolean equals(Object o) { this.securityMasterUserName, other.securityMasterUserName) && java.util.Objects.equals( this.securityMasterUserPasswordHash, other.securityMasterUserPasswordHash) + && java.util.Objects.equals( + this.securityMasterUserAuthDetails, other.securityMasterUserAuthDetails) && java.util.Objects.equals(this.securitySamlConfig, other.securitySamlConfig) && java.util.Objects.equals(this.backupPolicy, other.backupPolicy) && java.util.Objects.equals(this.nsgId, other.nsgId) @@ -2204,6 +2257,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.maintenanceDetails, other.maintenanceDetails) && java.util.Objects.equals(this.loadBalancerConfig, other.loadBalancerConfig) && java.util.Objects.equals(this.certificateConfig, other.certificateConfig) + && java.util.Objects.equals( + this.remoteReindexTrustConfig, other.remoteReindexTrustConfig) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) && java.util.Objects.equals(this.systemTags, other.systemTags) @@ -2391,6 +2446,11 @@ public int hashCode() { + (this.securityMasterUserPasswordHash == null ? 43 : this.securityMasterUserPasswordHash.hashCode()); + result = + (result * PRIME) + + (this.securityMasterUserAuthDetails == null + ? 43 + : this.securityMasterUserAuthDetails.hashCode()); result = (result * PRIME) + (this.securitySamlConfig == null @@ -2424,6 +2484,11 @@ public int hashCode() { result = (result * PRIME) + (this.certificateConfig == null ? 43 : this.certificateConfig.hashCode()); + result = + (result * PRIME) + + (this.remoteReindexTrustConfig == null + ? 43 + : this.remoteReindexTrustConfig.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()); diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/OpensearchCluster.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/OpensearchCluster.java index 128824b1b47..3911d834154 100644 --- a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/OpensearchCluster.java +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/OpensearchCluster.java @@ -98,7 +98,8 @@ public final class OpensearchCluster "inboundClusterIds", "maintenanceDetails", "loadBalancerConfig", - "certificateConfig" + "certificateConfig", + "remoteReindexTrustConfig" }) public OpensearchCluster( String id, @@ -171,7 +172,8 @@ public OpensearchCluster( java.util.List inboundClusterIds, MaintenanceDetails maintenanceDetails, LoadBalancerConfig loadBalancerConfig, - CertificateConfig certificateConfig) { + CertificateConfig certificateConfig, + RemoteReindexTrustConfig remoteReindexTrustConfig) { super(); this.id = id; this.displayName = displayName; @@ -244,6 +246,7 @@ public OpensearchCluster( this.maintenanceDetails = maintenanceDetails; this.loadBalancerConfig = loadBalancerConfig; this.certificateConfig = certificateConfig; + this.remoteReindexTrustConfig = remoteReindexTrustConfig; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -1310,6 +1313,15 @@ public Builder certificateConfig(CertificateConfig certificateConfig) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("remoteReindexTrustConfig") + private RemoteReindexTrustConfig remoteReindexTrustConfig; + + public Builder remoteReindexTrustConfig(RemoteReindexTrustConfig remoteReindexTrustConfig) { + this.remoteReindexTrustConfig = remoteReindexTrustConfig; + this.__explicitlySet__.add("remoteReindexTrustConfig"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -1386,7 +1398,8 @@ public OpensearchCluster build() { this.inboundClusterIds, this.maintenanceDetails, this.loadBalancerConfig, - this.certificateConfig); + this.certificateConfig, + this.remoteReindexTrustConfig); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -1609,6 +1622,9 @@ public Builder copy(OpensearchCluster model) { if (model.wasPropertyExplicitlySet("certificateConfig")) { this.certificateConfig(model.getCertificateConfig()); } + if (model.wasPropertyExplicitlySet("remoteReindexTrustConfig")) { + this.remoteReindexTrustConfig(model.getRemoteReindexTrustConfig()); + } return this; } } @@ -2583,6 +2599,13 @@ public CertificateConfig getCertificateConfig() { return certificateConfig; } + @com.fasterxml.jackson.annotation.JsonProperty("remoteReindexTrustConfig") + private final RemoteReindexTrustConfig remoteReindexTrustConfig; + + public RemoteReindexTrustConfig getRemoteReindexTrustConfig() { + return remoteReindexTrustConfig; + } + @Override public String toString() { return this.toString(true); @@ -2683,6 +2706,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", maintenanceDetails=").append(String.valueOf(this.maintenanceDetails)); sb.append(", loadBalancerConfig=").append(String.valueOf(this.loadBalancerConfig)); sb.append(", certificateConfig=").append(String.valueOf(this.certificateConfig)); + sb.append(", remoteReindexTrustConfig=") + .append(String.valueOf(this.remoteReindexTrustConfig)); sb.append(")"); return sb.toString(); } @@ -2788,6 +2813,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.maintenanceDetails, other.maintenanceDetails) && java.util.Objects.equals(this.loadBalancerConfig, other.loadBalancerConfig) && java.util.Objects.equals(this.certificateConfig, other.certificateConfig) + && java.util.Objects.equals( + this.remoteReindexTrustConfig, other.remoteReindexTrustConfig) && super.equals(other); } @@ -3052,6 +3079,11 @@ public int hashCode() { result = (result * PRIME) + (this.certificateConfig == null ? 43 : this.certificateConfig.hashCode()); + result = + (result * PRIME) + + (this.remoteReindexTrustConfig == null + ? 43 + : this.remoteReindexTrustConfig.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/OpensearchClusterSummary.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/OpensearchClusterSummary.java index 5e5ef9a85ac..356dbc27957 100644 --- a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/OpensearchClusterSummary.java +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/OpensearchClusterSummary.java @@ -41,7 +41,8 @@ public final class OpensearchClusterSummary "securityMode", "backupPolicy", "outboundClusterConfig", - "loadBalancerConfig" + "loadBalancerConfig", + "remoteReindexTrustConfig" }) public OpensearchClusterSummary( String id, @@ -61,7 +62,8 @@ public OpensearchClusterSummary( SecurityMode securityMode, BackupPolicy backupPolicy, OutboundClusterConfig outboundClusterConfig, - LoadBalancerConfig loadBalancerConfig) { + LoadBalancerConfig loadBalancerConfig, + RemoteReindexTrustConfig remoteReindexTrustConfig) { super(); this.id = id; this.displayName = displayName; @@ -81,6 +83,7 @@ public OpensearchClusterSummary( this.backupPolicy = backupPolicy; this.outboundClusterConfig = outboundClusterConfig; this.loadBalancerConfig = loadBalancerConfig; + this.remoteReindexTrustConfig = remoteReindexTrustConfig; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -372,6 +375,15 @@ public Builder loadBalancerConfig(LoadBalancerConfig loadBalancerConfig) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("remoteReindexTrustConfig") + private RemoteReindexTrustConfig remoteReindexTrustConfig; + + public Builder remoteReindexTrustConfig(RemoteReindexTrustConfig remoteReindexTrustConfig) { + this.remoteReindexTrustConfig = remoteReindexTrustConfig; + this.__explicitlySet__.add("remoteReindexTrustConfig"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -395,7 +407,8 @@ public OpensearchClusterSummary build() { this.securityMode, this.backupPolicy, this.outboundClusterConfig, - this.loadBalancerConfig); + this.loadBalancerConfig, + this.remoteReindexTrustConfig); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -458,6 +471,9 @@ public Builder copy(OpensearchClusterSummary model) { if (model.wasPropertyExplicitlySet("loadBalancerConfig")) { this.loadBalancerConfig(model.getLoadBalancerConfig()); } + if (model.wasPropertyExplicitlySet("remoteReindexTrustConfig")) { + this.remoteReindexTrustConfig(model.getRemoteReindexTrustConfig()); + } return this; } } @@ -717,6 +733,13 @@ public LoadBalancerConfig getLoadBalancerConfig() { return loadBalancerConfig; } + @com.fasterxml.jackson.annotation.JsonProperty("remoteReindexTrustConfig") + private final RemoteReindexTrustConfig remoteReindexTrustConfig; + + public RemoteReindexTrustConfig getRemoteReindexTrustConfig() { + return remoteReindexTrustConfig; + } + @Override public String toString() { return this.toString(true); @@ -750,6 +773,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", backupPolicy=").append(String.valueOf(this.backupPolicy)); sb.append(", outboundClusterConfig=").append(String.valueOf(this.outboundClusterConfig)); sb.append(", loadBalancerConfig=").append(String.valueOf(this.loadBalancerConfig)); + sb.append(", remoteReindexTrustConfig=") + .append(String.valueOf(this.remoteReindexTrustConfig)); sb.append(")"); return sb.toString(); } @@ -782,6 +807,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.backupPolicy, other.backupPolicy) && java.util.Objects.equals(this.outboundClusterConfig, other.outboundClusterConfig) && java.util.Objects.equals(this.loadBalancerConfig, other.loadBalancerConfig) + && java.util.Objects.equals( + this.remoteReindexTrustConfig, other.remoteReindexTrustConfig) && super.equals(other); } @@ -833,6 +860,11 @@ public int hashCode() { + (this.loadBalancerConfig == null ? 43 : this.loadBalancerConfig.hashCode()); + result = + (result * PRIME) + + (this.remoteReindexTrustConfig == null + ? 43 + : this.remoteReindexTrustConfig.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/PlainPasswordSecurityUserPasswordDetails.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/PlainPasswordSecurityUserPasswordDetails.java new file mode 100644 index 00000000000..357cf0e9f51 --- /dev/null +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/PlainPasswordSecurityUserPasswordDetails.java @@ -0,0 +1,166 @@ +/** + * 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.opensearch.model; + +/** + * Password-source details for a plaintext master-user password.
+ * 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: 20180828") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = PlainPasswordSecurityUserPasswordDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "sourceType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class PlainPasswordSecurityUserPasswordDetails extends SecurityUserPasswordDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The plaintext password for the master user. */ + @com.fasterxml.jackson.annotation.JsonProperty("plainPassword") + private char[] plainPassword; + + /** + * The plaintext password for the master user. + * + * @param plainPassword the value to set + * @return this builder + */ + public Builder plainPassword(char[] plainPassword) { + this.plainPassword = plainPassword; + this.__explicitlySet__.add("plainPassword"); + return this; + } + + public Builder plainPassword(String plainPassword) { + this.plainPassword = plainPassword != null ? plainPassword.toCharArray() : null; + this.__explicitlySet__.add("plainPassword"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public PlainPasswordSecurityUserPasswordDetails build() { + PlainPasswordSecurityUserPasswordDetails model = + new PlainPasswordSecurityUserPasswordDetails(this.plainPassword); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(PlainPasswordSecurityUserPasswordDetails model) { + if (model.wasPropertyExplicitlySet("plainPassword")) { + this.plainPassword(model.getPlainPassword()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public PlainPasswordSecurityUserPasswordDetails(String plainPassword) { + super(); + this.plainPassword = plainPassword != null ? plainPassword.toCharArray() : null; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public PlainPasswordSecurityUserPasswordDetails( + @com.fasterxml.jackson.annotation.JsonProperty("plainPassword") char[] plainPassword) { + super(); + this.plainPassword = plainPassword; + } + + /** The plaintext password for the master user. */ + @com.fasterxml.jackson.annotation.JsonProperty("plainPassword") + private final char[] plainPassword; + + /** + * The plaintext password for the master user. + * + * @return the value + * @deprecated Use getPlainPassword__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getPlainPassword() { + return plainPassword != null ? new String(plainPassword) : null; + } + + /** + * The plaintext password for the master user. + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("plainPassword") + public char[] getPlainPassword__AsCharArray() { + return plainPassword; + } + + @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("PlainPasswordSecurityUserPasswordDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", plainPassword=").append(""); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof PlainPasswordSecurityUserPasswordDetails)) { + return false; + } + + PlainPasswordSecurityUserPasswordDetails other = + (PlainPasswordSecurityUserPasswordDetails) o; + return java.util.Objects.equals(this.plainPassword, other.plainPassword) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.plainPassword == null ? 43 : this.plainPassword.hashCode()); + return result; + } +} diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/RemoteReindexSourceDetails.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/RemoteReindexSourceDetails.java new file mode 100644 index 00000000000..9b6a4ea2b4e --- /dev/null +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/RemoteReindexSourceDetails.java @@ -0,0 +1,243 @@ +/** + * 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.opensearch.model; + +/** + * Connection and certificate details for a remote 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: 20180828") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = RemoteReindexSourceDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class RemoteReindexSourceDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"endpoint", "endpointResolutionIp", "certificateId"}) + public RemoteReindexSourceDetails( + String endpoint, String endpointResolutionIp, String certificateId) { + super(); + this.endpoint = endpoint; + this.endpointResolutionIp = endpointResolutionIp; + this.certificateId = certificateId; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * HTTPS endpoint of the remote Elasticsearch or OpenSearch cluster. The hostname and port + * are used to allow remote reindexing. Use a DNS hostname, rather than an IP address, when + * endpointResolutionIp is specified. + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private String endpoint; + + /** + * HTTPS endpoint of the remote Elasticsearch or OpenSearch cluster. The hostname and port + * are used to allow remote reindexing. Use a DNS hostname, rather than an IP address, when + * endpointResolutionIp is specified. + * + * @param endpoint the value to set + * @return this builder + */ + public Builder endpoint(String endpoint) { + this.endpoint = endpoint; + this.__explicitlySet__.add("endpoint"); + return this; + } + /** + * Optional IP address to which the endpoint hostname is resolved from within the OpenSearch + * cluster. The original hostname remains in the connection URL and is used for TLS + * verification. + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpointResolutionIp") + private String endpointResolutionIp; + + /** + * Optional IP address to which the endpoint hostname is resolved from within the OpenSearch + * cluster. The original hostname remains in the connection URL and is used for TLS + * verification. + * + * @param endpointResolutionIp the value to set + * @return this builder + */ + public Builder endpointResolutionIp(String endpointResolutionIp) { + this.endpointResolutionIp = endpointResolutionIp; + this.__explicitlySet__.add("endpointResolutionIp"); + return this; + } + /** + * OCID of the certificate or CA chain used to verify the remote cluster's HTTPS + * certificate. + */ + @com.fasterxml.jackson.annotation.JsonProperty("certificateId") + private String certificateId; + + /** + * OCID of the certificate or CA chain used to verify the remote cluster's HTTPS + * certificate. + * + * @param certificateId the value to set + * @return this builder + */ + public Builder certificateId(String certificateId) { + this.certificateId = certificateId; + this.__explicitlySet__.add("certificateId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public RemoteReindexSourceDetails build() { + RemoteReindexSourceDetails model = + new RemoteReindexSourceDetails( + this.endpoint, this.endpointResolutionIp, this.certificateId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(RemoteReindexSourceDetails model) { + if (model.wasPropertyExplicitlySet("endpoint")) { + this.endpoint(model.getEndpoint()); + } + if (model.wasPropertyExplicitlySet("endpointResolutionIp")) { + this.endpointResolutionIp(model.getEndpointResolutionIp()); + } + if (model.wasPropertyExplicitlySet("certificateId")) { + this.certificateId(model.getCertificateId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * HTTPS endpoint of the remote Elasticsearch or OpenSearch cluster. The hostname and port are + * used to allow remote reindexing. Use a DNS hostname, rather than an IP address, when + * endpointResolutionIp is specified. + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private final String endpoint; + + /** + * HTTPS endpoint of the remote Elasticsearch or OpenSearch cluster. The hostname and port are + * used to allow remote reindexing. Use a DNS hostname, rather than an IP address, when + * endpointResolutionIp is specified. + * + * @return the value + */ + public String getEndpoint() { + return endpoint; + } + + /** + * Optional IP address to which the endpoint hostname is resolved from within the OpenSearch + * cluster. The original hostname remains in the connection URL and is used for TLS + * verification. + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpointResolutionIp") + private final String endpointResolutionIp; + + /** + * Optional IP address to which the endpoint hostname is resolved from within the OpenSearch + * cluster. The original hostname remains in the connection URL and is used for TLS + * verification. + * + * @return the value + */ + public String getEndpointResolutionIp() { + return endpointResolutionIp; + } + + /** + * OCID of the certificate or CA chain used to verify the remote cluster's HTTPS certificate. + */ + @com.fasterxml.jackson.annotation.JsonProperty("certificateId") + private final String certificateId; + + /** + * OCID of the certificate or CA chain used to verify the remote cluster's HTTPS certificate. + * + * @return the value + */ + public String getCertificateId() { + return certificateId; + } + + @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("RemoteReindexSourceDetails("); + sb.append("super=").append(super.toString()); + sb.append("endpoint=").append(String.valueOf(this.endpoint)); + sb.append(", endpointResolutionIp=").append(String.valueOf(this.endpointResolutionIp)); + sb.append(", certificateId=").append(String.valueOf(this.certificateId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof RemoteReindexSourceDetails)) { + return false; + } + + RemoteReindexSourceDetails other = (RemoteReindexSourceDetails) o; + return java.util.Objects.equals(this.endpoint, other.endpoint) + && java.util.Objects.equals(this.endpointResolutionIp, other.endpointResolutionIp) + && java.util.Objects.equals(this.certificateId, other.certificateId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.endpoint == null ? 43 : this.endpoint.hashCode()); + result = + (result * PRIME) + + (this.endpointResolutionIp == null + ? 43 + : this.endpointResolutionIp.hashCode()); + result = + (result * PRIME) + + (this.certificateId == null ? 43 : this.certificateId.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/RemoteReindexTrustConfig.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/RemoteReindexTrustConfig.java new file mode 100644 index 00000000000..d7f6236d495 --- /dev/null +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/RemoteReindexTrustConfig.java @@ -0,0 +1,136 @@ +/** + * 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.opensearch.model; + +/** + * Configuration that allows this OpenSearch cluster to trust a remote cluster for reindexing.
+ * 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: 20180828") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = RemoteReindexTrustConfig.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class RemoteReindexTrustConfig + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"remoteSources"}) + public RemoteReindexTrustConfig(java.util.List remoteSources) { + super(); + this.remoteSources = remoteSources; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** Remote cluster sources to trust for reindexing. */ + @com.fasterxml.jackson.annotation.JsonProperty("remoteSources") + private java.util.List remoteSources; + + /** + * Remote cluster sources to trust for reindexing. + * + * @param remoteSources the value to set + * @return this builder + */ + public Builder remoteSources(java.util.List remoteSources) { + this.remoteSources = remoteSources; + this.__explicitlySet__.add("remoteSources"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public RemoteReindexTrustConfig build() { + RemoteReindexTrustConfig model = new RemoteReindexTrustConfig(this.remoteSources); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(RemoteReindexTrustConfig model) { + if (model.wasPropertyExplicitlySet("remoteSources")) { + this.remoteSources(model.getRemoteSources()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** Remote cluster sources to trust for reindexing. */ + @com.fasterxml.jackson.annotation.JsonProperty("remoteSources") + private final java.util.List remoteSources; + + /** + * Remote cluster sources to trust for reindexing. + * + * @return the value + */ + public java.util.List getRemoteSources() { + return remoteSources; + } + + @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("RemoteReindexTrustConfig("); + sb.append("super=").append(super.toString()); + sb.append("remoteSources=").append(String.valueOf(this.remoteSources)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof RemoteReindexTrustConfig)) { + return false; + } + + RemoteReindexTrustConfig other = (RemoteReindexTrustConfig) o; + return java.util.Objects.equals(this.remoteSources, other.remoteSources) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.remoteSources == null ? 43 : this.remoteSources.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/SecurityUserAuthenticationDetails.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/SecurityUserAuthenticationDetails.java new file mode 100644 index 00000000000..28d9ca44881 --- /dev/null +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/SecurityUserAuthenticationDetails.java @@ -0,0 +1,123 @@ +/** + * 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.opensearch.model; + +/** + * Details for authenticating the OpenSearch security master user. This object cannot be used with + * securityMasterUserName or securityMasterUserPasswordHash.
+ * 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: 20180828") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = SecurityUserAuthenticationDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class SecurityUserAuthenticationDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"userDetails"}) + public SecurityUserAuthenticationDetails(SecurityUserDetails userDetails) { + super(); + this.userDetails = userDetails; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + + @com.fasterxml.jackson.annotation.JsonProperty("userDetails") + private SecurityUserDetails userDetails; + + public Builder userDetails(SecurityUserDetails userDetails) { + this.userDetails = userDetails; + this.__explicitlySet__.add("userDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public SecurityUserAuthenticationDetails build() { + SecurityUserAuthenticationDetails model = + new SecurityUserAuthenticationDetails(this.userDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(SecurityUserAuthenticationDetails model) { + if (model.wasPropertyExplicitlySet("userDetails")) { + this.userDetails(model.getUserDetails()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @com.fasterxml.jackson.annotation.JsonProperty("userDetails") + private final SecurityUserDetails userDetails; + + public SecurityUserDetails getUserDetails() { + return userDetails; + } + + @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("SecurityUserAuthenticationDetails("); + sb.append("super=").append(super.toString()); + sb.append("userDetails=").append(String.valueOf(this.userDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof SecurityUserAuthenticationDetails)) { + return false; + } + + SecurityUserAuthenticationDetails other = (SecurityUserAuthenticationDetails) o; + return java.util.Objects.equals(this.userDetails, other.userDetails) && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.userDetails == null ? 43 : this.userDetails.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/SecurityUserDetails.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/SecurityUserDetails.java new file mode 100644 index 00000000000..e5f597d91ae --- /dev/null +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/SecurityUserDetails.java @@ -0,0 +1,160 @@ +/** + * 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.opensearch.model; + +/** + * The username and password source details for the security master user.
+ * 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: 20180828") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = SecurityUserDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class SecurityUserDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"username", "passwordDetails"}) + public SecurityUserDetails(String username, SecurityUserPasswordDetails passwordDetails) { + super(); + this.username = username; + this.passwordDetails = passwordDetails; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The name of the master user that is used to manage security config. */ + @com.fasterxml.jackson.annotation.JsonProperty("username") + private String username; + + /** + * The name of the master user that is used to manage security config. + * + * @param username the value to set + * @return this builder + */ + public Builder username(String username) { + this.username = username; + this.__explicitlySet__.add("username"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("passwordDetails") + private SecurityUserPasswordDetails passwordDetails; + + public Builder passwordDetails(SecurityUserPasswordDetails passwordDetails) { + this.passwordDetails = passwordDetails; + this.__explicitlySet__.add("passwordDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public SecurityUserDetails build() { + SecurityUserDetails model = + new SecurityUserDetails(this.username, this.passwordDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(SecurityUserDetails model) { + if (model.wasPropertyExplicitlySet("username")) { + this.username(model.getUsername()); + } + if (model.wasPropertyExplicitlySet("passwordDetails")) { + this.passwordDetails(model.getPasswordDetails()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The name of the master user that is used to manage security config. */ + @com.fasterxml.jackson.annotation.JsonProperty("username") + private final String username; + + /** + * The name of the master user that is used to manage security config. + * + * @return the value + */ + public String getUsername() { + return username; + } + + @com.fasterxml.jackson.annotation.JsonProperty("passwordDetails") + private final SecurityUserPasswordDetails passwordDetails; + + public SecurityUserPasswordDetails getPasswordDetails() { + return passwordDetails; + } + + @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("SecurityUserDetails("); + sb.append("super=").append(super.toString()); + sb.append("username=").append(String.valueOf(this.username)); + sb.append(", passwordDetails=").append(String.valueOf(this.passwordDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof SecurityUserDetails)) { + return false; + } + + SecurityUserDetails other = (SecurityUserDetails) o; + return java.util.Objects.equals(this.username, other.username) + && java.util.Objects.equals(this.passwordDetails, other.passwordDetails) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.username == null ? 43 : this.username.hashCode()); + result = + (result * PRIME) + + (this.passwordDetails == null ? 43 : this.passwordDetails.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/SecurityUserPasswordDetails.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/SecurityUserPasswordDetails.java new file mode 100644 index 00000000000..ad3ec668497 --- /dev/null +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/SecurityUserPasswordDetails.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.opensearch.model; + +/** + * Base password-source details for the OpenSearch security master user.
+ * 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: 20180828") +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "sourceType", + defaultImpl = SecurityUserPasswordDetails.class) +@com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = VaultSecretSecurityUserPasswordDetails.class, + name = "OCI_VAULT_SECRET"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = PlainPasswordSecurityUserPasswordDetails.class, + name = "PLAIN_PASSWORD") +}) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public class SecurityUserPasswordDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({}) + protected SecurityUserPasswordDetails() { + 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("SecurityUserPasswordDetails("); + 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 SecurityUserPasswordDetails)) { + return false; + } + + SecurityUserPasswordDetails other = (SecurityUserPasswordDetails) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + super.hashCode(); + return result; + } + + /** The source of the master-user plaintext password. */ + public enum SourceType implements com.oracle.bmc.http.internal.BmcEnum { + PlainPassword("PLAIN_PASSWORD"), + OciVaultSecret("OCI_VAULT_SECRET"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SourceType v : SourceType.values()) { + map.put(v.getValue(), v); + } + } + + SourceType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SourceType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SourceType: " + key); + } + }; +} diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/UpdateOpensearchClusterDetails.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/UpdateOpensearchClusterDetails.java index d7e64aff9e1..a6765d1d0a5 100644 --- a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/UpdateOpensearchClusterDetails.java +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/UpdateOpensearchClusterDetails.java @@ -30,6 +30,7 @@ public final class UpdateOpensearchClusterDetails "securityMode", "securityMasterUserName", "securityMasterUserPasswordHash", + "securityMasterUserAuthDetails", "securitySamlConfig", "backupPolicy", "nsgId", @@ -38,6 +39,7 @@ public final class UpdateOpensearchClusterDetails "maintenanceDetails", "loadBalancerConfig", "certificateConfig", + "remoteReindexTrustConfig", "freeformTags", "definedTags", "securityAttributes" @@ -48,6 +50,7 @@ public UpdateOpensearchClusterDetails( SecurityMode securityMode, String securityMasterUserName, String securityMasterUserPasswordHash, + SecurityUserAuthenticationDetails securityMasterUserAuthDetails, SecuritySamlConfig securitySamlConfig, BackupPolicy backupPolicy, String nsgId, @@ -56,6 +59,7 @@ public UpdateOpensearchClusterDetails( UpdateMaintenanceDetails maintenanceDetails, LoadBalancerConfig loadBalancerConfig, CertificateConfig certificateConfig, + RemoteReindexTrustConfig remoteReindexTrustConfig, java.util.Map freeformTags, java.util.Map> definedTags, java.util.Map> securityAttributes) { @@ -65,6 +69,7 @@ public UpdateOpensearchClusterDetails( this.securityMode = securityMode; this.securityMasterUserName = securityMasterUserName; this.securityMasterUserPasswordHash = securityMasterUserPasswordHash; + this.securityMasterUserAuthDetails = securityMasterUserAuthDetails; this.securitySamlConfig = securitySamlConfig; this.backupPolicy = backupPolicy; this.nsgId = nsgId; @@ -73,6 +78,7 @@ public UpdateOpensearchClusterDetails( this.maintenanceDetails = maintenanceDetails; this.loadBalancerConfig = loadBalancerConfig; this.certificateConfig = certificateConfig; + this.remoteReindexTrustConfig = remoteReindexTrustConfig; this.freeformTags = freeformTags; this.definedTags = definedTags; this.securityAttributes = securityAttributes; @@ -150,6 +156,16 @@ public Builder securityMasterUserPasswordHash(String securityMasterUserPasswordH return this; } + @com.fasterxml.jackson.annotation.JsonProperty("securityMasterUserAuthDetails") + private SecurityUserAuthenticationDetails securityMasterUserAuthDetails; + + public Builder securityMasterUserAuthDetails( + SecurityUserAuthenticationDetails securityMasterUserAuthDetails) { + this.securityMasterUserAuthDetails = securityMasterUserAuthDetails; + this.__explicitlySet__.add("securityMasterUserAuthDetails"); + return this; + } + @com.fasterxml.jackson.annotation.JsonProperty("securitySamlConfig") private SecuritySamlConfig securitySamlConfig; @@ -234,6 +250,15 @@ public Builder certificateConfig(CertificateConfig certificateConfig) { this.__explicitlySet__.add("certificateConfig"); return this; } + + @com.fasterxml.jackson.annotation.JsonProperty("remoteReindexTrustConfig") + private RemoteReindexTrustConfig remoteReindexTrustConfig; + + public Builder remoteReindexTrustConfig(RemoteReindexTrustConfig remoteReindexTrustConfig) { + this.remoteReindexTrustConfig = remoteReindexTrustConfig; + this.__explicitlySet__.add("remoteReindexTrustConfig"); + 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"}} @@ -313,6 +338,7 @@ public UpdateOpensearchClusterDetails build() { this.securityMode, this.securityMasterUserName, this.securityMasterUserPasswordHash, + this.securityMasterUserAuthDetails, this.securitySamlConfig, this.backupPolicy, this.nsgId, @@ -321,6 +347,7 @@ public UpdateOpensearchClusterDetails build() { this.maintenanceDetails, this.loadBalancerConfig, this.certificateConfig, + this.remoteReindexTrustConfig, this.freeformTags, this.definedTags, this.securityAttributes); @@ -347,6 +374,9 @@ public Builder copy(UpdateOpensearchClusterDetails model) { if (model.wasPropertyExplicitlySet("securityMasterUserPasswordHash")) { this.securityMasterUserPasswordHash(model.getSecurityMasterUserPasswordHash()); } + if (model.wasPropertyExplicitlySet("securityMasterUserAuthDetails")) { + this.securityMasterUserAuthDetails(model.getSecurityMasterUserAuthDetails()); + } if (model.wasPropertyExplicitlySet("securitySamlConfig")) { this.securitySamlConfig(model.getSecuritySamlConfig()); } @@ -372,6 +402,9 @@ public Builder copy(UpdateOpensearchClusterDetails model) { if (model.wasPropertyExplicitlySet("certificateConfig")) { this.certificateConfig(model.getCertificateConfig()); } + if (model.wasPropertyExplicitlySet("remoteReindexTrustConfig")) { + this.remoteReindexTrustConfig(model.getRemoteReindexTrustConfig()); + } if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } @@ -453,6 +486,13 @@ public String getSecurityMasterUserPasswordHash() { return securityMasterUserPasswordHash; } + @com.fasterxml.jackson.annotation.JsonProperty("securityMasterUserAuthDetails") + private final SecurityUserAuthenticationDetails securityMasterUserAuthDetails; + + public SecurityUserAuthenticationDetails getSecurityMasterUserAuthDetails() { + return securityMasterUserAuthDetails; + } + @com.fasterxml.jackson.annotation.JsonProperty("securitySamlConfig") private final SecuritySamlConfig securitySamlConfig; @@ -521,6 +561,13 @@ public CertificateConfig getCertificateConfig() { return certificateConfig; } + @com.fasterxml.jackson.annotation.JsonProperty("remoteReindexTrustConfig") + private final RemoteReindexTrustConfig remoteReindexTrustConfig; + + public RemoteReindexTrustConfig getRemoteReindexTrustConfig() { + return remoteReindexTrustConfig; + } + /** * Simple key-value pair that is applied without any predefined name, type or scope. Exists for * cross-compatibility only. Example: {@code {"bar-key": "value"}} @@ -599,6 +646,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", securityMasterUserName=").append(String.valueOf(this.securityMasterUserName)); sb.append(", securityMasterUserPasswordHash=") .append(String.valueOf(this.securityMasterUserPasswordHash)); + sb.append(", securityMasterUserAuthDetails=") + .append(String.valueOf(this.securityMasterUserAuthDetails)); sb.append(", securitySamlConfig=").append(String.valueOf(this.securitySamlConfig)); sb.append(", backupPolicy=").append(String.valueOf(this.backupPolicy)); sb.append(", nsgId=").append(String.valueOf(this.nsgId)); @@ -608,6 +657,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", maintenanceDetails=").append(String.valueOf(this.maintenanceDetails)); sb.append(", loadBalancerConfig=").append(String.valueOf(this.loadBalancerConfig)); sb.append(", certificateConfig=").append(String.valueOf(this.certificateConfig)); + sb.append(", remoteReindexTrustConfig=") + .append(String.valueOf(this.remoteReindexTrustConfig)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(", securityAttributes=").append(String.valueOf(this.securityAttributes)); @@ -632,6 +683,8 @@ public boolean equals(Object o) { this.securityMasterUserName, other.securityMasterUserName) && java.util.Objects.equals( this.securityMasterUserPasswordHash, other.securityMasterUserPasswordHash) + && java.util.Objects.equals( + this.securityMasterUserAuthDetails, other.securityMasterUserAuthDetails) && java.util.Objects.equals(this.securitySamlConfig, other.securitySamlConfig) && java.util.Objects.equals(this.backupPolicy, other.backupPolicy) && java.util.Objects.equals(this.nsgId, other.nsgId) @@ -642,6 +695,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.maintenanceDetails, other.maintenanceDetails) && java.util.Objects.equals(this.loadBalancerConfig, other.loadBalancerConfig) && java.util.Objects.equals(this.certificateConfig, other.certificateConfig) + && java.util.Objects.equals( + this.remoteReindexTrustConfig, other.remoteReindexTrustConfig) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) && java.util.Objects.equals(this.securityAttributes, other.securityAttributes) @@ -667,6 +722,11 @@ public int hashCode() { + (this.securityMasterUserPasswordHash == null ? 43 : this.securityMasterUserPasswordHash.hashCode()); + result = + (result * PRIME) + + (this.securityMasterUserAuthDetails == null + ? 43 + : this.securityMasterUserAuthDetails.hashCode()); result = (result * PRIME) + (this.securitySamlConfig == null @@ -697,6 +757,11 @@ public int hashCode() { result = (result * PRIME) + (this.certificateConfig == null ? 43 : this.certificateConfig.hashCode()); + result = + (result * PRIME) + + (this.remoteReindexTrustConfig == null + ? 43 + : this.remoteReindexTrustConfig.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); result = diff --git a/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/VaultSecretSecurityUserPasswordDetails.java b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/VaultSecretSecurityUserPasswordDetails.java new file mode 100644 index 00000000000..d8c67f45b0f --- /dev/null +++ b/bmc-opensearch/src/main/java/com/oracle/bmc/opensearch/model/VaultSecretSecurityUserPasswordDetails.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.opensearch.model; + +/** + * Password-source details for a Vault secret containing the master-user password.
+ * 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: 20180828") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = VaultSecretSecurityUserPasswordDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "sourceType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class VaultSecretSecurityUserPasswordDetails extends SecurityUserPasswordDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of a Vault secret containing the plaintext master-user password. */ + @com.fasterxml.jackson.annotation.JsonProperty("vaultSecretId") + private String vaultSecretId; + + /** + * The OCID of a Vault secret containing the plaintext master-user password. + * + * @param vaultSecretId the value to set + * @return this builder + */ + public Builder vaultSecretId(String vaultSecretId) { + this.vaultSecretId = vaultSecretId; + this.__explicitlySet__.add("vaultSecretId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public VaultSecretSecurityUserPasswordDetails build() { + VaultSecretSecurityUserPasswordDetails model = + new VaultSecretSecurityUserPasswordDetails(this.vaultSecretId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(VaultSecretSecurityUserPasswordDetails model) { + if (model.wasPropertyExplicitlySet("vaultSecretId")) { + this.vaultSecretId(model.getVaultSecretId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public VaultSecretSecurityUserPasswordDetails(String vaultSecretId) { + super(); + this.vaultSecretId = vaultSecretId; + } + + /** The OCID of a Vault secret containing the plaintext master-user password. */ + @com.fasterxml.jackson.annotation.JsonProperty("vaultSecretId") + private final String vaultSecretId; + + /** + * The OCID of a Vault secret containing the plaintext master-user password. + * + * @return the value + */ + public String getVaultSecretId() { + return vaultSecretId; + } + + @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("VaultSecretSecurityUserPasswordDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", vaultSecretId=").append(String.valueOf(this.vaultSecretId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof VaultSecretSecurityUserPasswordDetails)) { + return false; + } + + VaultSecretSecurityUserPasswordDetails other = (VaultSecretSecurityUserPasswordDetails) o; + return java.util.Objects.equals(this.vaultSecretId, other.vaultSecretId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.vaultSecretId == null ? 43 : this.vaultSecretId.hashCode()); + return result; + } +} diff --git a/bmc-opensearch/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-opensearch/reflect-config.json b/bmc-opensearch/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-opensearch/reflect-config.json index 1c0a98159d6..371ece9a4b7 100644 --- a/bmc-opensearch/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-opensearch/reflect-config.json +++ b/bmc-opensearch/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-opensearch/reflect-config.json @@ -617,6 +617,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.PlainPasswordSecurityUserPasswordDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.PlainPasswordSecurityUserPasswordDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.opensearch.model.ReclaimClusterDetails", @@ -631,6 +645,34 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.RemoteReindexSourceDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.RemoteReindexSourceDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.RemoteReindexTrustConfig", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.RemoteReindexTrustConfig$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.opensearch.model.ResizeOpensearchClusterHorizontalDetails", @@ -727,6 +769,47 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.SecurityUserAuthenticationDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.SecurityUserAuthenticationDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.SecurityUserDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.SecurityUserDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.SecurityUserPasswordDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.SecurityUserPasswordDetails$SourceType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.opensearch.model.ShapesDetails", @@ -893,6 +976,20 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.VaultSecretSecurityUserPasswordDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.opensearch.model.VaultSecretSecurityUserPasswordDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.opensearch.model.WorkRequest", diff --git a/bmc-operatoraccesscontrol/pom.xml b/bmc-operatoraccesscontrol/pom.xml index 9120041f0ed..408c3eda546 100644 --- a/bmc-operatoraccesscontrol/pom.xml +++ b/bmc-operatoraccesscontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-operatoraccesscontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-opsi/pom.xml b/bmc-opsi/pom.xml index efd0001cb5a..84afb8a80ae 100644 --- a/bmc-opsi/pom.xml +++ b/bmc-opsi/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-opsi @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-optimizer/pom.xml b/bmc-optimizer/pom.xml index febf100e8ac..85f1d0255ee 100644 --- a/bmc-optimizer/pom.xml +++ b/bmc-optimizer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-optimizer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-osmanagementhub/pom.xml b/bmc-osmanagementhub/pom.xml index a863a672005..ad93ad76909 100644 --- a/bmc-osmanagementhub/pom.xml +++ b/bmc-osmanagementhub/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-osmanagementhub @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-ospgateway/pom.xml b/bmc-ospgateway/pom.xml index b3e1b63dc65..d3d4951ff19 100644 --- a/bmc-ospgateway/pom.xml +++ b/bmc-ospgateway/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-ospgateway @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-osubbillingschedule/pom.xml b/bmc-osubbillingschedule/pom.xml index 70f218bec1c..4682765f7a4 100644 --- a/bmc-osubbillingschedule/pom.xml +++ b/bmc-osubbillingschedule/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-osubbillingschedule @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-osuborganizationsubscription/pom.xml b/bmc-osuborganizationsubscription/pom.xml index 29f46c46ce8..850f603aeca 100644 --- a/bmc-osuborganizationsubscription/pom.xml +++ b/bmc-osuborganizationsubscription/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-osuborganizationsubscription @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-osubsubscription/pom.xml b/bmc-osubsubscription/pom.xml index a7671f203d2..40ffb365267 100644 --- a/bmc-osubsubscription/pom.xml +++ b/bmc-osubsubscription/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-osubsubscription @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-osubusage/pom.xml b/bmc-osubusage/pom.xml index 377ca51d7cb..5819db9cf74 100644 --- a/bmc-osubusage/pom.xml +++ b/bmc-osubusage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-osubusage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-other-examples/bmc-jersey-examples/pom.xml b/bmc-other-examples/bmc-jersey-examples/pom.xml index da7b81799f1..51fa56f33ab 100644 --- a/bmc-other-examples/bmc-jersey-examples/pom.xml +++ b/bmc-other-examples/bmc-jersey-examples/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk oci-java-sdk-jersey-examples - 3.97.2 + 3.98.0 Oracle Cloud Infrastructure SDK - Examples using Jersey 2 HTTP client This project contains the examples on how to use the SDK used for Oracle Cloud Infrastructure with the Jersey 2 HTTP client https://docs.oracle.com/iaas/Content/API/SDKDocs/javasdk.htm @@ -58,7 +58,7 @@ com.oracle.oci.sdk oci-java-sdk-enforcer-rules - 3.97.2 + 3.98.0 false @@ -95,14 +95,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.97.2 + 3.98.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.97.2 + 3.98.0 pom import diff --git a/bmc-other-examples/bmc-jersey3-examples/pom.xml b/bmc-other-examples/bmc-jersey3-examples/pom.xml index 4c393b8693a..15237ebdd2a 100644 --- a/bmc-other-examples/bmc-jersey3-examples/pom.xml +++ b/bmc-other-examples/bmc-jersey3-examples/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk oci-java-sdk-jersey3-examples - 3.97.2 + 3.98.0 Oracle Cloud Infrastructure SDK - Examples using Jersey 3 HTTP client This project contains the examples on how to use the SDK used for Oracle Cloud Infrastructure with the Jersey 3 HTTP client https://docs.oracle.com/iaas/Content/API/SDKDocs/javasdk.htm @@ -58,7 +58,7 @@ com.oracle.oci.sdk oci-java-sdk-enforcer-rules - 3.97.2 + 3.98.0 false @@ -95,14 +95,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.97.2 + 3.98.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.97.2 + 3.98.0 pom import diff --git a/bmc-other-examples/native-maven-example/pom.xml b/bmc-other-examples/native-maven-example/pom.xml index 734aca69c8c..13dbf22e255 100644 --- a/bmc-other-examples/native-maven-example/pom.xml +++ b/bmc-other-examples/native-maven-example/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk oci-java-sdk-examples-native - 3.97.2 + 3.98.0 Oracle Cloud Infrastructure SDK - Native Example This project contains an example on how to use the SDK used for Oracle Cloud Infrastructure in a native executable https://docs.oracle.com/iaas/Content/API/SDKDocs/javasdk.htm @@ -98,14 +98,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.97.2 + 3.98.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.97.2 + 3.98.0 pom import diff --git a/bmc-other-examples/pom.xml b/bmc-other-examples/pom.xml index 986398b47b5..6a82d687dd9 100644 --- a/bmc-other-examples/pom.xml +++ b/bmc-other-examples/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml diff --git a/bmc-psa/pom.xml b/bmc-psa/pom.xml index b27de9bffbc..1f22f62ee6c 100644 --- a/bmc-psa/pom.xml +++ b/bmc-psa/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-psa @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-psql/pom.xml b/bmc-psql/pom.xml index a178efacf40..eb98c24408e 100644 --- a/bmc-psql/pom.xml +++ b/bmc-psql/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-psql @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-queue/pom.xml b/bmc-queue/pom.xml index 61bba31e4b3..6916705cde4 100644 --- a/bmc-queue/pom.xml +++ b/bmc-queue/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-queue @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-recovery/pom.xml b/bmc-recovery/pom.xml index b8d2b605ffe..f2ad33c3677 100644 --- a/bmc-recovery/pom.xml +++ b/bmc-recovery/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-recovery @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-redis/pom.xml b/bmc-redis/pom.xml index 2a81f3d5cd9..28d6337eabb 100644 --- a/bmc-redis/pom.xml +++ b/bmc-redis/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-redis @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-resourceanalytics/pom.xml b/bmc-resourceanalytics/pom.xml index 1ce2d0150f7..65093f0bfcf 100644 --- a/bmc-resourceanalytics/pom.xml +++ b/bmc-resourceanalytics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-resourceanalytics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-resourcemanager/pom.xml b/bmc-resourcemanager/pom.xml index c72448d2878..d336bbdb43c 100644 --- a/bmc-resourcemanager/pom.xml +++ b/bmc-resourcemanager/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-resourcemanager @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-resourcescheduler/pom.xml b/bmc-resourcescheduler/pom.xml index ccf3d9cee81..f01158ebe78 100644 --- a/bmc-resourcescheduler/pom.xml +++ b/bmc-resourcescheduler/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-resourcescheduler @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-resourcesearch/pom.xml b/bmc-resourcesearch/pom.xml index 7e9dec01cb4..cbdbadbf5c3 100644 --- a/bmc-resourcesearch/pom.xml +++ b/bmc-resourcesearch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-resourcesearch @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-rover/pom.xml b/bmc-rover/pom.xml index 29c63c8d5ca..e0b9fe5069f 100644 --- a/bmc-rover/pom.xml +++ b/bmc-rover/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-rover @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-sch/pom.xml b/bmc-sch/pom.xml index 71e51eee4e3..0b3ec15d702 100644 --- a/bmc-sch/pom.xml +++ b/bmc-sch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-sch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-secrets/pom.xml b/bmc-secrets/pom.xml index b889facb42d..67fd345d4c3 100644 --- a/bmc-secrets/pom.xml +++ b/bmc-secrets/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-secrets @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-securityattribute/pom.xml b/bmc-securityattribute/pom.xml index 2bbbc9c0c72..9cfe3a143f7 100644 --- a/bmc-securityattribute/pom.xml +++ b/bmc-securityattribute/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-securityattribute @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-self/pom.xml b/bmc-self/pom.xml index a8fa0e295fc..ad63a90a783 100644 --- a/bmc-self/pom.xml +++ b/bmc-self/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-self @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-servicecatalog/pom.xml b/bmc-servicecatalog/pom.xml index 045a24d1bc5..8ea052702bc 100644 --- a/bmc-servicecatalog/pom.xml +++ b/bmc-servicecatalog/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-servicecatalog @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-servicemanagerproxy/pom.xml b/bmc-servicemanagerproxy/pom.xml index 84671954b89..58be5517a8b 100644 --- a/bmc-servicemanagerproxy/pom.xml +++ b/bmc-servicemanagerproxy/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-servicemanagerproxy @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-shaded/bmc-shaded-full/pom.xml b/bmc-shaded/bmc-shaded-full/pom.xml index deda281ce0b..2ffbc280491 100644 --- a/bmc-shaded/bmc-shaded-full/pom.xml +++ b/bmc-shaded/bmc-shaded-full/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk-shaded - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-shaded-full diff --git a/bmc-shaded/pom.xml b/bmc-shaded/pom.xml index 81b1bd68b9d..176634a02fb 100644 --- a/bmc-shaded/pom.xml +++ b/bmc-shaded/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml diff --git a/bmc-stackmonitoring/pom.xml b/bmc-stackmonitoring/pom.xml index 963972438f8..b2f186d2e72 100644 --- a/bmc-stackmonitoring/pom.xml +++ b/bmc-stackmonitoring/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-stackmonitoring @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-streaming/pom.xml b/bmc-streaming/pom.xml index a7d1b231d0c..f8bbb85fc99 100644 --- a/bmc-streaming/pom.xml +++ b/bmc-streaming/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-streaming @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-tenantmanagercontrolplane/pom.xml b/bmc-tenantmanagercontrolplane/pom.xml index 4b55d3fa116..ca174c9b6ca 100644 --- a/bmc-tenantmanagercontrolplane/pom.xml +++ b/bmc-tenantmanagercontrolplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-tenantmanagercontrolplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-threatintelligence/pom.xml b/bmc-threatintelligence/pom.xml index 5bfea2d0071..d682dd43f41 100644 --- a/bmc-threatintelligence/pom.xml +++ b/bmc-threatintelligence/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-threatintelligence @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-usage/pom.xml b/bmc-usage/pom.xml index 51c34a3c0d8..cba67fb732b 100644 --- a/bmc-usage/pom.xml +++ b/bmc-usage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-usage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-usageapi/pom.xml b/bmc-usageapi/pom.xml index b4a96f8abbd..5a6f43d3090 100644 --- a/bmc-usageapi/pom.xml +++ b/bmc-usageapi/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-usageapi @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-vault/pom.xml b/bmc-vault/pom.xml index c4ee6972561..c0774e96f0e 100644 --- a/bmc-vault/pom.xml +++ b/bmc-vault/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-vault @@ -15,12 +15,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-vbsinst/pom.xml b/bmc-vbsinst/pom.xml index 0d8e551f8cb..091cdf23a3b 100644 --- a/bmc-vbsinst/pom.xml +++ b/bmc-vbsinst/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-vbsinst @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-visualbuilder/pom.xml b/bmc-visualbuilder/pom.xml index 806253ba597..466adf50d78 100644 --- a/bmc-visualbuilder/pom.xml +++ b/bmc-visualbuilder/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-visualbuilder @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-vnmonitoring/pom.xml b/bmc-vnmonitoring/pom.xml index c7519d803e5..2a2c3facbba 100644 --- a/bmc-vnmonitoring/pom.xml +++ b/bmc-vnmonitoring/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-vnmonitoring @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-vulnerabilityscanning/pom.xml b/bmc-vulnerabilityscanning/pom.xml index e6029c00d0f..9e0e6b83851 100644 --- a/bmc-vulnerabilityscanning/pom.xml +++ b/bmc-vulnerabilityscanning/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-vulnerabilityscanning @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-waa/pom.xml b/bmc-waa/pom.xml index bcf3ad4913f..3140b2f5655 100644 --- a/bmc-waa/pom.xml +++ b/bmc-waa/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-waa @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-waas/pom.xml b/bmc-waas/pom.xml index 878b7c438b5..de9d493bdc2 100644 --- a/bmc-waas/pom.xml +++ b/bmc-waas/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-waas @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-waf/pom.xml b/bmc-waf/pom.xml index 1322fbab7e4..0f2ce40064a 100644 --- a/bmc-waf/pom.xml +++ b/bmc-waf/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-waf @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-wlms/pom.xml b/bmc-wlms/pom.xml index 33c4d3487f5..15688ed96fb 100644 --- a/bmc-wlms/pom.xml +++ b/bmc-wlms/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-wlms @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-workrequests/pom.xml b/bmc-workrequests/pom.xml index 733fe0f22db..3a58d1762a9 100644 --- a/bmc-workrequests/pom.xml +++ b/bmc-workrequests/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-workrequests @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/bmc-zpr/pom.xml b/bmc-zpr/pom.xml index 4826968b07c..77b2c1b7121 100644 --- a/bmc-zpr/pom.xml +++ b/bmc-zpr/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 ../pom.xml oci-java-sdk-zpr @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.97.2 + 3.98.0 \ No newline at end of file diff --git a/pom.xml b/pom.xml index 46963184dfd..3e8148ac2a5 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk oci-java-sdk - 3.97.2 + 3.98.0 pom Oracle Cloud Infrastructure SDK This project contains the SDK used for Oracle Cloud Infrastructure @@ -35,8 +35,8 @@ UTF-8 2.21 - 2.21.5 - 2.21.6 + 2.21.7 + 2.21.7 2.47 4.5.14 4.5.14 @@ -684,6 +684,7 @@ bmc-clusterhealth bmc-distributeddatabase bmc-ociproductcatalog + bmc-ccdoffers bmc-containerengine bmc-keymanagement bmc-resourcesearch