From 077814daba84f5b3851957668693129886bbe483 Mon Sep 17 00:00:00 2001 From: OCI DEX Release Bot Automation Date: Tue, 28 Jul 2026 16:47:47 +0000 Subject: [PATCH] Releasing version 3.93.0 --- CHANGELOG.md | 28 +- README.md | 1 + bmc-accessgovernancecp/pom.xml | 4 +- bmc-addons/bmc-adk/pom.xml | 2 +- bmc-addons/bmc-aispeech-realtime/pom.xml | 6 +- .../pom.xml | 23 +- .../ApacheConfigurator.java | 21 +- .../ApacheConfiguratorTest.java | 37 + .../pom.xml | 23 +- .../ApacheConfigurator.java | 21 +- .../ApacheConfiguratorTest.java | 37 + .../bmc-apache-connector-provider/pom.xml | 4 +- bmc-addons/bmc-oke-workload-identity/pom.xml | 10 +- .../bmc-resteasy-client-configurator/pom.xml | 4 +- .../bmc-sasl-oke-workload-identity/pom.xml | 6 +- bmc-addons/bmc-sasl/pom.xml | 4 +- bmc-addons/bmc-sse-support-jersey3/pom.xml | 8 +- bmc-addons/bmc-sse-support/pom.xml | 8 +- bmc-addons/pom.xml | 2 +- bmc-adm/pom.xml | 4 +- bmc-aidataplatform/pom.xml | 4 +- bmc-aidocument/pom.xml | 4 +- bmc-ailanguage/pom.xml | 4 +- bmc-aispeech/pom.xml | 4 +- bmc-aivision/pom.xml | 4 +- bmc-analytics/pom.xml | 4 +- bmc-announcementsservice/pom.xml | 4 +- bmc-apiaccesscontrol/pom.xml | 4 +- .../ApiMetadataAsyncClient.java | 2 + .../apiaccesscontrol/ApiMetadataClient.java | 2 + .../PrivilegedApiControlAsyncClient.java | 1 + .../PrivilegedApiControlClient.java | 1 + .../PrivilegedApiRequestsAsyncClient.java | 1 + .../PrivilegedApiRequestsClient.java | 1 + .../PrivilegedApiWorkRequestAsyncClient.java | 1 + .../PrivilegedApiWorkRequestClient.java | 1 + .../apiaccesscontrol/model/ApiMetadata.java | 46 +- .../model/ApiMetadataByEntityTypeSummary.java | 44 +- .../model/ApproverDetail.java | 42 + .../model/ApproverGroupLevel.java | 169 ++ .../CreatePrivilegedApiControlDetails.java | 58 +- .../model/PrivilegedApiControl.java | 66 +- .../model/PrivilegedApiControlSummary.java | 16 +- .../UpdatePrivilegedApiControlDetails.java | 58 +- .../reflect-config.json | 14 + bmc-apigateway/pom.xml | 4 +- bmc-apiplatform/pom.xml | 4 +- bmc-apmconfig/pom.xml | 4 +- bmc-apmcontrolplane/pom.xml | 4 +- bmc-apmsynthetics/pom.xml | 4 +- bmc-apmtraces/pom.xml | 4 +- bmc-appmgmtcontrol/pom.xml | 4 +- bmc-artifacts/pom.xml | 4 +- bmc-audit/pom.xml | 4 +- bmc-autoscaling/pom.xml | 4 +- bmc-bastion/pom.xml | 4 +- bmc-batch/pom.xml | 4 +- bmc-bds/pom.xml | 4 +- bmc-blockchain/pom.xml | 4 +- bmc-bom/pom.xml | 376 ++-- bmc-budget/pom.xml | 4 +- bmc-capacitymanagement/pom.xml | 4 +- bmc-certificates/pom.xml | 4 +- bmc-certificatesmanagement/pom.xml | 4 +- bmc-cims/pom.xml | 4 +- bmc-circuitbreaker/pom.xml | 2 +- bmc-cloudbridge/pom.xml | 4 +- bmc-cloudguard/pom.xml | 4 +- bmc-cloudmigrations/pom.xml | 4 +- bmc-clusterplacementgroups/pom.xml | 4 +- .../bmc-common-httpclient-jersey/pom.xml | 6 +- .../jersey/JerseyHttpClientBuilder.java | 28 +- .../client/jersey/JerseyHttpClientTest.java | 24 + .../bmc-common-httpclient-jersey3/pom.xml | 6 +- .../jersey3/Jersey3HttpClientBuilder.java | 28 +- .../client/jersey3/Jersey3HttpClientTest.java | 23 + bmc-common-httpclient-choices/pom.xml | 2 +- bmc-common-httpclient/pom.xml | 2 +- bmc-common/pom.xml | 8 +- ...tAuthenticationDetailsProviderBuilder.java | 34 +- .../auth/URLBasedX509CertificateSupplier.java | 272 ++- .../auth/internal/X509FederationClient.java | 16 +- ...tAuthenticationDetailsProviderBuilder.java | 50 + .../URLBasedX509CertificateSupplierTest.java | 70 + .../internal/X509FederationClientTest.java | 32 + bmc-computecloudatcustomer/pom.xml | 4 +- bmc-computeinstanceagent/pom.xml | 4 +- bmc-containerengine/pom.xml | 4 +- bmc-containerinstances/pom.xml | 4 +- bmc-containerregistry/pom.xml | 4 +- bmc-core/pom.xml | 6 +- .../com/oracle/bmc/core/VirtualNetwork.java | 18 + .../oracle/bmc/core/VirtualNetworkAsync.java | 17 + .../bmc/core/VirtualNetworkAsyncClient.java | 39 + .../oracle/bmc/core/VirtualNetworkClient.java | 37 + .../bmc/core/VirtualNetworkPaginators.java | 123 ++ .../bmc/core/model/BootVolumeBackup.java | 316 ++- .../model/CreateBootVolumeBackupDetails.java | 209 +- .../model/CreateDedicatedVmHostDetails.java | 56 +- .../model/CreateVirtualCircuitDetails.java | 94 + .../core/model/CreateVolumeBackupDetails.java | 209 +- .../model/CreateVolumeGroupBackupDetails.java | 209 +- .../bmc/core/model/DedicatedVmHost.java | 50 + .../model/DedicatedVmHostInstanceSummary.java | 50 + .../core/model/DedicatedVmHostSummary.java | 50 + .../com/oracle/bmc/core/model/Instances.java | 98 + .../core/model/ProviderRemoteRegionName.java | 191 ++ .../bmc/core/model/RetentionDuration.java | 250 +++ .../bmc/core/model/SupportedCapabilities.java | 59 +- .../model/UpdateBootVolumeBackupDetails.java | 217 +- .../core/model/UpdateVolumeBackupDetails.java | 217 +- .../model/UpdateVolumeGroupBackupDetails.java | 215 +- .../oracle/bmc/core/model/VirtualCircuit.java | 142 ++ .../oracle/bmc/core/model/VolumeBackup.java | 316 ++- .../bmc/core/model/VolumeBackupSchedule.java | 149 +- .../bmc/core/model/VolumeGroupBackup.java | 264 ++- .../ListProviderRemoteRegionsRequest.java | 306 +++ .../ListProviderRemoteRegionsResponse.java | 222 ++ .../oci-java-sdk-core/reflect-config.json | 48 + bmc-costad/pom.xml | 4 +- bmc-dashboardservice/pom.xml | 4 +- bmc-database/pom.xml | 6 +- .../com/oracle/bmc/database/Database.java | 208 ++ .../oracle/bmc/database/DatabaseAsync.java | 208 ++ .../bmc/database/DatabaseAsyncClient.java | 456 ++++ .../oracle/bmc/database/DatabaseClient.java | 406 ++++ .../bmc/database/DatabasePaginators.java | 379 ++++ .../oracle/bmc/database/DatabaseWaiters.java | 899 +++++++- .../bmc/database/model/BaseccVmCluster.java | 1844 +++++++++++++++++ .../model/BaseccVmClusterSummary.java | 1844 +++++++++++++++++ .../database/model/BaseccVmClusterUpdate.java | 660 ++++++ .../model/BaseccVmClusterUpdateDetails.java | 265 +++ .../BaseccVmClusterUpdateHistoryEntry.java | 616 ++++++ ...eccVmClusterUpdateHistoryEntrySummary.java | 617 ++++++ .../model/BaseccVmClusterUpdateSummary.java | 665 ++++++ ...angeBaseccVmClusterCompartmentDetails.java | 146 ++ .../bmc/database/model/CloudVmCluster.java | 75 + .../database/model/CloudVmClusterSummary.java | 75 + .../model/CreateBaseccVmClusterDetails.java | 1223 +++++++++++ .../CreateDatabaseSoftwareImageDetails.java | 1 + .../database/model/DatabaseSoftwareImage.java | 1 + .../model/DatabaseSoftwareImageSummary.java | 1 + .../model/ExadataLiveImageVersionDetails.java | 311 +++ .../bmc/database/model/ExadbVmCluster.java | 141 +- .../database/model/ExadbVmClusterSummary.java | 141 +- .../RegisterExadbVmClusterPkcsDetails.java | 172 ++ .../UnregisterExadbVmClusterPkcsDetails.java | 172 ++ .../com/oracle/bmc/database/model/Update.java | 223 ++ .../model/UpdateBaseccVmClusterDetails.java | 716 +++++++ .../bmc/database/model/UpdateDetails.java | 90 +- .../database/model/UpdateHistoryEntry.java | 89 + .../model/UpdateHistoryEntrySummary.java | 89 + .../bmc/database/model/UpdateSummary.java | 223 ++ .../oracle/bmc/database/model/VmCluster.java | 75 + .../bmc/database/model/VmClusterSummary.java | 75 + .../bmc/database/model/VmClusterUpdate.java | 242 +++ .../model/VmClusterUpdateDetails.java | 88 +- .../model/VmClusterUpdateHistoryEntry.java | 89 + .../VmClusterUpdateHistoryEntrySummary.java | 89 + .../model/VmClusterUpdateSummary.java | 242 +++ ...angeBaseccVmClusterCompartmentRequest.java | 372 ++++ .../CreateBaseccVmClusterRequest.java | 291 +++ .../DeleteBaseccVmClusterRequest.java | 251 +++ .../requests/GetBaseccVmClusterRequest.java | 202 ++ ...eccVmClusterUpdateHistoryEntryRequest.java | 252 +++ .../GetBaseccVmClusterUpdateRequest.java | 243 +++ ...cVmClusterUpdateHistoryEntriesRequest.java | 364 ++++ .../ListBaseccVmClusterUpdatesRequest.java | 357 ++++ .../requests/ListBaseccVmClustersRequest.java | 573 +++++ .../ListGiVersionMinorVersionsRequest.java | 36 +- .../RegisterExadbVmClusterPkcsRequest.java | 371 ++++ .../UnregisterExadbVmClusterPkcsRequest.java | 372 ++++ .../UpdateBaseccVmClusterRequest.java | 314 +++ ...ngeBaseccVmClusterCompartmentResponse.java | 179 ++ .../CreateBaseccVmClusterResponse.java | 267 +++ .../DeleteBaseccVmClusterResponse.java | 193 ++ .../responses/GetBaseccVmClusterResponse.java | 211 ++ ...ccVmClusterUpdateHistoryEntryResponse.java | 228 ++ .../GetBaseccVmClusterUpdateResponse.java | 182 ++ ...VmClusterUpdateHistoryEntriesResponse.java | 246 +++ .../ListBaseccVmClusterUpdatesResponse.java | 230 ++ .../ListBaseccVmClustersResponse.java | 227 ++ .../RegisterExadbVmClusterPkcsResponse.java | 194 ++ .../UnregisterExadbVmClusterPkcsResponse.java | 194 ++ .../UpdateBaseccVmClusterResponse.java | 267 +++ .../oci-java-sdk-database/reflect-config.json | 458 ++++ bmc-databasemanagement/pom.xml | 4 +- bmc-databasemigration/pom.xml | 4 +- bmc-databasetools/pom.xml | 4 +- bmc-databasetoolsruntime/pom.xml | 4 +- bmc-datacatalog/pom.xml | 4 +- bmc-datacc/pom.xml | 4 +- bmc-dataflow/pom.xml | 4 +- bmc-dataintegration/pom.xml | 4 +- bmc-datalabelingservice/pom.xml | 4 +- bmc-datalabelingservicedataplane/pom.xml | 4 +- bmc-datasafe/pom.xml | 4 +- bmc-datascience/pom.xml | 4 +- bmc-dblm/pom.xml | 4 +- bmc-dbmulticloud/pom.xml | 4 +- bmc-delegateaccesscontrol/pom.xml | 4 +- bmc-demandsignal/pom.xml | 4 +- bmc-desktops/pom.xml | 4 +- bmc-devops/pom.xml | 4 +- bmc-dif/pom.xml | 4 +- bmc-disasterrecovery/pom.xml | 4 +- bmc-distributeddatabase/pom.xml | 4 +- bmc-dns/pom.xml | 6 +- bmc-email/pom.xml | 4 +- bmc-emaildataplane/pom.xml | 4 +- bmc-emwarehouse/pom.xml | 4 +- bmc-encryption/pom.xml | 10 +- bmc-enforcer-rules/pom.xml | 2 +- bmc-events/pom.xml | 4 +- bmc-examples/pom.xml | 6 +- ...PrincipalsMetadataConfiguratorExample.java | 100 + bmc-filestorage/pom.xml | 4 +- bmc-fleetappsmanagement/pom.xml | 4 +- bmc-fleetsoftwareupdate/pom.xml | 4 +- bmc-full/pom.xml | 4 +- bmc-functions/pom.xml | 4 +- bmc-fusionapps/pom.xml | 4 +- bmc-gdp/pom.xml | 4 +- bmc-generativeai/pom.xml | 4 +- .../CreateDedicatedAiClusterDetails.java | 50 +- .../model/DedicatedAiCluster.java | 2 + bmc-generativeaiagent/pom.xml | 4 +- bmc-generativeaiagentruntime/pom.xml | 4 +- bmc-generativeaidata/pom.xml | 4 +- bmc-generativeaiinference/pom.xml | 4 +- bmc-genericartifactscontent/pom.xml | 4 +- bmc-goldengate/pom.xml | 4 +- .../com/oracle/bmc/goldengate/GoldenGate.java | 32 + .../bmc/goldengate/GoldenGateAsync.java | 31 + .../bmc/goldengate/GoldenGateAsyncClient.java | 74 + .../bmc/goldengate/GoldenGateClient.java | 69 + .../goldengate/model/AiModelAuthDetails.java | 80 + .../model/AiModelAuthDetailsSummary.java | 81 + .../bmc/goldengate/model/AiModelAuthType.java | 53 + .../goldengate/model/AiModelCollection.java | 133 ++ .../goldengate/model/AiModelConnection.java | 702 +++++++ .../model/AiModelConnectionSummary.java | 657 ++++++ .../bmc/goldengate/model/AiModelSummary.java | 289 +++ .../model/AiProviderCollection.java | 133 ++ .../goldengate/model/AiProviderSummary.java | 391 ++++ .../model/AmazonKinesisConnection.java | 16 +- .../model/AmazonKinesisConnectionSummary.java | 16 +- .../goldengate/model/AmazonS3Connection.java | 16 +- .../model/AmazonS3ConnectionSummary.java | 16 +- .../model/AmazonS3IcebergStorage.java | 16 +- .../model/AmazonS3IcebergStorageSummary.java | 16 +- .../model/ApiKeyAiModelAuthDetails.java | 267 +++ .../ApiKeyAiModelAuthDetailsSummary.java | 181 ++ .../bmc/goldengate/model/Connection.java | 148 +- .../model/ConnectionAssignment.java | 40 + .../model/ConnectionAssignmentSummary.java | 40 + .../goldengate/model/ConnectionSummary.java | 147 +- .../bmc/goldengate/model/ConnectionType.java | 1 + .../model/CreateAiModelAuthDetails.java | 81 + .../model/CreateAiModelConnectionDetails.java | 539 +++++ .../CreateAmazonKinesisConnectionDetails.java | 37 +- ...CreateAmazonRedshiftConnectionDetails.java | 21 +- .../CreateAmazonS3ConnectionDetails.java | 55 +- .../CreateAmazonS3IcebergStorageDetails.java | 55 +- .../model/CreateApiKeyAiModelAuthDetails.java | 268 +++ ...AzureDataLakeStorageConnectionDetails.java | 68 +- ...eDataLakeStorageIcebergStorageDetails.java | 23 +- .../CreateAzureSynapseConnectionDetails.java | 21 +- .../model/CreateConnectionDetails.java | 147 +- .../CreateDatabaseRegistrationDetails.java | 72 +- .../CreateDatabricksConnectionDetails.java | 43 +- .../model/CreateDb2ConnectionDetails.java | 128 +- .../CreateElasticsearchConnectionDetails.java | 21 +- .../CreateGoldenGateConnectionDetails.java | 25 +- ...CreateGoogleBigQueryConnectionDetails.java | 103 +- ...teGoogleCloudStorageConnectionDetails.java | 103 +- ...ogleCloudStorageIcebergStorageDetails.java | 67 +- .../CreateGooglePubSubConnectionDetails.java | 101 +- .../model/CreateIcebergStorageDetails.java | 8 +- ...teJavaMessageServiceConnectionDetails.java | 208 +- .../model/CreateKafkaConnectionDetails.java | 181 +- ...eKafkaSchemaRegistryConnectionDetails.java | 183 +- ...reateMicrosoftFabricConnectionDetails.java | 103 +- ...teMicrosoftSqlserverConnectionDetails.java | 25 +- .../model/CreateMongoDbConnectionDetails.java | 101 +- .../model/CreateMysqlConnectionDetails.java | 72 +- .../model/CreateNoIcebergStorageDetails.java | 100 + .../model/CreateOciGenAiModelAuthDetails.java | 408 ++++ ...eateOciObjectStorageConnectionDetails.java | 76 +- ...jectStorageS3ApiIcebergStorageDetails.java | 400 ++++ .../model/CreateOggDeploymentDetails.java | 31 +- ...OracleAiDataPlatformConnectionDetails.java | 76 +- .../model/CreateOracleConnectionDetails.java | 80 +- .../CreateOracleNosqlConnectionDetails.java | 76 +- .../CreatePostgresqlConnectionDetails.java | 71 +- .../model/CreateRedisConnectionDetails.java | 161 +- .../CreateRestIcebergCatalogDetails.java | 41 +- .../CreateSnowflakeConnectionDetails.java | 104 +- .../bmc/goldengate/model/IcebergStorage.java | 6 + .../model/IcebergStorageSummary.java | 6 + .../goldengate/model/IcebergStorageType.java | 2 + .../bmc/goldengate/model/KafkaConnection.java | 1 + .../goldengate/model/NoIcebergStorage.java | 99 + .../model/NoIcebergStorageSummary.java | 100 + .../model/OciGenAiModelAuthDetails.java | 407 ++++ .../OciGenAiModelAuthDetailsSummary.java | 314 +++ .../OciObjectStorageS3ApiIcebergStorage.java | 295 +++ ...jectStorageS3ApiIcebergStorageSummary.java | 296 +++ .../goldengate/model/OracleConnection.java | 13 +- .../model/OracleConnectionSummary.java | 8 +- .../bmc/goldengate/model/TechnologyType.java | 5 + .../model/UpdateAiModelAuthDetails.java | 81 + .../model/UpdateAiModelConnectionDetails.java | 368 ++++ .../UpdateAmazonKinesisConnectionDetails.java | 37 +- ...UpdateAmazonRedshiftConnectionDetails.java | 21 +- .../UpdateAmazonS3ConnectionDetails.java | 55 +- .../UpdateAmazonS3IcebergStorageDetails.java | 55 +- .../model/UpdateApiKeyAiModelAuthDetails.java | 268 +++ ...AzureDataLakeStorageConnectionDetails.java | 68 +- ...eDataLakeStorageIcebergStorageDetails.java | 23 +- .../UpdateAzureSynapseConnectionDetails.java | 21 +- .../model/UpdateConnectionDetails.java | 147 +- .../UpdateDatabaseRegistrationDetails.java | 72 +- .../UpdateDatabricksConnectionDetails.java | 43 +- .../model/UpdateDb2ConnectionDetails.java | 128 +- .../UpdateElasticsearchConnectionDetails.java | 21 +- .../UpdateGoldenGateConnectionDetails.java | 25 +- ...UpdateGoogleBigQueryConnectionDetails.java | 90 +- ...teGoogleCloudStorageConnectionDetails.java | 90 +- ...ogleCloudStorageIcebergStorageDetails.java | 67 +- .../UpdateGooglePubSubConnectionDetails.java | 88 +- .../model/UpdateIcebergStorageDetails.java | 6 + ...teJavaMessageServiceConnectionDetails.java | 208 +- .../model/UpdateKafkaConnectionDetails.java | 181 +- ...eKafkaSchemaRegistryConnectionDetails.java | 183 +- ...pdateMicrosoftFabricConnectionDetails.java | 90 +- ...teMicrosoftSqlserverConnectionDetails.java | 25 +- .../model/UpdateMongoDbConnectionDetails.java | 101 +- .../model/UpdateMysqlConnectionDetails.java | 72 +- .../model/UpdateNoIcebergStorageDetails.java | 100 + .../model/UpdateOciGenAiModelAuthDetails.java | 408 ++++ ...dateOciObjectStorageConnectionDetails.java | 76 +- ...jectStorageS3ApiIcebergStorageDetails.java | 400 ++++ .../model/UpdateOggDeploymentDetails.java | 31 +- ...OracleAiDataPlatformConnectionDetails.java | 76 +- .../model/UpdateOracleConnectionDetails.java | 80 +- .../UpdateOracleNosqlConnectionDetails.java | 76 +- .../UpdatePostgresqlConnectionDetails.java | 71 +- .../model/UpdateRedisConnectionDetails.java | 161 +- .../UpdateRestIcebergCatalogDetails.java | 41 +- .../UpdateSnowflakeConnectionDetails.java | 104 +- .../requests/ListAiModelsRequest.java | 307 +++ .../requests/ListAiProvidersRequest.java | 212 ++ .../ListConnectionAssignmentsRequest.java | 93 +- .../requests/ListConnectionsRequest.java | 52 +- .../responses/ListAiModelsResponse.java | 178 ++ .../responses/ListAiProvidersResponse.java | 180 ++ .../reflect-config.json | 406 ++++ bmc-governancerulescontrolplane/pom.xml | 4 +- bmc-healthchecks/pom.xml | 4 +- bmc-identity/pom.xml | 4 +- bmc-identitydataplane/pom.xml | 4 +- bmc-identitydomains/pom.xml | 4 +- bmc-integration/pom.xml | 4 +- bmc-iot/pom.xml | 4 +- bmc-jms/pom.xml | 4 +- bmc-jmsjavadownloads/pom.xml | 4 +- bmc-jmsutils/pom.xml | 4 +- bmc-keymanagement/pom.xml | 4 +- bmc-licensemanager/pom.xml | 4 +- bmc-limits/pom.xml | 4 +- bmc-limitsincrease/pom.xml | 4 +- bmc-loadbalancer/pom.xml | 4 +- bmc-lockbox/pom.xml | 4 +- bmc-loganalytics/pom.xml | 4 +- bmc-logging/pom.xml | 4 +- bmc-loggingingestion/pom.xml | 4 +- bmc-loggingsearch/pom.xml | 4 +- bmc-lustrefilestorage/pom.xml | 4 +- bmc-managedkafka/pom.xml | 4 +- bmc-managementagent/pom.xml | 4 +- bmc-managementdashboard/pom.xml | 4 +- bmc-marketplace/pom.xml | 4 +- bmc-marketplaceprivateoffer/pom.xml | 4 +- bmc-marketplacepublisher/pom.xml | 4 +- bmc-mediaservices/pom.xml | 4 +- bmc-mngdmac/pom.xml | 4 +- bmc-modeldeployment/pom.xml | 4 +- bmc-monitoring/pom.xml | 4 +- bmc-multicloud/pom.xml | 4 +- bmc-mysql/pom.xml | 4 +- bmc-networkfirewall/pom.xml | 4 +- bmc-networkloadbalancer/pom.xml | 4 +- bmc-nosql/pom.xml | 4 +- .../bmc-objectstorage-combined/pom.xml | 6 +- .../bmc-objectstorage-extensions/pom.xml | 8 +- .../bmc-objectstorage-generated/pom.xml | 4 +- bmc-objectstorage/pom.xml | 2 +- bmc-oce/pom.xml | 4 +- bmc-ocicontrolcenter/pom.xml | 4 +- bmc-ocvp/pom.xml | 4 +- bmc-oda/pom.xml | 4 +- bmc-onesubscription/pom.xml | 4 +- bmc-ons/pom.xml | 4 +- bmc-opa/pom.xml | 4 +- bmc-opensearch/pom.xml | 4 +- bmc-operatoraccesscontrol/pom.xml | 4 +- bmc-opsi/pom.xml | 4 +- bmc-optimizer/pom.xml | 4 +- bmc-osmanagementhub/pom.xml | 4 +- bmc-ospgateway/pom.xml | 4 +- bmc-osubbillingschedule/pom.xml | 4 +- bmc-osuborganizationsubscription/pom.xml | 4 +- bmc-osubsubscription/pom.xml | 4 +- bmc-osubusage/pom.xml | 4 +- .../bmc-jersey-examples/pom.xml | 8 +- .../PlainConnectionSocketFactoryExample.java | 109 + .../bmc-jersey3-examples/pom.xml | 8 +- .../PlainConnectionSocketFactoryExample.java | 109 + .../native-maven-example/pom.xml | 6 +- bmc-other-examples/pom.xml | 2 +- bmc-psa/pom.xml | 4 +- bmc-psql/pom.xml | 4 +- bmc-queue/pom.xml | 4 +- bmc-recovery/pom.xml | 4 +- bmc-redis/pom.xml | 4 +- bmc-resourceanalytics/pom.xml | 4 +- bmc-resourcemanager/pom.xml | 4 +- bmc-resourcescheduler/pom.xml | 4 +- bmc-resourcesearch/pom.xml | 4 +- bmc-rover/pom.xml | 4 +- bmc-sch/pom.xml | 4 +- bmc-secrets/pom.xml | 4 +- bmc-securityattribute/pom.xml | 4 +- bmc-self/pom.xml | 4 +- bmc-servicecatalog/pom.xml | 4 +- bmc-servicemanagerproxy/pom.xml | 4 +- bmc-shaded/bmc-shaded-full/pom.xml | 2 +- bmc-shaded/pom.xml | 2 +- bmc-stackmonitoring/pom.xml | 4 +- bmc-streaming/pom.xml | 4 +- bmc-tenantmanagercontrolplane/pom.xml | 4 +- bmc-threatintelligence/pom.xml | 4 +- bmc-usage/pom.xml | 4 +- bmc-usageapi/pom.xml | 4 +- bmc-vault/pom.xml | 6 +- bmc-vbsinst/pom.xml | 4 +- bmc-visualbuilder/pom.xml | 4 +- bmc-vnmonitoring/pom.xml | 4 +- bmc-vulnerabilityscanning/pom.xml | 4 +- bmc-waa/pom.xml | 4 +- bmc-waas/pom.xml | 4 +- bmc-waf/pom.xml | 4 +- bmc-wlms/pom.xml | 4 +- bmc-workrequests/pom.xml | 4 +- bmc-zpr/pom.xml | 4 +- pom.xml | 2 +- 457 files changed, 41185 insertions(+), 2147 deletions(-) create mode 100644 bmc-addons/bmc-apache-configurator-jersey-addon/src/test/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfiguratorTest.java create mode 100644 bmc-addons/bmc-apache-configurator-jersey3-addon/src/test/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfiguratorTest.java create mode 100644 bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverGroupLevel.java create mode 100644 bmc-common/src/test/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplierTest.java create mode 100644 bmc-core/src/main/java/com/oracle/bmc/core/model/Instances.java create mode 100644 bmc-core/src/main/java/com/oracle/bmc/core/model/ProviderRemoteRegionName.java create mode 100644 bmc-core/src/main/java/com/oracle/bmc/core/model/RetentionDuration.java create mode 100644 bmc-core/src/main/java/com/oracle/bmc/core/requests/ListProviderRemoteRegionsRequest.java create mode 100644 bmc-core/src/main/java/com/oracle/bmc/core/responses/ListProviderRemoteRegionsResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmCluster.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterSummary.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdate.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateDetails.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateHistoryEntry.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateHistoryEntrySummary.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateSummary.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/ChangeBaseccVmClusterCompartmentDetails.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/CreateBaseccVmClusterDetails.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/ExadataLiveImageVersionDetails.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/RegisterExadbVmClusterPkcsDetails.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/UnregisterExadbVmClusterPkcsDetails.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateBaseccVmClusterDetails.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/ChangeBaseccVmClusterCompartmentRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/CreateBaseccVmClusterRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/DeleteBaseccVmClusterRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterUpdateHistoryEntryRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterUpdateRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClusterUpdateHistoryEntriesRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClusterUpdatesRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClustersRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/RegisterExadbVmClusterPkcsRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/UnregisterExadbVmClusterPkcsRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/requests/UpdateBaseccVmClusterRequest.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/ChangeBaseccVmClusterCompartmentResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/CreateBaseccVmClusterResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/DeleteBaseccVmClusterResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterUpdateHistoryEntryResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterUpdateResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClusterUpdateHistoryEntriesResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClusterUpdatesResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClustersResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/RegisterExadbVmClusterPkcsResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/UnregisterExadbVmClusterPkcsResponse.java create mode 100644 bmc-database/src/main/java/com/oracle/bmc/database/responses/UpdateBaseccVmClusterResponse.java create mode 100644 bmc-examples/src/main/java/InstancePrincipalsMetadataConfiguratorExample.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthDetailsSummary.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthType.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelCollection.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelConnection.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelConnectionSummary.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelSummary.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiProviderCollection.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiProviderSummary.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ApiKeyAiModelAuthDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ApiKeyAiModelAuthDetailsSummary.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAiModelAuthDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAiModelConnectionDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateApiKeyAiModelAuthDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateNoIcebergStorageDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciGenAiModelAuthDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciObjectStorageS3ApiIcebergStorageDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/NoIcebergStorage.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/NoIcebergStorageSummary.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciGenAiModelAuthDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciGenAiModelAuthDetailsSummary.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciObjectStorageS3ApiIcebergStorage.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciObjectStorageS3ApiIcebergStorageSummary.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAiModelAuthDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAiModelConnectionDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateApiKeyAiModelAuthDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateNoIcebergStorageDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciGenAiModelAuthDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciObjectStorageS3ApiIcebergStorageDetails.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListAiModelsRequest.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListAiProvidersRequest.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/responses/ListAiModelsResponse.java create mode 100644 bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/responses/ListAiProvidersResponse.java create mode 100644 bmc-other-examples/bmc-jersey-examples/src/main/java/PlainConnectionSocketFactoryExample.java create mode 100644 bmc-other-examples/bmc-jersey3-examples/src/main/java/PlainConnectionSocketFactoryExample.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a53bec528a..b99525ef875 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,32 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/). +## Unreleased +### Breaking Changes +- Apache configurator add-ons now propagate `SSLInitializationException` when TLS initialization fails instead of silently registering a plaintext socket factory for `https`. Applications that require plaintext transport must explicitly provide a connection manager; see [PlainConnectionSocketFactoryExample.java](bmc-other-examples/bmc-jersey-examples/src/main/java/PlainConnectionSocketFactoryExample.java) and [PlainConnectionSocketFactoryExample.java](bmc-other-examples/bmc-jersey3-examples/src/main/java/PlainConnectionSocketFactoryExample.java) (Jersey 3). + +## 3.93.0 - 2026-07-28 +### Added +- Support for retention locks for block backups in the Block Volume service +- Support for Data Guard creation with Azure encryption keys and changing encryption key locations to Azure in the Database service +- Support for registering and unregistering PKCS for Exadata Database Service on Dedicated Infrastructure VM clusters in the Database service +- Support for Exadata DomU OS live updates in Exadata Cloud and Exadata Cloud@Customer in the Database service +- Support for Oracle Base Database Cloud@Customer VM clusters in the Database service +- Support for autonomous database and two-level approver groups in the Oracle API Access Control service +- Support for creating virtual circuits with AWS as the provider in the Networking service +- Support for listing available provider regions in the Networking service +- Support for Oracle Exadata Exascale, Oracle Exadata Exascale at Azure, and Oracle Exadata Exascale at Google Cloud connection technology types in the GoldenGate service +- Support for Google Cloud Managed Service for Apache Kafka connection technology types in the GoldenGate service +- Support for AI model connections in the GoldenGate service +- Support for listing supported AI models by provider, region, and tenancy in the GoldenGate service +- Support for NEEDS_ATTENTION lifecycle state for connection resources in the GoldenGate service +- Support for connectionType metadata and connectionTypeNotEqualTo filtering on connection assignment resources in the GoldenGate service +- Support for H100_X16 and H100_X32 Dedicated AI Cluster shapes for model import in the Generative AI service + +### Breaking Changes +- The field `compartmentId` has been made required in the requests `ListApiMetadataByEntityTypesRequest`, `ListApiMetadataRequest`, `ListPrivilegedApiControlsRequest`, `ListPrivilegedApiRequestsRequest`, and `ListWorkRequestsRequest` in the Oracle API Access Control service +- The field `compartmentId` has been made required in the model `CreatePrivilegedApiRequestDetails` in the Oracle API Access Control service + ## 3.92.1 - 2026-07-21 ### Added - Support for multiple FastConnect enhancements in the Networking service @@ -31,7 +57,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). - The return type of method `public com.oracle.bmc.generativeai.model.HostedApplication$LifecycleState getLifecycleState()` has been changed to `com.oracle.bmc.generativeai.model.HostedApplicationBase$LifecycleState` in the model `com.oracle.bmc.generativeai.model.HostedApplicationSummary` in the Generative AI service - The return type of method `public com.oracle.bmc.generativeai.model.HostedApplication$LifecycleState getLifecycleState()` has been changed to `com.oracle.bmc.generativeai.model.HostedApplicationBase$LifecycleState` in the request class `com.oracle.bmc.generativeai.requests.ListHostedApplicationsRequest` in the Generative AI service -## 3.91.1 - 2026-06-07 +## 3.91.1 - 2026-07-07 ### Added - Support for DAC hardware shapes for self-hosted models in the Generative AI service diff --git a/README.md b/README.md index 45735435709..3e43c44fbc7 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,7 @@ There were numerous changes to decouple the implementation from the choice of th - Also consider using `com.oracle.bmc.http.client.jersey.apacheconfigurator.ApacheConfigurator from the `oci-java-sdk-addons-apache-configurator-jersey` add-on module; or `com.oracle.bmc.http.client.jersey3.apacheconfigurator.ApacheConfigurator` from the `oci-java-sdk-addons-apache-configurator-jersey3` add-on module. - See [DisableNoConnectionReuseStrategyUsingApacheConfiguratorExample.java](https://github.com/oracle/oci-java-sdk/blob/v3.0.0/bmc-other-examples/bmc-jersey-examples/src/main/java/DisableNoConnectionReuseStrategyUsingApacheConfiguratorExample.java) and [DisableNoConnectionReuseStrategyUsingApacheConfiguratorExample.java](https://github.com/oracle/oci-java-sdk/blob/v3.0.0/bmc-other-examples/bmc-jersey3-examples/src/main/java/DisableNoConnectionReuseStrategyUsingApacheConfiguratorExample.java) (Jersey 3) + - If TLS initialization fails, these configurators now throw `SSLInitializationException`; they no longer map `https` routes to plaintext. Applications that intentionally require plaintext transport can provide an explicit connection manager, as shown in [PlainConnectionSocketFactoryExample.java](https://github.com/oracle/oci-java-sdk/blob/master/bmc-other-examples/bmc-jersey-examples/src/main/java/PlainConnectionSocketFactoryExample.java) and [PlainConnectionSocketFactoryExample.java](https://github.com/oracle/oci-java-sdk/blob/master/bmc-other-examples/bmc-jersey3-examples/src/main/java/PlainConnectionSocketFactoryExample.java) (Jersey 3). ### Circuit breaker changes - The circuit breaker interface has been renamed from `com.oracle.bmc.circuitbreaker.JaxRsCircuitBreaker` to `com.oracle.bmc.circuitbreaker.OciCircuitBreaker` diff --git a/bmc-accessgovernancecp/pom.xml b/bmc-accessgovernancecp/pom.xml index 8e1aca9ea8e..2d79c59b041 100644 --- a/bmc-accessgovernancecp/pom.xml +++ b/bmc-accessgovernancecp/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-accessgovernancecp @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-addons/bmc-adk/pom.xml b/bmc-addons/bmc-adk/pom.xml index e9b6b548387..36df4d55f87 100644 --- a/bmc-addons/bmc-adk/pom.xml +++ b/bmc-addons/bmc-adk/pom.xml @@ -6,7 +6,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.92.1 + 3.93.0 oci-java-sdk-addons-adk diff --git a/bmc-addons/bmc-aispeech-realtime/pom.xml b/bmc-addons/bmc-aispeech-realtime/pom.xml index 3411571536c..599e692708e 100644 --- a/bmc-addons/bmc-aispeech-realtime/pom.xml +++ b/bmc-addons/bmc-aispeech-realtime/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.92.1 + 3.93.0 ../pom.xml 4.0.0 @@ -53,12 +53,12 @@ com.oracle.oci.sdk oci-java-sdk-aispeech - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.92.1 + 3.93.0 compile diff --git a/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml b/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml index 495a022e11d..e406aaa8256 100644 --- a/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml +++ b/bmc-addons/bmc-apache-configurator-jersey-addon/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.92.1 + 3.93.0 ../pom.xml @@ -17,14 +17,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.92.1 + 3.93.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.92.1 + 3.93.0 pom import @@ -63,5 +63,20 @@ org.slf4j slf4j-api + + junit + junit + test + + + org.powermock + powermock-api-mockito2 + test + + + org.powermock + powermock-module-junit4 + test + - \ No newline at end of file + diff --git a/bmc-addons/bmc-apache-configurator-jersey-addon/src/main/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfigurator.java b/bmc-addons/bmc-apache-configurator-jersey-addon/src/main/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfigurator.java index a24433f1a1d..3988f5f9807 100644 --- a/bmc-addons/bmc-apache-configurator-jersey-addon/src/main/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfigurator.java +++ b/bmc-addons/bmc-apache-configurator-jersey-addon/src/main/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfigurator.java @@ -262,6 +262,18 @@ else if (!apacheConnectorProperties.isConnectionPooling()) { } } + /** + * Creates the connection socket factory registry. + * + *

SSL initialization failures are intentionally propagated. This configurator must not + * register a plaintext socket factory for the {@code https} scheme. Applications that require + * plaintext transport must explicitly provide a connection manager through {@link + * ApacheConnectorProperties}. + * + * @return the connection socket factory registry + * @throws org.apache.http.ssl.SSLInitializationException if the default SSL socket factory + * cannot be initialized + */ private Registry getRegistry() { final RegistryBuilder registryBuilder = RegistryBuilder.create() @@ -284,10 +296,11 @@ private Registry getRegistry() { .build(); } } catch (SSLInitializationException e) { - registry = - registryBuilder - .register("https", PlainConnectionSocketFactory.getSocketFactory()) - .build(); + // Fail closed: never fall back to a plaintext socket factory for the "https" scheme. + LOG.info( + "Failed to initialize SSL context for the 'https' scheme; refusing to fall" + + " back to plain text"); + throw e; } return registry; } diff --git a/bmc-addons/bmc-apache-configurator-jersey-addon/src/test/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfiguratorTest.java b/bmc-addons/bmc-apache-configurator-jersey-addon/src/test/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfiguratorTest.java new file mode 100644 index 00000000000..25cfe70ed7b --- /dev/null +++ b/bmc-addons/bmc-apache-configurator-jersey-addon/src/test/java/com/oracle/bmc/http/client/jersey/apacheconfigurator/ApacheConfiguratorTest.java @@ -0,0 +1,37 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.http.client.jersey.apacheconfigurator; + +import com.oracle.bmc.http.client.HttpClientBuilder; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.ssl.SSLInitializationException; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +import static org.junit.Assert.assertSame; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.mock; + +@RunWith(PowerMockRunner.class) +@PrepareForTest(SSLConnectionSocketFactory.class) +public class ApacheConfiguratorTest { + @Test + public void sslInitializationExceptionPropagates() { + final SSLInitializationException expected = + new SSLInitializationException("Unable to initialize SSL", null); + PowerMockito.mockStatic(SSLConnectionSocketFactory.class); + PowerMockito.when(SSLConnectionSocketFactory.getSocketFactory()).thenThrow(expected); + + try { + new ApacheConfigurator().customizeClient(mock(HttpClientBuilder.class)); + fail("Expected SSLInitializationException"); + } catch (SSLInitializationException actual) { + assertSame(expected, actual); + } + } +} diff --git a/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml b/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml index 74cb7ae2e4d..81eb3372fd2 100644 --- a/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml +++ b/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.92.1 + 3.93.0 ../pom.xml @@ -17,14 +17,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.92.1 + 3.93.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.92.1 + 3.93.0 pom import @@ -63,5 +63,20 @@ org.slf4j slf4j-api + + junit + junit + test + + + org.powermock + powermock-api-mockito2 + test + + + org.powermock + powermock-module-junit4 + test + - \ No newline at end of file + diff --git a/bmc-addons/bmc-apache-configurator-jersey3-addon/src/main/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfigurator.java b/bmc-addons/bmc-apache-configurator-jersey3-addon/src/main/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfigurator.java index 282b4e3d760..1c45f333bd1 100644 --- a/bmc-addons/bmc-apache-configurator-jersey3-addon/src/main/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfigurator.java +++ b/bmc-addons/bmc-apache-configurator-jersey3-addon/src/main/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfigurator.java @@ -262,6 +262,18 @@ else if (!apacheConnectorProperties.isConnectionPooling()) { } } + /** + * Creates the connection socket factory registry. + * + *

SSL initialization failures are intentionally propagated. This configurator must not + * register a plaintext socket factory for the {@code https} scheme. Applications that require + * plaintext transport must explicitly provide a connection manager through {@link + * ApacheConnectorProperties}. + * + * @return the connection socket factory registry + * @throws org.apache.http.ssl.SSLInitializationException if the default SSL socket factory + * cannot be initialized + */ private Registry getRegistry() { final RegistryBuilder registryBuilder = RegistryBuilder.create() @@ -284,10 +296,11 @@ private Registry getRegistry() { .build(); } } catch (SSLInitializationException e) { - registry = - registryBuilder - .register("https", PlainConnectionSocketFactory.getSocketFactory()) - .build(); + // Fail closed: never fall back to a plaintext socket factory for the "https" scheme. + LOG.info( + "Failed to initialize SSL context for the 'https' scheme; refusing to fall" + + " back to plain text"); + throw e; } return registry; } diff --git a/bmc-addons/bmc-apache-configurator-jersey3-addon/src/test/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfiguratorTest.java b/bmc-addons/bmc-apache-configurator-jersey3-addon/src/test/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfiguratorTest.java new file mode 100644 index 00000000000..56969f1c1c1 --- /dev/null +++ b/bmc-addons/bmc-apache-configurator-jersey3-addon/src/test/java/com/oracle/bmc/http/client/jersey3/apacheconfigurator/ApacheConfiguratorTest.java @@ -0,0 +1,37 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.http.client.jersey3.apacheconfigurator; + +import com.oracle.bmc.http.client.HttpClientBuilder; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; +import org.apache.http.ssl.SSLInitializationException; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +import static org.junit.Assert.assertSame; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.mock; + +@RunWith(PowerMockRunner.class) +@PrepareForTest(SSLConnectionSocketFactory.class) +public class ApacheConfiguratorTest { + @Test + public void sslInitializationExceptionPropagates() { + final SSLInitializationException expected = + new SSLInitializationException("Unable to initialize SSL", null); + PowerMockito.mockStatic(SSLConnectionSocketFactory.class); + PowerMockito.when(SSLConnectionSocketFactory.getSocketFactory()).thenThrow(expected); + + try { + new ApacheConfigurator().customizeClient(mock(HttpClientBuilder.class)); + fail("Expected SSLInitializationException"); + } catch (SSLInitializationException actual) { + assertSame(expected, actual); + } + } +} diff --git a/bmc-addons/bmc-apache-connector-provider/pom.xml b/bmc-addons/bmc-apache-connector-provider/pom.xml index 29d9e9db89d..c5ebac43aa8 100644 --- a/bmc-addons/bmc-apache-connector-provider/pom.xml +++ b/bmc-addons/bmc-apache-connector-provider/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.92.1 + 3.93.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-addons/bmc-oke-workload-identity/pom.xml b/bmc-addons/bmc-oke-workload-identity/pom.xml index bb10491bb37..769200f09c5 100644 --- a/bmc-addons/bmc-oke-workload-identity/pom.xml +++ b/bmc-addons/bmc-oke-workload-identity/pom.xml @@ -4,7 +4,7 @@ oci-java-sdk-addons com.oracle.oci.sdk - 3.92.1 + 3.93.0 4.0.0 @@ -38,25 +38,25 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 compile com.oracle.oci.sdk oci-java-sdk-core - 3.92.1 + 3.93.0 test com.oracle.oci.sdk oci-java-sdk-identity - 3.92.1 + 3.93.0 test com.oracle.oci.sdk oci-java-sdk-keymanagement - 3.92.1 + 3.93.0 test diff --git a/bmc-addons/bmc-resteasy-client-configurator/pom.xml b/bmc-addons/bmc-resteasy-client-configurator/pom.xml index ed8ea03991f..1a1750d6ea0 100644 --- a/bmc-addons/bmc-resteasy-client-configurator/pom.xml +++ b/bmc-addons/bmc-resteasy-client-configurator/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.92.1 + 3.93.0 ../pom.xml @@ -23,7 +23,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-addons/bmc-sasl-oke-workload-identity/pom.xml b/bmc-addons/bmc-sasl-oke-workload-identity/pom.xml index 780b5d827a2..0c14c594f6f 100644 --- a/bmc-addons/bmc-sasl-oke-workload-identity/pom.xml +++ b/bmc-addons/bmc-sasl-oke-workload-identity/pom.xml @@ -4,7 +4,7 @@ oci-java-sdk-addons com.oracle.oci.sdk - 3.92.1 + 3.93.0 ../pom.xml 4.0.0 @@ -39,13 +39,13 @@ com.oracle.oci.sdk oci-java-sdk-addons-sasl - 3.92.1 + 3.93.0 compile com.oracle.oci.sdk oci-java-sdk-addons-oke-workload-identity - 3.92.1 + 3.93.0 compile diff --git a/bmc-addons/bmc-sasl/pom.xml b/bmc-addons/bmc-sasl/pom.xml index fb48093a562..9016f25efd1 100644 --- a/bmc-addons/bmc-sasl/pom.xml +++ b/bmc-addons/bmc-sasl/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk-addons - 3.92.1 + 3.93.0 ../pom.xml @@ -61,7 +61,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 diff --git a/bmc-addons/bmc-sse-support-jersey3/pom.xml b/bmc-addons/bmc-sse-support-jersey3/pom.xml index 9546983244a..7ca0861fb8e 100644 --- a/bmc-addons/bmc-sse-support-jersey3/pom.xml +++ b/bmc-addons/bmc-sse-support-jersey3/pom.xml @@ -5,7 +5,7 @@ oci-java-sdk-addons com.oracle.oci.sdk - 3.92.1 + 3.93.0 ../pom.xml 4.0.0 @@ -150,12 +150,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-generativeaiinference - 3.92.1 + 3.93.0 test @@ -164,7 +164,7 @@ but the code in it needs it. --> com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.92.1 + 3.93.0 diff --git a/bmc-addons/bmc-sse-support/pom.xml b/bmc-addons/bmc-sse-support/pom.xml index 3e2d3f2ee86..1b352becdf1 100644 --- a/bmc-addons/bmc-sse-support/pom.xml +++ b/bmc-addons/bmc-sse-support/pom.xml @@ -5,7 +5,7 @@ oci-java-sdk-addons com.oracle.oci.sdk - 3.92.1 + 3.93.0 ../pom.xml 4.0.0 @@ -150,12 +150,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-generativeaiinference - 3.92.1 + 3.93.0 test @@ -164,7 +164,7 @@ but the code in it needs it. --> com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.92.1 + 3.93.0 diff --git a/bmc-addons/pom.xml b/bmc-addons/pom.xml index 761e6f7f346..1356dc0dbd8 100644 --- a/bmc-addons/pom.xml +++ b/bmc-addons/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml diff --git a/bmc-adm/pom.xml b/bmc-adm/pom.xml index b7d3757838f..c963464b270 100644 --- a/bmc-adm/pom.xml +++ b/bmc-adm/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-adm @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-aidataplatform/pom.xml b/bmc-aidataplatform/pom.xml index 00de1c3743f..3385bea307c 100644 --- a/bmc-aidataplatform/pom.xml +++ b/bmc-aidataplatform/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-aidataplatform @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-aidocument/pom.xml b/bmc-aidocument/pom.xml index d7825d0a5e4..1ba9ecbb449 100644 --- a/bmc-aidocument/pom.xml +++ b/bmc-aidocument/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-aidocument @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-ailanguage/pom.xml b/bmc-ailanguage/pom.xml index 92104d677fc..2a8bf61e7d3 100644 --- a/bmc-ailanguage/pom.xml +++ b/bmc-ailanguage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-ailanguage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-aispeech/pom.xml b/bmc-aispeech/pom.xml index 9d18785d09d..e7c63fa698c 100644 --- a/bmc-aispeech/pom.xml +++ b/bmc-aispeech/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-aispeech @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-aivision/pom.xml b/bmc-aivision/pom.xml index d7fc3db84ea..b2ece7095e5 100644 --- a/bmc-aivision/pom.xml +++ b/bmc-aivision/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-aivision @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-analytics/pom.xml b/bmc-analytics/pom.xml index 0600d2f499f..80ee6ada412 100644 --- a/bmc-analytics/pom.xml +++ b/bmc-analytics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-analytics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-announcementsservice/pom.xml b/bmc-announcementsservice/pom.xml index 25d463ec234..436277613fe 100644 --- a/bmc-announcementsservice/pom.xml +++ b/bmc-announcementsservice/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-announcementsservice @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-apiaccesscontrol/pom.xml b/bmc-apiaccesscontrol/pom.xml index 9010ffc862e..de0fade9f89 100644 --- a/bmc-apiaccesscontrol/pom.xml +++ b/bmc-apiaccesscontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-apiaccesscontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataAsyncClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataAsyncClient.java index 058c6b6c372..91167ee7806 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataAsyncClient.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataAsyncClient.java @@ -132,6 +132,7 @@ public java.util.concurrent.Future listApiMetadata( final com.oracle.bmc.responses.AsyncHandler< ListApiMetadataRequest, ListApiMetadataResponse> handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListApiMetadataResponse::builder) .logger(LOG, "listApiMetadata") @@ -171,6 +172,7 @@ public java.util.concurrent.Future listApiMetadata( ListApiMetadataByEntityTypesRequest, ListApiMetadataByEntityTypesResponse> handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListApiMetadataByEntityTypesResponse::builder) .logger(LOG, "listApiMetadataByEntityTypes") diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataClient.java index 6cad6b73471..e4a26992a87 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataClient.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/ApiMetadataClient.java @@ -153,6 +153,7 @@ public GetApiMetadataResponse getApiMetadata(GetApiMetadataRequest request) { @Override public ListApiMetadataResponse listApiMetadata(ListApiMetadataRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListApiMetadataResponse::builder) .logger(LOG, "listApiMetadata") @@ -188,6 +189,7 @@ public ListApiMetadataResponse listApiMetadata(ListApiMetadataRequest request) { @Override public ListApiMetadataByEntityTypesResponse listApiMetadataByEntityTypes( ListApiMetadataByEntityTypesRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListApiMetadataByEntityTypesResponse::builder) .logger(LOG, "listApiMetadataByEntityTypes") diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlAsyncClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlAsyncClient.java index b7d6f7f4692..4399c061ea6 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlAsyncClient.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlAsyncClient.java @@ -255,6 +255,7 @@ public java.util.concurrent.Future listPrivil final com.oracle.bmc.responses.AsyncHandler< ListPrivilegedApiControlsRequest, ListPrivilegedApiControlsResponse> handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListPrivilegedApiControlsResponse::builder) .logger(LOG, "listPrivilegedApiControls") diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlClient.java index 951a1117e9a..ed51ed5ed59 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlClient.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiControlClient.java @@ -267,6 +267,7 @@ public GetPrivilegedApiControlResponse getPrivilegedApiControl( @Override public ListPrivilegedApiControlsResponse listPrivilegedApiControls( ListPrivilegedApiControlsRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListPrivilegedApiControlsResponse::builder) .logger(LOG, "listPrivilegedApiControls") diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsAsyncClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsAsyncClient.java index 342fd46a7c7..0ff8aa9ab26 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsAsyncClient.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsAsyncClient.java @@ -258,6 +258,7 @@ public java.util.concurrent.Future listPrivil final com.oracle.bmc.responses.AsyncHandler< ListPrivilegedApiRequestsRequest, ListPrivilegedApiRequestsResponse> handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListPrivilegedApiRequestsResponse::builder) .logger(LOG, "listPrivilegedApiRequests") diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsClient.java index e6a487d75d0..b5aa5db8d59 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsClient.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiRequestsClient.java @@ -272,6 +272,7 @@ public GetPrivilegedApiRequestResponse getPrivilegedApiRequest( @Override public ListPrivilegedApiRequestsResponse listPrivilegedApiRequests( ListPrivilegedApiRequestsRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListPrivilegedApiRequestsResponse::builder) .logger(LOG, "listPrivilegedApiRequests") diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestAsyncClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestAsyncClient.java index 6126053b145..85cf79f8032 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestAsyncClient.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestAsyncClient.java @@ -238,6 +238,7 @@ public java.util.concurrent.Future listWorkRequests( final com.oracle.bmc.responses.AsyncHandler< ListWorkRequestsRequest, ListWorkRequestsResponse> handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListWorkRequestsResponse::builder) .logger(LOG, "listWorkRequests") diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestClient.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestClient.java index cfc07f8a74d..bcaf28ac343 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestClient.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/PrivilegedApiWorkRequestClient.java @@ -251,6 +251,7 @@ public ListWorkRequestLogsResponse listWorkRequestLogs(ListWorkRequestLogsReques @Override public ListWorkRequestsResponse listWorkRequests(ListWorkRequestsRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); return clientCall(request, ListWorkRequestsResponse::builder) .logger(LOG, "listWorkRequests") diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadata.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadata.java index e6ff58e9d4c..c34f0e89ff0 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadata.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadata.java @@ -36,6 +36,7 @@ public final class ApiMetadata extends com.oracle.bmc.http.client.internal.Expli "entityType", "apiName", "fields", + "attributes", "timeCreated", "timeUpdated", "timeDeleted", @@ -53,6 +54,7 @@ public ApiMetadata( String entityType, String apiName, java.util.List fields, + java.util.List attributes, java.util.Date timeCreated, java.util.Date timeUpdated, java.util.Date timeDeleted, @@ -69,6 +71,7 @@ public ApiMetadata( this.entityType = entityType; this.apiName = apiName; this.fields = fields; + this.attributes = attributes; this.timeCreated = timeCreated; this.timeUpdated = timeUpdated; this.timeDeleted = timeDeleted; @@ -175,12 +178,12 @@ public Builder apiName(String apiName) { this.__explicitlySet__.add("apiName"); return this; } - /** List of the fields that is use while calling post or put for the data. */ + /** deprecated; Use attributes field instead. */ @com.fasterxml.jackson.annotation.JsonProperty("fields") private java.util.List fields; /** - * List of the fields that is use while calling post or put for the data. + * deprecated; Use attributes field instead. * * @param fields the value to set * @return this builder @@ -190,6 +193,21 @@ public Builder fields(java.util.List fields) { this.__explicitlySet__.add("fields"); return this; } + /** List of the fields that is use while calling post or put for the data. */ + @com.fasterxml.jackson.annotation.JsonProperty("attributes") + private java.util.List attributes; + + /** + * List of the fields that is use while calling post or put for the data. + * + * @param attributes the value to set + * @return this builder + */ + public Builder attributes(java.util.List attributes) { + this.attributes = attributes; + this.__explicitlySet__.add("attributes"); + return this; + } /** * The date and time the PrivilegedApiControl was created, in the format defined by [RFC * 3339](https://tools.ietf.org/html/rfc3339). @@ -381,6 +399,7 @@ public ApiMetadata build() { this.entityType, this.apiName, this.fields, + this.attributes, this.timeCreated, this.timeUpdated, this.timeDeleted, @@ -418,6 +437,9 @@ public Builder copy(ApiMetadata model) { if (model.wasPropertyExplicitlySet("fields")) { this.fields(model.getFields()); } + if (model.wasPropertyExplicitlySet("attributes")) { + this.attributes(model.getAttributes()); + } if (model.wasPropertyExplicitlySet("timeCreated")) { this.timeCreated(model.getTimeCreated()); } @@ -537,12 +559,12 @@ public String getApiName() { return apiName; } - /** List of the fields that is use while calling post or put for the data. */ + /** deprecated; Use attributes field instead. */ @com.fasterxml.jackson.annotation.JsonProperty("fields") private final java.util.List fields; /** - * List of the fields that is use while calling post or put for the data. + * deprecated; Use attributes field instead. * * @return the value */ @@ -550,6 +572,19 @@ public java.util.List getFields() { return fields; } + /** List of the fields that is use while calling post or put for the data. */ + @com.fasterxml.jackson.annotation.JsonProperty("attributes") + private final java.util.List attributes; + + /** + * List of the fields that is use while calling post or put for the data. + * + * @return the value + */ + public java.util.List getAttributes() { + return attributes; + } + /** * The date and time the PrivilegedApiControl was created, in the format defined by [RFC * 3339](https://tools.ietf.org/html/rfc3339). @@ -780,6 +815,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", entityType=").append(String.valueOf(this.entityType)); sb.append(", apiName=").append(String.valueOf(this.apiName)); sb.append(", fields=").append(String.valueOf(this.fields)); + sb.append(", attributes=").append(String.valueOf(this.attributes)); sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); sb.append(", timeDeleted=").append(String.valueOf(this.timeDeleted)); @@ -809,6 +845,7 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.entityType, other.entityType) && java.util.Objects.equals(this.apiName, other.apiName) && java.util.Objects.equals(this.fields, other.fields) + && java.util.Objects.equals(this.attributes, other.attributes) && java.util.Objects.equals(this.timeCreated, other.timeCreated) && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) && java.util.Objects.equals(this.timeDeleted, other.timeDeleted) @@ -831,6 +868,7 @@ public int hashCode() { result = (result * PRIME) + (this.entityType == null ? 43 : this.entityType.hashCode()); result = (result * PRIME) + (this.apiName == null ? 43 : this.apiName.hashCode()); result = (result * PRIME) + (this.fields == null ? 43 : this.fields.hashCode()); + result = (result * PRIME) + (this.attributes == null ? 43 : this.attributes.hashCode()); result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.hashCode()); result = (result * PRIME) + (this.timeDeleted == null ? 43 : this.timeDeleted.hashCode()); diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadataByEntityTypeSummary.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadataByEntityTypeSummary.java index b301173820a..33242a53bb7 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadataByEntityTypeSummary.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApiMetadataByEntityTypeSummary.java @@ -24,6 +24,7 @@ public final class ApiMetadataByEntityTypeSummary extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated @java.beans.ConstructorProperties({ + "compartmentId", "entityType", "apiMetadatas", "freeformTags", @@ -31,12 +32,14 @@ public final class ApiMetadataByEntityTypeSummary "systemTags" }) public ApiMetadataByEntityTypeSummary( + String compartmentId, String entityType, java.util.List apiMetadatas, java.util.Map freeformTags, java.util.Map> definedTags, java.util.Map> systemTags) { super(); + this.compartmentId = compartmentId; this.entityType = entityType; this.apiMetadatas = apiMetadatas; this.freeformTags = freeformTags; @@ -46,6 +49,21 @@ public ApiMetadataByEntityTypeSummary( @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { + /** The OCID of the compartment that contains the Service Provider Action. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The OCID of the compartment that contains the Service Provider Action. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } /** The entity Type to which the Api belongs to. */ @com.fasterxml.jackson.annotation.JsonProperty("entityType") private String entityType; @@ -155,6 +173,7 @@ public Builder systemTags(java.util.Map> s public ApiMetadataByEntityTypeSummary build() { ApiMetadataByEntityTypeSummary model = new ApiMetadataByEntityTypeSummary( + this.compartmentId, this.entityType, this.apiMetadatas, this.freeformTags, @@ -168,6 +187,9 @@ public ApiMetadataByEntityTypeSummary build() { @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(ApiMetadataByEntityTypeSummary model) { + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } if (model.wasPropertyExplicitlySet("entityType")) { this.entityType(model.getEntityType()); } @@ -196,6 +218,19 @@ public Builder toBuilder() { return new Builder().copy(this); } + /** The OCID of the compartment that contains the Service Provider Action. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The OCID of the compartment that contains the Service Provider Action. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + /** The entity Type to which the Api belongs to. */ @com.fasterxml.jackson.annotation.JsonProperty("entityType") private final String entityType; @@ -302,7 +337,8 @@ public String toString(boolean includeByteArrayContents) { java.lang.StringBuilder sb = new java.lang.StringBuilder(); sb.append("ApiMetadataByEntityTypeSummary("); sb.append("super=").append(super.toString()); - sb.append("entityType=").append(String.valueOf(this.entityType)); + sb.append("compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", entityType=").append(String.valueOf(this.entityType)); sb.append(", apiMetadatas=").append(String.valueOf(this.apiMetadatas)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); @@ -321,7 +357,8 @@ public boolean equals(Object o) { } ApiMetadataByEntityTypeSummary other = (ApiMetadataByEntityTypeSummary) o; - return java.util.Objects.equals(this.entityType, other.entityType) + return java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.entityType, other.entityType) && java.util.Objects.equals(this.apiMetadatas, other.apiMetadatas) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) @@ -333,6 +370,9 @@ public boolean equals(Object o) { public int hashCode() { final int PRIME = 59; int result = 1; + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); result = (result * PRIME) + (this.entityType == null ? 43 : this.entityType.hashCode()); result = (result * PRIME) + (this.apiMetadatas == null ? 43 : this.apiMetadatas.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverDetail.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverDetail.java index 14d754943f2..2f031fcd49d 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverDetail.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverDetail.java @@ -26,6 +26,7 @@ public final class ApproverDetail @java.beans.ConstructorProperties({ "approverId", "approvalAction", + "approverGroupLevel", "approvalComment", "timeOfAuthorization", "timeApprovedForAccess" @@ -33,12 +34,14 @@ public final class ApproverDetail public ApproverDetail( String approverId, String approvalAction, + Integer approverGroupLevel, String approvalComment, java.util.Date timeOfAuthorization, java.util.Date timeApprovedForAccess) { super(); this.approverId = approverId; this.approvalAction = approvalAction; + this.approverGroupLevel = approverGroupLevel; this.approvalComment = approvalComment; this.timeOfAuthorization = timeOfAuthorization; this.timeApprovedForAccess = timeApprovedForAccess; @@ -76,6 +79,21 @@ public Builder approvalAction(String approvalAction) { this.__explicitlySet__.add("approvalAction"); return this; } + /** The group level at which the approver approved. */ + @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevel") + private Integer approverGroupLevel; + + /** + * The group level at which the approver approved. + * + * @param approverGroupLevel the value to set + * @return this builder + */ + public Builder approverGroupLevel(Integer approverGroupLevel) { + this.approverGroupLevel = approverGroupLevel; + this.__explicitlySet__.add("approverGroupLevel"); + return this; + } /** Comment specified by the approver of the request. */ @com.fasterxml.jackson.annotation.JsonProperty("approvalComment") private String approvalComment; @@ -142,6 +160,7 @@ public ApproverDetail build() { new ApproverDetail( this.approverId, this.approvalAction, + this.approverGroupLevel, this.approvalComment, this.timeOfAuthorization, this.timeApprovedForAccess); @@ -159,6 +178,9 @@ public Builder copy(ApproverDetail model) { if (model.wasPropertyExplicitlySet("approvalAction")) { this.approvalAction(model.getApprovalAction()); } + if (model.wasPropertyExplicitlySet("approverGroupLevel")) { + this.approverGroupLevel(model.getApproverGroupLevel()); + } if (model.wasPropertyExplicitlySet("approvalComment")) { this.approvalComment(model.getApprovalComment()); } @@ -207,6 +229,19 @@ public String getApprovalAction() { return approvalAction; } + /** The group level at which the approver approved. */ + @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevel") + private final Integer approverGroupLevel; + + /** + * The group level at which the approver approved. + * + * @return the value + */ + public Integer getApproverGroupLevel() { + return approverGroupLevel; + } + /** Comment specified by the approver of the request. */ @com.fasterxml.jackson.annotation.JsonProperty("approvalComment") private final String approvalComment; @@ -275,6 +310,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("approverId=").append(String.valueOf(this.approverId)); sb.append(", approvalAction=").append(String.valueOf(this.approvalAction)); + sb.append(", approverGroupLevel=").append(String.valueOf(this.approverGroupLevel)); sb.append(", approvalComment=").append(String.valueOf(this.approvalComment)); sb.append(", timeOfAuthorization=").append(String.valueOf(this.timeOfAuthorization)); sb.append(", timeApprovedForAccess=").append(String.valueOf(this.timeApprovedForAccess)); @@ -294,6 +330,7 @@ public boolean equals(Object o) { ApproverDetail other = (ApproverDetail) o; return java.util.Objects.equals(this.approverId, other.approverId) && java.util.Objects.equals(this.approvalAction, other.approvalAction) + && java.util.Objects.equals(this.approverGroupLevel, other.approverGroupLevel) && java.util.Objects.equals(this.approvalComment, other.approvalComment) && java.util.Objects.equals(this.timeOfAuthorization, other.timeOfAuthorization) && java.util.Objects.equals(this.timeApprovedForAccess, other.timeApprovedForAccess) @@ -308,6 +345,11 @@ public int hashCode() { result = (result * PRIME) + (this.approvalAction == null ? 43 : this.approvalAction.hashCode()); + result = + (result * PRIME) + + (this.approverGroupLevel == null + ? 43 + : this.approverGroupLevel.hashCode()); result = (result * PRIME) + (this.approvalComment == null ? 43 : this.approvalComment.hashCode()); diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverGroupLevel.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverGroupLevel.java new file mode 100644 index 00000000000..8c7a97549ec --- /dev/null +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/ApproverGroupLevel.java @@ -0,0 +1,169 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.apiaccesscontrol.model; + +/** + * It represents the group level detail for authorization
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20241130") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = ApproverGroupLevel.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ApproverGroupLevel + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"groupId", "groupLevel"}) + public ApproverGroupLevel(java.util.List groupId, Integer groupLevel) { + super(); + this.groupId = groupId; + this.groupLevel = groupLevel; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** id of the group. */ + @com.fasterxml.jackson.annotation.JsonProperty("groupId") + private java.util.List groupId; + + /** + * id of the group. + * + * @param groupId the value to set + * @return this builder + */ + public Builder groupId(java.util.List groupId) { + this.groupId = groupId; + this.__explicitlySet__.add("groupId"); + return this; + } + /** level of the group. */ + @com.fasterxml.jackson.annotation.JsonProperty("groupLevel") + private Integer groupLevel; + + /** + * level of the group. + * + * @param groupLevel the value to set + * @return this builder + */ + public Builder groupLevel(Integer groupLevel) { + this.groupLevel = groupLevel; + this.__explicitlySet__.add("groupLevel"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ApproverGroupLevel build() { + ApproverGroupLevel model = new ApproverGroupLevel(this.groupId, this.groupLevel); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ApproverGroupLevel model) { + if (model.wasPropertyExplicitlySet("groupId")) { + this.groupId(model.getGroupId()); + } + if (model.wasPropertyExplicitlySet("groupLevel")) { + this.groupLevel(model.getGroupLevel()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** id of the group. */ + @com.fasterxml.jackson.annotation.JsonProperty("groupId") + private final java.util.List groupId; + + /** + * id of the group. + * + * @return the value + */ + public java.util.List getGroupId() { + return groupId; + } + + /** level of the group. */ + @com.fasterxml.jackson.annotation.JsonProperty("groupLevel") + private final Integer groupLevel; + + /** + * level of the group. + * + * @return the value + */ + public Integer getGroupLevel() { + return groupLevel; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("ApproverGroupLevel("); + sb.append("super=").append(super.toString()); + sb.append("groupId=").append(String.valueOf(this.groupId)); + sb.append(", groupLevel=").append(String.valueOf(this.groupLevel)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ApproverGroupLevel)) { + return false; + } + + ApproverGroupLevel other = (ApproverGroupLevel) o; + return java.util.Objects.equals(this.groupId, other.groupId) + && java.util.Objects.equals(this.groupLevel, other.groupLevel) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.groupId == null ? 43 : this.groupId.hashCode()); + result = (result * PRIME) + (this.groupLevel == null ? 43 : this.groupLevel.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/CreatePrivilegedApiControlDetails.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/CreatePrivilegedApiControlDetails.java index a49e7fc7bb9..de7b1500875 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/CreatePrivilegedApiControlDetails.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/CreatePrivilegedApiControlDetails.java @@ -29,6 +29,7 @@ public final class CreatePrivilegedApiControlDetails "compartmentId", "notificationTopicId", "approverGroupIdList", + "approverGroupLevelList", "privilegedOperationList", "resourceType", "resources", @@ -42,6 +43,7 @@ public CreatePrivilegedApiControlDetails( String compartmentId, String notificationTopicId, java.util.List approverGroupIdList, + java.util.List approverGroupLevelList, java.util.List privilegedOperationList, String resourceType, java.util.List resources, @@ -54,6 +56,7 @@ public CreatePrivilegedApiControlDetails( this.compartmentId = compartmentId; this.notificationTopicId = notificationTopicId; this.approverGroupIdList = approverGroupIdList; + this.approverGroupLevelList = approverGroupLevelList; this.privilegedOperationList = privilegedOperationList; this.resourceType = resourceType; this.resources = resources; @@ -114,14 +117,14 @@ public Builder compartmentId(String compartmentId) { return this; } /** - * The OCID of the OCI Notification topic to publish messages related to this Delegation + * The OCID of the OCI Notification topic to publish messages related to this Privileged Api * Control. */ @com.fasterxml.jackson.annotation.JsonProperty("notificationTopicId") private String notificationTopicId; /** - * The OCID of the OCI Notification topic to publish messages related to this Delegation + * The OCID of the OCI Notification topic to publish messages related to this Privileged Api * Control. * * @param notificationTopicId the value to set @@ -151,6 +154,26 @@ public Builder approverGroupIdList(java.util.List approverGroupIdList) { this.__explicitlySet__.add("approverGroupIdList"); return this; } + /** + * List of Group containing the levels at which the users belonging to the group can + * authorize. + */ + @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList") + private java.util.List approverGroupLevelList; + + /** + * List of Group containing the levels at which the users belonging to the group can + * authorize. + * + * @param approverGroupLevelList the value to set + * @return this builder + */ + public Builder approverGroupLevelList( + java.util.List approverGroupLevelList) { + this.approverGroupLevelList = approverGroupLevelList; + this.__explicitlySet__.add("approverGroupLevelList"); + return this; + } /** * List of privileged operator operations. If Privileged API Managment is enabled for a * resource it will be validated whether the operation done by the operator is a part of @@ -281,6 +304,7 @@ public CreatePrivilegedApiControlDetails build() { this.compartmentId, this.notificationTopicId, this.approverGroupIdList, + this.approverGroupLevelList, this.privilegedOperationList, this.resourceType, this.resources, @@ -310,6 +334,9 @@ public Builder copy(CreatePrivilegedApiControlDetails model) { if (model.wasPropertyExplicitlySet("approverGroupIdList")) { this.approverGroupIdList(model.getApproverGroupIdList()); } + if (model.wasPropertyExplicitlySet("approverGroupLevelList")) { + this.approverGroupLevelList(model.getApproverGroupLevelList()); + } if (model.wasPropertyExplicitlySet("privilegedOperationList")) { this.privilegedOperationList(model.getPrivilegedOperationList()); } @@ -385,14 +412,14 @@ public String getCompartmentId() { } /** - * The OCID of the OCI Notification topic to publish messages related to this Delegation + * The OCID of the OCI Notification topic to publish messages related to this Privileged Api * Control. */ @com.fasterxml.jackson.annotation.JsonProperty("notificationTopicId") private final String notificationTopicId; /** - * The OCID of the OCI Notification topic to publish messages related to this Delegation + * The OCID of the OCI Notification topic to publish messages related to this Privileged Api * Control. * * @return the value @@ -418,6 +445,21 @@ public java.util.List getApproverGroupIdList() { return approverGroupIdList; } + /** + * List of Group containing the levels at which the users belonging to the group can authorize. + */ + @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList") + private final java.util.List approverGroupLevelList; + + /** + * List of Group containing the levels at which the users belonging to the group can authorize. + * + * @return the value + */ + public java.util.List getApproverGroupLevelList() { + return approverGroupLevelList; + } + /** * List of privileged operator operations. If Privileged API Managment is enabled for a resource * it will be validated whether the operation done by the operator is a part of privileged @@ -542,6 +584,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(", notificationTopicId=").append(String.valueOf(this.notificationTopicId)); sb.append(", approverGroupIdList=").append(String.valueOf(this.approverGroupIdList)); + sb.append(", approverGroupLevelList=").append(String.valueOf(this.approverGroupLevelList)); sb.append(", privilegedOperationList=") .append(String.valueOf(this.privilegedOperationList)); sb.append(", resourceType=").append(String.valueOf(this.resourceType)); @@ -568,6 +611,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.notificationTopicId, other.notificationTopicId) && java.util.Objects.equals(this.approverGroupIdList, other.approverGroupIdList) + && java.util.Objects.equals( + this.approverGroupLevelList, other.approverGroupLevelList) && java.util.Objects.equals( this.privilegedOperationList, other.privilegedOperationList) && java.util.Objects.equals(this.resourceType, other.resourceType) @@ -597,6 +642,11 @@ public int hashCode() { + (this.approverGroupIdList == null ? 43 : this.approverGroupIdList.hashCode()); + result = + (result * PRIME) + + (this.approverGroupLevelList == null + ? 43 + : this.approverGroupLevelList.hashCode()); result = (result * PRIME) + (this.privilegedOperationList == null diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControl.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControl.java index 429fafc2b4b..eb18e23e561 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControl.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControl.java @@ -38,6 +38,7 @@ public final class PrivilegedApiControl "description", "notificationTopicId", "approverGroupIdList", + "approverGroupLevelList", "resourceType", "resources", "privilegedOperationList", @@ -60,6 +61,7 @@ public PrivilegedApiControl( String description, String notificationTopicId, java.util.List approverGroupIdList, + java.util.List approverGroupLevelList, String resourceType, java.util.List resources, java.util.List privilegedOperationList, @@ -81,6 +83,7 @@ public PrivilegedApiControl( this.description = description; this.notificationTopicId = notificationTopicId; this.approverGroupIdList = approverGroupIdList; + this.approverGroupLevelList = approverGroupLevelList; this.resourceType = resourceType; this.resources = resources; this.privilegedOperationList = privilegedOperationList; @@ -205,6 +208,26 @@ public Builder approverGroupIdList(java.util.List approverGroupIdList) { this.__explicitlySet__.add("approverGroupIdList"); return this; } + /** + * List of Group containing the levels at which the users belonging to the group can + * authorize. + */ + @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList") + private java.util.List approverGroupLevelList; + + /** + * List of Group containing the levels at which the users belonging to the group can + * authorize. + * + * @param approverGroupLevelList the value to set + * @return this builder + */ + public Builder approverGroupLevelList( + java.util.List approverGroupLevelList) { + this.approverGroupLevelList = approverGroupLevelList; + this.__explicitlySet__.add("approverGroupLevelList"); + return this; + } /** resourceType for which the PrivilegedApiControl is applicable */ @com.fasterxml.jackson.annotation.JsonProperty("resourceType") private String resourceType; @@ -276,18 +299,14 @@ public Builder numberOfApprovers(Integer numberOfApprovers) { } /** * The date and time the PrivilegedApiControl was created, in the format defined by [RFC - * 3339](https://tools.ietf.org/html/rfc3339). - * - *

Example: {@code 2016-08-25T21:10:29.600Z} + * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z} */ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") private java.util.Date timeCreated; /** * The date and time the PrivilegedApiControl was created, in the format defined by [RFC - * 3339](https://tools.ietf.org/html/rfc3339). - * - *

Example: {@code 2016-08-25T21:10:29.600Z} + * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z} * * @param timeCreated the value to set * @return this builder @@ -500,6 +519,7 @@ public PrivilegedApiControl build() { this.description, this.notificationTopicId, this.approverGroupIdList, + this.approverGroupLevelList, this.resourceType, this.resources, this.privilegedOperationList, @@ -540,6 +560,9 @@ public Builder copy(PrivilegedApiControl model) { if (model.wasPropertyExplicitlySet("approverGroupIdList")) { this.approverGroupIdList(model.getApproverGroupIdList()); } + if (model.wasPropertyExplicitlySet("approverGroupLevelList")) { + this.approverGroupLevelList(model.getApproverGroupLevelList()); + } if (model.wasPropertyExplicitlySet("resourceType")) { this.resourceType(model.getResourceType()); } @@ -689,6 +712,21 @@ public java.util.List getApproverGroupIdList() { return approverGroupIdList; } + /** + * List of Group containing the levels at which the users belonging to the group can authorize. + */ + @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList") + private final java.util.List approverGroupLevelList; + + /** + * List of Group containing the levels at which the users belonging to the group can authorize. + * + * @return the value + */ + public java.util.List getApproverGroupLevelList() { + return approverGroupLevelList; + } + /** resourceType for which the PrivilegedApiControl is applicable */ @com.fasterxml.jackson.annotation.JsonProperty("resourceType") private final String resourceType; @@ -751,18 +789,14 @@ public Integer getNumberOfApprovers() { /** * The date and time the PrivilegedApiControl was created, in the format defined by [RFC - * 3339](https://tools.ietf.org/html/rfc3339). - * - *

Example: {@code 2016-08-25T21:10:29.600Z} + * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z} */ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") private final java.util.Date timeCreated; /** * The date and time the PrivilegedApiControl was created, in the format defined by [RFC - * 3339](https://tools.ietf.org/html/rfc3339). - * - *

Example: {@code 2016-08-25T21:10:29.600Z} + * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z} * * @return the value */ @@ -1009,6 +1043,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", description=").append(String.valueOf(this.description)); sb.append(", notificationTopicId=").append(String.valueOf(this.notificationTopicId)); sb.append(", approverGroupIdList=").append(String.valueOf(this.approverGroupIdList)); + sb.append(", approverGroupLevelList=").append(String.valueOf(this.approverGroupLevelList)); sb.append(", resourceType=").append(String.valueOf(this.resourceType)); sb.append(", resources=").append(String.valueOf(this.resources)); sb.append(", privilegedOperationList=") @@ -1044,6 +1079,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.description, other.description) && java.util.Objects.equals(this.notificationTopicId, other.notificationTopicId) && java.util.Objects.equals(this.approverGroupIdList, other.approverGroupIdList) + && java.util.Objects.equals( + this.approverGroupLevelList, other.approverGroupLevelList) && java.util.Objects.equals(this.resourceType, other.resourceType) && java.util.Objects.equals(this.resources, other.resources) && java.util.Objects.equals( @@ -1082,6 +1119,11 @@ public int hashCode() { + (this.approverGroupIdList == null ? 43 : this.approverGroupIdList.hashCode()); + result = + (result * PRIME) + + (this.approverGroupLevelList == null + ? 43 + : this.approverGroupLevelList.hashCode()); result = (result * PRIME) + (this.resourceType == null ? 43 : this.resourceType.hashCode()); result = (result * PRIME) + (this.resources == null ? 43 : this.resources.hashCode()); result = diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControlSummary.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControlSummary.java index b2055102aef..5eef26dea59 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControlSummary.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/PrivilegedApiControlSummary.java @@ -174,18 +174,14 @@ public Builder timeCreated(java.util.Date timeCreated) { } /** * The date and time the PrivilegedApiControl was updated, in the format defined by [RFC - * 3339](https://tools.ietf.org/html/rfc3339). - * - *

Example: {@code 2016-08-25T21:10:29.600Z} + * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z} */ @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") private java.util.Date timeUpdated; /** * The date and time the PrivilegedApiControl was updated, in the format defined by [RFC - * 3339](https://tools.ietf.org/html/rfc3339). - * - *

Example: {@code 2016-08-25T21:10:29.600Z} + * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z} * * @param timeUpdated the value to set * @return this builder @@ -496,18 +492,14 @@ public java.util.Date getTimeCreated() { /** * The date and time the PrivilegedApiControl was updated, in the format defined by [RFC - * 3339](https://tools.ietf.org/html/rfc3339). - * - *

Example: {@code 2016-08-25T21:10:29.600Z} + * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z} */ @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") private final java.util.Date timeUpdated; /** * The date and time the PrivilegedApiControl was updated, in the format defined by [RFC - * 3339](https://tools.ietf.org/html/rfc3339). - * - *

Example: {@code 2016-08-25T21:10:29.600Z} + * 3339](https://tools.ietf.org/html/rfc3339). Example: {@code 2016-08-25T21:10:29.600Z} * * @return the value */ diff --git a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/UpdatePrivilegedApiControlDetails.java b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/UpdatePrivilegedApiControlDetails.java index 01d379b6761..88686494146 100644 --- a/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/UpdatePrivilegedApiControlDetails.java +++ b/bmc-apiaccesscontrol/src/main/java/com/oracle/bmc/apiaccesscontrol/model/UpdatePrivilegedApiControlDetails.java @@ -30,6 +30,7 @@ public final class UpdatePrivilegedApiControlDetails "resources", "notificationTopicId", "approverGroupIdList", + "approverGroupLevelList", "privilegedOperationList", "numberOfApprovers", "freeformTags", @@ -42,6 +43,7 @@ public UpdatePrivilegedApiControlDetails( java.util.List resources, String notificationTopicId, java.util.List approverGroupIdList, + java.util.List approverGroupLevelList, java.util.List privilegedOperationList, Integer numberOfApprovers, java.util.Map freeformTags, @@ -53,6 +55,7 @@ public UpdatePrivilegedApiControlDetails( this.resources = resources; this.notificationTopicId = notificationTopicId; this.approverGroupIdList = approverGroupIdList; + this.approverGroupLevelList = approverGroupLevelList; this.privilegedOperationList = privilegedOperationList; this.numberOfApprovers = numberOfApprovers; this.freeformTags = freeformTags; @@ -122,14 +125,14 @@ public Builder resources(java.util.List resources) { return this; } /** - * The OCID of the OCI Notification topic to publish messages related to this Delegation + * The OCID of the OCI Notification topic to publish messages related to this Privileged Api * Control. */ @com.fasterxml.jackson.annotation.JsonProperty("notificationTopicId") private String notificationTopicId; /** - * The OCID of the OCI Notification topic to publish messages related to this Delegation + * The OCID of the OCI Notification topic to publish messages related to this Privileged Api * Control. * * @param notificationTopicId the value to set @@ -159,6 +162,26 @@ public Builder approverGroupIdList(java.util.List approverGroupIdList) { this.__explicitlySet__.add("approverGroupIdList"); return this; } + /** + * List of Group containing the levels at which the users belonging to the group can + * authorize. + */ + @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList") + private java.util.List approverGroupLevelList; + + /** + * List of Group containing the levels at which the users belonging to the group can + * authorize. + * + * @param approverGroupLevelList the value to set + * @return this builder + */ + public Builder approverGroupLevelList( + java.util.List approverGroupLevelList) { + this.approverGroupLevelList = approverGroupLevelList; + this.__explicitlySet__.add("approverGroupLevelList"); + return this; + } /** * List of privileged operator operations. If Privileged API Managment is enabled for a * resource it will be validated whether the operation done by the operator is a part of @@ -260,6 +283,7 @@ public UpdatePrivilegedApiControlDetails build() { this.resources, this.notificationTopicId, this.approverGroupIdList, + this.approverGroupLevelList, this.privilegedOperationList, this.numberOfApprovers, this.freeformTags, @@ -290,6 +314,9 @@ public Builder copy(UpdatePrivilegedApiControlDetails model) { if (model.wasPropertyExplicitlySet("approverGroupIdList")) { this.approverGroupIdList(model.getApproverGroupIdList()); } + if (model.wasPropertyExplicitlySet("approverGroupLevelList")) { + this.approverGroupLevelList(model.getApproverGroupLevelList()); + } if (model.wasPropertyExplicitlySet("privilegedOperationList")) { this.privilegedOperationList(model.getPrivilegedOperationList()); } @@ -368,14 +395,14 @@ public java.util.List getResources() { } /** - * The OCID of the OCI Notification topic to publish messages related to this Delegation + * The OCID of the OCI Notification topic to publish messages related to this Privileged Api * Control. */ @com.fasterxml.jackson.annotation.JsonProperty("notificationTopicId") private final String notificationTopicId; /** - * The OCID of the OCI Notification topic to publish messages related to this Delegation + * The OCID of the OCI Notification topic to publish messages related to this Privileged Api * Control. * * @return the value @@ -401,6 +428,21 @@ public java.util.List getApproverGroupIdList() { return approverGroupIdList; } + /** + * List of Group containing the levels at which the users belonging to the group can authorize. + */ + @com.fasterxml.jackson.annotation.JsonProperty("approverGroupLevelList") + private final java.util.List approverGroupLevelList; + + /** + * List of Group containing the levels at which the users belonging to the group can authorize. + * + * @return the value + */ + public java.util.List getApproverGroupLevelList() { + return approverGroupLevelList; + } + /** * List of privileged operator operations. If Privileged API Managment is enabled for a resource * it will be validated whether the operation done by the operator is a part of privileged @@ -500,6 +542,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", resources=").append(String.valueOf(this.resources)); sb.append(", notificationTopicId=").append(String.valueOf(this.notificationTopicId)); sb.append(", approverGroupIdList=").append(String.valueOf(this.approverGroupIdList)); + sb.append(", approverGroupLevelList=").append(String.valueOf(this.approverGroupLevelList)); sb.append(", privilegedOperationList=") .append(String.valueOf(this.privilegedOperationList)); sb.append(", numberOfApprovers=").append(String.valueOf(this.numberOfApprovers)); @@ -525,6 +568,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.resources, other.resources) && java.util.Objects.equals(this.notificationTopicId, other.notificationTopicId) && java.util.Objects.equals(this.approverGroupIdList, other.approverGroupIdList) + && java.util.Objects.equals( + this.approverGroupLevelList, other.approverGroupLevelList) && java.util.Objects.equals( this.privilegedOperationList, other.privilegedOperationList) && java.util.Objects.equals(this.numberOfApprovers, other.numberOfApprovers) @@ -551,6 +596,11 @@ public int hashCode() { + (this.approverGroupIdList == null ? 43 : this.approverGroupIdList.hashCode()); + result = + (result * PRIME) + + (this.approverGroupLevelList == null + ? 43 + : this.approverGroupLevelList.hashCode()); result = (result * PRIME) + (this.privilegedOperationList == null diff --git a/bmc-apiaccesscontrol/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-apiaccesscontrol/reflect-config.json b/bmc-apiaccesscontrol/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-apiaccesscontrol/reflect-config.json index 2e8df67af7c..e86ca23e450 100644 --- a/bmc-apiaccesscontrol/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-apiaccesscontrol/reflect-config.json +++ b/bmc-apiaccesscontrol/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-apiaccesscontrol/reflect-config.json @@ -109,6 +109,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.apiaccesscontrol.model.ApproverGroupLevel", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.apiaccesscontrol.model.ApproverGroupLevel$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.apiaccesscontrol.model.ChangePrivilegedApiControlCompartmentDetails", diff --git a/bmc-apigateway/pom.xml b/bmc-apigateway/pom.xml index ac7fb7dc41f..0ea7be0e8f7 100644 --- a/bmc-apigateway/pom.xml +++ b/bmc-apigateway/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-apigateway @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-apiplatform/pom.xml b/bmc-apiplatform/pom.xml index 3208963ae5a..bec9e974e45 100644 --- a/bmc-apiplatform/pom.xml +++ b/bmc-apiplatform/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-apiplatform @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-apmconfig/pom.xml b/bmc-apmconfig/pom.xml index de739f4b33d..1b9761d22b1 100644 --- a/bmc-apmconfig/pom.xml +++ b/bmc-apmconfig/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-apmconfig @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-apmcontrolplane/pom.xml b/bmc-apmcontrolplane/pom.xml index ab2baf8b8b8..676295113cd 100644 --- a/bmc-apmcontrolplane/pom.xml +++ b/bmc-apmcontrolplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-apmcontrolplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-apmsynthetics/pom.xml b/bmc-apmsynthetics/pom.xml index 0fc759431ca..c0e810fe615 100644 --- a/bmc-apmsynthetics/pom.xml +++ b/bmc-apmsynthetics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-apmsynthetics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-apmtraces/pom.xml b/bmc-apmtraces/pom.xml index faec114060b..c01b79e68f3 100644 --- a/bmc-apmtraces/pom.xml +++ b/bmc-apmtraces/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-apmtraces @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-appmgmtcontrol/pom.xml b/bmc-appmgmtcontrol/pom.xml index d9741e1cd9c..254cb31496f 100644 --- a/bmc-appmgmtcontrol/pom.xml +++ b/bmc-appmgmtcontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-appmgmtcontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-artifacts/pom.xml b/bmc-artifacts/pom.xml index bf3a6f70cf9..de347987a64 100644 --- a/bmc-artifacts/pom.xml +++ b/bmc-artifacts/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-artifacts @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-audit/pom.xml b/bmc-audit/pom.xml index 58b482ff012..c6d6f83bf20 100644 --- a/bmc-audit/pom.xml +++ b/bmc-audit/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 diff --git a/bmc-autoscaling/pom.xml b/bmc-autoscaling/pom.xml index e9e73e54ca6..7b636806bd3 100644 --- a/bmc-autoscaling/pom.xml +++ b/bmc-autoscaling/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-autoscaling @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-bastion/pom.xml b/bmc-bastion/pom.xml index f7ea470a182..d1da6a90ac6 100644 --- a/bmc-bastion/pom.xml +++ b/bmc-bastion/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-bastion @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-batch/pom.xml b/bmc-batch/pom.xml index 56f27321c0c..9b362cb7a9b 100644 --- a/bmc-batch/pom.xml +++ b/bmc-batch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-batch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-bds/pom.xml b/bmc-bds/pom.xml index 4822c68a5c4..55c1530ed33 100644 --- a/bmc-bds/pom.xml +++ b/bmc-bds/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-bds @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-blockchain/pom.xml b/bmc-blockchain/pom.xml index ea0601f4c9a..2edb67fae80 100644 --- a/bmc-blockchain/pom.xml +++ b/bmc-blockchain/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-blockchain @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-bom/pom.xml b/bmc-bom/pom.xml index 3550e785521..0abe12e52e5 100644 --- a/bmc-bom/pom.xml +++ b/bmc-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk - 3.92.1 + 3.93.0 oci-java-sdk-bom pom Oracle Cloud Infrastructure SDK - BOM @@ -38,1117 +38,1117 @@ com.oracle.oci.sdk oci-java-sdk-circuitbreaker - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-enforcer-rules - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-shaded-full - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-audit - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-containerengine - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-core - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-database - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-dns - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-email - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-objectstorage-extensions - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-filestorage - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-identity - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-loadbalancer - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-objectstorage - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey3 - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-addons-resteasy-client-configurator - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-addons-sasl - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-addons-oke-workload-identity - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-addons-sasl-oke-workload-identity - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-addons-aispeech-realtime - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-resourcesearch - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-addons-apache - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-keymanagement - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-announcementsservice - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-healthchecks - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-waas - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-streaming - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-resourcemanager - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-monitoring - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-ons - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-autoscaling - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-budget - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-workrequests - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-limits - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-functions - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-events - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-oce - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-oda - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-analytics - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-integration - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-marketplace - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-apigateway - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-datacatalog - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-dataflow - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-datascience - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-nosql - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-secrets - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-vault - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-bds - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-encryption - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-cims - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-datasafe - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-mysql - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-dataintegration - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-ocvp - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-usageapi - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-blockchain - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-loggingingestion - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-logging - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-loganalytics - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-managementdashboard - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-sch - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-loggingsearch - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-managementagent - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-cloudguard - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-opsi - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-computeinstanceagent - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-optimizer - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-tenantmanagercontrolplane - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-rover - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-databasemanagement - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-artifacts - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-apmsynthetics - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-goldengate - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-apmcontrolplane - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-apmtraces - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-networkloadbalancer - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-vulnerabilityscanning - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-databasemigration - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-servicecatalog - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-ailanguage - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-operatoraccesscontrol - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-bastion - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-genericartifactscontent - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-jms - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-devops - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-datalabelingservice - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-datalabelingservicedataplane - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-apmconfig - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-waf - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-certificates - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-certificatesmanagement - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-usage - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-databasetools - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-servicemanagerproxy - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-appmgmtcontrol - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-ospgateway - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-identitydataplane - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-visualbuilder - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-osubusage - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-osubsubscription - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-osuborganizationsubscription - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-osubbillingschedule - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-dashboardservice - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-threatintelligence - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-aivision - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-aispeech - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-stackmonitoring - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-adm - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-licensemanager - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-onesubscription - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-governancerulescontrolplane - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-waa - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-networkfirewall - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-vnmonitoring - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-emwarehouse - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-lockbox - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-fusionapps - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-mediaservices - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-opa - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-opensearch - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-cloudmigrations - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-cloudbridge - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-disasterrecovery - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-containerinstances - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-aidocument - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-queue - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-recovery - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-vbsinst - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-identitydomains - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-accessgovernancecp - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-ocicontrolcenter - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-osmanagementhub - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-fleetsoftwareupdate - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-computecloudatcustomer - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-marketplacepublisher - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-redis - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-jmsjavadownloads - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-psql - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-generativeai - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-generativeaiinference - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-capacitymanagement - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-desktops - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-emaildataplane - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-clusterplacementgroups - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-resourcescheduler - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-demandsignal - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-fleetappsmanagement - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-delegateaccesscontrol - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-generativeaiagent - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-generativeaiagentruntime - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-securityattribute - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-zpr - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-dblm - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-mngdmac - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-lustrefilestorage - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-modeldeployment - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-distributeddatabase - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-apiaccesscontrol - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-wlms - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-addons-adk - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-dbmulticloud - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-apiplatform - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-managedkafka - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-aidataplatform - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-multicloud - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-resourceanalytics - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-jmsutils - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-iot - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-psa - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-dif - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-batch - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-marketplaceprivateoffer - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-gdp - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-limitsincrease - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-generativeaidata - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-self - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-containerregistry - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-databasetoolsruntime - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-costad - 3.92.1 + 3.93.0 false com.oracle.oci.sdk oci-java-sdk-datacc - 3.92.1 + 3.93.0 false diff --git a/bmc-budget/pom.xml b/bmc-budget/pom.xml index 983ec787c0b..715bd71a0d4 100644 --- a/bmc-budget/pom.xml +++ b/bmc-budget/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-budget @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-capacitymanagement/pom.xml b/bmc-capacitymanagement/pom.xml index ef1fb3f2281..ceb0dbabd4f 100644 --- a/bmc-capacitymanagement/pom.xml +++ b/bmc-capacitymanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-capacitymanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-certificates/pom.xml b/bmc-certificates/pom.xml index 43b2901ecbf..3dd54c08862 100644 --- a/bmc-certificates/pom.xml +++ b/bmc-certificates/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-certificates @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-certificatesmanagement/pom.xml b/bmc-certificatesmanagement/pom.xml index 99dfd645288..60566a76f24 100644 --- a/bmc-certificatesmanagement/pom.xml +++ b/bmc-certificatesmanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-certificatesmanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-cims/pom.xml b/bmc-cims/pom.xml index b8b93d0147d..c9fe567c013 100644 --- a/bmc-cims/pom.xml +++ b/bmc-cims/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-cims @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-circuitbreaker/pom.xml b/bmc-circuitbreaker/pom.xml index c81fc06ffc8..8af8639d521 100644 --- a/bmc-circuitbreaker/pom.xml +++ b/bmc-circuitbreaker/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-circuitbreaker diff --git a/bmc-cloudbridge/pom.xml b/bmc-cloudbridge/pom.xml index ae73ed96ba5..704ca83577d 100644 --- a/bmc-cloudbridge/pom.xml +++ b/bmc-cloudbridge/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-cloudbridge @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-cloudguard/pom.xml b/bmc-cloudguard/pom.xml index 1ea668bab48..3548e55a1b8 100644 --- a/bmc-cloudguard/pom.xml +++ b/bmc-cloudguard/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-cloudguard @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-cloudmigrations/pom.xml b/bmc-cloudmigrations/pom.xml index b94cb60077b..7a8accf22d5 100644 --- a/bmc-cloudmigrations/pom.xml +++ b/bmc-cloudmigrations/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-cloudmigrations @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-clusterplacementgroups/pom.xml b/bmc-clusterplacementgroups/pom.xml index 4a39784533e..b49996cb017 100644 --- a/bmc-clusterplacementgroups/pom.xml +++ b/bmc-clusterplacementgroups/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-clusterplacementgroups @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/pom.xml b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/pom.xml index eb8f5c0e6d3..d444594789c 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/pom.xml +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient-choices - 3.92.1 + 3.93.0 ../pom.xml @@ -93,7 +93,7 @@ com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey - 3.92.1 + 3.93.0 @@ -102,7 +102,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.92.1 + 3.93.0 org.glassfish.jersey.core diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientBuilder.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientBuilder.java index aacb10d8a24..685355fad63 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientBuilder.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientBuilder.java @@ -54,10 +54,15 @@ import java.security.KeyStore; import java.time.Duration; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; +import java.util.HashSet; +import java.util.Locale; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static com.oracle.bmc.http.client.jersey.internal.IdleConnectionMonitor.DEFAULT_IDLE_CONNECTION_MONITOR_THREAD_WAIT_TIME_IN_SECONDS; @@ -65,6 +70,11 @@ final class JerseyHttpClientBuilder implements HttpClientBuilder { private static final Logger LOG = LoggerFactory.getLogger(JerseyHttpClientBuilder.class); private static final int DEFAULT_MAX_ASYNC_THREADS = 50; + private static final String REDACTED_PROPERTY_VALUE = ""; + private static final Set POSSIBLY_SENSITIVE_PROPERTY_KEY_SUBSTRINGS = + Collections.unmodifiableSet( + new HashSet<>( + Arrays.asList("password", "secret", "token", "credential", "auth"))); /** The default {@link ClientBuilderDecorator} simply calls {@link ClientBuilder#build()}. */ private static final ClientBuilderDecorator SIMPLE_DECORATOR = @@ -397,7 +407,14 @@ public org.apache.http.impl.client.HttpClientBuilder configure( collectedProperties = client.getConfiguration().getProperties().entrySet().stream() .sorted(Comparator.comparing(e -> e.getKey())) - .map(e -> "['" + e.getKey() + "':'" + e.getValue() + "']") + .map( + e -> + "['" + + e.getKey() + + "':'" + + getPropertyValueForLogging( + e.getKey(), e.getValue()) + + "']") .collect(Collectors.joining(", ")); } LOG.trace( @@ -425,6 +442,15 @@ public org.apache.http.impl.client.HttpClientBuilder configure( httpClientConnectionManager); } + static Object getPropertyValueForLogging(String key, Object value) { + if (ClientProperties.PROXY_PASSWORD.equals(key) + || POSSIBLY_SENSITIVE_PROPERTY_KEY_SUBSTRINGS.stream() + .anyMatch(key.toLowerCase(Locale.ROOT)::contains)) { + return REDACTED_PROPERTY_VALUE; + } + return value; + } + private boolean shouldUseApacheConnector() { return JerseyHttpProvider.isApacheDependencyPresent && useApacheConnector; } diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientTest.java index c7841def7b4..01fb90717ac 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientTest.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/test/java/com/oracle/bmc/http/client/jersey/JerseyHttpClientTest.java @@ -9,6 +9,7 @@ import com.oracle.bmc.http.client.jersey.internal.DaemonClientAsyncExecutorProvider; import com.oracle.bmc.http.client.jersey.internal.IdleConnectionMonitor; import org.apache.http.conn.HttpClientConnectionManager; +import org.glassfish.jersey.client.ClientProperties; import org.junit.Test; import java.util.concurrent.ExecutorService; @@ -17,6 +18,7 @@ import java.util.concurrent.TimeUnit; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -25,6 +27,28 @@ public class JerseyHttpClientTest { private static final long TEST_KEEP_ALIVE_SECONDS = 1L; private static final long EXECUTOR_THREAD_TIMEOUT_WAIT_MILLIS = 5000L; + @Test + public void redactsSensitivePropertyValuesForTraceLogging() { + String value = "sensitive-value"; + String[] sensitiveKeys = { + ClientProperties.PROXY_PASSWORD, + "proxyPassword", + "clientSecret", + "delegationToken", + "credentialProvider", + "authenticationMethod", + "MixedCaseToKeN" + }; + + for (String key : sensitiveKeys) { + assertEquals( + "", JerseyHttpClientBuilder.getPropertyValueForLogging(key, value)); + } + assertEquals( + value, + JerseyHttpClientBuilder.getPropertyValueForLogging("request.timeout", value)); + } + @Test public void validateEnabledIdleConnectionMonitorThread() { diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/pom.xml b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/pom.xml index 19ae9d985b4..4ac8e6e203d 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/pom.xml +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient-choices - 3.92.1 + 3.93.0 ../pom.xml @@ -93,7 +93,7 @@ com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey3 - 3.92.1 + 3.93.0 @@ -102,7 +102,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.92.1 + 3.93.0 jakarta.ws.rs diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientBuilder.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientBuilder.java index 4b401a38855..b73fad49bb3 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientBuilder.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientBuilder.java @@ -54,10 +54,15 @@ import java.security.KeyStore; import java.time.Duration; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; +import java.util.HashSet; +import java.util.Locale; import java.util.Map; +import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.stream.Collectors; @@ -65,6 +70,11 @@ final class Jersey3HttpClientBuilder implements HttpClientBuilder { private static final Logger LOG = LoggerFactory.getLogger(Jersey3HttpClientBuilder.class); private static final int DEFAULT_MAX_ASYNC_THREADS = 50; + private static final String REDACTED_PROPERTY_VALUE = ""; + private static final Set POSSIBLY_SENSITIVE_PROPERTY_KEY_SUBSTRINGS = + Collections.unmodifiableSet( + new HashSet<>( + Arrays.asList("password", "secret", "token", "credential", "auth"))); /** The default {@link ClientBuilderDecorator} simply calls {@link ClientBuilder#build()}. */ private static final ClientBuilderDecorator SIMPLE_DECORATOR = @@ -398,7 +408,14 @@ public org.apache.http.impl.client.HttpClientBuilder configure( collectedProperties = client.getConfiguration().getProperties().entrySet().stream() .sorted(Comparator.comparing(e -> e.getKey())) - .map(e -> "['" + e.getKey() + "':'" + e.getValue() + "']") + .map( + e -> + "['" + + e.getKey() + + "':'" + + getPropertyValueForLogging( + e.getKey(), e.getValue()) + + "']") .collect(Collectors.joining(", ")); } LOG.trace( @@ -426,6 +443,15 @@ public org.apache.http.impl.client.HttpClientBuilder configure( httpClientConnectionManager); } + static Object getPropertyValueForLogging(String key, Object value) { + if (ClientProperties.PROXY_PASSWORD.equals(key) + || POSSIBLY_SENSITIVE_PROPERTY_KEY_SUBSTRINGS.stream() + .anyMatch(key.toLowerCase(Locale.ROOT)::contains)) { + return REDACTED_PROPERTY_VALUE; + } + return value; + } + private boolean shouldUseApacheConnector() { return Jersey3HttpProvider.isApacheDependencyPresent && useApacheConnector; } diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientTest.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientTest.java index b72b7e3dee9..0d19c8ddaf3 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientTest.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/test/java/com/oracle/bmc/http/client/jersey3/Jersey3HttpClientTest.java @@ -10,6 +10,7 @@ import com.oracle.bmc.http.client.jersey3.internal.DaemonClientAsyncExecutorProvider; import com.oracle.bmc.http.client.jersey3.internal.IdleConnectionMonitor; import org.apache.http.conn.HttpClientConnectionManager; +import org.glassfish.jersey.client.ClientProperties; import org.junit.Test; import java.util.concurrent.ConcurrentHashMap; @@ -29,6 +30,28 @@ public class Jersey3HttpClientTest { private static final long TEST_KEEP_ALIVE_SECONDS = 1L; private static final long EXECUTOR_THREAD_TIMEOUT_WAIT_MILLIS = 5000L; + @Test + public void redactsSensitivePropertyValuesForTraceLogging() { + String value = "sensitive-value"; + String[] sensitiveKeys = { + ClientProperties.PROXY_PASSWORD, + "proxyPassword", + "clientSecret", + "delegationToken", + "credentialProvider", + "authenticationMethod", + "MixedCaseToKeN" + }; + + for (String key : sensitiveKeys) { + assertEquals( + "", Jersey3HttpClientBuilder.getPropertyValueForLogging(key, value)); + } + assertEquals( + value, + Jersey3HttpClientBuilder.getPropertyValueForLogging("request.timeout", value)); + } + @Test public void validateEnabledIdleConnectionMonitorThread() { diff --git a/bmc-common-httpclient-choices/pom.xml b/bmc-common-httpclient-choices/pom.xml index 7b6b0152822..f5f0bb1d8ae 100644 --- a/bmc-common-httpclient-choices/pom.xml +++ b/bmc-common-httpclient-choices/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml diff --git a/bmc-common-httpclient/pom.xml b/bmc-common-httpclient/pom.xml index c314c8f12ba..7c928869f5f 100644 --- a/bmc-common-httpclient/pom.xml +++ b/bmc-common-httpclient/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml diff --git a/bmc-common/pom.xml b/bmc-common/pom.xml index 4ea1ffefa65..ec15a3e6dd0 100644 --- a/bmc-common/pom.xml +++ b/bmc-common/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -87,12 +87,12 @@ com.oracle.oci.sdk oci-java-sdk-circuitbreaker - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.92.1 + 3.93.0 @@ -137,7 +137,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.92.1 + 3.93.0 test diff --git a/bmc-common/src/main/java/com/oracle/bmc/auth/AbstractFederationClientAuthenticationDetailsProviderBuilder.java b/bmc-common/src/main/java/com/oracle/bmc/auth/AbstractFederationClientAuthenticationDetailsProviderBuilder.java index 9ab39f8c243..ef3d5588620 100644 --- a/bmc-common/src/main/java/com/oracle/bmc/auth/AbstractFederationClientAuthenticationDetailsProviderBuilder.java +++ b/bmc-common/src/main/java/com/oracle/bmc/auth/AbstractFederationClientAuthenticationDetailsProviderBuilder.java @@ -12,7 +12,9 @@ import com.oracle.bmc.auth.internal.FederationClient; import com.oracle.bmc.auth.internal.X509FederationClient; import com.oracle.bmc.circuitbreaker.CircuitBreakerConfiguration; +import com.oracle.bmc.http.ClientConfigurator; import com.oracle.bmc.http.client.HttpClient; +import com.oracle.bmc.http.client.HttpClientBuilder; import com.oracle.bmc.http.client.HttpProvider; import com.oracle.bmc.http.client.HttpResponse; import com.oracle.bmc.http.client.Method; @@ -104,6 +106,9 @@ public abstract class AbstractFederationClientAuthenticationDetailsProviderBuild /** The leaf certificate, or null if detecting from instance metadata. */ protected X509CertificateSupplier leafCertificateSupplier; + /** Configurator for metadata service clients used to discover region and certificates. */ + protected ClientConfigurator federationClientMetadataConfigurator; + /** Tenancy OCI, or null if detecting from instance metadata. */ protected String tenancyId; @@ -174,6 +179,18 @@ public B leafCertificateSupplier(X509CertificateSupplier leafCertificateSupplier return (B) this; } + /** + * Configures the ClientConfigurator to set on the metadata service clients used by the + * federation flow to discover region information and fetch certificates, if any. + * + * @param clientConfigurator the metadata service client configurator + * @return this builder + */ + public B federationClientMetadataConfigurator(ClientConfigurator clientConfigurator) { + this.federationClientMetadataConfigurator = clientConfigurator; + return (B) this; + } + /** * Configures the tenancy id to use. * @@ -334,7 +351,8 @@ protected void autoDetectCertificatesUsingMetadataUrl() { new URLBasedX509CertificateSupplier( getMetadataResourceDetails("identity/cert.pem"), getMetadataResourceDetails("identity/key.pem"), - (char[]) null); + (char[]) null, + federationClientMetadataConfigurator); } if (tenancyId == null) { @@ -352,7 +370,8 @@ protected void autoDetectCertificatesUsingMetadataUrl() { new URLBasedX509CertificateSupplier( getMetadataResourceDetails("identity/intermediate.pem"), null, - (char[]) null)); + (char[]) null, + federationClientMetadataConfigurator)); } } catch (MalformedURLException ex) { throw new IllegalArgumentException("The metadata service url is invalid.", ex); @@ -362,8 +381,7 @@ protected void autoDetectCertificatesUsingMetadataUrl() { private R fetchRegion(Function> responseHandler) { Throwable lastException = null; try (HttpClient client = - HttpProvider.getDefault() - .newBuilder() + metadataServiceHttpClientBuilder() .property(StandardClientProperties.ASYNC_POOL_SIZE, 1) .property( StandardClientProperties.CONNECT_TIMEOUT, @@ -432,6 +450,14 @@ private R fetchRegion(Function> responseHan } } + private HttpClientBuilder metadataServiceHttpClientBuilder() { + HttpClientBuilder builder = HttpProvider.getDefault().newBuilder(); + if (federationClientMetadataConfigurator != null) { + federationClientMetadataConfigurator.customizeClient(builder); + } + return builder; + } + /** * Checks the V2 endpoint for both federation endpoint detection & certificates if necessary. */ diff --git a/bmc-common/src/main/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplier.java b/bmc-common/src/main/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplier.java index d16ba21e131..9eb15892417 100644 --- a/bmc-common/src/main/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplier.java +++ b/bmc-common/src/main/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplier.java @@ -4,11 +4,21 @@ */ package com.oracle.bmc.auth; +import com.oracle.bmc.http.ClientConfigurator; +import com.oracle.bmc.http.client.HttpClient; +import com.oracle.bmc.http.client.HttpClientBuilder; +import com.oracle.bmc.http.client.HttpProvider; +import com.oracle.bmc.http.client.HttpRequest; +import com.oracle.bmc.http.client.HttpResponse; +import com.oracle.bmc.http.client.Method; +import com.oracle.bmc.http.client.StandardClientProperties; +import com.oracle.bmc.http.internal.SyncFutureWaiter; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.net.URI; import java.net.URL; import java.net.URLConnection; import java.nio.charset.StandardCharsets; @@ -16,6 +26,7 @@ import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import java.security.interfaces.RSAPrivateKey; +import java.time.Duration; import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; @@ -171,6 +182,9 @@ public String toString() { /** The passphrase of private key. */ private final char[] privateKeyPassphraseCharacters; + /** Optional configurator for HTTP(S) resource fetches. */ + private final ClientConfigurator clientConfigurator; + /** * Constructor. * @@ -184,9 +198,32 @@ public URLBasedX509CertificateSupplier( ResourceDetails certificateResourceDetails, ResourceDetails privateKeyResourceDetails, char[] privateKeyPassphraseCharacters) { + this( + certificateResourceDetails, + privateKeyResourceDetails, + privateKeyPassphraseCharacters, + null); + } + + /** + * Constructor. + * + * @param certificateResourceDetails The certificate resource details + * @param privateKeyResourceDetails The private key resource details, may be null for + * intermediate certificates + * @param privateKeyPassphraseCharacters The private key passphrase, may be null for unencrypted + * private keys + * @param clientConfigurator optional configurator for the underlying HTTP(S) client + */ + public URLBasedX509CertificateSupplier( + ResourceDetails certificateResourceDetails, + ResourceDetails privateKeyResourceDetails, + char[] privateKeyPassphraseCharacters, + ClientConfigurator clientConfigurator) { this.certificateDetails = certificateResourceDetails; this.privateKeyDetails = privateKeyResourceDetails; this.privateKeyPassphraseCharacters = privateKeyPassphraseCharacters; + this.clientConfigurator = clientConfigurator; refresh(); } @@ -201,10 +238,28 @@ public URLBasedX509CertificateSupplier( */ public URLBasedX509CertificateSupplier( URL certificateUrl, URL privateKeyUrl, char[] privateKeyPassphraseCharacters) { + this(certificateUrl, privateKeyUrl, privateKeyPassphraseCharacters, null); + } + + /** + * Constructor. + * + * @param certificateUrl The certificate url + * @param privateKeyUrl The private key url, may be null for intermediate certificates + * @param privateKeyPassphraseCharacters The private key passphrase, may be null for unencrypted + * private keys + * @param clientConfigurator optional configurator for the underlying HTTP(S) client + */ + public URLBasedX509CertificateSupplier( + URL certificateUrl, + URL privateKeyUrl, + char[] privateKeyPassphraseCharacters, + ClientConfigurator clientConfigurator) { this( ResourceDetails.builder().url(certificateUrl).build(), ResourceDetails.builder().url(privateKeyUrl).build(), - privateKeyPassphraseCharacters); + privateKeyPassphraseCharacters, + clientConfigurator); } /** @@ -223,7 +278,8 @@ public URLBasedX509CertificateSupplier( this( certificateUrl, privateKeyUrl, - privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null); + privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null, + null); } /** @@ -241,10 +297,11 @@ public X509Certificate getCertificate() { /** A method to refresh the X509 certificate. */ @Override public void refresh() { - String rawCertificate = readRawCertificate(certificateDetails); + String rawCertificate = readRawCertificate(certificateDetails, clientConfigurator); X509Certificate certificate = readCertificate(rawCertificate); RSAPrivateKey privateKey = - readPrivateKey(privateKeyDetails, privateKeyPassphraseCharacters); + readPrivateKey( + privateKeyDetails, privateKeyPassphraseCharacters, clientConfigurator); if (EXPERIMENTAL_SUPPRESS_X509_WORKAROUND) { this.certificateAndKeyPair.set( new CertificateAndPrivateKeyPair(certificate, privateKey)); @@ -282,12 +339,32 @@ private static X509Certificate readCertificate(String certificate) { } } - private static String readRawCertificate(final ResourceDetails certificateResourceDetails) { + /** + * Reads the raw X.509 certificate data from the configured certificate resource. + * + *

The certificate is retrieved using {@link #readResource(ResourceDetails, + * ClientConfigurator)} and decoded as a UTF-8 string. The method will retry up to three times + * if an {@link IOException} occurs while reading the resource, waiting 30 seconds between each + * attempt. If all retry attempts fail, an {@link IllegalArgumentException} is thrown wrapping + * the last encountered exception. + * + * @param certificateResourceDetails details of the certificate resource to read from; must not + * be null + * @param clientConfigurator optional configurator used when the resource is fetched via + * HTTP(S); may be {@code null} if no HTTP client customization is required + * @return the raw certificate contents as a UTF-8 encoded string + * @throws IllegalArgumentException if the certificate cannot be read after all retry attempts + */ + private static String readRawCertificate( + final ResourceDetails certificateResourceDetails, + final ClientConfigurator clientConfigurator) { final int MAX_RETRIES = 3; - IOException lastException = null; + Exception lastException = null; for (int retry = 0; retry < MAX_RETRIES; retry++) { - try (InputStream is = getResourceStream(certificateResourceDetails)) { - return StreamUtils.toString(is, StandardCharsets.UTF_8); + try { + return new String( + readResource(certificateResourceDetails, clientConfigurator), + StandardCharsets.UTF_8); } catch (IOException e) { LOG.info("Attempt {} to open stream of certificate failed.", (retry + 1), e); lastException = e; @@ -306,6 +383,177 @@ private static String readRawCertificate(final ResourceDetails certificateResour throw new IllegalArgumentException("Open stream of certificate failed.", lastException); } + /** + * Reads the contents of the given resource into a byte array. + * + *

If a non-null {@link ClientConfigurator} is provided and the resource URL uses the {@code + * http} or {@code https} protocol, the resource will be fetched using the SDK's {@link + * HttpClient}, allowing customization of the underlying HTTP client. For all other protocols, + * or when no {@code ClientConfigurator} is supplied, the resource is read using a standard + * {@link URLConnection} obtained from {@link #getResourceStream(ResourceDetails)}. + * + * @param resourceDetails details of the resource to be read; must not be {@code null} and must + * contain a non-null URL + * @param clientConfigurator optional configurator used when the resource is fetched via + * HTTP(S); may be {@code null} if no HTTP client customization is required + * @return the full contents of the resource as a byte array + * @throws IOException if an I/O error occurs while opening or reading the resource + */ + private static byte[] readResource( + @Nonnull final ResourceDetails resourceDetails, + final ClientConfigurator clientConfigurator) + throws IOException { + if (shouldUseHttpClient(resourceDetails, clientConfigurator)) { + return getResourceBytesUsingHttpClient(resourceDetails, clientConfigurator); + } + try (InputStream is = getResourceStream(resourceDetails)) { + return StreamUtils.toByteArray(is); + } + } + + /** + * Determines whether the given resource should be fetched using the SDK {@link HttpClient}. + * + *

This method returns {@code true} only when: + * + *

+ * + *

If either the {@code clientConfigurator} is {@code null} or the resource URL is {@code + * null}, {@code false} is returned and the caller is expected to fall back to using a standard + * {@link URLConnection}-based access (see {@link #getResourceStream(ResourceDetails)}). + * + * @param resourceDetails details of the resource for which the HTTP client decision is made; + * must not be {@code null} and must contain the resource {@link URL} + * @param clientConfigurator optional configurator used to customize the underlying HTTP client; + * if {@code null}, the HTTP client will not be used + * @return {@code true} if the resource should be fetched using the SDK {@link HttpClient} + * (i.e., HTTP(S) URL and a non-{@code null} configurator); {@code false} otherwise + */ + private static boolean shouldUseHttpClient( + @Nonnull final ResourceDetails resourceDetails, + final ClientConfigurator clientConfigurator) { + if (clientConfigurator == null || resourceDetails.getUrl() == null) { + return false; + } + String protocol = resourceDetails.getUrl().getProtocol(); + return "http".equalsIgnoreCase(protocol) || "https".equalsIgnoreCase(protocol); + } + + /** + * Fetches the contents of the given HTTP(S) resource using the SDK {@link HttpClient}. + * + *

The client is created via {@link HttpProvider#getDefault()} and configured with: + * + *

+ * + *

A synchronous {@code GET} request is then executed against the resource URL. Any headers + * present in {@link ResourceDetails#getHeaders()} are added to the request. If the HTTP + * response status code is {@code 400} or greater, an {@link IOException} is thrown. Otherwise, + * the response body stream is fully consumed and returned as a byte array. + * + *

This method is intended to be invoked only when {@link + * #shouldUseHttpClient(ResourceDetails, ClientConfigurator)} has already determined that the + * resource should be fetched over HTTP(S) with a non-{@code null} configurator. + * + * @param resourceDetails details of the HTTP(S) resource to fetch; must not be {@code null} and + * must contain a non-{@code null} {@link URL} + * @param clientConfigurator configurator used to customize the underlying {@link HttpClient}; + * must not be {@code null} + * @return the full contents of the HTTP(S) resource as a byte array + * @throws IOException if an error occurs while building the client, executing the request, + * receiving the response, or reading the response body, or if the response HTTP status is + * {@code 400} or greater + */ + private static byte[] getResourceBytesUsingHttpClient( + @Nonnull final ResourceDetails resourceDetails, + final ClientConfigurator clientConfigurator) + throws IOException { + HttpClientBuilder builder = + HttpProvider.getDefault() + .newBuilder() + .baseUri(URI.create(resourceDetails.getUrl().toExternalForm())) + .property(StandardClientProperties.ASYNC_POOL_SIZE, 1); + + if (CERTIFICATE_URL_CONNECTION_READ_TIMEOUT_IN_MILLIS != null) { + builder.property( + StandardClientProperties.READ_TIMEOUT, + Duration.ofMillis( + Integer.parseInt(CERTIFICATE_URL_CONNECTION_READ_TIMEOUT_IN_MILLIS))); + } + if (CERTIFICATE_URL_CONNECTION_TIMEOUT_IN_MILLIS != null) { + builder.property( + StandardClientProperties.CONNECT_TIMEOUT, + Duration.ofMillis( + Integer.parseInt(CERTIFICATE_URL_CONNECTION_TIMEOUT_IN_MILLIS))); + } + clientConfigurator.customizeClient(builder); + + try (HttpClient client = builder.build()) { + SyncFutureWaiter waiter = new SyncFutureWaiter(); + HttpRequest request = client.createRequest(Method.GET).offloadExecutor(waiter); + if (resourceDetails.getHeaders() != null) { + resourceDetails.getHeaders().forEach(request::header); + } + try (HttpResponse response = waitForResult(waiter, request.execute())) { + if (response.status() >= 400) { + throw new IOException( + "Open stream of certificate failed with HTTP status " + + response.status()); + } + try (InputStream body = waitForResult(waiter, response.streamBody())) { + return StreamUtils.toByteArray(body); + } + } + } + } + + /** + * Synchronously waits for the completion of the given {@link CompletionStage} using the + * provided {@link SyncFutureWaiter}, translating any failure into an {@link IOException}. + * + *

This method delegates to {@link SyncFutureWaiter#listenForResult(CompletionStage)} to + * block until the asynchronous operation represented by {@code stage} completes. If the + * operation completes normally, the computed result is returned. If it completes exceptionally, + * the underlying cause is unwrapped and: + * + *

+ * + * @param waiter the {@code SyncFutureWaiter} used to wait for and process the completion of + * {@code stage}; must not be {@code null} + * @param stage the asynchronous computation whose result is to be waited for; must not be + * {@code null} + * @param the type of the result produced by the {@code CompletionStage} + * @return the result produced by the completed {@code CompletionStage} + * @throws IOException if the {@code CompletionStage} completes exceptionally, or if waiting for + * its completion fails for any reason other than an {@link Error} + */ + private static T waitForResult( + SyncFutureWaiter waiter, java.util.concurrent.CompletionStage stage) + throws IOException { + try { + return waiter.listenForResult(stage); + } catch (Throwable t) { + if (t instanceof IOException) { + throw (IOException) t; + } + throw new IOException("Failed to read HTTP resource", t); + } + } + private static InputStream getResourceStream(@Nonnull final ResourceDetails resourceDetails) throws IOException { if (resourceDetails == null) { @@ -336,7 +584,9 @@ private static InputStream getResourceStream(@Nonnull final ResourceDetails reso * @return the private key */ private static RSAPrivateKey readPrivateKey( - final ResourceDetails privateKeyResourceDetails, char[] privateKeyPassphrase) { + final ResourceDetails privateKeyResourceDetails, + char[] privateKeyPassphrase, + final ClientConfigurator clientConfigurator) { if (privateKeyResourceDetails == null || privateKeyResourceDetails.getUrl() == null) { return null; } @@ -344,7 +594,9 @@ private static RSAPrivateKey readPrivateKey( final int MAX_RETRIES = 3; Exception lastException = null; for (int retry = 0; retry < MAX_RETRIES; retry++) { - try (InputStream inputStream = getResourceStream(privateKeyResourceDetails)) { + try (InputStream inputStream = + new ByteArrayInputStream( + readResource(privateKeyResourceDetails, clientConfigurator))) { return new PEMFileRSAPrivateKeySupplier(inputStream, privateKeyPassphrase) .supplyKey(null) .orElse(null); diff --git a/bmc-common/src/main/java/com/oracle/bmc/auth/internal/X509FederationClient.java b/bmc-common/src/main/java/com/oracle/bmc/auth/internal/X509FederationClient.java index efc4a15995b..2171685b06f 100644 --- a/bmc-common/src/main/java/com/oracle/bmc/auth/internal/X509FederationClient.java +++ b/bmc-common/src/main/java/com/oracle/bmc/auth/internal/X509FederationClient.java @@ -14,6 +14,7 @@ import com.oracle.bmc.http.ClientConfigurator; import com.oracle.bmc.http.Priorities; import com.oracle.bmc.http.client.HttpClient; +import com.oracle.bmc.http.client.HttpClientBuilder; import com.oracle.bmc.http.client.HttpProvider; import com.oracle.bmc.http.client.Method; import com.oracle.bmc.http.client.Options; @@ -198,7 +199,7 @@ public String get() { } }; - this.httpClient = + HttpClientBuilder clientBuilder = HttpProvider.getDefault() .newBuilder() .baseUri(URI.create(federationEndpoint)) @@ -216,8 +217,16 @@ public String get() { Collections.emptyMap())) .registerRequestInterceptor( Priorities.HEADER_DECORATOR, new ClientIdFilter()) - .registerRequestInterceptor(Priorities.USER, new LogHeadersFilter()) - .build(); + .registerRequestInterceptor(Priorities.USER, new LogHeadersFilter()); + if (clientConfigurator != null) { + clientConfigurator.customizeClient(clientBuilder); + } + if (additionalClientConfigurators != null) { + for (ClientConfigurator additionalClientConfigurator : additionalClientConfigurators) { + additionalClientConfigurator.customizeClient(clientBuilder); + } + } + this.httpClient = clientBuilder.build(); this.circuitBreaker = CircuitBreakerHelper.makeCircuitBreaker(this.httpClient, circuitBreakerConfig); } @@ -409,7 +418,6 @@ FederationResponseWrapper makeCall(X509FederationRequest federationRequest) { .appendPathPart("x509") .handleBody(SecurityToken.class, (builder, token) -> builder.token = token) .retryConfiguration(RETRY_CONFIGURATION) - .clientConfigurator(clientConfigurator) .circuitBreaker(circuitBreaker) .accept("*/*") .hasBody() diff --git a/bmc-common/src/test/java/com/oracle/bmc/auth/TestAbstractFederationClientAuthenticationDetailsProviderBuilder.java b/bmc-common/src/test/java/com/oracle/bmc/auth/TestAbstractFederationClientAuthenticationDetailsProviderBuilder.java index d4a243f90ba..29ff0b2c182 100644 --- a/bmc-common/src/test/java/com/oracle/bmc/auth/TestAbstractFederationClientAuthenticationDetailsProviderBuilder.java +++ b/bmc-common/src/test/java/com/oracle/bmc/auth/TestAbstractFederationClientAuthenticationDetailsProviderBuilder.java @@ -4,12 +4,24 @@ */ package com.oracle.bmc.auth; +import com.github.tomakehurst.wiremock.junit.WireMockRule; import com.oracle.bmc.auth.internal.FederationClient; import com.oracle.bmc.auth.internal.X509FederationClient; +import com.oracle.bmc.http.ClientConfigurator; +import org.junit.Rule; import org.junit.Test; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.equalTo; +import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor; +import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; +import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; +import static com.github.tomakehurst.wiremock.client.WireMock.verify; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -29,6 +41,10 @@ public FederationClient exposedCreateFederationClient( return this.createFederationClient(sessionKeySupplier); } + public String exposedAutoDetectEndpointUsingMetadataUrl() { + return this.autoDetectEndpointUsingMetadataUrl(); + } + protected String getDisableDefaultCircuitBreakerOverride() { return "true"; } @@ -50,6 +66,10 @@ public FederationClient exposedCreateFederationClient( return this.createFederationClient(sessionKeySupplier); } + public String exposedAutoDetectEndpointUsingMetadataUrl() { + return this.autoDetectEndpointUsingMetadataUrl(); + } + protected String getDisableDefaultCircuitBreakerOverride() { return " "; // or whatever value you want for a specific test } @@ -59,6 +79,8 @@ protected String getDisableDefaultCircuitBreakerOverride() { TestFederationClientBuilder builder; TestFederationClientBuilderWithNoEnvVariableSet builderWithNoEnvVariableSet; + @Rule public WireMockRule mockMetadata = new WireMockRule(wireMockConfig().dynamicPort()); + @Test public void testCreateFederationClient_DefaultConfig() { MockitoAnnotations.initMocks(this); @@ -84,4 +106,32 @@ public void testCreateFederationClient_NoCircuitBreakerConfig() { assertNotNull(client); assertTrue(client instanceof X509FederationClient); } + + @Test + public void testMetadataClientConfiguratorUsedForRegionLookup() { + ClientConfigurator metadataConfigurator = + httpClientBuilder -> + httpClientBuilder.registerRequestInterceptor( + 0, request -> request.header("X-Test-Metadata", "configured")); + + stubFor( + get(urlEqualTo("/opc/v2/instance/region")) + .withHeader("X-Test-Metadata", equalTo("configured")) + .willReturn(aResponse().withStatus(200).withBody("us-ashburn-1"))); + + builder = new TestFederationClientBuilder(); + builder.metadataBaseUrl("http://localhost:" + mockMetadata.port() + "/opc/v2/") + .federationClientMetadataConfigurator(metadataConfigurator) + .detectEndpointRetries(0) + .timeoutForEachRetry(1); + + String endpoint = builder.exposedAutoDetectEndpointUsingMetadataUrl(); + + assertNotNull(endpoint); + assertTrue(endpoint.contains("auth")); + verify( + 2, + getRequestedFor(urlEqualTo("/opc/v2/instance/region")) + .withHeader("X-Test-Metadata", equalTo("configured"))); + } } diff --git a/bmc-common/src/test/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplierTest.java b/bmc-common/src/test/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplierTest.java new file mode 100644 index 00000000000..ff933a7ee6f --- /dev/null +++ b/bmc-common/src/test/java/com/oracle/bmc/auth/URLBasedX509CertificateSupplierTest.java @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.auth; + +import com.github.tomakehurst.wiremock.junit.WireMockRule; +import com.oracle.bmc.http.ClientConfigurator; +import org.junit.Rule; +import org.junit.Test; + +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Paths; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.equalTo; +import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor; +import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; +import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; +import static com.github.tomakehurst.wiremock.client.WireMock.verify; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; +import static org.junit.Assert.assertNotNull; + +public class URLBasedX509CertificateSupplierTest { + + @Rule + public WireMockRule mockService = + new WireMockRule( + wireMockConfig().jettyAcceptors(10).containerThreads(25).dynamicPort()); + + @Test + public void testClientConfiguratorUsedForHttpResourceFetches() throws Exception { + String certificateBody = + new String(Files.readAllBytes(Paths.get("src/test/resources/cert.pem"))); + String keyBody = new String(Files.readAllBytes(Paths.get("src/test/resources/key.pem"))); + + stubFor( + get(urlEqualTo("/cert.pem")) + .withHeader("X-Test-Configurator", equalTo("configured")) + .willReturn(aResponse().withStatus(200).withBody(certificateBody))); + stubFor( + get(urlEqualTo("/key.pem")) + .withHeader("X-Test-Configurator", equalTo("configured")) + .willReturn(aResponse().withStatus(200).withBody(keyBody))); + + ClientConfigurator clientConfigurator = + httpClientBuilder -> + httpClientBuilder.registerRequestInterceptor( + 0, request -> request.header("X-Test-Configurator", "configured")); + + URLBasedX509CertificateSupplier supplier = + new URLBasedX509CertificateSupplier( + new URL("http://localhost:" + mockService.port() + "/cert.pem"), + new URL("http://localhost:" + mockService.port() + "/key.pem"), + (char[]) null, + clientConfigurator); + + assertNotNull(supplier.getCertificateAndKeyPair().getCertificate()); + assertNotNull(supplier.getCertificateAndKeyPair().getPrivateKey()); + + verify( + getRequestedFor(urlEqualTo("/cert.pem")) + .withHeader("X-Test-Configurator", equalTo("configured"))); + verify( + getRequestedFor(urlEqualTo("/key.pem")) + .withHeader("X-Test-Configurator", equalTo("configured"))); + } +} diff --git a/bmc-common/src/test/java/com/oracle/bmc/auth/internal/X509FederationClientTest.java b/bmc-common/src/test/java/com/oracle/bmc/auth/internal/X509FederationClientTest.java index 85a771df4bf..eab9f0f2cdf 100644 --- a/bmc-common/src/test/java/com/oracle/bmc/auth/internal/X509FederationClientTest.java +++ b/bmc-common/src/test/java/com/oracle/bmc/auth/internal/X509FederationClientTest.java @@ -226,6 +226,38 @@ public void constructorConfiguresAsyncCoreThreadTimeoutFromOptions() throws Exce (Boolean) getFieldValue(executorProvider, "allowCoreThreadTimeOut")); } + @Test + public void testX509ClientUsesAdditionalClientConfigurators() { + ClientConfigurator additionalConfigurator = + httpClientBuilder -> + httpClientBuilder.registerRequestInterceptor( + 0, request -> request.header("X-Test-Additional", "configured")); + clientUnderTest = + new X509FederationClient( + "http://localhost:" + mockService.port(), + "tenantId", + clientUnderTest.getLeafCertificateSupplier(), + mock(SessionKeySupplier.class), + Collections.emptySet(), + null, + Collections.singletonList(additionalConfigurator), + CircuitBreakerUtils.getDefaultAuthClientCircuitBreakerConfiguration()); + stubFor( + post(urlEqualTo("/v1/x509")) + .withHeader("X-Test-Additional", equalTo("configured")) + .willReturn( + aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBody("{\"token\" : \"abcdef\"}"))); + X509FederationClient.FederationResponseWrapper responseWrapper = + clientUnderTest.makeCall(federationRequest); + assertEquals("abcdef", responseWrapper.token.getToken()); + verify( + postRequestedFor(urlEqualTo("/v1/x509")) + .withHeader("X-Test-Additional", equalTo("configured"))); + } + @Test public void jacksonCanDeserializeSecurityToken() throws IOException { final String strToken = "{\"token\" : \"abcdef\"}"; diff --git a/bmc-computecloudatcustomer/pom.xml b/bmc-computecloudatcustomer/pom.xml index f81a72754c2..4c3c089c11e 100644 --- a/bmc-computecloudatcustomer/pom.xml +++ b/bmc-computecloudatcustomer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-computecloudatcustomer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-computeinstanceagent/pom.xml b/bmc-computeinstanceagent/pom.xml index e129b779ea6..f29a09114b4 100644 --- a/bmc-computeinstanceagent/pom.xml +++ b/bmc-computeinstanceagent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-computeinstanceagent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-containerengine/pom.xml b/bmc-containerengine/pom.xml index caa608727c5..a55e8b611ed 100644 --- a/bmc-containerengine/pom.xml +++ b/bmc-containerengine/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 diff --git a/bmc-containerinstances/pom.xml b/bmc-containerinstances/pom.xml index e0652338b63..a4d71e97279 100644 --- a/bmc-containerinstances/pom.xml +++ b/bmc-containerinstances/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-containerinstances @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-containerregistry/pom.xml b/bmc-containerregistry/pom.xml index 2a726cb0997..6528b7deaf4 100644 --- a/bmc-containerregistry/pom.xml +++ b/bmc-containerregistry/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-containerregistry @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-core/pom.xml b/bmc-core/pom.xml index 840f689c0a9..d4a742e4bf3 100644 --- a/bmc-core/pom.xml +++ b/bmc-core/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.92.1 + 3.93.0 diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java index f5699690756..871b1f6a0e5 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetwork.java @@ -4085,6 +4085,24 @@ ListNetworkSecurityGroupsResponse listNetworkSecurityGroups( */ ListPrivateIpsResponse listPrivateIps(ListPrivateIpsRequest request); + /** + * The operation lists available OCI's FastConnect MultiCloud Provider/Partner remote region + * names associated with an OCI region. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ListProviderRemoteRegions API. + */ + ListProviderRemoteRegionsResponse listProviderRemoteRegions( + ListProviderRemoteRegionsRequest request); + /** * Lists the public IP pools in the specified compartment. You can filter the list using query * parameters. diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java index 0bae541f982..28137b4dfae 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsync.java @@ -4047,6 +4047,23 @@ java.util.concurrent.Future listPrivateIps( com.oracle.bmc.responses.AsyncHandler handler); + /** + * The operation lists available OCI's FastConnect MultiCloud Provider/Partner remote region + * names associated with an OCI region. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future listProviderRemoteRegions( + ListProviderRemoteRegionsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListProviderRemoteRegionsRequest, ListProviderRemoteRegionsResponse> + handler); + /** * Lists the public IP pools in the specified compartment. You can filter the list using query * parameters. diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java index d91fd5cc009..6d29670b7f0 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkAsyncClient.java @@ -7397,6 +7397,45 @@ public java.util.concurrent.Future listPrivateIps( .callAsync(handler); } + @Override + public java.util.concurrent.Future listProviderRemoteRegions( + ListProviderRemoteRegionsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListProviderRemoteRegionsRequest, ListProviderRemoteRegionsResponse> + handler) { + + Validate.notBlank(request.getProviderServiceId(), "providerServiceId must not be blank"); + + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + requiredParametersMap.put("providerServiceId", request.getProviderServiceId()); + + return clientCall(request, ListProviderRemoteRegionsResponse::builder) + .logger(LOG, "listProviderRemoteRegions") + .serviceDetails( + "VirtualNetwork", + "ListProviderRemoteRegions", + "https://docs.oracle.com/iaas/api/#/en/iaas/20160918/ProviderRemoteRegionName/ListProviderRemoteRegions") + .requiredParametersMap(requiredParametersMap) + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListProviderRemoteRegionsRequest::builder) + .basePath("/20160918") + .appendPathParam("fastConnectProviderServices") + .appendPathParam(request.getProviderServiceId()) + .appendPathParam("providerRemoteRegions") + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBodyList( + com.oracle.bmc.core.model.ProviderRemoteRegionName.class, + ListProviderRemoteRegionsResponse.Builder::items) + .handleResponseHeaderString( + "opc-next-page", ListProviderRemoteRegionsResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-request-id", ListProviderRemoteRegionsResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future listPublicIpPools( ListPublicIpPoolsRequest request, diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java index c5aa2918296..98af79529df 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkClient.java @@ -6730,6 +6730,43 @@ public ListPrivateIpsResponse listPrivateIps(ListPrivateIpsRequest request) { .callSync(); } + @Override + public ListProviderRemoteRegionsResponse listProviderRemoteRegions( + ListProviderRemoteRegionsRequest request) { + + Validate.notBlank(request.getProviderServiceId(), "providerServiceId must not be blank"); + + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + requiredParametersMap.put("providerServiceId", request.getProviderServiceId()); + + return clientCall(request, ListProviderRemoteRegionsResponse::builder) + .logger(LOG, "listProviderRemoteRegions") + .serviceDetails( + "VirtualNetwork", + "ListProviderRemoteRegions", + "https://docs.oracle.com/iaas/api/#/en/iaas/20160918/ProviderRemoteRegionName/ListProviderRemoteRegions") + .requiredParametersMap(requiredParametersMap) + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListProviderRemoteRegionsRequest::builder) + .basePath("/20160918") + .appendPathParam("fastConnectProviderServices") + .appendPathParam(request.getProviderServiceId()) + .appendPathParam("providerRemoteRegions") + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBodyList( + com.oracle.bmc.core.model.ProviderRemoteRegionName.class, + ListProviderRemoteRegionsResponse.Builder::items) + .handleResponseHeaderString( + "opc-next-page", ListProviderRemoteRegionsResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-request-id", ListProviderRemoteRegionsResponse.Builder::opcRequestId) + .callSync(); + } + @Override public ListPublicIpPoolsResponse listPublicIpPools(ListPublicIpPoolsRequest request) { Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkPaginators.java b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkPaginators.java index 138a7a9455d..fbdb7cc8fe4 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkPaginators.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/VirtualNetworkPaginators.java @@ -3908,6 +3908,129 @@ public java.util.List apply( }); } + /** + * Creates a new iterable which will iterate over the responses received from the + * listProviderRemoteRegions operation. This iterable will fetch more data from the server as + * needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses + * received from the service. + */ + public Iterable listProviderRemoteRegionsResponseIterator( + final ListProviderRemoteRegionsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListProviderRemoteRegionsRequest.Builder, + ListProviderRemoteRegionsRequest, + ListProviderRemoteRegionsResponse>( + new java.util.function.Supplier() { + @Override + public ListProviderRemoteRegionsRequest.Builder get() { + return ListProviderRemoteRegionsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListProviderRemoteRegionsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListProviderRemoteRegionsRequest.Builder>, + ListProviderRemoteRegionsRequest>() { + @Override + public ListProviderRemoteRegionsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListProviderRemoteRegionsRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListProviderRemoteRegionsRequest, ListProviderRemoteRegionsResponse>() { + @Override + public ListProviderRemoteRegionsResponse apply( + ListProviderRemoteRegionsRequest request) { + return client.listProviderRemoteRegions(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.core.model.ProviderRemoteRegionName} objects contained in responses from the + * listProviderRemoteRegions operation. This iterable will fetch more data from the server as + * needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link + * com.oracle.bmc.core.model.ProviderRemoteRegionName} objects contained in responses + * received from the service. + */ + public Iterable + listProviderRemoteRegionsRecordIterator( + final ListProviderRemoteRegionsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListProviderRemoteRegionsRequest.Builder, + ListProviderRemoteRegionsRequest, + ListProviderRemoteRegionsResponse, + com.oracle.bmc.core.model.ProviderRemoteRegionName>( + new java.util.function.Supplier() { + @Override + public ListProviderRemoteRegionsRequest.Builder get() { + return ListProviderRemoteRegionsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListProviderRemoteRegionsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListProviderRemoteRegionsRequest.Builder>, + ListProviderRemoteRegionsRequest>() { + @Override + public ListProviderRemoteRegionsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListProviderRemoteRegionsRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListProviderRemoteRegionsRequest, ListProviderRemoteRegionsResponse>() { + @Override + public ListProviderRemoteRegionsResponse apply( + ListProviderRemoteRegionsRequest request) { + return client.listProviderRemoteRegions(request); + } + }, + new java.util.function.Function< + ListProviderRemoteRegionsResponse, + java.util.List>() { + @Override + public java.util.List apply( + ListProviderRemoteRegionsResponse response) { + return response.getItems(); + } + }); + } + /** * Creates a new iterable which will iterate over the responses received from the * listPublicIpPools operation. This iterable will fetch more data from the server as needed. diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolumeBackup.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolumeBackup.java index 52a1b1a9580..5f289bcb0e2 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolumeBackup.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/BootVolumeBackup.java @@ -49,7 +49,13 @@ public final class BootVolumeBackup "timeCreated", "timeRequestReceived", "type", - "uniqueSizeInGBs" + "uniqueSizeInGBs", + "timeRetentionExpiresAt", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled", + "isIndefiniteRetentionEnabled", + "volumeGroupBackupId" }) public BootVolumeBackup( String bootVolumeId, @@ -69,7 +75,13 @@ public BootVolumeBackup( java.util.Date timeCreated, java.util.Date timeRequestReceived, Type type, - Long uniqueSizeInGBs) { + Long uniqueSizeInGBs, + java.util.Date timeRetentionExpiresAt, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled, + Boolean isIndefiniteRetentionEnabled, + String volumeGroupBackupId) { super(); this.bootVolumeId = bootVolumeId; this.compartmentId = compartmentId; @@ -89,6 +101,12 @@ public BootVolumeBackup( this.timeRequestReceived = timeRequestReceived; this.type = type; this.uniqueSizeInGBs = uniqueSizeInGBs; + this.timeRetentionExpiresAt = timeRetentionExpiresAt; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.volumeGroupBackupId = volumeGroupBackupId; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -424,6 +442,124 @@ public Builder uniqueSizeInGBs(Long uniqueSizeInGBs) { this.__explicitlySet__.add("uniqueSizeInGBs"); return this; } + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. + * This is an optional field. If it is not specified, it is set to null, no retention period + * will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt") + private java.util.Date timeRetentionExpiresAt; + + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. + * This is an optional field. If it is not specified, it is set to null, no retention period + * will be applied to the backups. + * + * @param timeRetentionExpiresAt the value to set + * @return this builder + */ + public Builder timeRetentionExpiresAt(java.util.Date timeRetentionExpiresAt) { + this.timeRetentionExpiresAt = timeRetentionExpiresAt; + this.__explicitlySet__.add("timeRetentionExpiresAt"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + * + * @param isIndefiniteRetentionEnabled the value to set + * @return this builder + */ + public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) { + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.__explicitlySet__.add("isIndefiniteRetentionEnabled"); + return this; + } + /** + * The OCID of the volume group backup associated with the backup. This is an optional + * field. If it is not present in the response, the backup does not belong to a volume + * group. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId") + private String volumeGroupBackupId; + + /** + * The OCID of the volume group backup associated with the backup. This is an optional + * field. If it is not present in the response, the backup does not belong to a volume + * group. + * + * @param volumeGroupBackupId the value to set + * @return this builder + */ + public Builder volumeGroupBackupId(String volumeGroupBackupId) { + this.volumeGroupBackupId = volumeGroupBackupId; + this.__explicitlySet__.add("volumeGroupBackupId"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -448,7 +584,13 @@ public BootVolumeBackup build() { this.timeCreated, this.timeRequestReceived, this.type, - this.uniqueSizeInGBs); + this.uniqueSizeInGBs, + this.timeRetentionExpiresAt, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled, + this.isIndefiniteRetentionEnabled, + this.volumeGroupBackupId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -511,6 +653,24 @@ public Builder copy(BootVolumeBackup model) { if (model.wasPropertyExplicitlySet("uniqueSizeInGBs")) { this.uniqueSizeInGBs(model.getUniqueSizeInGBs()); } + if (model.wasPropertyExplicitlySet("timeRetentionExpiresAt")) { + this.timeRetentionExpiresAt(model.getTimeRetentionExpiresAt()); + } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } + if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) { + this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled()); + } + if (model.wasPropertyExplicitlySet("volumeGroupBackupId")) { + this.volumeGroupBackupId(model.getVolumeGroupBackupId()); + } return this; } } @@ -958,6 +1118,110 @@ public Long getUniqueSizeInGBs() { return uniqueSizeInGBs; } + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. This is + * an optional field. If it is not specified, it is set to null, no retention period will be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt") + private final java.util.Date timeRetentionExpiresAt; + + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. This is + * an optional field. If it is not specified, it is set to null, no retention period will be + * applied to the backups. + * + * @return the value + */ + public java.util.Date getTimeRetentionExpiresAt() { + return timeRetentionExpiresAt; + } + + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private final Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + * + * @return the value + */ + public Boolean getIsIndefiniteRetentionEnabled() { + return isIndefiniteRetentionEnabled; + } + + /** + * The OCID of the volume group backup associated with the backup. This is an optional field. If + * it is not present in the response, the backup does not belong to a volume group. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId") + private final String volumeGroupBackupId; + + /** + * The OCID of the volume group backup associated with the backup. This is an optional field. If + * it is not present in the response, the backup does not belong to a volume group. + * + * @return the value + */ + public String getVolumeGroupBackupId() { + return volumeGroupBackupId; + } + @Override public String toString() { return this.toString(true); @@ -992,6 +1256,14 @@ public String toString(boolean includeByteArrayContents) { sb.append(", timeRequestReceived=").append(String.valueOf(this.timeRequestReceived)); sb.append(", type=").append(String.valueOf(this.type)); sb.append(", uniqueSizeInGBs=").append(String.valueOf(this.uniqueSizeInGBs)); + sb.append(", timeRetentionExpiresAt=").append(String.valueOf(this.timeRetentionExpiresAt)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); + sb.append(", isIndefiniteRetentionEnabled=") + .append(String.valueOf(this.isIndefiniteRetentionEnabled)); + sb.append(", volumeGroupBackupId=").append(String.valueOf(this.volumeGroupBackupId)); sb.append(")"); return sb.toString(); } @@ -1025,6 +1297,16 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.timeRequestReceived, other.timeRequestReceived) && java.util.Objects.equals(this.type, other.type) && java.util.Objects.equals(this.uniqueSizeInGBs, other.uniqueSizeInGBs) + && java.util.Objects.equals( + this.timeRetentionExpiresAt, other.timeRetentionExpiresAt) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) + && java.util.Objects.equals( + this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled) + && java.util.Objects.equals(this.volumeGroupBackupId, other.volumeGroupBackupId) && super.equals(other); } @@ -1066,6 +1348,34 @@ public int hashCode() { result = (result * PRIME) + (this.uniqueSizeInGBs == null ? 43 : this.uniqueSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.timeRetentionExpiresAt == null + ? 43 + : this.timeRetentionExpiresAt.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); + result = + (result * PRIME) + + (this.isIndefiniteRetentionEnabled == null + ? 43 + : this.isIndefiniteRetentionEnabled.hashCode()); + result = + (result * PRIME) + + (this.volumeGroupBackupId == null + ? 43 + : this.volumeGroupBackupId.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateBootVolumeBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateBootVolumeBackupDetails.java index fcde0c4a1f2..b0c885b2487 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateBootVolumeBackupDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateBootVolumeBackupDetails.java @@ -29,7 +29,11 @@ public final class CreateBootVolumeBackupDetails "displayName", "freeformTags", "type", - "kmsKeyId" + "kmsKeyId", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled", + "isIndefiniteRetentionEnabled" }) public CreateBootVolumeBackupDetails( String bootVolumeId, @@ -37,7 +41,11 @@ public CreateBootVolumeBackupDetails( String displayName, java.util.Map freeformTags, Type type, - String kmsKeyId) { + String kmsKeyId, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled, + Boolean isIndefiniteRetentionEnabled) { super(); this.bootVolumeId = bootVolumeId; this.definedTags = definedTags; @@ -45,6 +53,10 @@ public CreateBootVolumeBackupDetails( this.freeformTags = freeformTags; this.type = type; this.kmsKeyId = kmsKeyId; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -175,6 +187,82 @@ public Builder kmsKeyId(String kmsKeyId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + * + * @param isIndefiniteRetentionEnabled the value to set + * @return this builder + */ + public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) { + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.__explicitlySet__.add("isIndefiniteRetentionEnabled"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -186,7 +274,11 @@ public CreateBootVolumeBackupDetails build() { this.displayName, this.freeformTags, this.type, - this.kmsKeyId); + this.kmsKeyId, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled, + this.isIndefiniteRetentionEnabled); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -213,6 +305,18 @@ public Builder copy(CreateBootVolumeBackupDetails model) { if (model.wasPropertyExplicitlySet("kmsKeyId")) { this.kmsKeyId(model.getKmsKeyId()); } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } + if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) { + this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled()); + } return this; } } @@ -369,6 +473,74 @@ public String getKmsKeyId() { return kmsKeyId; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private final Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + * + * @return the value + */ + public Boolean getIsIndefiniteRetentionEnabled() { + return isIndefiniteRetentionEnabled; + } + @Override public String toString() { return this.toString(true); @@ -390,6 +562,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", type=").append(String.valueOf(this.type)); sb.append(", kmsKeyId=").append(String.valueOf(this.kmsKeyId)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); + sb.append(", isIndefiniteRetentionEnabled=") + .append(String.valueOf(this.isIndefiniteRetentionEnabled)); sb.append(")"); return sb.toString(); } @@ -410,6 +588,13 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.type, other.type) && java.util.Objects.equals(this.kmsKeyId, other.kmsKeyId) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) + && java.util.Objects.equals( + this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled) && super.equals(other); } @@ -423,6 +608,24 @@ public int hashCode() { result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode()); result = (result * PRIME) + (this.kmsKeyId == null ? 43 : this.kmsKeyId.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); + result = + (result * PRIME) + + (this.isIndefiniteRetentionEnabled == null + ? 43 + : this.isIndefiniteRetentionEnabled.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDedicatedVmHostDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDedicatedVmHostDetails.java index c5812b39385..2d4360b4078 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDedicatedVmHostDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateDedicatedVmHostDetails.java @@ -33,7 +33,8 @@ public final class CreateDedicatedVmHostDetails "freeformTags", "placementConstraintDetails", "capacityConfig", - "isMemoryEncryptionEnabled" + "isMemoryEncryptionEnabled", + "isBurstable" }) public CreateDedicatedVmHostDetails( String availabilityDomain, @@ -45,7 +46,8 @@ public CreateDedicatedVmHostDetails( java.util.Map freeformTags, PlacementConstraintDetails placementConstraintDetails, String capacityConfig, - Boolean isMemoryEncryptionEnabled) { + Boolean isMemoryEncryptionEnabled, + Boolean isBurstable) { super(); this.availabilityDomain = availabilityDomain; this.compartmentId = compartmentId; @@ -57,6 +59,7 @@ public CreateDedicatedVmHostDetails( this.placementConstraintDetails = placementConstraintDetails; this.capacityConfig = capacityConfig; this.isMemoryEncryptionEnabled = isMemoryEncryptionEnabled; + this.isBurstable = isBurstable; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -279,6 +282,27 @@ public Builder isMemoryEncryptionEnabled(Boolean isMemoryEncryptionEnabled) { this.__explicitlySet__.add("isMemoryEncryptionEnabled"); return this; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is restricted to running only + * Burstable VMs. If {@code true}, only Burstable VMs can be launched. If {@code false}, + * Burstable VMs cannot be launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstable") + private Boolean isBurstable; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is restricted to running only + * Burstable VMs. If {@code true}, only Burstable VMs can be launched. If {@code false}, + * Burstable VMs cannot be launched. + * + * @param isBurstable the value to set + * @return this builder + */ + public Builder isBurstable(Boolean isBurstable) { + this.isBurstable = isBurstable; + this.__explicitlySet__.add("isBurstable"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -295,7 +319,8 @@ public CreateDedicatedVmHostDetails build() { this.freeformTags, this.placementConstraintDetails, this.capacityConfig, - this.isMemoryEncryptionEnabled); + this.isMemoryEncryptionEnabled, + this.isBurstable); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -334,6 +359,9 @@ public Builder copy(CreateDedicatedVmHostDetails model) { if (model.wasPropertyExplicitlySet("isMemoryEncryptionEnabled")) { this.isMemoryEncryptionEnabled(model.getIsMemoryEncryptionEnabled()); } + if (model.wasPropertyExplicitlySet("isBurstable")) { + this.isBurstable(model.getIsBurstable()); + } return this; } } @@ -541,6 +569,25 @@ public Boolean getIsMemoryEncryptionEnabled() { return isMemoryEncryptionEnabled; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is restricted to running only + * Burstable VMs. If {@code true}, only Burstable VMs can be launched. If {@code false}, + * Burstable VMs cannot be launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstable") + private final Boolean isBurstable; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is restricted to running only + * Burstable VMs. If {@code true}, only Burstable VMs can be launched. If {@code false}, + * Burstable VMs cannot be launched. + * + * @return the value + */ + public Boolean getIsBurstable() { + return isBurstable; + } + @Override public String toString() { return this.toString(true); @@ -568,6 +615,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", capacityConfig=").append(String.valueOf(this.capacityConfig)); sb.append(", isMemoryEncryptionEnabled=") .append(String.valueOf(this.isMemoryEncryptionEnabled)); + sb.append(", isBurstable=").append(String.valueOf(this.isBurstable)); sb.append(")"); return sb.toString(); } @@ -594,6 +642,7 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.capacityConfig, other.capacityConfig) && java.util.Objects.equals( this.isMemoryEncryptionEnabled, other.isMemoryEncryptionEnabled) + && java.util.Objects.equals(this.isBurstable, other.isBurstable) && super.equals(other); } @@ -631,6 +680,7 @@ public int hashCode() { + (this.isMemoryEncryptionEnabled == null ? 43 : this.isMemoryEncryptionEnabled.hashCode()); + result = (result * PRIME) + (this.isBurstable == null ? 43 : this.isBurstable.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVirtualCircuitDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVirtualCircuitDetails.java index 1353b426be2..d025b1ea679 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVirtualCircuitDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVirtualCircuitDetails.java @@ -45,6 +45,8 @@ public final class CreateVirtualCircuitDetails "region", "type", "ipMtu", + "providerRemoteRegion", + "remoteAccountId", "trafficMode" }) public CreateVirtualCircuitDetails( @@ -69,6 +71,8 @@ public CreateVirtualCircuitDetails( String region, Type type, VirtualCircuitIpMtu ipMtu, + String providerRemoteRegion, + String remoteAccountId, TrafficMode trafficMode) { super(); this.bandwidthShapeName = bandwidthShapeName; @@ -92,6 +96,8 @@ public CreateVirtualCircuitDetails( this.region = region; this.type = type; this.ipMtu = ipMtu; + this.providerRemoteRegion = providerRemoteRegion; + this.remoteAccountId = remoteAccountId; this.trafficMode = trafficMode; } @@ -543,6 +549,42 @@ public Builder ipMtu(VirtualCircuitIpMtu ipMtu) { this.__explicitlySet__.add("ipMtu"); return this; } + /** + * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the + * OCI region. To get the list of associated provider remote region use the + * ListProviderRemoteRegions operation + */ + @com.fasterxml.jackson.annotation.JsonProperty("providerRemoteRegion") + private String providerRemoteRegion; + + /** + * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the + * OCI region. To get the list of associated provider remote region use the + * ListProviderRemoteRegions operation + * + * @param providerRemoteRegion the value to set + * @return this builder + */ + public Builder providerRemoteRegion(String providerRemoteRegion) { + this.providerRemoteRegion = providerRemoteRegion; + this.__explicitlySet__.add("providerRemoteRegion"); + return this; + } + /** Customer's account on Provider/Partner cloud (AWS, GCP or any other) */ + @com.fasterxml.jackson.annotation.JsonProperty("remoteAccountId") + private String remoteAccountId; + + /** + * Customer's account on Provider/Partner cloud (AWS, GCP or any other) + * + * @param remoteAccountId the value to set + * @return this builder + */ + public Builder remoteAccountId(String remoteAccountId) { + this.remoteAccountId = remoteAccountId; + this.__explicitlySet__.add("remoteAccountId"); + return this; + } /** * The traffic mode to be set with this Virtual Circuit. This controls whether the traffic * is to be drained for the associated Virtual Circuit or not. @@ -590,6 +632,8 @@ public CreateVirtualCircuitDetails build() { this.region, this.type, this.ipMtu, + this.providerRemoteRegion, + this.remoteAccountId, this.trafficMode); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); @@ -662,6 +706,12 @@ public Builder copy(CreateVirtualCircuitDetails model) { if (model.wasPropertyExplicitlySet("ipMtu")) { this.ipMtu(model.getIpMtu()); } + if (model.wasPropertyExplicitlySet("providerRemoteRegion")) { + this.providerRemoteRegion(model.getProviderRemoteRegion()); + } + if (model.wasPropertyExplicitlySet("remoteAccountId")) { + this.remoteAccountId(model.getRemoteAccountId()); + } if (model.wasPropertyExplicitlySet("trafficMode")) { this.trafficMode(model.getTrafficMode()); } @@ -1184,6 +1234,38 @@ public VirtualCircuitIpMtu getIpMtu() { return ipMtu; } + /** + * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the OCI + * region. To get the list of associated provider remote region use the + * ListProviderRemoteRegions operation + */ + @com.fasterxml.jackson.annotation.JsonProperty("providerRemoteRegion") + private final String providerRemoteRegion; + + /** + * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the OCI + * region. To get the list of associated provider remote region use the + * ListProviderRemoteRegions operation + * + * @return the value + */ + public String getProviderRemoteRegion() { + return providerRemoteRegion; + } + + /** Customer's account on Provider/Partner cloud (AWS, GCP or any other) */ + @com.fasterxml.jackson.annotation.JsonProperty("remoteAccountId") + private final String remoteAccountId; + + /** + * Customer's account on Provider/Partner cloud (AWS, GCP or any other) + * + * @return the value + */ + public String getRemoteAccountId() { + return remoteAccountId; + } + /** * The traffic mode to be set with this Virtual Circuit. This controls whether the traffic is to * be drained for the associated Virtual Circuit or not. @@ -1273,6 +1355,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", region=").append(String.valueOf(this.region)); sb.append(", type=").append(String.valueOf(this.type)); sb.append(", ipMtu=").append(String.valueOf(this.ipMtu)); + sb.append(", providerRemoteRegion=").append(String.valueOf(this.providerRemoteRegion)); + sb.append(", remoteAccountId=").append(String.valueOf(this.remoteAccountId)); sb.append(", trafficMode=").append(String.valueOf(this.trafficMode)); sb.append(")"); return sb.toString(); @@ -1310,6 +1394,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.region, other.region) && java.util.Objects.equals(this.type, other.type) && java.util.Objects.equals(this.ipMtu, other.ipMtu) + && java.util.Objects.equals(this.providerRemoteRegion, other.providerRemoteRegion) + && java.util.Objects.equals(this.remoteAccountId, other.remoteAccountId) && java.util.Objects.equals(this.trafficMode, other.trafficMode) && super.equals(other); } @@ -1369,6 +1455,14 @@ public int hashCode() { result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode()); result = (result * PRIME) + (this.ipMtu == null ? 43 : this.ipMtu.hashCode()); + result = + (result * PRIME) + + (this.providerRemoteRegion == null + ? 43 + : this.providerRemoteRegion.hashCode()); + result = + (result * PRIME) + + (this.remoteAccountId == null ? 43 : this.remoteAccountId.hashCode()); result = (result * PRIME) + (this.trafficMode == null ? 43 : this.trafficMode.hashCode()); result = (result * PRIME) + super.hashCode(); return result; diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeBackupDetails.java index 64a26d5b490..915166b8b38 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeBackupDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeBackupDetails.java @@ -29,7 +29,11 @@ public final class CreateVolumeBackupDetails "displayName", "freeformTags", "type", - "volumeId" + "volumeId", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled", + "isIndefiniteRetentionEnabled" }) public CreateVolumeBackupDetails( String kmsKeyId, @@ -37,7 +41,11 @@ public CreateVolumeBackupDetails( String displayName, java.util.Map freeformTags, Type type, - String volumeId) { + String volumeId, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled, + Boolean isIndefiniteRetentionEnabled) { super(); this.kmsKeyId = kmsKeyId; this.definedTags = definedTags; @@ -45,6 +53,10 @@ public CreateVolumeBackupDetails( this.freeformTags = freeformTags; this.type = type; this.volumeId = volumeId; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -175,6 +187,82 @@ public Builder volumeId(String volumeId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + * + * @param isIndefiniteRetentionEnabled the value to set + * @return this builder + */ + public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) { + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.__explicitlySet__.add("isIndefiniteRetentionEnabled"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -186,7 +274,11 @@ public CreateVolumeBackupDetails build() { this.displayName, this.freeformTags, this.type, - this.volumeId); + this.volumeId, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled, + this.isIndefiniteRetentionEnabled); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -213,6 +305,18 @@ public Builder copy(CreateVolumeBackupDetails model) { if (model.wasPropertyExplicitlySet("volumeId")) { this.volumeId(model.getVolumeId()); } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } + if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) { + this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled()); + } return this; } } @@ -369,6 +473,74 @@ public String getVolumeId() { return volumeId; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private final Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + * + * @return the value + */ + public Boolean getIsIndefiniteRetentionEnabled() { + return isIndefiniteRetentionEnabled; + } + @Override public String toString() { return this.toString(true); @@ -390,6 +562,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", type=").append(String.valueOf(this.type)); sb.append(", volumeId=").append(String.valueOf(this.volumeId)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); + sb.append(", isIndefiniteRetentionEnabled=") + .append(String.valueOf(this.isIndefiniteRetentionEnabled)); sb.append(")"); return sb.toString(); } @@ -410,6 +588,13 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.type, other.type) && java.util.Objects.equals(this.volumeId, other.volumeId) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) + && java.util.Objects.equals( + this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled) && super.equals(other); } @@ -423,6 +608,24 @@ public int hashCode() { result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode()); result = (result * PRIME) + (this.volumeId == null ? 43 : this.volumeId.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); + result = + (result * PRIME) + + (this.isIndefiniteRetentionEnabled == null + ? 43 + : this.isIndefiniteRetentionEnabled.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java index cd69df301b5..4658b9c464d 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/CreateVolumeGroupBackupDetails.java @@ -29,7 +29,11 @@ public final class CreateVolumeGroupBackupDetails "displayName", "freeformTags", "type", - "volumeGroupId" + "volumeGroupId", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled", + "isIndefiniteRetentionEnabled" }) public CreateVolumeGroupBackupDetails( String compartmentId, @@ -37,7 +41,11 @@ public CreateVolumeGroupBackupDetails( String displayName, java.util.Map freeformTags, Type type, - String volumeGroupId) { + String volumeGroupId, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled, + Boolean isIndefiniteRetentionEnabled) { super(); this.compartmentId = compartmentId; this.definedTags = definedTags; @@ -45,6 +53,10 @@ public CreateVolumeGroupBackupDetails( this.freeformTags = freeformTags; this.type = type; this.volumeGroupId = volumeGroupId; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -171,6 +183,82 @@ public Builder volumeGroupId(String volumeGroupId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + * + * @param isIndefiniteRetentionEnabled the value to set + * @return this builder + */ + public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) { + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.__explicitlySet__.add("isIndefiniteRetentionEnabled"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -182,7 +270,11 @@ public CreateVolumeGroupBackupDetails build() { this.displayName, this.freeformTags, this.type, - this.volumeGroupId); + this.volumeGroupId, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled, + this.isIndefiniteRetentionEnabled); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -209,6 +301,18 @@ public Builder copy(CreateVolumeGroupBackupDetails model) { if (model.wasPropertyExplicitlySet("volumeGroupId")) { this.volumeGroupId(model.getVolumeGroupId()); } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } + if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) { + this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled()); + } return this; } } @@ -361,6 +465,74 @@ public String getVolumeGroupId() { return volumeGroupId; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private final Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + * + * @return the value + */ + public Boolean getIsIndefiniteRetentionEnabled() { + return isIndefiniteRetentionEnabled; + } + @Override public String toString() { return this.toString(true); @@ -382,6 +554,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", type=").append(String.valueOf(this.type)); sb.append(", volumeGroupId=").append(String.valueOf(this.volumeGroupId)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); + sb.append(", isIndefiniteRetentionEnabled=") + .append(String.valueOf(this.isIndefiniteRetentionEnabled)); sb.append(")"); return sb.toString(); } @@ -402,6 +580,13 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.type, other.type) && java.util.Objects.equals(this.volumeGroupId, other.volumeGroupId) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) + && java.util.Objects.equals( + this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled) && super.equals(other); } @@ -419,6 +604,24 @@ public int hashCode() { result = (result * PRIME) + (this.volumeGroupId == null ? 43 : this.volumeGroupId.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); + result = + (result * PRIME) + + (this.isIndefiniteRetentionEnabled == null + ? 43 + : this.isIndefiniteRetentionEnabled.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHost.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHost.java index 77493e283a0..c773f68b6f3 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHost.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHost.java @@ -35,6 +35,7 @@ public final class DedicatedVmHost "id", "capacityConfig", "isMemoryEncryptionEnabled", + "isBurstable", "lifecycleState", "timeCreated", "totalOcpus", @@ -58,6 +59,7 @@ public DedicatedVmHost( String id, String capacityConfig, Boolean isMemoryEncryptionEnabled, + Boolean isBurstable, LifecycleState lifecycleState, java.util.Date timeCreated, Float totalOcpus, @@ -80,6 +82,7 @@ public DedicatedVmHost( this.id = id; this.capacityConfig = capacityConfig; this.isMemoryEncryptionEnabled = isMemoryEncryptionEnabled; + this.isBurstable = isBurstable; this.lifecycleState = lifecycleState; this.timeCreated = timeCreated; this.totalOcpus = totalOcpus; @@ -331,6 +334,27 @@ public Builder isMemoryEncryptionEnabled(Boolean isMemoryEncryptionEnabled) { this.__explicitlySet__.add("isMemoryEncryptionEnabled"); return this; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. + * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs + * cannot be launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstable") + private Boolean isBurstable; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. + * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs + * cannot be launched. + * + * @param isBurstable the value to set + * @return this builder + */ + public Builder isBurstable(Boolean isBurstable) { + this.isBurstable = isBurstable; + this.__explicitlySet__.add("isBurstable"); + return this; + } /** The current state of the dedicated VM host. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private LifecycleState lifecycleState; @@ -507,6 +531,7 @@ public DedicatedVmHost build() { this.id, this.capacityConfig, this.isMemoryEncryptionEnabled, + this.isBurstable, this.lifecycleState, this.timeCreated, this.totalOcpus, @@ -558,6 +583,9 @@ public Builder copy(DedicatedVmHost model) { if (model.wasPropertyExplicitlySet("isMemoryEncryptionEnabled")) { this.isMemoryEncryptionEnabled(model.getIsMemoryEncryptionEnabled()); } + if (model.wasPropertyExplicitlySet("isBurstable")) { + this.isBurstable(model.getIsBurstable()); + } if (model.wasPropertyExplicitlySet("lifecycleState")) { this.lifecycleState(model.getLifecycleState()); } @@ -814,6 +842,25 @@ public Boolean getIsMemoryEncryptionEnabled() { return isMemoryEncryptionEnabled; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If + * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be + * launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstable") + private final Boolean isBurstable; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If + * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be + * launched. + * + * @return the value + */ + public Boolean getIsBurstable() { + return isBurstable; + } + /** The current state of the dedicated VM host. */ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { Creating("CREATING"), @@ -1030,6 +1077,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", capacityConfig=").append(String.valueOf(this.capacityConfig)); sb.append(", isMemoryEncryptionEnabled=") .append(String.valueOf(this.isMemoryEncryptionEnabled)); + sb.append(", isBurstable=").append(String.valueOf(this.isBurstable)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); sb.append(", totalOcpus=").append(String.valueOf(this.totalOcpus)); @@ -1068,6 +1116,7 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.capacityConfig, other.capacityConfig) && java.util.Objects.equals( this.isMemoryEncryptionEnabled, other.isMemoryEncryptionEnabled) + && java.util.Objects.equals(this.isBurstable, other.isBurstable) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeCreated, other.timeCreated) && java.util.Objects.equals(this.totalOcpus, other.totalOcpus) @@ -1118,6 +1167,7 @@ public int hashCode() { + (this.isMemoryEncryptionEnabled == null ? 43 : this.isMemoryEncryptionEnabled.hashCode()); + result = (result * PRIME) + (this.isBurstable == null ? 43 : this.isBurstable.hashCode()); result = (result * PRIME) + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostInstanceSummary.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostInstanceSummary.java index 7a1b3973fec..95f9386c8ab 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostInstanceSummary.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostInstanceSummary.java @@ -28,6 +28,7 @@ public final class DedicatedVmHostInstanceSummary "compartmentId", "instanceId", "isMemoryEncryptionEnabled", + "isBurstable", "shape", "timeCreated" }) @@ -36,6 +37,7 @@ public DedicatedVmHostInstanceSummary( String compartmentId, String instanceId, Boolean isMemoryEncryptionEnabled, + Boolean isBurstable, String shape, java.util.Date timeCreated) { super(); @@ -43,6 +45,7 @@ public DedicatedVmHostInstanceSummary( this.compartmentId = compartmentId; this.instanceId = instanceId; this.isMemoryEncryptionEnabled = isMemoryEncryptionEnabled; + this.isBurstable = isBurstable; this.shape = shape; this.timeCreated = timeCreated; } @@ -115,6 +118,27 @@ public Builder isMemoryEncryptionEnabled(Boolean isMemoryEncryptionEnabled) { this.__explicitlySet__.add("isMemoryEncryptionEnabled"); return this; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. + * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs + * cannot be launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstable") + private Boolean isBurstable; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. + * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs + * cannot be launched. + * + * @param isBurstable the value to set + * @return this builder + */ + public Builder isBurstable(Boolean isBurstable) { + this.isBurstable = isBurstable; + this.__explicitlySet__.add("isBurstable"); + return this; + } /** The shape of the VM instance. */ @com.fasterxml.jackson.annotation.JsonProperty("shape") private String shape; @@ -164,6 +188,7 @@ public DedicatedVmHostInstanceSummary build() { this.compartmentId, this.instanceId, this.isMemoryEncryptionEnabled, + this.isBurstable, this.shape, this.timeCreated); for (String explicitlySetProperty : this.__explicitlySet__) { @@ -186,6 +211,9 @@ public Builder copy(DedicatedVmHostInstanceSummary model) { if (model.wasPropertyExplicitlySet("isMemoryEncryptionEnabled")) { this.isMemoryEncryptionEnabled(model.getIsMemoryEncryptionEnabled()); } + if (model.wasPropertyExplicitlySet("isBurstable")) { + this.isBurstable(model.getIsBurstable()); + } if (model.wasPropertyExplicitlySet("shape")) { this.shape(model.getShape()); } @@ -263,6 +291,25 @@ public Boolean getIsMemoryEncryptionEnabled() { return isMemoryEncryptionEnabled; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If + * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be + * launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstable") + private final Boolean isBurstable; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If + * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be + * launched. + * + * @return the value + */ + public Boolean getIsBurstable() { + return isBurstable; + } + /** The shape of the VM instance. */ @com.fasterxml.jackson.annotation.JsonProperty("shape") private final String shape; @@ -317,6 +364,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", instanceId=").append(String.valueOf(this.instanceId)); sb.append(", isMemoryEncryptionEnabled=") .append(String.valueOf(this.isMemoryEncryptionEnabled)); + sb.append(", isBurstable=").append(String.valueOf(this.isBurstable)); sb.append(", shape=").append(String.valueOf(this.shape)); sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); sb.append(")"); @@ -338,6 +386,7 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.instanceId, other.instanceId) && java.util.Objects.equals( this.isMemoryEncryptionEnabled, other.isMemoryEncryptionEnabled) + && java.util.Objects.equals(this.isBurstable, other.isBurstable) && java.util.Objects.equals(this.shape, other.shape) && java.util.Objects.equals(this.timeCreated, other.timeCreated) && super.equals(other); @@ -361,6 +410,7 @@ public int hashCode() { + (this.isMemoryEncryptionEnabled == null ? 43 : this.isMemoryEncryptionEnabled.hashCode()); + result = (result * PRIME) + (this.isBurstable == null ? 43 : this.isBurstable.hashCode()); result = (result * PRIME) + (this.shape == null ? 43 : this.shape.hashCode()); result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); result = (result * PRIME) + super.hashCode(); diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostSummary.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostSummary.java index bc3bdd238aa..ec28e6c5067 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostSummary.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/DedicatedVmHostSummary.java @@ -32,6 +32,7 @@ public final class DedicatedVmHostSummary "faultDomain", "id", "isMemoryEncryptionEnabled", + "isBurstable", "lifecycleState", "timeCreated", "remainingOcpus", @@ -49,6 +50,7 @@ public DedicatedVmHostSummary( String faultDomain, String id, Boolean isMemoryEncryptionEnabled, + Boolean isBurstable, LifecycleState lifecycleState, java.util.Date timeCreated, Float remainingOcpus, @@ -65,6 +67,7 @@ public DedicatedVmHostSummary( this.faultDomain = faultDomain; this.id = id; this.isMemoryEncryptionEnabled = isMemoryEncryptionEnabled; + this.isBurstable = isBurstable; this.lifecycleState = lifecycleState; this.timeCreated = timeCreated; this.remainingOcpus = remainingOcpus; @@ -228,6 +231,27 @@ public Builder isMemoryEncryptionEnabled(Boolean isMemoryEncryptionEnabled) { this.__explicitlySet__.add("isMemoryEncryptionEnabled"); return this; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. + * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs + * cannot be launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstable") + private Boolean isBurstable; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. + * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs + * cannot be launched. + * + * @param isBurstable the value to set + * @return this builder + */ + public Builder isBurstable(Boolean isBurstable) { + this.isBurstable = isBurstable; + this.__explicitlySet__.add("isBurstable"); + return this; + } /** The current state of the dedicated VM host. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private LifecycleState lifecycleState; @@ -370,6 +394,7 @@ public DedicatedVmHostSummary build() { this.faultDomain, this.id, this.isMemoryEncryptionEnabled, + this.isBurstable, this.lifecycleState, this.timeCreated, this.remainingOcpus, @@ -407,6 +432,9 @@ public Builder copy(DedicatedVmHostSummary model) { if (model.wasPropertyExplicitlySet("isMemoryEncryptionEnabled")) { this.isMemoryEncryptionEnabled(model.getIsMemoryEncryptionEnabled()); } + if (model.wasPropertyExplicitlySet("isBurstable")) { + this.isBurstable(model.getIsBurstable()); + } if (model.wasPropertyExplicitlySet("lifecycleState")) { this.lifecycleState(model.getLifecycleState()); } @@ -581,6 +609,25 @@ public Boolean getIsMemoryEncryptionEnabled() { return isMemoryEncryptionEnabled; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If + * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be + * launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstable") + private final Boolean isBurstable; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If + * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be + * launched. + * + * @return the value + */ + public Boolean getIsBurstable() { + return isBurstable; + } + /** The current state of the dedicated VM host. */ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { Creating("CREATING"), @@ -766,6 +813,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", id=").append(String.valueOf(this.id)); sb.append(", isMemoryEncryptionEnabled=") .append(String.valueOf(this.isMemoryEncryptionEnabled)); + sb.append(", isBurstable=").append(String.valueOf(this.isBurstable)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); sb.append(", remainingOcpus=").append(String.valueOf(this.remainingOcpus)); @@ -797,6 +845,7 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals( this.isMemoryEncryptionEnabled, other.isMemoryEncryptionEnabled) + && java.util.Objects.equals(this.isBurstable, other.isBurstable) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.timeCreated, other.timeCreated) && java.util.Objects.equals(this.remainingOcpus, other.remainingOcpus) @@ -834,6 +883,7 @@ public int hashCode() { + (this.isMemoryEncryptionEnabled == null ? 43 : this.isMemoryEncryptionEnabled.hashCode()); + result = (result * PRIME) + (this.isBurstable == null ? 43 : this.isBurstable.hashCode()); result = (result * PRIME) + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/Instances.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/Instances.java new file mode 100644 index 00000000000..79b1c829e20 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/Instances.java @@ -0,0 +1,98 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.core.model; + +/** + * SPLAT authorization alias for Compute instance operations that use the downstream instances + * resource kind.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = Instances.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class Instances extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({}) + public Instances() { + super(); + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public Instances build() { + Instances model = new Instances(); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(Instances model) { + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("Instances("); + sb.append("super=").append(super.toString()); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Instances)) { + return false; + } + + Instances other = (Instances) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/ProviderRemoteRegionName.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/ProviderRemoteRegionName.java new file mode 100644 index 00000000000..9369a4742cb --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/ProviderRemoteRegionName.java @@ -0,0 +1,191 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.core.model; + +/** + * A pair of OCI region and Provider remote region names for FastConnect MultiCloud interconnect. + *
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = ProviderRemoteRegionName.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ProviderRemoteRegionName + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"ociRegionName", "providerRegionName"}) + public ProviderRemoteRegionName(String ociRegionName, String providerRegionName) { + super(); + this.ociRegionName = ociRegionName; + this.providerRegionName = providerRegionName; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The OCI region name associated with the provider remote region. Example: {@code + * us-ashburn-1}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ociRegionName") + private String ociRegionName; + + /** + * The OCI region name associated with the provider remote region. Example: {@code + * us-ashburn-1}. + * + * @param ociRegionName the value to set + * @return this builder + */ + public Builder ociRegionName(String ociRegionName) { + this.ociRegionName = ociRegionName; + this.__explicitlySet__.add("ociRegionName"); + return this; + } + /** + * The provider remote region name associated with the OCI region. Example: {@code + * us-east-1}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("providerRegionName") + private String providerRegionName; + + /** + * The provider remote region name associated with the OCI region. Example: {@code + * us-east-1}. + * + * @param providerRegionName the value to set + * @return this builder + */ + public Builder providerRegionName(String providerRegionName) { + this.providerRegionName = providerRegionName; + this.__explicitlySet__.add("providerRegionName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ProviderRemoteRegionName build() { + ProviderRemoteRegionName model = + new ProviderRemoteRegionName(this.ociRegionName, this.providerRegionName); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ProviderRemoteRegionName model) { + if (model.wasPropertyExplicitlySet("ociRegionName")) { + this.ociRegionName(model.getOciRegionName()); + } + if (model.wasPropertyExplicitlySet("providerRegionName")) { + this.providerRegionName(model.getProviderRegionName()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The OCI region name associated with the provider remote region. Example: {@code + * us-ashburn-1}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("ociRegionName") + private final String ociRegionName; + + /** + * The OCI region name associated with the provider remote region. Example: {@code + * us-ashburn-1}. + * + * @return the value + */ + public String getOciRegionName() { + return ociRegionName; + } + + /** + * The provider remote region name associated with the OCI region. Example: {@code us-east-1}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("providerRegionName") + private final String providerRegionName; + + /** + * The provider remote region name associated with the OCI region. Example: {@code us-east-1}. + * + * @return the value + */ + public String getProviderRegionName() { + return providerRegionName; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("ProviderRemoteRegionName("); + sb.append("super=").append(super.toString()); + sb.append("ociRegionName=").append(String.valueOf(this.ociRegionName)); + sb.append(", providerRegionName=").append(String.valueOf(this.providerRegionName)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ProviderRemoteRegionName)) { + return false; + } + + ProviderRemoteRegionName other = (ProviderRemoteRegionName) o; + return java.util.Objects.equals(this.ociRegionName, other.ociRegionName) + && java.util.Objects.equals(this.providerRegionName, other.providerRegionName) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.ociRegionName == null ? 43 : this.ociRegionName.hashCode()); + result = + (result * PRIME) + + (this.providerRegionName == null + ? 43 + : this.providerRegionName.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/RetentionDuration.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/RetentionDuration.java new file mode 100644 index 00000000000..9da92cad11f --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/RetentionDuration.java @@ -0,0 +1,250 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.core.model; + +/** + * This field is used to define the retention period for backups. This is an optional field. If it + * is not specified, it is set to null, no retention period will be applied to the backups.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = RetentionDuration.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class RetentionDuration + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"retentionTimeUnit", "retentionTimeAmount"}) + public RetentionDuration(RetentionTimeUnit retentionTimeUnit, Integer retentionTimeAmount) { + super(); + this.retentionTimeUnit = retentionTimeUnit; + this.retentionTimeAmount = retentionTimeAmount; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The value you can assign to the Time Unit property for this Duration may be either + * "YEARS" or "DAYS". + */ + @com.fasterxml.jackson.annotation.JsonProperty("retentionTimeUnit") + private RetentionTimeUnit retentionTimeUnit; + + /** + * The value you can assign to the Time Unit property for this Duration may be either + * "YEARS" or "DAYS". + * + * @param retentionTimeUnit the value to set + * @return this builder + */ + public Builder retentionTimeUnit(RetentionTimeUnit retentionTimeUnit) { + this.retentionTimeUnit = retentionTimeUnit; + this.__explicitlySet__.add("retentionTimeUnit"); + return this; + } + /** + * The value to enter for the amount of retention time should be a numerical figure (such as + * 1, 7, 30, etc.) that corresponds to the period specified in the retention time unit + * property (such as YEARS, DAYS). The combination of these two properties determines the + * total length of the retention period. + */ + @com.fasterxml.jackson.annotation.JsonProperty("retentionTimeAmount") + private Integer retentionTimeAmount; + + /** + * The value to enter for the amount of retention time should be a numerical figure (such as + * 1, 7, 30, etc.) that corresponds to the period specified in the retention time unit + * property (such as YEARS, DAYS). The combination of these two properties determines the + * total length of the retention period. + * + * @param retentionTimeAmount the value to set + * @return this builder + */ + public Builder retentionTimeAmount(Integer retentionTimeAmount) { + this.retentionTimeAmount = retentionTimeAmount; + this.__explicitlySet__.add("retentionTimeAmount"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public RetentionDuration build() { + RetentionDuration model = + new RetentionDuration(this.retentionTimeUnit, this.retentionTimeAmount); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(RetentionDuration model) { + if (model.wasPropertyExplicitlySet("retentionTimeUnit")) { + this.retentionTimeUnit(model.getRetentionTimeUnit()); + } + if (model.wasPropertyExplicitlySet("retentionTimeAmount")) { + this.retentionTimeAmount(model.getRetentionTimeAmount()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The value you can assign to the Time Unit property for this Duration may be either "YEARS" or + * "DAYS". + */ + public enum RetentionTimeUnit implements com.oracle.bmc.http.internal.BmcEnum { + Years("YEARS"), + Days("DAYS"), + + /** + * This value is used if a service returns a value for this enum that is not recognized by + * this version of the SDK. + */ + UnknownEnumValue(null); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(RetentionTimeUnit.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (RetentionTimeUnit v : RetentionTimeUnit.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + RetentionTimeUnit(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static RetentionTimeUnit create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'RetentionTimeUnit', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The value you can assign to the Time Unit property for this Duration may be either "YEARS" or + * "DAYS". + */ + @com.fasterxml.jackson.annotation.JsonProperty("retentionTimeUnit") + private final RetentionTimeUnit retentionTimeUnit; + + /** + * The value you can assign to the Time Unit property for this Duration may be either "YEARS" or + * "DAYS". + * + * @return the value + */ + public RetentionTimeUnit getRetentionTimeUnit() { + return retentionTimeUnit; + } + + /** + * The value to enter for the amount of retention time should be a numerical figure (such as 1, + * 7, 30, etc.) that corresponds to the period specified in the retention time unit property + * (such as YEARS, DAYS). The combination of these two properties determines the total length of + * the retention period. + */ + @com.fasterxml.jackson.annotation.JsonProperty("retentionTimeAmount") + private final Integer retentionTimeAmount; + + /** + * The value to enter for the amount of retention time should be a numerical figure (such as 1, + * 7, 30, etc.) that corresponds to the period specified in the retention time unit property + * (such as YEARS, DAYS). The combination of these two properties determines the total length of + * the retention period. + * + * @return the value + */ + public Integer getRetentionTimeAmount() { + return retentionTimeAmount; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("RetentionDuration("); + sb.append("super=").append(super.toString()); + sb.append("retentionTimeUnit=").append(String.valueOf(this.retentionTimeUnit)); + sb.append(", retentionTimeAmount=").append(String.valueOf(this.retentionTimeAmount)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof RetentionDuration)) { + return false; + } + + RetentionDuration other = (RetentionDuration) o; + return java.util.Objects.equals(this.retentionTimeUnit, other.retentionTimeUnit) + && java.util.Objects.equals(this.retentionTimeAmount, other.retentionTimeAmount) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.retentionTimeUnit == null ? 43 : this.retentionTimeUnit.hashCode()); + result = + (result * PRIME) + + (this.retentionTimeAmount == null + ? 43 + : this.retentionTimeAmount.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/SupportedCapabilities.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/SupportedCapabilities.java index 6aaa12d6f08..b3226f8dfa1 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/SupportedCapabilities.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/SupportedCapabilities.java @@ -24,10 +24,12 @@ public final class SupportedCapabilities extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"isMemoryEncryptionSupported"}) - public SupportedCapabilities(Boolean isMemoryEncryptionSupported) { + @java.beans.ConstructorProperties({"isMemoryEncryptionSupported", "isBurstableSupported"}) + public SupportedCapabilities( + Boolean isMemoryEncryptionSupported, Boolean isBurstableSupported) { super(); this.isMemoryEncryptionSupported = isMemoryEncryptionSupported; + this.isBurstableSupported = isBurstableSupported; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -51,13 +53,35 @@ public Builder isMemoryEncryptionSupported(Boolean isMemoryEncryptionSupported) this.__explicitlySet__.add("isMemoryEncryptionSupported"); return this; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. + * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs + * cannot be launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstableSupported") + private Boolean isBurstableSupported; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. + * If {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs + * cannot be launched. + * + * @param isBurstableSupported the value to set + * @return this builder + */ + public Builder isBurstableSupported(Boolean isBurstableSupported) { + this.isBurstableSupported = isBurstableSupported; + this.__explicitlySet__.add("isBurstableSupported"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public SupportedCapabilities build() { SupportedCapabilities model = - new SupportedCapabilities(this.isMemoryEncryptionSupported); + new SupportedCapabilities( + this.isMemoryEncryptionSupported, this.isBurstableSupported); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -69,6 +93,9 @@ public Builder copy(SupportedCapabilities model) { if (model.wasPropertyExplicitlySet("isMemoryEncryptionSupported")) { this.isMemoryEncryptionSupported(model.getIsMemoryEncryptionSupported()); } + if (model.wasPropertyExplicitlySet("isBurstableSupported")) { + this.isBurstableSupported(model.getIsBurstableSupported()); + } return this; } } @@ -99,6 +126,25 @@ public Boolean getIsMemoryEncryptionSupported() { return isMemoryEncryptionSupported; } + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If + * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be + * launched. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isBurstableSupported") + private final Boolean isBurstableSupported; + + /** + * Specifies if the Dedicated Virtual Machine Host (DVMH) is to running only Burstable VMs. If + * {@code true}, only Burstable VMs can be launched. If {@code false}, Burstable VMs cannot be + * launched. + * + * @return the value + */ + public Boolean getIsBurstableSupported() { + return isBurstableSupported; + } + @Override public String toString() { return this.toString(true); @@ -116,6 +162,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("isMemoryEncryptionSupported=") .append(String.valueOf(this.isMemoryEncryptionSupported)); + sb.append(", isBurstableSupported=").append(String.valueOf(this.isBurstableSupported)); sb.append(")"); return sb.toString(); } @@ -132,6 +179,7 @@ public boolean equals(Object o) { SupportedCapabilities other = (SupportedCapabilities) o; return java.util.Objects.equals( this.isMemoryEncryptionSupported, other.isMemoryEncryptionSupported) + && java.util.Objects.equals(this.isBurstableSupported, other.isBurstableSupported) && super.equals(other); } @@ -144,6 +192,11 @@ public int hashCode() { + (this.isMemoryEncryptionSupported == null ? 43 : this.isMemoryEncryptionSupported.hashCode()); + result = + (result * PRIME) + + (this.isBurstableSupported == null + ? 43 + : this.isBurstableSupported.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateBootVolumeBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateBootVolumeBackupDetails.java index a3123c3326a..400be8e065f 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateBootVolumeBackupDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateBootVolumeBackupDetails.java @@ -23,17 +23,34 @@ public final class UpdateBootVolumeBackupDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"definedTags", "displayName", "freeformTags", "kmsKeyId"}) + @java.beans.ConstructorProperties({ + "definedTags", + "displayName", + "freeformTags", + "kmsKeyId", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled", + "isIndefiniteRetentionEnabled" + }) public UpdateBootVolumeBackupDetails( java.util.Map> definedTags, String displayName, java.util.Map freeformTags, - String kmsKeyId) { + String kmsKeyId, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled, + Boolean isIndefiniteRetentionEnabled) { super(); this.definedTags = definedTags; this.displayName = displayName; this.freeformTags = freeformTags; this.kmsKeyId = kmsKeyId; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -134,13 +151,96 @@ public Builder kmsKeyId(String kmsKeyId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + * + * @param isIndefiniteRetentionEnabled the value to set + * @return this builder + */ + public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) { + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.__explicitlySet__.add("isIndefiniteRetentionEnabled"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public UpdateBootVolumeBackupDetails build() { UpdateBootVolumeBackupDetails model = new UpdateBootVolumeBackupDetails( - this.definedTags, this.displayName, this.freeformTags, this.kmsKeyId); + this.definedTags, + this.displayName, + this.freeformTags, + this.kmsKeyId, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled, + this.isIndefiniteRetentionEnabled); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -161,6 +261,18 @@ public Builder copy(UpdateBootVolumeBackupDetails model) { if (model.wasPropertyExplicitlySet("kmsKeyId")) { this.kmsKeyId(model.getKmsKeyId()); } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } + if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) { + this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled()); + } return this; } } @@ -258,6 +370,74 @@ public String getKmsKeyId() { return kmsKeyId; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private final Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + * + * @return the value + */ + public Boolean getIsIndefiniteRetentionEnabled() { + return isIndefiniteRetentionEnabled; + } + @Override public String toString() { return this.toString(true); @@ -277,6 +457,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", displayName=").append(String.valueOf(this.displayName)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", kmsKeyId=").append(String.valueOf(this.kmsKeyId)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); + sb.append(", isIndefiniteRetentionEnabled=") + .append(String.valueOf(this.isIndefiniteRetentionEnabled)); sb.append(")"); return sb.toString(); } @@ -295,6 +481,13 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.kmsKeyId, other.kmsKeyId) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) + && java.util.Objects.equals( + this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled) && super.equals(other); } @@ -306,6 +499,24 @@ public int hashCode() { result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.kmsKeyId == null ? 43 : this.kmsKeyId.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); + result = + (result * PRIME) + + (this.isIndefiniteRetentionEnabled == null + ? 43 + : this.isIndefiniteRetentionEnabled.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeBackupDetails.java index 4627efdc121..8e22ad11611 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeBackupDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeBackupDetails.java @@ -23,17 +23,34 @@ public final class UpdateVolumeBackupDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"definedTags", "displayName", "freeformTags", "kmsKeyId"}) + @java.beans.ConstructorProperties({ + "definedTags", + "displayName", + "freeformTags", + "kmsKeyId", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled", + "isIndefiniteRetentionEnabled" + }) public UpdateVolumeBackupDetails( java.util.Map> definedTags, String displayName, java.util.Map freeformTags, - String kmsKeyId) { + String kmsKeyId, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled, + Boolean isIndefiniteRetentionEnabled) { super(); this.definedTags = definedTags; this.displayName = displayName; this.freeformTags = freeformTags; this.kmsKeyId = kmsKeyId; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -134,13 +151,96 @@ public Builder kmsKeyId(String kmsKeyId) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + * + * @param isIndefiniteRetentionEnabled the value to set + * @return this builder + */ + public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) { + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.__explicitlySet__.add("isIndefiniteRetentionEnabled"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public UpdateVolumeBackupDetails build() { UpdateVolumeBackupDetails model = new UpdateVolumeBackupDetails( - this.definedTags, this.displayName, this.freeformTags, this.kmsKeyId); + this.definedTags, + this.displayName, + this.freeformTags, + this.kmsKeyId, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled, + this.isIndefiniteRetentionEnabled); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -161,6 +261,18 @@ public Builder copy(UpdateVolumeBackupDetails model) { if (model.wasPropertyExplicitlySet("kmsKeyId")) { this.kmsKeyId(model.getKmsKeyId()); } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } + if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) { + this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled()); + } return this; } } @@ -258,6 +370,74 @@ public String getKmsKeyId() { return kmsKeyId; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private final Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + * + * @return the value + */ + public Boolean getIsIndefiniteRetentionEnabled() { + return isIndefiniteRetentionEnabled; + } + @Override public String toString() { return this.toString(true); @@ -277,6 +457,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", displayName=").append(String.valueOf(this.displayName)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", kmsKeyId=").append(String.valueOf(this.kmsKeyId)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); + sb.append(", isIndefiniteRetentionEnabled=") + .append(String.valueOf(this.isIndefiniteRetentionEnabled)); sb.append(")"); return sb.toString(); } @@ -295,6 +481,13 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.kmsKeyId, other.kmsKeyId) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) + && java.util.Objects.equals( + this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled) && super.equals(other); } @@ -306,6 +499,24 @@ public int hashCode() { result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.kmsKeyId == null ? 43 : this.kmsKeyId.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); + result = + (result * PRIME) + + (this.isIndefiniteRetentionEnabled == null + ? 43 + : this.isIndefiniteRetentionEnabled.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java index 1b09240d6c9..1bee7d31200 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/UpdateVolumeGroupBackupDetails.java @@ -23,15 +23,31 @@ public final class UpdateVolumeGroupBackupDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"definedTags", "displayName", "freeformTags"}) + @java.beans.ConstructorProperties({ + "definedTags", + "displayName", + "freeformTags", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled", + "isIndefiniteRetentionEnabled" + }) public UpdateVolumeGroupBackupDetails( java.util.Map> definedTags, String displayName, - java.util.Map freeformTags) { + java.util.Map freeformTags, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled, + Boolean isIndefiniteRetentionEnabled) { super(); this.definedTags = definedTags; this.displayName = displayName; this.freeformTags = freeformTags; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -107,13 +123,95 @@ public Builder freeformTags(java.util.Map freeformTags) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + * + * @param isIndefiniteRetentionEnabled the value to set + * @return this builder + */ + public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) { + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.__explicitlySet__.add("isIndefiniteRetentionEnabled"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public UpdateVolumeGroupBackupDetails build() { UpdateVolumeGroupBackupDetails model = new UpdateVolumeGroupBackupDetails( - this.definedTags, this.displayName, this.freeformTags); + this.definedTags, + this.displayName, + this.freeformTags, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled, + this.isIndefiniteRetentionEnabled); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -131,6 +229,18 @@ public Builder copy(UpdateVolumeGroupBackupDetails model) { if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } + if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) { + this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled()); + } return this; } } @@ -207,6 +317,74 @@ public java.util.Map getFreeformTags() { return freeformTags; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private final Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + * + * @return the value + */ + public Boolean getIsIndefiniteRetentionEnabled() { + return isIndefiniteRetentionEnabled; + } + @Override public String toString() { return this.toString(true); @@ -225,6 +403,12 @@ public String toString(boolean includeByteArrayContents) { sb.append("definedTags=").append(String.valueOf(this.definedTags)); sb.append(", displayName=").append(String.valueOf(this.displayName)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); + sb.append(", isIndefiniteRetentionEnabled=") + .append(String.valueOf(this.isIndefiniteRetentionEnabled)); sb.append(")"); return sb.toString(); } @@ -242,6 +426,13 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.definedTags, other.definedTags) && java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) + && java.util.Objects.equals( + this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled) && super.equals(other); } @@ -252,6 +443,24 @@ public int hashCode() { result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); + result = + (result * PRIME) + + (this.isIndefiniteRetentionEnabled == null + ? 43 + : this.isIndefiniteRetentionEnabled.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VirtualCircuit.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VirtualCircuit.java index 384dde1d27e..7a3f974ea40 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/VirtualCircuit.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VirtualCircuit.java @@ -73,6 +73,9 @@ public final class VirtualCircuit "timeCreated", "type", "ipMtu", + "providerRemoteRegion", + "sharedConnectionUuid", + "remoteAccountId", "trafficMode", "virtualCircuitRedundancyMetadata" }) @@ -108,6 +111,9 @@ public VirtualCircuit( java.util.Date timeCreated, Type type, VirtualCircuitIpMtu ipMtu, + String providerRemoteRegion, + String sharedConnectionUuid, + String remoteAccountId, TrafficMode trafficMode, VirtualCircuitRedundancyMetadata virtualCircuitRedundancyMetadata) { super(); @@ -142,6 +148,9 @@ public VirtualCircuit( this.timeCreated = timeCreated; this.type = type; this.ipMtu = ipMtu; + this.providerRemoteRegion = providerRemoteRegion; + this.sharedConnectionUuid = sharedConnectionUuid; + this.remoteAccountId = remoteAccountId; this.trafficMode = trafficMode; this.virtualCircuitRedundancyMetadata = virtualCircuitRedundancyMetadata; } @@ -749,6 +758,61 @@ public Builder ipMtu(VirtualCircuitIpMtu ipMtu) { this.__explicitlySet__.add("ipMtu"); return this; } + /** + * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the + * OCI region. To get the list of associated provider remote region use the + * ListProviderRemoteRegions operation + */ + @com.fasterxml.jackson.annotation.JsonProperty("providerRemoteRegion") + private String providerRemoteRegion; + + /** + * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the + * OCI region. To get the list of associated provider remote region use the + * ListProviderRemoteRegions operation + * + * @param providerRemoteRegion the value to set + * @return this builder + */ + public Builder providerRemoteRegion(String providerRemoteRegion) { + this.providerRemoteRegion = providerRemoteRegion; + this.__explicitlySet__.add("providerRemoteRegion"); + return this; + } + /** + * The Shared unique identifier for the connection between the multicloud interconnect + * providers + */ + @com.fasterxml.jackson.annotation.JsonProperty("sharedConnectionUuid") + private String sharedConnectionUuid; + + /** + * The Shared unique identifier for the connection between the multicloud interconnect + * providers + * + * @param sharedConnectionUuid the value to set + * @return this builder + */ + public Builder sharedConnectionUuid(String sharedConnectionUuid) { + this.sharedConnectionUuid = sharedConnectionUuid; + this.__explicitlySet__.add("sharedConnectionUuid"); + return this; + } + /** Customer's account on Provider/Partner cloud (AWS, GCP or any other) */ + @com.fasterxml.jackson.annotation.JsonProperty("remoteAccountId") + private String remoteAccountId; + + /** + * Customer's account on Provider/Partner cloud (AWS, GCP or any other) + * + * @param remoteAccountId the value to set + * @return this builder + */ + public Builder remoteAccountId(String remoteAccountId) { + this.remoteAccountId = remoteAccountId; + this.__explicitlySet__.add("remoteAccountId"); + return this; + } /** * The current traffic mode for the Virtual Circuit. This indicates whether the traffic is * drained for the associated Virtual Circuit or not. @@ -816,6 +880,9 @@ public VirtualCircuit build() { this.timeCreated, this.type, this.ipMtu, + this.providerRemoteRegion, + this.sharedConnectionUuid, + this.remoteAccountId, this.trafficMode, this.virtualCircuitRedundancyMetadata); for (String explicitlySetProperty : this.__explicitlySet__) { @@ -919,6 +986,15 @@ public Builder copy(VirtualCircuit model) { if (model.wasPropertyExplicitlySet("ipMtu")) { this.ipMtu(model.getIpMtu()); } + if (model.wasPropertyExplicitlySet("providerRemoteRegion")) { + this.providerRemoteRegion(model.getProviderRemoteRegion()); + } + if (model.wasPropertyExplicitlySet("sharedConnectionUuid")) { + this.sharedConnectionUuid(model.getSharedConnectionUuid()); + } + if (model.wasPropertyExplicitlySet("remoteAccountId")) { + this.remoteAccountId(model.getRemoteAccountId()); + } if (model.wasPropertyExplicitlySet("trafficMode")) { this.trafficMode(model.getTrafficMode()); } @@ -1911,6 +1987,53 @@ public VirtualCircuitIpMtu getIpMtu() { return ipMtu; } + /** + * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the OCI + * region. To get the list of associated provider remote region use the + * ListProviderRemoteRegions operation + */ + @com.fasterxml.jackson.annotation.JsonProperty("providerRemoteRegion") + private final String providerRemoteRegion; + + /** + * The OCI's FastConnect MultiCloud Provider/Partner remote region name associated with the OCI + * region. To get the list of associated provider remote region use the + * ListProviderRemoteRegions operation + * + * @return the value + */ + public String getProviderRemoteRegion() { + return providerRemoteRegion; + } + + /** + * The Shared unique identifier for the connection between the multicloud interconnect providers + */ + @com.fasterxml.jackson.annotation.JsonProperty("sharedConnectionUuid") + private final String sharedConnectionUuid; + + /** + * The Shared unique identifier for the connection between the multicloud interconnect providers + * + * @return the value + */ + public String getSharedConnectionUuid() { + return sharedConnectionUuid; + } + + /** Customer's account on Provider/Partner cloud (AWS, GCP or any other) */ + @com.fasterxml.jackson.annotation.JsonProperty("remoteAccountId") + private final String remoteAccountId; + + /** + * Customer's account on Provider/Partner cloud (AWS, GCP or any other) + * + * @return the value + */ + public String getRemoteAccountId() { + return remoteAccountId; + } + /** * The current traffic mode for the Virtual Circuit. This indicates whether the traffic is * drained for the associated Virtual Circuit or not. @@ -2030,6 +2153,9 @@ public String toString(boolean includeByteArrayContents) { sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); sb.append(", type=").append(String.valueOf(this.type)); sb.append(", ipMtu=").append(String.valueOf(this.ipMtu)); + sb.append(", providerRemoteRegion=").append(String.valueOf(this.providerRemoteRegion)); + sb.append(", sharedConnectionUuid=").append(String.valueOf(this.sharedConnectionUuid)); + sb.append(", remoteAccountId=").append(String.valueOf(this.remoteAccountId)); sb.append(", trafficMode=").append(String.valueOf(this.trafficMode)); sb.append(", virtualCircuitRedundancyMetadata=") .append(String.valueOf(this.virtualCircuitRedundancyMetadata)); @@ -2079,6 +2205,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.timeCreated, other.timeCreated) && java.util.Objects.equals(this.type, other.type) && java.util.Objects.equals(this.ipMtu, other.ipMtu) + && java.util.Objects.equals(this.providerRemoteRegion, other.providerRemoteRegion) + && java.util.Objects.equals(this.sharedConnectionUuid, other.sharedConnectionUuid) + && java.util.Objects.equals(this.remoteAccountId, other.remoteAccountId) && java.util.Objects.equals(this.trafficMode, other.trafficMode) && java.util.Objects.equals( this.virtualCircuitRedundancyMetadata, @@ -2165,6 +2294,19 @@ public int hashCode() { result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode()); result = (result * PRIME) + (this.ipMtu == null ? 43 : this.ipMtu.hashCode()); + result = + (result * PRIME) + + (this.providerRemoteRegion == null + ? 43 + : this.providerRemoteRegion.hashCode()); + result = + (result * PRIME) + + (this.sharedConnectionUuid == null + ? 43 + : this.sharedConnectionUuid.hashCode()); + result = + (result * PRIME) + + (this.remoteAccountId == null ? 43 : this.remoteAccountId.hashCode()); result = (result * PRIME) + (this.trafficMode == null ? 43 : this.trafficMode.hashCode()); result = (result * PRIME) diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackup.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackup.java index b933a3087ec..0160a37569d 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackup.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackup.java @@ -50,7 +50,13 @@ public final class VolumeBackup extends com.oracle.bmc.http.client.internal.Expl "type", "uniqueSizeInGBs", "uniqueSizeInMbs", - "volumeId" + "volumeId", + "timeRetentionExpiresAt", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled", + "isIndefiniteRetentionEnabled", + "volumeGroupBackupId" }) public VolumeBackup( String compartmentId, @@ -71,7 +77,13 @@ public VolumeBackup( Type type, Long uniqueSizeInGBs, Long uniqueSizeInMbs, - String volumeId) { + String volumeId, + java.util.Date timeRetentionExpiresAt, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled, + Boolean isIndefiniteRetentionEnabled, + String volumeGroupBackupId) { super(); this.compartmentId = compartmentId; this.definedTags = definedTags; @@ -92,6 +104,12 @@ public VolumeBackup( this.uniqueSizeInGBs = uniqueSizeInGBs; this.uniqueSizeInMbs = uniqueSizeInMbs; this.volumeId = volumeId; + this.timeRetentionExpiresAt = timeRetentionExpiresAt; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.volumeGroupBackupId = volumeGroupBackupId; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -454,6 +472,124 @@ public Builder volumeId(String volumeId) { this.__explicitlySet__.add("volumeId"); return this; } + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. + * This is an optional field. If it is not specified, it is set to null, no retention period + * will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt") + private java.util.Date timeRetentionExpiresAt; + + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. + * This is an optional field. If it is not specified, it is set to null, no retention period + * will be applied to the backups. + * + * @param timeRetentionExpiresAt the value to set + * @return this builder + */ + public Builder timeRetentionExpiresAt(java.util.Date timeRetentionExpiresAt) { + this.timeRetentionExpiresAt = timeRetentionExpiresAt; + this.__explicitlySet__.add("timeRetentionExpiresAt"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + * + * @param isIndefiniteRetentionEnabled the value to set + * @return this builder + */ + public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) { + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.__explicitlySet__.add("isIndefiniteRetentionEnabled"); + return this; + } + /** + * The OCID of the volume group backup associated with the backup. This is an optional + * field. If it is not present in the response, the backup does not belong to a volume + * group. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId") + private String volumeGroupBackupId; + + /** + * The OCID of the volume group backup associated with the backup. This is an optional + * field. If it is not present in the response, the backup does not belong to a volume + * group. + * + * @param volumeGroupBackupId the value to set + * @return this builder + */ + public Builder volumeGroupBackupId(String volumeGroupBackupId) { + this.volumeGroupBackupId = volumeGroupBackupId; + this.__explicitlySet__.add("volumeGroupBackupId"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -479,7 +615,13 @@ public VolumeBackup build() { this.type, this.uniqueSizeInGBs, this.uniqueSizeInMbs, - this.volumeId); + this.volumeId, + this.timeRetentionExpiresAt, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled, + this.isIndefiniteRetentionEnabled, + this.volumeGroupBackupId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -545,6 +687,24 @@ public Builder copy(VolumeBackup model) { if (model.wasPropertyExplicitlySet("volumeId")) { this.volumeId(model.getVolumeId()); } + if (model.wasPropertyExplicitlySet("timeRetentionExpiresAt")) { + this.timeRetentionExpiresAt(model.getTimeRetentionExpiresAt()); + } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } + if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) { + this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled()); + } + if (model.wasPropertyExplicitlySet("volumeGroupBackupId")) { + this.volumeGroupBackupId(model.getVolumeGroupBackupId()); + } return this; } } @@ -1015,6 +1175,110 @@ public String getVolumeId() { return volumeId; } + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. This is + * an optional field. If it is not specified, it is set to null, no retention period will be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt") + private final java.util.Date timeRetentionExpiresAt; + + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. This is + * an optional field. If it is not specified, it is set to null, no retention period will be + * applied to the backups. + * + * @return the value + */ + public java.util.Date getTimeRetentionExpiresAt() { + return timeRetentionExpiresAt; + } + + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private final Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + * + * @return the value + */ + public Boolean getIsIndefiniteRetentionEnabled() { + return isIndefiniteRetentionEnabled; + } + + /** + * The OCID of the volume group backup associated with the backup. This is an optional field. If + * it is not present in the response, the backup does not belong to a volume group. + */ + @com.fasterxml.jackson.annotation.JsonProperty("volumeGroupBackupId") + private final String volumeGroupBackupId; + + /** + * The OCID of the volume group backup associated with the backup. This is an optional field. If + * it is not present in the response, the backup does not belong to a volume group. + * + * @return the value + */ + public String getVolumeGroupBackupId() { + return volumeGroupBackupId; + } + @Override public String toString() { return this.toString(true); @@ -1049,6 +1313,14 @@ public String toString(boolean includeByteArrayContents) { sb.append(", uniqueSizeInGBs=").append(String.valueOf(this.uniqueSizeInGBs)); sb.append(", uniqueSizeInMbs=").append(String.valueOf(this.uniqueSizeInMbs)); sb.append(", volumeId=").append(String.valueOf(this.volumeId)); + sb.append(", timeRetentionExpiresAt=").append(String.valueOf(this.timeRetentionExpiresAt)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); + sb.append(", isIndefiniteRetentionEnabled=") + .append(String.valueOf(this.isIndefiniteRetentionEnabled)); + sb.append(", volumeGroupBackupId=").append(String.valueOf(this.volumeGroupBackupId)); sb.append(")"); return sb.toString(); } @@ -1082,6 +1354,16 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.uniqueSizeInGBs, other.uniqueSizeInGBs) && java.util.Objects.equals(this.uniqueSizeInMbs, other.uniqueSizeInMbs) && java.util.Objects.equals(this.volumeId, other.volumeId) + && java.util.Objects.equals( + this.timeRetentionExpiresAt, other.timeRetentionExpiresAt) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) + && java.util.Objects.equals( + this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled) + && java.util.Objects.equals(this.volumeGroupBackupId, other.volumeGroupBackupId) && super.equals(other); } @@ -1126,6 +1408,34 @@ public int hashCode() { (result * PRIME) + (this.uniqueSizeInMbs == null ? 43 : this.uniqueSizeInMbs.hashCode()); result = (result * PRIME) + (this.volumeId == null ? 43 : this.volumeId.hashCode()); + result = + (result * PRIME) + + (this.timeRetentionExpiresAt == null + ? 43 + : this.timeRetentionExpiresAt.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); + result = + (result * PRIME) + + (this.isIndefiniteRetentionEnabled == null + ? 43 + : this.isIndefiniteRetentionEnabled.hashCode()); + result = + (result * PRIME) + + (this.volumeGroupBackupId == null + ? 43 + : this.volumeGroupBackupId.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackupSchedule.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackupSchedule.java index d1cac28dba7..42736e93224 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackupSchedule.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeBackupSchedule.java @@ -35,7 +35,10 @@ public final class VolumeBackupSchedule "dayOfMonth", "month", "retentionSeconds", - "timeZone" + "timeZone", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled" }) public VolumeBackupSchedule( BackupType backupType, @@ -47,7 +50,10 @@ public VolumeBackupSchedule( Integer dayOfMonth, Month month, Integer retentionSeconds, - TimeZone timeZone) { + TimeZone timeZone, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled) { super(); this.backupType = backupType; this.offsetSeconds = offsetSeconds; @@ -59,6 +65,9 @@ public VolumeBackupSchedule( this.month = month; this.retentionSeconds = retentionSeconds; this.timeZone = timeZone; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -264,6 +273,59 @@ public Builder timeZone(TimeZone timeZone) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -279,7 +341,10 @@ public VolumeBackupSchedule build() { this.dayOfMonth, this.month, this.retentionSeconds, - this.timeZone); + this.timeZone, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -318,6 +383,15 @@ public Builder copy(VolumeBackupSchedule model) { if (model.wasPropertyExplicitlySet("timeZone")) { this.timeZone(model.getTimeZone()); } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } return this; } } @@ -826,6 +900,53 @@ public TimeZone getTimeZone() { return timeZone; } + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + @Override public String toString() { return this.toString(true); @@ -851,6 +972,10 @@ public String toString(boolean includeByteArrayContents) { sb.append(", month=").append(String.valueOf(this.month)); sb.append(", retentionSeconds=").append(String.valueOf(this.retentionSeconds)); sb.append(", timeZone=").append(String.valueOf(this.timeZone)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); sb.append(")"); return sb.toString(); } @@ -875,6 +1000,11 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.month, other.month) && java.util.Objects.equals(this.retentionSeconds, other.retentionSeconds) && java.util.Objects.equals(this.timeZone, other.timeZone) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) && super.equals(other); } @@ -896,6 +1026,19 @@ public int hashCode() { (result * PRIME) + (this.retentionSeconds == null ? 43 : this.retentionSeconds.hashCode()); result = (result * PRIME) + (this.timeZone == null ? 43 : this.timeZone.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java index fc5436caf55..59d418704cc 100644 --- a/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java +++ b/bmc-core/src/main/java/com/oracle/bmc/core/model/VolumeGroupBackup.java @@ -51,7 +51,12 @@ public final class VolumeGroupBackup "uniqueSizeInGbs", "volumeBackupIds", "volumeGroupId", - "sourceVolumeGroupBackupId" + "sourceVolumeGroupBackupId", + "timeRetentionExpiresAt", + "retentionPeriod", + "isPreventDeletionEnabled", + "isRetentionLockEnabled", + "isIndefiniteRetentionEnabled" }) public VolumeGroupBackup( String compartmentId, @@ -71,7 +76,12 @@ public VolumeGroupBackup( Long uniqueSizeInGbs, java.util.List volumeBackupIds, String volumeGroupId, - String sourceVolumeGroupBackupId) { + String sourceVolumeGroupBackupId, + java.util.Date timeRetentionExpiresAt, + RetentionDuration retentionPeriod, + Boolean isPreventDeletionEnabled, + Boolean isRetentionLockEnabled, + Boolean isIndefiniteRetentionEnabled) { super(); this.compartmentId = compartmentId; this.definedTags = definedTags; @@ -91,6 +101,11 @@ public VolumeGroupBackup( this.volumeBackupIds = volumeBackupIds; this.volumeGroupId = volumeGroupId; this.sourceVolumeGroupBackupId = sourceVolumeGroupBackupId; + this.timeRetentionExpiresAt = timeRetentionExpiresAt; + this.retentionPeriod = retentionPeriod; + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -432,6 +447,103 @@ public Builder sourceVolumeGroupBackupId(String sourceVolumeGroupBackupId) { this.__explicitlySet__.add("sourceVolumeGroupBackupId"); return this; } + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. + * This is an optional field. If it is not specified, it is set to null, no retention period + * will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt") + private java.util.Date timeRetentionExpiresAt; + + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. + * This is an optional field. If it is not specified, it is set to null, no retention period + * will be applied to the backups. + * + * @param timeRetentionExpiresAt the value to set + * @return this builder + */ + public Builder timeRetentionExpiresAt(java.util.Date timeRetentionExpiresAt) { + this.timeRetentionExpiresAt = timeRetentionExpiresAt; + this.__explicitlySet__.add("timeRetentionExpiresAt"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private RetentionDuration retentionPeriod; + + public Builder retentionPeriod(RetentionDuration retentionPeriod) { + this.retentionPeriod = retentionPeriod; + this.__explicitlySet__.add("retentionPeriod"); + return this; + } + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @param isPreventDeletionEnabled the value to set + * @return this builder + */ + public Builder isPreventDeletionEnabled(Boolean isPreventDeletionEnabled) { + this.isPreventDeletionEnabled = isPreventDeletionEnabled; + this.__explicitlySet__.add("isPreventDeletionEnabled"); + return this; + } + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to + * ensure data protection and regulatory compliance. This is an optional field. If it is not + * specified, it is set to null, no retention lock will be applied to the backups. This + * feature should be used in conjunction with the retention-period field. + * + * @param isRetentionLockEnabled the value to set + * @return this builder + */ + public Builder isRetentionLockEnabled(Boolean isRetentionLockEnabled) { + this.isRetentionLockEnabled = isRetentionLockEnabled; + this.__explicitlySet__.add("isRetentionLockEnabled"); + return this; + } + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, + * no legal hold will be applied to the backups. + * + * @param isIndefiniteRetentionEnabled the value to set + * @return this builder + */ + public Builder isIndefiniteRetentionEnabled(Boolean isIndefiniteRetentionEnabled) { + this.isIndefiniteRetentionEnabled = isIndefiniteRetentionEnabled; + this.__explicitlySet__.add("isIndefiniteRetentionEnabled"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -456,7 +568,12 @@ public VolumeGroupBackup build() { this.uniqueSizeInGbs, this.volumeBackupIds, this.volumeGroupId, - this.sourceVolumeGroupBackupId); + this.sourceVolumeGroupBackupId, + this.timeRetentionExpiresAt, + this.retentionPeriod, + this.isPreventDeletionEnabled, + this.isRetentionLockEnabled, + this.isIndefiniteRetentionEnabled); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -519,6 +636,21 @@ public Builder copy(VolumeGroupBackup model) { if (model.wasPropertyExplicitlySet("sourceVolumeGroupBackupId")) { this.sourceVolumeGroupBackupId(model.getSourceVolumeGroupBackupId()); } + if (model.wasPropertyExplicitlySet("timeRetentionExpiresAt")) { + this.timeRetentionExpiresAt(model.getTimeRetentionExpiresAt()); + } + if (model.wasPropertyExplicitlySet("retentionPeriod")) { + this.retentionPeriod(model.getRetentionPeriod()); + } + if (model.wasPropertyExplicitlySet("isPreventDeletionEnabled")) { + this.isPreventDeletionEnabled(model.getIsPreventDeletionEnabled()); + } + if (model.wasPropertyExplicitlySet("isRetentionLockEnabled")) { + this.isRetentionLockEnabled(model.getIsRetentionLockEnabled()); + } + if (model.wasPropertyExplicitlySet("isIndefiniteRetentionEnabled")) { + this.isIndefiniteRetentionEnabled(model.getIsIndefiniteRetentionEnabled()); + } return this; } } @@ -974,6 +1106,93 @@ public String getSourceVolumeGroupBackupId() { return sourceVolumeGroupBackupId; } + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. This is + * an optional field. If it is not specified, it is set to null, no retention period will be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetentionExpiresAt") + private final java.util.Date timeRetentionExpiresAt; + + /** + * The date and time when a backup\u2019s retention period ends and it is set to expire. This is + * an optional field. If it is not specified, it is set to null, no retention period will be + * applied to the backups. + * + * @return the value + */ + public java.util.Date getTimeRetentionExpiresAt() { + return timeRetentionExpiresAt; + } + + @com.fasterxml.jackson.annotation.JsonProperty("retentionPeriod") + private final RetentionDuration retentionPeriod; + + public RetentionDuration getRetentionPeriod() { + return retentionPeriod; + } + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isPreventDeletionEnabled") + private final Boolean isPreventDeletionEnabled; + + /** + * Prevent backups from being deleted during the configured retention period. This is an + * optional field. If it is not specified, it is set to null, prevent deletion will not be + * applied to the backups. + * + * @return the value + */ + public Boolean getIsPreventDeletionEnabled() { + return isPreventDeletionEnabled; + } + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isRetentionLockEnabled") + private final Boolean isRetentionLockEnabled; + + /** + * feature that prevents deletion or alteration of backup data for a specified period to ensure + * data protection and regulatory compliance. This is an optional field. If it is not specified, + * it is set to null, no retention lock will be applied to the backups. This feature should be + * used in conjunction with the retention-period field. + * + * @return the value + */ + public Boolean getIsRetentionLockEnabled() { + return isRetentionLockEnabled; + } + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + */ + @com.fasterxml.jackson.annotation.JsonProperty("isIndefiniteRetentionEnabled") + private final Boolean isIndefiniteRetentionEnabled; + + /** + * feature that preserves backup data from modification or deletion to ensure it remains + * available for legal or regulatory investigations or litigation, regardless of standard + * retention policies. This is an optional field. If it is not specified, it is set to null, no + * legal hold will be applied to the backups. + * + * @return the value + */ + public Boolean getIsIndefiniteRetentionEnabled() { + return isIndefiniteRetentionEnabled; + } + @Override public String toString() { return this.toString(true); @@ -1008,6 +1227,13 @@ public String toString(boolean includeByteArrayContents) { sb.append(", volumeGroupId=").append(String.valueOf(this.volumeGroupId)); sb.append(", sourceVolumeGroupBackupId=") .append(String.valueOf(this.sourceVolumeGroupBackupId)); + sb.append(", timeRetentionExpiresAt=").append(String.valueOf(this.timeRetentionExpiresAt)); + sb.append(", retentionPeriod=").append(String.valueOf(this.retentionPeriod)); + sb.append(", isPreventDeletionEnabled=") + .append(String.valueOf(this.isPreventDeletionEnabled)); + sb.append(", isRetentionLockEnabled=").append(String.valueOf(this.isRetentionLockEnabled)); + sb.append(", isIndefiniteRetentionEnabled=") + .append(String.valueOf(this.isIndefiniteRetentionEnabled)); sb.append(")"); return sb.toString(); } @@ -1041,6 +1267,15 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.volumeGroupId, other.volumeGroupId) && java.util.Objects.equals( this.sourceVolumeGroupBackupId, other.sourceVolumeGroupBackupId) + && java.util.Objects.equals( + this.timeRetentionExpiresAt, other.timeRetentionExpiresAt) + && java.util.Objects.equals(this.retentionPeriod, other.retentionPeriod) + && java.util.Objects.equals( + this.isPreventDeletionEnabled, other.isPreventDeletionEnabled) + && java.util.Objects.equals( + this.isRetentionLockEnabled, other.isRetentionLockEnabled) + && java.util.Objects.equals( + this.isIndefiniteRetentionEnabled, other.isIndefiniteRetentionEnabled) && super.equals(other); } @@ -1088,6 +1323,29 @@ public int hashCode() { + (this.sourceVolumeGroupBackupId == null ? 43 : this.sourceVolumeGroupBackupId.hashCode()); + result = + (result * PRIME) + + (this.timeRetentionExpiresAt == null + ? 43 + : this.timeRetentionExpiresAt.hashCode()); + result = + (result * PRIME) + + (this.retentionPeriod == null ? 43 : this.retentionPeriod.hashCode()); + result = + (result * PRIME) + + (this.isPreventDeletionEnabled == null + ? 43 + : this.isPreventDeletionEnabled.hashCode()); + result = + (result * PRIME) + + (this.isRetentionLockEnabled == null + ? 43 + : this.isRetentionLockEnabled.hashCode()); + result = + (result * PRIME) + + (this.isIndefiniteRetentionEnabled == null + ? 43 + : this.isIndefiniteRetentionEnabled.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListProviderRemoteRegionsRequest.java b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListProviderRemoteRegionsRequest.java new file mode 100644 index 00000000000..fc01924045b --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/requests/ListProviderRemoteRegionsRequest.java @@ -0,0 +1,306 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.core.requests; + +import com.oracle.bmc.core.model.*; +/** + * Example: Click here to see how to use + * ListProviderRemoteRegionsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ListProviderRemoteRegionsRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * provider service. + */ + private String providerServiceId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * provider service. + */ + public String getProviderServiceId() { + return providerServiceId; + } + /** + * Unique identifier for the request. If you need to contact Oracle about a particular request, + * please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique identifier for the request. If you need to contact Oracle about a particular request, + * please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For list pagination. The maximum number of results per page, or items to return in a + * paginated "List" call. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + *

Example: {@code 50} + */ + private Integer limit; + + /** + * For list pagination. The maximum number of results per page, or items to return in a + * paginated "List" call. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + *

Example: {@code 50} + */ + public Integer getLimit() { + return limit; + } + /** + * For list pagination. The value of the {@code opc-next-page} response header from the previous + * "List" call. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String page; + + /** + * For list pagination. The value of the {@code opc-next-page} response header from the previous + * "List" call. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + public String getPage() { + return page; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListProviderRemoteRegionsRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * provider service. + */ + private String providerServiceId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * provider service. + * + * @param providerServiceId the value to set + * @return this builder instance + */ + public Builder providerServiceId(String providerServiceId) { + this.providerServiceId = providerServiceId; + return this; + } + + /** + * Unique identifier for the request. If you need to contact Oracle about a particular + * request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. If you need to contact Oracle about a particular + * request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For list pagination. The maximum number of results per page, or items to return in a + * paginated "List" call. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + *

Example: {@code 50} + */ + private Integer limit = null; + + /** + * For list pagination. The maximum number of results per page, or items to return in a + * paginated "List" call. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + *

Example: {@code 50} + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * For list pagination. The value of the {@code opc-next-page} response header from the + * previous "List" call. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String page = null; + + /** + * For list pagination. The value of the {@code opc-next-page} response header from the + * previous "List" call. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(ListProviderRemoteRegionsRequest o) { + providerServiceId(o.getProviderServiceId()); + opcRequestId(o.getOpcRequestId()); + limit(o.getLimit()); + page(o.getPage()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListProviderRemoteRegionsRequest as configured by this builder + * + *

Note that this method takes calls to {@link + * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account, + * while the method {@link Builder#buildWithoutInvocationCallback} does not. + * + *

This is the preferred method to build an instance. + * + * @return instance of ListProviderRemoteRegionsRequest + */ + public ListProviderRemoteRegionsRequest build() { + ListProviderRemoteRegionsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListProviderRemoteRegionsRequest as configured by this builder + * + *

Note that this method does not take calls to {@link + * Builder#invocationCallback(com.oracle.bmc.http.client.RequestInterceptor)} into account, + * while the method {@link Builder#build} does + * + * @return instance of ListProviderRemoteRegionsRequest + */ + public ListProviderRemoteRegionsRequest buildWithoutInvocationCallback() { + ListProviderRemoteRegionsRequest request = new ListProviderRemoteRegionsRequest(); + request.providerServiceId = providerServiceId; + request.opcRequestId = opcRequestId; + request.limit = limit; + request.page = page; + return request; + // new ListProviderRemoteRegionsRequest(providerServiceId, opcRequestId, limit, page); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .providerServiceId(providerServiceId) + .opcRequestId(opcRequestId) + .limit(limit) + .page(page); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",providerServiceId=").append(String.valueOf(this.providerServiceId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",limit=").append(String.valueOf(this.limit)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListProviderRemoteRegionsRequest)) { + return false; + } + + ListProviderRemoteRegionsRequest other = (ListProviderRemoteRegionsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.providerServiceId, other.providerServiceId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.page, other.page); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.providerServiceId == null ? 43 : this.providerServiceId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + return result; + } +} diff --git a/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListProviderRemoteRegionsResponse.java b/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListProviderRemoteRegionsResponse.java new file mode 100644 index 00000000000..2666ef8dda3 --- /dev/null +++ b/bmc-core/src/main/java/com/oracle/bmc/core/responses/ListProviderRemoteRegionsResponse.java @@ -0,0 +1,222 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.core.responses; + +import com.oracle.bmc.core.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ListProviderRemoteRegionsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** A list of {@code com.oracle.bmc.core.model.ProviderRemoteRegionName} instances. */ + private java.util.List items; + + /** + * A list of {@code com.oracle.bmc.core.model.ProviderRemoteRegionName} instances. + * + * @return the value + */ + public java.util.List getItems() { + return items; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcNextPage", + "opcRequestId", + "items" + }) + private ListProviderRemoteRegionsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcNextPage, + String opcRequestId, + java.util.List items) { + super(__httpStatusCode__, headers); + this.opcNextPage = opcNextPage; + this.opcRequestId = opcRequestId; + this.items = items; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ListProviderRemoteRegionsResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** A list of {@code com.oracle.bmc.core.model.ProviderRemoteRegionName} instances. */ + private java.util.List items; + + /** + * A list of {@code com.oracle.bmc.core.model.ProviderRemoteRegionName} instances. + * + * @param items the value to set + * @return this builder + */ + public Builder items( + java.util.List items) { + this.items = items; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListProviderRemoteRegionsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcNextPage(o.getOpcNextPage()); + opcRequestId(o.getOpcRequestId()); + items(o.getItems()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListProviderRemoteRegionsResponse build() { + return new ListProviderRemoteRegionsResponse( + __httpStatusCode__, headers, opcNextPage, opcRequestId, items); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",items=").append(String.valueOf(items)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListProviderRemoteRegionsResponse)) { + return false; + } + + ListProviderRemoteRegionsResponse other = (ListProviderRemoteRegionsResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcNextPage, other.opcNextPage) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.items, other.items); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode()); + return result; + } +} diff --git a/bmc-core/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-core/reflect-config.json b/bmc-core/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-core/reflect-config.json index df75f8db51d..68f0ee4db01 100644 --- a/bmc-core/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-core/reflect-config.json +++ b/bmc-core/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-core/reflect-config.json @@ -7138,6 +7138,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.core.model.Instances", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.core.model.Instances$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.core.model.IntelIcelakeBmLaunchInstancePlatformConfig", @@ -8465,6 +8479,20 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.core.model.ProviderRemoteRegionName", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.core.model.ProviderRemoteRegionName$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.core.model.PublicIp", @@ -8751,6 +8779,26 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.core.model.RetentionDuration", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.core.model.RetentionDuration$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.core.model.RetentionDuration$RetentionTimeUnit", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.core.model.RouteRule", diff --git a/bmc-costad/pom.xml b/bmc-costad/pom.xml index 6adaadba681..e4c59b28ec8 100644 --- a/bmc-costad/pom.xml +++ b/bmc-costad/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-costad @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-dashboardservice/pom.xml b/bmc-dashboardservice/pom.xml index 68215090c9c..8d12208c472 100644 --- a/bmc-dashboardservice/pom.xml +++ b/bmc-dashboardservice/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-dashboardservice @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-database/pom.xml b/bmc-database/pom.xml index f60d30fe084..5c73f418a85 100644 --- a/bmc-database/pom.xml +++ b/bmc-database/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.92.1 + 3.93.0 diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/Database.java b/bmc-database/src/main/java/com/oracle/bmc/database/Database.java index 0d71f55fbf6..3b854f18d0d 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/Database.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/Database.java @@ -402,6 +402,24 @@ ChangeAutonomousVmClusterCompartmentResponse changeAutonomousVmClusterCompartmen ChangeBackupDestinationCompartmentResponse changeBackupDestinationCompartment( ChangeBackupDestinationCompartmentRequest request); + /** + * Moves a BaseDB-C@C VM cluster and its dependent resources to another compartment. Applies to + * Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ChangeBaseccVmClusterCompartment API. + */ + ChangeBaseccVmClusterCompartmentResponse changeBaseccVmClusterCompartment( + ChangeBaseccVmClusterCompartmentRequest request); + /** * Moves an Autonomous Exadata VM cluster in the Oracle cloud and its dependent resources to * another compartment. For Exadata Cloud@Customer systems, see {@link @@ -1304,6 +1322,22 @@ CreateAutonomousVmClusterResponse createAutonomousVmCluster( */ CreateBackupDestinationResponse createBackupDestination(CreateBackupDestinationRequest request); + /** + * Creates a BaseDB-C@C VM cluster. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * CreateBaseccVmCluster API. + */ + CreateBaseccVmClusterResponse createBaseccVmCluster(CreateBaseccVmClusterRequest request); + /** * Creates an Autonomous Exadata VM cluster in the Oracle cloud. For Exadata Cloud@Customer * systems, see {@link #createAutonomousVmCluster(CreateAutonomousVmClusterRequest) @@ -1996,6 +2030,23 @@ DeleteAutonomousVmClusterResponse deleteAutonomousVmCluster( */ DeleteBackupDestinationResponse deleteBackupDestination(DeleteBackupDestinationRequest request); + /** + * Deletes the specified BaseDB-C@C VM cluster. Applies to Base Database Service on + * Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * DeleteBaseccVmCluster API. + */ + DeleteBaseccVmClusterResponse deleteBaseccVmCluster(DeleteBaseccVmClusterRequest request); + /** * Deletes the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata * Cloud@Customer systems, see {@link @@ -3519,6 +3570,59 @@ GetAutonomousVmClusterResourceUsageResponse getAutonomousVmClusterResourceUsage( */ GetBackupDestinationResponse getBackupDestination(GetBackupDestinationRequest request); + /** + * Gets information about the BaseDB-C@C VM cluster. Applies to Base Database Service on + * Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use GetBaseccVmCluster + * API. + */ + GetBaseccVmClusterResponse getBaseccVmCluster(GetBaseccVmClusterRequest request); + + /** + * Gets information about a specified maintenance update package for a BaseDB-C@C VM cluster. + * Applies to Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * GetBaseccVmClusterUpdate API. + */ + GetBaseccVmClusterUpdateResponse getBaseccVmClusterUpdate( + GetBaseccVmClusterUpdateRequest request); + + /** + * Gets the maintenance update history details for the specified update history entry. Applies + * to Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * GetBaseccVmClusterUpdateHistoryEntry API. + */ + GetBaseccVmClusterUpdateHistoryEntryResponse getBaseccVmClusterUpdateHistoryEntry( + GetBaseccVmClusterUpdateHistoryEntryRequest request); + /** * Gets information about the specified Autonomous Exadata VM cluster in the Oracle cloud. For * Exadata Cloud@Custustomer systems, see {@link @@ -5043,6 +5147,59 @@ ListAutonomousVmClustersResponse listAutonomousVmClusters( */ ListBackupsResponse listBackups(ListBackupsRequest request); + /** + * Gets the history of the maintenance update actions performed on the specified BaseDB-C@C VM + * cluster. Applies to Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ListBaseccVmClusterUpdateHistoryEntries API. + */ + ListBaseccVmClusterUpdateHistoryEntriesResponse listBaseccVmClusterUpdateHistoryEntries( + ListBaseccVmClusterUpdateHistoryEntriesRequest request); + + /** + * Lists the maintenance updates that can be applied to the specified BaseDB-C@C VM cluster. + * Applies to Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ListBaseccVmClusterUpdates API. + */ + ListBaseccVmClusterUpdatesResponse listBaseccVmClusterUpdates( + ListBaseccVmClusterUpdatesRequest request); + + /** + * Lists the BaseDB-C@C VM clusters in the specified compartment. Applies to Base Database + * Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ListBaseccVmClusters API. + */ + ListBaseccVmClustersResponse listBaseccVmClusters(ListBaseccVmClustersRequest request); + /** * Gets the list of resource usage details for all the Cloud Autonomous Container Database in * the specified Cloud Autonomous Exadata VM cluster. @@ -6454,6 +6611,23 @@ RegisterCloudAutonomousVmClusterPkcsResponse registerCloudAutonomousVmClusterPkc RegisterCloudVmClusterPkcsResponse registerCloudVmClusterPkcs( RegisterCloudVmClusterPkcsRequest request); + /** + * Install the PKCS11 driver for given keystore type + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * RegisterExadbVmClusterPkcs API. + */ + RegisterExadbVmClusterPkcsResponse registerExadbVmClusterPkcs( + RegisterExadbVmClusterPkcsRequest request); + /** * Reinstates a disabled standby Autonomous Container Database (ACD), identified by the * autonomousContainerDatabaseId parameter to an active standby ACD. For more information, see @@ -7391,6 +7565,23 @@ UnregisterCloudAutonomousVmClusterPkcsResponse unregisterCloudAutonomousVmCluste UnregisterCloudVmClusterPkcsResponse unregisterCloudVmClusterPkcs( UnregisterCloudVmClusterPkcsRequest request); + /** + * Uninstall the PKCS11 driver for given keystore type + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * UnregisterExadbVmClusterPkcs API. + */ + UnregisterExadbVmClusterPkcsResponse unregisterExadbVmClusterPkcs( + UnregisterExadbVmClusterPkcsRequest request); + /** * Updates the advanced cluster file system resource. * @@ -7608,6 +7799,23 @@ UpdateAutonomousVmClusterResponse updateAutonomousVmCluster( */ UpdateBackupDestinationResponse updateBackupDestination(UpdateBackupDestinationRequest request); + /** + * Updates the specified BaseDB-C@C VM cluster. Applies to Base Database Service on + * Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation will not retry by default, users + * can also use RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION provided by the SDK to + * enable retries for it. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * UpdateBaseccVmCluster API. + */ + UpdateBaseccVmClusterResponse updateBaseccVmCluster(UpdateBaseccVmClusterRequest request); + /** * Updates the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata * Cloud@Customer systems, see {@link diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsync.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsync.java index b5167d4c954..f4eb69111e3 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsync.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsync.java @@ -410,6 +410,25 @@ java.util.concurrent.Future cancelExecutionWindow ChangeBackupDestinationCompartmentResponse> handler); + /** + * Moves a BaseDB-C@C VM cluster and its dependent resources to another compartment. Applies to + * Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future + changeBaseccVmClusterCompartment( + ChangeBaseccVmClusterCompartmentRequest request, + com.oracle.bmc.responses.AsyncHandler< + ChangeBaseccVmClusterCompartmentRequest, + ChangeBaseccVmClusterCompartmentResponse> + handler); + /** * Moves an Autonomous Exadata VM cluster in the Oracle cloud and its dependent resources to * another compartment. For Exadata Cloud@Customer systems, see {@link @@ -1331,6 +1350,22 @@ java.util.concurrent.Future createBackupDestina CreateBackupDestinationRequest, CreateBackupDestinationResponse> handler); + /** + * Creates a BaseDB-C@C VM cluster. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future createBaseccVmCluster( + CreateBaseccVmClusterRequest request, + com.oracle.bmc.responses.AsyncHandler< + CreateBaseccVmClusterRequest, CreateBaseccVmClusterResponse> + handler); + /** * Creates an Autonomous Exadata VM cluster in the Oracle cloud. For Exadata Cloud@Customer * systems, see {@link #createAutonomousVmCluster(CreateAutonomousVmClusterRequest, Consumer, @@ -2030,6 +2065,23 @@ java.util.concurrent.Future deleteBackupDestina DeleteBackupDestinationRequest, DeleteBackupDestinationResponse> handler); + /** + * Deletes the specified BaseDB-C@C VM cluster. Applies to Base Database Service on + * Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future deleteBaseccVmCluster( + DeleteBaseccVmClusterRequest request, + com.oracle.bmc.responses.AsyncHandler< + DeleteBaseccVmClusterRequest, DeleteBaseccVmClusterResponse> + handler); + /** * Deletes the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata * Cloud@Customer systems, see {@link @@ -3570,6 +3622,59 @@ java.util.concurrent.Future getBackupDestination( GetBackupDestinationRequest, GetBackupDestinationResponse> handler); + /** + * Gets information about the BaseDB-C@C VM cluster. Applies to Base Database Service on + * Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future getBaseccVmCluster( + GetBaseccVmClusterRequest request, + com.oracle.bmc.responses.AsyncHandler< + GetBaseccVmClusterRequest, GetBaseccVmClusterResponse> + handler); + + /** + * Gets information about a specified maintenance update package for a BaseDB-C@C VM cluster. + * Applies to Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future getBaseccVmClusterUpdate( + GetBaseccVmClusterUpdateRequest request, + com.oracle.bmc.responses.AsyncHandler< + GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse> + handler); + + /** + * Gets the maintenance update history details for the specified update history entry. Applies + * to Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future + getBaseccVmClusterUpdateHistoryEntry( + GetBaseccVmClusterUpdateHistoryEntryRequest request, + com.oracle.bmc.responses.AsyncHandler< + GetBaseccVmClusterUpdateHistoryEntryRequest, + GetBaseccVmClusterUpdateHistoryEntryResponse> + handler); + /** * Gets information about the specified Autonomous Exadata VM cluster in the Oracle cloud. For * Exadata Cloud@Custustomer systems, see {@link @@ -5106,6 +5211,59 @@ java.util.concurrent.Future listBackups( ListBackupsRequest request, com.oracle.bmc.responses.AsyncHandler handler); + /** + * Gets the history of the maintenance update actions performed on the specified BaseDB-C@C VM + * cluster. Applies to Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future + listBaseccVmClusterUpdateHistoryEntries( + ListBaseccVmClusterUpdateHistoryEntriesRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListBaseccVmClusterUpdateHistoryEntriesRequest, + ListBaseccVmClusterUpdateHistoryEntriesResponse> + handler); + + /** + * Lists the maintenance updates that can be applied to the specified BaseDB-C@C VM cluster. + * Applies to Base Database Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future listBaseccVmClusterUpdates( + ListBaseccVmClusterUpdatesRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListBaseccVmClusterUpdatesRequest, ListBaseccVmClusterUpdatesResponse> + handler); + + /** + * Lists the BaseDB-C@C VM clusters in the specified compartment. Applies to Base Database + * Service on Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future listBaseccVmClusters( + ListBaseccVmClustersRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListBaseccVmClustersRequest, ListBaseccVmClustersResponse> + handler); + /** * Gets the list of resource usage details for all the Cloud Autonomous Container Database in * the specified Cloud Autonomous Exadata VM cluster. @@ -6529,6 +6687,22 @@ java.util.concurrent.Future registerCloudVmC RegisterCloudVmClusterPkcsRequest, RegisterCloudVmClusterPkcsResponse> handler); + /** + * Install the PKCS11 driver for given keystore type + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future registerExadbVmClusterPkcs( + RegisterExadbVmClusterPkcsRequest request, + com.oracle.bmc.responses.AsyncHandler< + RegisterExadbVmClusterPkcsRequest, RegisterExadbVmClusterPkcsResponse> + handler); + /** * Reinstates a disabled standby Autonomous Container Database (ACD), identified by the * autonomousContainerDatabaseId parameter to an active standby ACD. For more information, see @@ -7478,6 +7652,23 @@ java.util.concurrent.Future unregisterClou UnregisterCloudVmClusterPkcsResponse> handler); + /** + * Uninstall the PKCS11 driver for given keystore type + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future unregisterExadbVmClusterPkcs( + UnregisterExadbVmClusterPkcsRequest request, + com.oracle.bmc.responses.AsyncHandler< + UnregisterExadbVmClusterPkcsRequest, + UnregisterExadbVmClusterPkcsResponse> + handler); + /** * Updates the advanced cluster file system resource. * @@ -7701,6 +7892,23 @@ java.util.concurrent.Future updateBackupDestina UpdateBackupDestinationRequest, UpdateBackupDestinationResponse> handler); + /** + * Updates the specified BaseDB-C@C VM cluster. Applies to Base Database Service on + * Cloud@Customer instances only. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future updateBaseccVmCluster( + UpdateBaseccVmClusterRequest request, + com.oracle.bmc.responses.AsyncHandler< + UpdateBaseccVmClusterRequest, UpdateBaseccVmClusterResponse> + handler); + /** * Updates the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata * Cloud@Customer systems, see {@link diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java index 9a08921cfcc..aa7461449a9 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseAsyncClient.java @@ -919,6 +919,47 @@ public java.util.concurrent.Future cancelExecutio .callAsync(handler); } + @Override + public java.util.concurrent.Future + changeBaseccVmClusterCompartment( + ChangeBaseccVmClusterCompartmentRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ChangeBaseccVmClusterCompartmentRequest, + ChangeBaseccVmClusterCompartmentResponse> + handler) { + Objects.requireNonNull( + request.getChangeBaseccVmClusterCompartmentDetails(), + "changeBaseccVmClusterCompartmentDetails is required"); + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, ChangeBaseccVmClusterCompartmentResponse::builder) + .logger(LOG, "changeBaseccVmClusterCompartment") + .serviceDetails( + "Database", + "ChangeBaseccVmClusterCompartment", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/ChangeBaseccVmClusterCompartment") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(ChangeBaseccVmClusterCompartmentRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("actions") + .appendPathParam("changeCompartment") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .hasBody() + .handleResponseHeaderString( + "opc-work-request-id", + ChangeBaseccVmClusterCompartmentResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", + ChangeBaseccVmClusterCompartmentResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future changeCloudAutonomousVmClusterCompartment( @@ -2922,6 +2963,42 @@ public java.util.concurrent.Future createBackup .callAsync(handler); } + @Override + public java.util.concurrent.Future createBaseccVmCluster( + CreateBaseccVmClusterRequest request, + final com.oracle.bmc.responses.AsyncHandler< + CreateBaseccVmClusterRequest, CreateBaseccVmClusterResponse> + handler) { + Objects.requireNonNull( + request.getCreateBaseccVmClusterDetails(), + "createBaseccVmClusterDetails is required"); + + return clientCall(request, CreateBaseccVmClusterResponse::builder) + .logger(LOG, "createBaseccVmCluster") + .serviceDetails( + "Database", + "CreateBaseccVmCluster", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/CreateBaseccVmCluster") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateBaseccVmClusterRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.database.model.BaseccVmCluster.class, + CreateBaseccVmClusterResponse.Builder::baseccVmCluster) + .handleResponseHeaderString( + "opc-work-request-id", + CreateBaseccVmClusterResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString("etag", CreateBaseccVmClusterResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", CreateBaseccVmClusterResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future createCloudAutonomousVmCluster( @@ -4340,6 +4417,37 @@ public java.util.concurrent.Future deleteBackup .callAsync(handler); } + @Override + public java.util.concurrent.Future deleteBaseccVmCluster( + DeleteBaseccVmClusterRequest request, + final com.oracle.bmc.responses.AsyncHandler< + DeleteBaseccVmClusterRequest, DeleteBaseccVmClusterResponse> + handler) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, DeleteBaseccVmClusterResponse::builder) + .logger(LOG, "deleteBaseccVmCluster") + .serviceDetails( + "Database", + "DeleteBaseccVmCluster", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/DeleteBaseccVmCluster") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteBaseccVmClusterRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleResponseHeaderString( + "opc-work-request-id", + DeleteBaseccVmClusterResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", DeleteBaseccVmClusterResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future deleteCloudAutonomousVmCluster( @@ -7642,6 +7750,112 @@ public java.util.concurrent.Future getBackupDestin .callAsync(handler); } + @Override + public java.util.concurrent.Future getBaseccVmCluster( + GetBaseccVmClusterRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetBaseccVmClusterRequest, GetBaseccVmClusterResponse> + handler) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, GetBaseccVmClusterResponse::builder) + .logger(LOG, "getBaseccVmCluster") + .serviceDetails( + "Database", + "GetBaseccVmCluster", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/GetBaseccVmCluster") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetBaseccVmClusterRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.database.model.BaseccVmCluster.class, + GetBaseccVmClusterResponse.Builder::baseccVmCluster) + .handleResponseHeaderString("etag", GetBaseccVmClusterResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", GetBaseccVmClusterResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future getBaseccVmClusterUpdate( + GetBaseccVmClusterUpdateRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse> + handler) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + Validate.notBlank(request.getUpdateId(), "updateId must not be blank"); + + return clientCall(request, GetBaseccVmClusterUpdateResponse::builder) + .logger(LOG, "getBaseccVmClusterUpdate") + .serviceDetails( + "Database", + "GetBaseccVmClusterUpdate", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdate/GetBaseccVmClusterUpdate") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetBaseccVmClusterUpdateRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("updates") + .appendPathParam(request.getUpdateId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.database.model.BaseccVmClusterUpdate.class, + GetBaseccVmClusterUpdateResponse.Builder::baseccVmClusterUpdate) + .handleResponseHeaderString( + "opc-request-id", GetBaseccVmClusterUpdateResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future + getBaseccVmClusterUpdateHistoryEntry( + GetBaseccVmClusterUpdateHistoryEntryRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetBaseccVmClusterUpdateHistoryEntryRequest, + GetBaseccVmClusterUpdateHistoryEntryResponse> + handler) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + Validate.notBlank( + request.getUpdateHistoryEntryId(), "updateHistoryEntryId must not be blank"); + + return clientCall(request, GetBaseccVmClusterUpdateHistoryEntryResponse::builder) + .logger(LOG, "getBaseccVmClusterUpdateHistoryEntry") + .serviceDetails( + "Database", + "GetBaseccVmClusterUpdateHistoryEntry", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdateHistoryEntry/GetBaseccVmClusterUpdateHistoryEntry") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetBaseccVmClusterUpdateHistoryEntryRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("updateHistoryEntries") + .appendPathParam(request.getUpdateHistoryEntryId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.class, + GetBaseccVmClusterUpdateHistoryEntryResponse.Builder + ::baseccVmClusterUpdateHistoryEntry) + .handleResponseHeaderString( + "etag", GetBaseccVmClusterUpdateHistoryEntryResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", + GetBaseccVmClusterUpdateHistoryEntryResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future getCloudAutonomousVmCluster( @@ -10797,6 +11011,127 @@ public java.util.concurrent.Future listBackups( .callAsync(handler); } + @Override + public java.util.concurrent.Future + listBaseccVmClusterUpdateHistoryEntries( + ListBaseccVmClusterUpdateHistoryEntriesRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListBaseccVmClusterUpdateHistoryEntriesRequest, + ListBaseccVmClusterUpdateHistoryEntriesResponse> + handler) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, ListBaseccVmClusterUpdateHistoryEntriesResponse::builder) + .logger(LOG, "listBaseccVmClusterUpdateHistoryEntries") + .serviceDetails( + "Database", + "ListBaseccVmClusterUpdateHistoryEntries", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdateHistoryEntry/ListBaseccVmClusterUpdateHistoryEntries") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListBaseccVmClusterUpdateHistoryEntriesRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("updateHistoryEntries") + .appendEnumQueryParam("updateType", request.getUpdateType()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBodyList( + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary + .class, + ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::items) + .handleResponseHeaderString( + "opc-request-id", + ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", + ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::opcNextPage) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future + listBaseccVmClusterUpdates( + ListBaseccVmClusterUpdatesRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListBaseccVmClusterUpdatesRequest, + ListBaseccVmClusterUpdatesResponse> + handler) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, ListBaseccVmClusterUpdatesResponse::builder) + .logger(LOG, "listBaseccVmClusterUpdates") + .serviceDetails( + "Database", + "ListBaseccVmClusterUpdates", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdate/ListBaseccVmClusterUpdates") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListBaseccVmClusterUpdatesRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("updates") + .appendEnumQueryParam("updateType", request.getUpdateType()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBodyList( + com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary.class, + ListBaseccVmClusterUpdatesResponse.Builder::items) + .handleResponseHeaderString( + "opc-request-id", ListBaseccVmClusterUpdatesResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListBaseccVmClusterUpdatesResponse.Builder::opcNextPage) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future listBaseccVmClusters( + ListBaseccVmClustersRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListBaseccVmClustersRequest, ListBaseccVmClustersResponse> + handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListBaseccVmClustersResponse::builder) + .logger(LOG, "listBaseccVmClusters") + .serviceDetails( + "Database", + "ListBaseccVmClusters", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/ListBaseccVmClusters") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListBaseccVmClustersRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("baseInfrastructureId", request.getBaseInfrastructureId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("availabilityDomain", request.getAvailabilityDomain()) + .appendQueryParam("displayName", request.getDisplayName()) + .appendEnumQueryParam("vmClusterType", request.getVmClusterType()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBodyList( + com.oracle.bmc.database.model.BaseccVmClusterSummary.class, + ListBaseccVmClustersResponse.Builder::items) + .handleResponseHeaderString( + "opc-request-id", ListBaseccVmClustersResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListBaseccVmClustersResponse.Builder::opcNextPage) + .callAsync(handler); + } + @Override public java.util.concurrent.Future listCloudAutonomousVmClusterAcdResourceUsage( @@ -12510,6 +12845,7 @@ public java.util.concurrent.Future listFlexComponent .appendPathParam("minorVersions") .appendQueryParam("availabilityDomain", request.getAvailabilityDomain()) .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("exadataInfrastructureId", request.getExadataInfrastructureId()) .appendEnumQueryParam("shapeFamily", request.getShapeFamily()) .appendQueryParam( "isGiVersionForProvisioning", request.getIsGiVersionForProvisioning()) @@ -14091,6 +14427,46 @@ public java.util.concurrent.Future refreshPlug .callAsync(handler); } + @Override + public java.util.concurrent.Future + registerExadbVmClusterPkcs( + RegisterExadbVmClusterPkcsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + RegisterExadbVmClusterPkcsRequest, + RegisterExadbVmClusterPkcsResponse> + handler) { + + Validate.notBlank(request.getExadbVmClusterId(), "exadbVmClusterId must not be blank"); + Objects.requireNonNull( + request.getRegisterExadbVmClusterPkcsDetails(), + "registerExadbVmClusterPkcsDetails is required"); + + return clientCall(request, RegisterExadbVmClusterPkcsResponse::builder) + .logger(LOG, "registerExadbVmClusterPkcs") + .serviceDetails( + "Database", + "RegisterExadbVmClusterPkcs", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/ExadbVmCluster/RegisterExadbVmClusterPkcs") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(RegisterExadbVmClusterPkcsRequest::builder) + .basePath("/20160918") + .appendPathParam("exadbVmClusters") + .appendPathParam(request.getExadbVmClusterId()) + .appendPathParam("actions") + .appendPathParam("registerPkcs") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .hasBody() + .handleResponseHeaderString( + "opc-work-request-id", + RegisterExadbVmClusterPkcsResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", RegisterExadbVmClusterPkcsResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future reinstateAutonomousContainerDatabaseDataguard( @@ -16225,6 +16601,47 @@ public java.util.concurrent.Future unmountDbnodeS .callAsync(handler); } + @Override + public java.util.concurrent.Future + unregisterExadbVmClusterPkcs( + UnregisterExadbVmClusterPkcsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UnregisterExadbVmClusterPkcsRequest, + UnregisterExadbVmClusterPkcsResponse> + handler) { + + Validate.notBlank(request.getExadbVmClusterId(), "exadbVmClusterId must not be blank"); + Objects.requireNonNull( + request.getUnregisterExadbVmClusterPkcsDetails(), + "unregisterExadbVmClusterPkcsDetails is required"); + + return clientCall(request, UnregisterExadbVmClusterPkcsResponse::builder) + .logger(LOG, "unregisterExadbVmClusterPkcs") + .serviceDetails( + "Database", + "UnregisterExadbVmClusterPkcs", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/ExadbVmCluster/UnregisterExadbVmClusterPkcs") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(UnregisterExadbVmClusterPkcsRequest::builder) + .basePath("/20160918") + .appendPathParam("exadbVmClusters") + .appendPathParam(request.getExadbVmClusterId()) + .appendPathParam("actions") + .appendPathParam("unregisterPkcs") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .hasBody() + .handleResponseHeaderString( + "opc-work-request-id", + UnregisterExadbVmClusterPkcsResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", + UnregisterExadbVmClusterPkcsResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future updateAdvancedClusterFileSystem( @@ -16735,6 +17152,45 @@ public java.util.concurrent.Future updateBackup .callAsync(handler); } + @Override + public java.util.concurrent.Future updateBaseccVmCluster( + UpdateBaseccVmClusterRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UpdateBaseccVmClusterRequest, UpdateBaseccVmClusterResponse> + handler) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + Objects.requireNonNull( + request.getUpdateBaseccVmClusterDetails(), + "updateBaseccVmClusterDetails is required"); + + return clientCall(request, UpdateBaseccVmClusterResponse::builder) + .logger(LOG, "updateBaseccVmCluster") + .serviceDetails( + "Database", + "UpdateBaseccVmCluster", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/UpdateBaseccVmCluster") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateBaseccVmClusterRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.database.model.BaseccVmCluster.class, + UpdateBaseccVmClusterResponse.Builder::baseccVmCluster) + .handleResponseHeaderString( + "opc-work-request-id", + UpdateBaseccVmClusterResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString("etag", UpdateBaseccVmClusterResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", UpdateBaseccVmClusterResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future updateCloudAutonomousVmCluster( diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java index d98471219ff..ce468dbaf94 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseClient.java @@ -866,6 +866,42 @@ public ChangeBackupDestinationCompartmentResponse changeBackupDestinationCompart .callSync(); } + @Override + public ChangeBaseccVmClusterCompartmentResponse changeBaseccVmClusterCompartment( + ChangeBaseccVmClusterCompartmentRequest request) { + Objects.requireNonNull( + request.getChangeBaseccVmClusterCompartmentDetails(), + "changeBaseccVmClusterCompartmentDetails is required"); + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, ChangeBaseccVmClusterCompartmentResponse::builder) + .logger(LOG, "changeBaseccVmClusterCompartment") + .serviceDetails( + "Database", + "ChangeBaseccVmClusterCompartment", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/ChangeBaseccVmClusterCompartment") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(ChangeBaseccVmClusterCompartmentRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("actions") + .appendPathParam("changeCompartment") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .hasBody() + .handleResponseHeaderString( + "opc-work-request-id", + ChangeBaseccVmClusterCompartmentResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", + ChangeBaseccVmClusterCompartmentResponse.Builder::opcRequestId) + .callSync(); + } + @Override public ChangeCloudAutonomousVmClusterCompartmentResponse changeCloudAutonomousVmClusterCompartment( @@ -2662,6 +2698,39 @@ public CreateBackupDestinationResponse createBackupDestination( .callSync(); } + @Override + public CreateBaseccVmClusterResponse createBaseccVmCluster( + CreateBaseccVmClusterRequest request) { + Objects.requireNonNull( + request.getCreateBaseccVmClusterDetails(), + "createBaseccVmClusterDetails is required"); + + return clientCall(request, CreateBaseccVmClusterResponse::builder) + .logger(LOG, "createBaseccVmCluster") + .serviceDetails( + "Database", + "CreateBaseccVmCluster", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/CreateBaseccVmCluster") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateBaseccVmClusterRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.database.model.BaseccVmCluster.class, + CreateBaseccVmClusterResponse.Builder::baseccVmCluster) + .handleResponseHeaderString( + "opc-work-request-id", + CreateBaseccVmClusterResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString("etag", CreateBaseccVmClusterResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", CreateBaseccVmClusterResponse.Builder::opcRequestId) + .callSync(); + } + @Override public CreateCloudAutonomousVmClusterResponse createCloudAutonomousVmCluster( CreateCloudAutonomousVmClusterRequest request) { @@ -3925,6 +3994,34 @@ public DeleteBackupDestinationResponse deleteBackupDestination( .callSync(); } + @Override + public DeleteBaseccVmClusterResponse deleteBaseccVmCluster( + DeleteBaseccVmClusterRequest request) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, DeleteBaseccVmClusterResponse::builder) + .logger(LOG, "deleteBaseccVmCluster") + .serviceDetails( + "Database", + "DeleteBaseccVmCluster", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/DeleteBaseccVmCluster") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteBaseccVmClusterRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleResponseHeaderString( + "opc-work-request-id", + DeleteBaseccVmClusterResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", DeleteBaseccVmClusterResponse.Builder::opcRequestId) + .callSync(); + } + @Override public DeleteCloudAutonomousVmClusterResponse deleteCloudAutonomousVmCluster( DeleteCloudAutonomousVmClusterRequest request) { @@ -6869,6 +6966,100 @@ public GetBackupDestinationResponse getBackupDestination(GetBackupDestinationReq .callSync(); } + @Override + public GetBaseccVmClusterResponse getBaseccVmCluster(GetBaseccVmClusterRequest request) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, GetBaseccVmClusterResponse::builder) + .logger(LOG, "getBaseccVmCluster") + .serviceDetails( + "Database", + "GetBaseccVmCluster", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/GetBaseccVmCluster") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetBaseccVmClusterRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.database.model.BaseccVmCluster.class, + GetBaseccVmClusterResponse.Builder::baseccVmCluster) + .handleResponseHeaderString("etag", GetBaseccVmClusterResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", GetBaseccVmClusterResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public GetBaseccVmClusterUpdateResponse getBaseccVmClusterUpdate( + GetBaseccVmClusterUpdateRequest request) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + Validate.notBlank(request.getUpdateId(), "updateId must not be blank"); + + return clientCall(request, GetBaseccVmClusterUpdateResponse::builder) + .logger(LOG, "getBaseccVmClusterUpdate") + .serviceDetails( + "Database", + "GetBaseccVmClusterUpdate", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdate/GetBaseccVmClusterUpdate") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetBaseccVmClusterUpdateRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("updates") + .appendPathParam(request.getUpdateId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.database.model.BaseccVmClusterUpdate.class, + GetBaseccVmClusterUpdateResponse.Builder::baseccVmClusterUpdate) + .handleResponseHeaderString( + "opc-request-id", GetBaseccVmClusterUpdateResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public GetBaseccVmClusterUpdateHistoryEntryResponse getBaseccVmClusterUpdateHistoryEntry( + GetBaseccVmClusterUpdateHistoryEntryRequest request) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + Validate.notBlank( + request.getUpdateHistoryEntryId(), "updateHistoryEntryId must not be blank"); + + return clientCall(request, GetBaseccVmClusterUpdateHistoryEntryResponse::builder) + .logger(LOG, "getBaseccVmClusterUpdateHistoryEntry") + .serviceDetails( + "Database", + "GetBaseccVmClusterUpdateHistoryEntry", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdateHistoryEntry/GetBaseccVmClusterUpdateHistoryEntry") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetBaseccVmClusterUpdateHistoryEntryRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("updateHistoryEntries") + .appendPathParam(request.getUpdateHistoryEntryId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.class, + GetBaseccVmClusterUpdateHistoryEntryResponse.Builder + ::baseccVmClusterUpdateHistoryEntry) + .handleResponseHeaderString( + "etag", GetBaseccVmClusterUpdateHistoryEntryResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", + GetBaseccVmClusterUpdateHistoryEntryResponse.Builder::opcRequestId) + .callSync(); + } + @Override public GetCloudAutonomousVmClusterResponse getCloudAutonomousVmCluster( GetCloudAutonomousVmClusterRequest request) { @@ -9665,6 +9856,113 @@ public ListBackupsResponse listBackups(ListBackupsRequest request) { .callSync(); } + @Override + public ListBaseccVmClusterUpdateHistoryEntriesResponse listBaseccVmClusterUpdateHistoryEntries( + ListBaseccVmClusterUpdateHistoryEntriesRequest request) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, ListBaseccVmClusterUpdateHistoryEntriesResponse::builder) + .logger(LOG, "listBaseccVmClusterUpdateHistoryEntries") + .serviceDetails( + "Database", + "ListBaseccVmClusterUpdateHistoryEntries", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdateHistoryEntry/ListBaseccVmClusterUpdateHistoryEntries") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListBaseccVmClusterUpdateHistoryEntriesRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("updateHistoryEntries") + .appendEnumQueryParam("updateType", request.getUpdateType()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBodyList( + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary + .class, + ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::items) + .handleResponseHeaderString( + "opc-request-id", + ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", + ListBaseccVmClusterUpdateHistoryEntriesResponse.Builder::opcNextPage) + .callSync(); + } + + @Override + public ListBaseccVmClusterUpdatesResponse listBaseccVmClusterUpdates( + ListBaseccVmClusterUpdatesRequest request) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + + return clientCall(request, ListBaseccVmClusterUpdatesResponse::builder) + .logger(LOG, "listBaseccVmClusterUpdates") + .serviceDetails( + "Database", + "ListBaseccVmClusterUpdates", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmClusterUpdate/ListBaseccVmClusterUpdates") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListBaseccVmClusterUpdatesRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .appendPathParam("updates") + .appendEnumQueryParam("updateType", request.getUpdateType()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBodyList( + com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary.class, + ListBaseccVmClusterUpdatesResponse.Builder::items) + .handleResponseHeaderString( + "opc-request-id", ListBaseccVmClusterUpdatesResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListBaseccVmClusterUpdatesResponse.Builder::opcNextPage) + .callSync(); + } + + @Override + public ListBaseccVmClustersResponse listBaseccVmClusters(ListBaseccVmClustersRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListBaseccVmClustersResponse::builder) + .logger(LOG, "listBaseccVmClusters") + .serviceDetails( + "Database", + "ListBaseccVmClusters", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/ListBaseccVmClusters") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListBaseccVmClustersRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("baseInfrastructureId", request.getBaseInfrastructureId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("availabilityDomain", request.getAvailabilityDomain()) + .appendQueryParam("displayName", request.getDisplayName()) + .appendEnumQueryParam("vmClusterType", request.getVmClusterType()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBodyList( + com.oracle.bmc.database.model.BaseccVmClusterSummary.class, + ListBaseccVmClustersResponse.Builder::items) + .handleResponseHeaderString( + "opc-request-id", ListBaseccVmClustersResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListBaseccVmClustersResponse.Builder::opcNextPage) + .callSync(); + } + @Override public ListCloudAutonomousVmClusterAcdResourceUsageResponse listCloudAutonomousVmClusterAcdResourceUsage( @@ -11193,6 +11491,7 @@ public ListGiVersionMinorVersionsResponse listGiVersionMinorVersions( .appendPathParam("minorVersions") .appendQueryParam("availabilityDomain", request.getAvailabilityDomain()) .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("exadataInfrastructureId", request.getExadataInfrastructureId()) .appendEnumQueryParam("shapeFamily", request.getShapeFamily()) .appendQueryParam( "isGiVersionForProvisioning", request.getIsGiVersionForProvisioning()) @@ -12618,6 +12917,41 @@ public RegisterCloudVmClusterPkcsResponse registerCloudVmClusterPkcs( .callSync(); } + @Override + public RegisterExadbVmClusterPkcsResponse registerExadbVmClusterPkcs( + RegisterExadbVmClusterPkcsRequest request) { + + Validate.notBlank(request.getExadbVmClusterId(), "exadbVmClusterId must not be blank"); + Objects.requireNonNull( + request.getRegisterExadbVmClusterPkcsDetails(), + "registerExadbVmClusterPkcsDetails is required"); + + return clientCall(request, RegisterExadbVmClusterPkcsResponse::builder) + .logger(LOG, "registerExadbVmClusterPkcs") + .serviceDetails( + "Database", + "RegisterExadbVmClusterPkcs", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/ExadbVmCluster/RegisterExadbVmClusterPkcs") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(RegisterExadbVmClusterPkcsRequest::builder) + .basePath("/20160918") + .appendPathParam("exadbVmClusters") + .appendPathParam(request.getExadbVmClusterId()) + .appendPathParam("actions") + .appendPathParam("registerPkcs") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .hasBody() + .handleResponseHeaderString( + "opc-work-request-id", + RegisterExadbVmClusterPkcsResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", RegisterExadbVmClusterPkcsResponse.Builder::opcRequestId) + .callSync(); + } + @Override public ReinstateAutonomousContainerDatabaseDataguardResponse reinstateAutonomousContainerDatabaseDataguard( @@ -14537,6 +14871,42 @@ public UnregisterCloudVmClusterPkcsResponse unregisterCloudVmClusterPkcs( .callSync(); } + @Override + public UnregisterExadbVmClusterPkcsResponse unregisterExadbVmClusterPkcs( + UnregisterExadbVmClusterPkcsRequest request) { + + Validate.notBlank(request.getExadbVmClusterId(), "exadbVmClusterId must not be blank"); + Objects.requireNonNull( + request.getUnregisterExadbVmClusterPkcsDetails(), + "unregisterExadbVmClusterPkcsDetails is required"); + + return clientCall(request, UnregisterExadbVmClusterPkcsResponse::builder) + .logger(LOG, "unregisterExadbVmClusterPkcs") + .serviceDetails( + "Database", + "UnregisterExadbVmClusterPkcs", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/ExadbVmCluster/UnregisterExadbVmClusterPkcs") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(UnregisterExadbVmClusterPkcsRequest::builder) + .basePath("/20160918") + .appendPathParam("exadbVmClusters") + .appendPathParam(request.getExadbVmClusterId()) + .appendPathParam("actions") + .appendPathParam("unregisterPkcs") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("if-match", request.getIfMatch()) + .hasBody() + .handleResponseHeaderString( + "opc-work-request-id", + UnregisterExadbVmClusterPkcsResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString( + "opc-request-id", + UnregisterExadbVmClusterPkcsResponse.Builder::opcRequestId) + .callSync(); + } + @Override public UpdateAdvancedClusterFileSystemResponse updateAdvancedClusterFileSystem( UpdateAdvancedClusterFileSystemRequest request) { @@ -14995,6 +15365,42 @@ public UpdateBackupDestinationResponse updateBackupDestination( .callSync(); } + @Override + public UpdateBaseccVmClusterResponse updateBaseccVmCluster( + UpdateBaseccVmClusterRequest request) { + + Validate.notBlank(request.getBaseccVmClusterId(), "baseccVmClusterId must not be blank"); + Objects.requireNonNull( + request.getUpdateBaseccVmClusterDetails(), + "updateBaseccVmClusterDetails is required"); + + return clientCall(request, UpdateBaseccVmClusterResponse::builder) + .logger(LOG, "updateBaseccVmCluster") + .serviceDetails( + "Database", + "UpdateBaseccVmCluster", + "https://docs.oracle.com/iaas/api/#/en/database/20160918/BaseccVmCluster/UpdateBaseccVmCluster") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateBaseccVmClusterRequest::builder) + .basePath("/20160918") + .appendPathParam("baseccVmClusters") + .appendPathParam(request.getBaseccVmClusterId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.database.model.BaseccVmCluster.class, + UpdateBaseccVmClusterResponse.Builder::baseccVmCluster) + .handleResponseHeaderString( + "opc-work-request-id", + UpdateBaseccVmClusterResponse.Builder::opcWorkRequestId) + .handleResponseHeaderString("etag", UpdateBaseccVmClusterResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", UpdateBaseccVmClusterResponse.Builder::opcRequestId) + .callSync(); + } + @Override public UpdateCloudAutonomousVmClusterResponse updateCloudAutonomousVmCluster( UpdateCloudAutonomousVmClusterRequest request) { diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabasePaginators.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabasePaginators.java index c9c7fa449f2..b3a28b2aaca 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabasePaginators.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabasePaginators.java @@ -2894,6 +2894,385 @@ public java.util.List apply( }); } + /** + * Creates a new iterable which will iterate over the responses received from the + * listBaseccVmClusterUpdateHistoryEntries operation. This iterable will fetch more data from + * the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses + * received from the service. + */ + public Iterable + listBaseccVmClusterUpdateHistoryEntriesResponseIterator( + final ListBaseccVmClusterUpdateHistoryEntriesRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder, + ListBaseccVmClusterUpdateHistoryEntriesRequest, + ListBaseccVmClusterUpdateHistoryEntriesResponse>( + new java.util.function.Supplier< + ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder>() { + @Override + public ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder get() { + return ListBaseccVmClusterUpdateHistoryEntriesRequest.builder() + .copy(request); + } + }, + new java.util.function.Function< + ListBaseccVmClusterUpdateHistoryEntriesResponse, String>() { + @Override + public String apply(ListBaseccVmClusterUpdateHistoryEntriesResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder>, + ListBaseccVmClusterUpdateHistoryEntriesRequest>() { + @Override + public ListBaseccVmClusterUpdateHistoryEntriesRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListBaseccVmClusterUpdateHistoryEntriesRequest, + ListBaseccVmClusterUpdateHistoryEntriesResponse>() { + @Override + public ListBaseccVmClusterUpdateHistoryEntriesResponse apply( + ListBaseccVmClusterUpdateHistoryEntriesRequest request) { + return client.listBaseccVmClusterUpdateHistoryEntries(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary} objects contained in + * responses from the listBaseccVmClusterUpdateHistoryEntries operation. This iterable will + * fetch more data from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link + * com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary} objects contained + * in responses received from the service. + */ + public Iterable + listBaseccVmClusterUpdateHistoryEntriesRecordIterator( + final ListBaseccVmClusterUpdateHistoryEntriesRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder, + ListBaseccVmClusterUpdateHistoryEntriesRequest, + ListBaseccVmClusterUpdateHistoryEntriesResponse, + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary>( + new java.util.function.Supplier< + ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder>() { + @Override + public ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder get() { + return ListBaseccVmClusterUpdateHistoryEntriesRequest.builder() + .copy(request); + } + }, + new java.util.function.Function< + ListBaseccVmClusterUpdateHistoryEntriesResponse, String>() { + @Override + public String apply(ListBaseccVmClusterUpdateHistoryEntriesResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder>, + ListBaseccVmClusterUpdateHistoryEntriesRequest>() { + @Override + public ListBaseccVmClusterUpdateHistoryEntriesRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClusterUpdateHistoryEntriesRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListBaseccVmClusterUpdateHistoryEntriesRequest, + ListBaseccVmClusterUpdateHistoryEntriesResponse>() { + @Override + public ListBaseccVmClusterUpdateHistoryEntriesResponse apply( + ListBaseccVmClusterUpdateHistoryEntriesRequest request) { + return client.listBaseccVmClusterUpdateHistoryEntries(request); + } + }, + new java.util.function.Function< + ListBaseccVmClusterUpdateHistoryEntriesResponse, + java.util.List< + com.oracle.bmc.database.model + .BaseccVmClusterUpdateHistoryEntrySummary>>() { + @Override + public java.util.List< + com.oracle.bmc.database.model + .BaseccVmClusterUpdateHistoryEntrySummary> + apply(ListBaseccVmClusterUpdateHistoryEntriesResponse response) { + return response.getItems(); + } + }); + } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listBaseccVmClusterUpdates operation. This iterable will fetch more data from the server as + * needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses + * received from the service. + */ + public Iterable listBaseccVmClusterUpdatesResponseIterator( + final ListBaseccVmClusterUpdatesRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListBaseccVmClusterUpdatesRequest.Builder, + ListBaseccVmClusterUpdatesRequest, + ListBaseccVmClusterUpdatesResponse>( + new java.util.function.Supplier() { + @Override + public ListBaseccVmClusterUpdatesRequest.Builder get() { + return ListBaseccVmClusterUpdatesRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListBaseccVmClusterUpdatesResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClusterUpdatesRequest.Builder>, + ListBaseccVmClusterUpdatesRequest>() { + @Override + public ListBaseccVmClusterUpdatesRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClusterUpdatesRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListBaseccVmClusterUpdatesRequest, ListBaseccVmClusterUpdatesResponse>() { + @Override + public ListBaseccVmClusterUpdatesResponse apply( + ListBaseccVmClusterUpdatesRequest request) { + return client.listBaseccVmClusterUpdates(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary} objects contained in responses + * from the listBaseccVmClusterUpdates operation. This iterable will fetch more data from the + * server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link + * com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary} objects contained in + * responses received from the service. + */ + public Iterable + listBaseccVmClusterUpdatesRecordIterator( + final ListBaseccVmClusterUpdatesRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListBaseccVmClusterUpdatesRequest.Builder, + ListBaseccVmClusterUpdatesRequest, + ListBaseccVmClusterUpdatesResponse, + com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary>( + new java.util.function.Supplier() { + @Override + public ListBaseccVmClusterUpdatesRequest.Builder get() { + return ListBaseccVmClusterUpdatesRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListBaseccVmClusterUpdatesResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClusterUpdatesRequest.Builder>, + ListBaseccVmClusterUpdatesRequest>() { + @Override + public ListBaseccVmClusterUpdatesRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClusterUpdatesRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListBaseccVmClusterUpdatesRequest, ListBaseccVmClusterUpdatesResponse>() { + @Override + public ListBaseccVmClusterUpdatesResponse apply( + ListBaseccVmClusterUpdatesRequest request) { + return client.listBaseccVmClusterUpdates(request); + } + }, + new java.util.function.Function< + ListBaseccVmClusterUpdatesResponse, + java.util.List< + com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary>>() { + @Override + public java.util.List< + com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary> + apply(ListBaseccVmClusterUpdatesResponse response) { + return response.getItems(); + } + }); + } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listBaseccVmClusters operation. This iterable will fetch more data from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the responses + * received from the service. + */ + public Iterable listBaseccVmClustersResponseIterator( + final ListBaseccVmClustersRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListBaseccVmClustersRequest.Builder, + ListBaseccVmClustersRequest, + ListBaseccVmClustersResponse>( + new java.util.function.Supplier() { + @Override + public ListBaseccVmClustersRequest.Builder get() { + return ListBaseccVmClustersRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListBaseccVmClustersResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClustersRequest.Builder>, + ListBaseccVmClustersRequest>() { + @Override + public ListBaseccVmClustersRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClustersRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListBaseccVmClustersRequest, ListBaseccVmClustersResponse>() { + @Override + public ListBaseccVmClustersResponse apply(ListBaseccVmClustersRequest request) { + return client.listBaseccVmClusters(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.database.model.BaseccVmClusterSummary} objects contained in responses from the + * listBaseccVmClusters operation. This iterable will fetch more data from the server as needed. + * + * @param request a request which can be sent to the service operation + * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link + * com.oracle.bmc.database.model.BaseccVmClusterSummary} objects contained in responses + * received from the service. + */ + public Iterable + listBaseccVmClustersRecordIterator(final ListBaseccVmClustersRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListBaseccVmClustersRequest.Builder, + ListBaseccVmClustersRequest, + ListBaseccVmClustersResponse, + com.oracle.bmc.database.model.BaseccVmClusterSummary>( + new java.util.function.Supplier() { + @Override + public ListBaseccVmClustersRequest.Builder get() { + return ListBaseccVmClustersRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListBaseccVmClustersResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClustersRequest.Builder>, + ListBaseccVmClustersRequest>() { + @Override + public ListBaseccVmClustersRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListBaseccVmClustersRequest.Builder> + input) { + if (input.getNextPageToken() == null) { + return input.getRequestBuilder().build(); + } else { + return input.getRequestBuilder() + .page(input.getNextPageToken().orElse(null)) + .build(); + } + } + }, + new java.util.function.Function< + ListBaseccVmClustersRequest, ListBaseccVmClustersResponse>() { + @Override + public ListBaseccVmClustersResponse apply(ListBaseccVmClustersRequest request) { + return client.listBaseccVmClusters(request); + } + }, + new java.util.function.Function< + ListBaseccVmClustersResponse, + java.util.List>() { + @Override + public java.util.List + apply(ListBaseccVmClustersResponse response) { + return response.getItems(); + } + }); + } + /** * Creates a new iterable which will iterate over the responses received from the * listCloudAutonomousVmClusterAcdResourceUsage operation. This iterable will fetch more data diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java index 55f68786bb1..d7dbf89b405 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/DatabaseWaiters.java @@ -1214,6 +1214,71 @@ public ChangeBackupDestinationCompartmentResponse call() throws Exception { request); } + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + ChangeBaseccVmClusterCompartmentRequest, + ChangeBaseccVmClusterCompartmentResponse> + forChangeBaseccVmClusterCompartment(ChangeBaseccVmClusterCompartmentRequest request) { + return forChangeBaseccVmClusterCompartment( + request, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_TERMINATION_STRATEGY, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_DELAY_STRATEGY); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + ChangeBaseccVmClusterCompartmentRequest, + ChangeBaseccVmClusterCompartmentResponse> + forChangeBaseccVmClusterCompartment( + ChangeBaseccVmClusterCompartmentRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + if (workRequestClient == null) { + throw new IllegalStateException( + "A WorkRequestClient must be supplied to this waiter for this operation"); + } + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + new java.util.concurrent.Callable() { + @Override + public ChangeBaseccVmClusterCompartmentResponse call() throws Exception { + final ChangeBaseccVmClusterCompartmentResponse response = + client.changeBaseccVmClusterCompartment(request); + + if (response.getOpcWorkRequestId() != null) { + final com.oracle.bmc.workrequests.requests.GetWorkRequestRequest + getWorkRequestRequest = + com.oracle.bmc.workrequests.requests + .GetWorkRequestRequest.builder() + .workRequestId(response.getOpcWorkRequestId()) + .build(); + workRequestClient + .getWaiters() + .forWorkRequest( + getWorkRequestRequest, + terminationStrategy, + delayStrategy) + .execute(); + } + return response; + } + }, + request); + } + /** * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. * @@ -4259,6 +4324,67 @@ public CreateBackupResponse call() throws Exception { request); } + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forCreateBaseccVmCluster(CreateBaseccVmClusterRequest request) { + return forCreateBaseccVmCluster( + request, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_TERMINATION_STRATEGY, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_DELAY_STRATEGY); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forCreateBaseccVmCluster( + CreateBaseccVmClusterRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + if (workRequestClient == null) { + throw new IllegalStateException( + "A WorkRequestClient must be supplied to this waiter for this operation"); + } + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + new java.util.concurrent.Callable() { + @Override + public CreateBaseccVmClusterResponse call() throws Exception { + final CreateBaseccVmClusterResponse response = + client.createBaseccVmCluster(request); + + if (response.getOpcWorkRequestId() != null) { + final com.oracle.bmc.workrequests.requests.GetWorkRequestRequest + getWorkRequestRequest = + com.oracle.bmc.workrequests.requests + .GetWorkRequestRequest.builder() + .workRequestId(response.getOpcWorkRequestId()) + .build(); + workRequestClient + .getWaiters() + .forWorkRequest( + getWorkRequestRequest, + terminationStrategy, + delayStrategy) + .execute(); + } + return response; + } + }, + request); + } + /** * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. * @@ -6499,6 +6625,67 @@ public DeleteBackupResponse call() throws Exception { request); } + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forDeleteBaseccVmCluster(DeleteBaseccVmClusterRequest request) { + return forDeleteBaseccVmCluster( + request, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_TERMINATION_STRATEGY, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_DELAY_STRATEGY); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forDeleteBaseccVmCluster( + DeleteBaseccVmClusterRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + if (workRequestClient == null) { + throw new IllegalStateException( + "A WorkRequestClient must be supplied to this waiter for this operation"); + } + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + new java.util.concurrent.Callable() { + @Override + public DeleteBaseccVmClusterResponse call() throws Exception { + final DeleteBaseccVmClusterResponse response = + client.deleteBaseccVmCluster(request); + + if (response.getOpcWorkRequestId() != null) { + final com.oracle.bmc.workrequests.requests.GetWorkRequestRequest + getWorkRequestRequest = + com.oracle.bmc.workrequests.requests + .GetWorkRequestRequest.builder() + .workRequestId(response.getOpcWorkRequestId()) + .build(); + workRequestClient + .getWaiters() + .forWorkRequest( + getWorkRequestRequest, + terminationStrategy, + delayStrategy) + .execute(); + } + return response; + } + }, + request); + } + /** * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. * @@ -11883,18 +12070,16 @@ public boolean test(GetBackupDestinationResponse response) { * waiter will return once the resource reaches any of the provided states * @return a new {@code Waiter} instance */ - public com.oracle.bmc.waiter.Waiter< - GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse> - forCloudAutonomousVmCluster( - GetCloudAutonomousVmClusterRequest request, - com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState... - targetStates) { + public com.oracle.bmc.waiter.Waiter + forBaseccVmCluster( + GetBaseccVmClusterRequest request, + com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState... targetStates) { com.oracle.bmc.util.internal.Validate.notEmpty( targetStates, "At least one targetState must be provided"); com.oracle.bmc.util.internal.Validate.noNullElements( targetStates, "Null targetState values are not permitted"); - return forCloudAutonomousVmCluster( + return forBaseccVmCluster( com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates); } @@ -11907,18 +12092,16 @@ public boolean test(GetBackupDestinationResponse response) { * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use * @return a new {@code com.oracle.bmc.waiter.Waiter} instance */ - public com.oracle.bmc.waiter.Waiter< - GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse> - forCloudAutonomousVmCluster( - GetCloudAutonomousVmClusterRequest request, - com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState - targetState, + public com.oracle.bmc.waiter.Waiter + forBaseccVmCluster( + GetBaseccVmClusterRequest request, + com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState targetState, com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, com.oracle.bmc.waiter.DelayStrategy delayStrategy) { com.oracle.bmc.util.internal.Validate.notNull( targetState, "The targetState cannot be null"); - return forCloudAutonomousVmCluster( + return forBaseccVmCluster( com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), request, targetState); @@ -11934,34 +12117,31 @@ public boolean test(GetBackupDestinationResponse response) { * reaches any of the provided states * @return a new {@code com.oracle.bmc.waiter.Waiter} instance */ - public com.oracle.bmc.waiter.Waiter< - GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse> - forCloudAutonomousVmCluster( - GetCloudAutonomousVmClusterRequest request, + public com.oracle.bmc.waiter.Waiter + forBaseccVmCluster( + GetBaseccVmClusterRequest request, com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, com.oracle.bmc.waiter.DelayStrategy delayStrategy, - com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState... - targetStates) { + com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState... targetStates) { com.oracle.bmc.util.internal.Validate.notEmpty( targetStates, "At least one target state must be provided"); com.oracle.bmc.util.internal.Validate.noNullElements( targetStates, "Null target states are not permitted"); - return forCloudAutonomousVmCluster( + return forBaseccVmCluster( com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), request, targetStates); } - // Helper method to create a new Waiter for CloudAutonomousVmCluster. - private com.oracle.bmc.waiter.Waiter< - GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse> - forCloudAutonomousVmCluster( + // Helper method to create a new Waiter for BaseccVmCluster. + private com.oracle.bmc.waiter.Waiter + forBaseccVmCluster( com.oracle.bmc.waiter.BmcGenericWaiter waiter, - final GetCloudAutonomousVmClusterRequest request, - final com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState... + final GetBaseccVmClusterRequest request, + final com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState... targetStates) { - final java.util.Set + final java.util.Set targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates)); return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( @@ -11969,24 +12149,23 @@ public boolean test(GetBackupDestinationResponse response) { waiter.toCallable( () -> request, new java.util.function.Function< - GetCloudAutonomousVmClusterRequest, - GetCloudAutonomousVmClusterResponse>() { + GetBaseccVmClusterRequest, GetBaseccVmClusterResponse>() { @Override - public GetCloudAutonomousVmClusterResponse apply( - GetCloudAutonomousVmClusterRequest request) { - return client.getCloudAutonomousVmCluster(request); + public GetBaseccVmClusterResponse apply( + GetBaseccVmClusterRequest request) { + return client.getBaseccVmCluster(request); } }, - new java.util.function.Predicate() { + new java.util.function.Predicate() { @Override - public boolean test(GetCloudAutonomousVmClusterResponse response) { + public boolean test(GetBaseccVmClusterResponse response) { return targetStatesSet.contains( - response.getCloudAutonomousVmCluster().getLifecycleState()); + response.getBaseccVmCluster().getLifecycleState()); } }, targetStatesSet.contains( - com.oracle.bmc.database.model.CloudAutonomousVmCluster - .LifecycleState.Terminated)), + com.oracle.bmc.database.model.BaseccVmCluster.LifecycleState + .Terminated)), request); } @@ -11999,17 +12178,17 @@ public boolean test(GetCloudAutonomousVmClusterResponse response) { * @return a new {@code Waiter} instance */ public com.oracle.bmc.waiter.Waiter< - GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse> - forCloudExadataInfrastructure( - GetCloudExadataInfrastructureRequest request, - com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState... + GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse> + forBaseccVmClusterUpdate( + GetBaseccVmClusterUpdateRequest request, + com.oracle.bmc.database.model.BaseccVmClusterUpdate.LifecycleState... targetStates) { com.oracle.bmc.util.internal.Validate.notEmpty( targetStates, "At least one targetState must be provided"); com.oracle.bmc.util.internal.Validate.noNullElements( targetStates, "Null targetState values are not permitted"); - return forCloudExadataInfrastructure( + return forBaseccVmClusterUpdate( com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates); } @@ -12023,17 +12202,16 @@ public boolean test(GetCloudAutonomousVmClusterResponse response) { * @return a new {@code com.oracle.bmc.waiter.Waiter} instance */ public com.oracle.bmc.waiter.Waiter< - GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse> - forCloudExadataInfrastructure( - GetCloudExadataInfrastructureRequest request, - com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState - targetState, + GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse> + forBaseccVmClusterUpdate( + GetBaseccVmClusterUpdateRequest request, + com.oracle.bmc.database.model.BaseccVmClusterUpdate.LifecycleState targetState, com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, com.oracle.bmc.waiter.DelayStrategy delayStrategy) { com.oracle.bmc.util.internal.Validate.notNull( targetState, "The targetState cannot be null"); - return forCloudExadataInfrastructure( + return forBaseccVmClusterUpdate( com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), request, targetState); @@ -12050,33 +12228,33 @@ public boolean test(GetCloudAutonomousVmClusterResponse response) { * @return a new {@code com.oracle.bmc.waiter.Waiter} instance */ public com.oracle.bmc.waiter.Waiter< - GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse> - forCloudExadataInfrastructure( - GetCloudExadataInfrastructureRequest request, + GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse> + forBaseccVmClusterUpdate( + GetBaseccVmClusterUpdateRequest request, com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, com.oracle.bmc.waiter.DelayStrategy delayStrategy, - com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState... + com.oracle.bmc.database.model.BaseccVmClusterUpdate.LifecycleState... targetStates) { com.oracle.bmc.util.internal.Validate.notEmpty( targetStates, "At least one target state must be provided"); com.oracle.bmc.util.internal.Validate.noNullElements( targetStates, "Null target states are not permitted"); - return forCloudExadataInfrastructure( + return forBaseccVmClusterUpdate( com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), request, targetStates); } - // Helper method to create a new Waiter for CloudExadataInfrastructure. + // Helper method to create a new Waiter for BaseccVmClusterUpdate. private com.oracle.bmc.waiter.Waiter< - GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse> - forCloudExadataInfrastructure( + GetBaseccVmClusterUpdateRequest, GetBaseccVmClusterUpdateResponse> + forBaseccVmClusterUpdate( com.oracle.bmc.waiter.BmcGenericWaiter waiter, - final GetCloudExadataInfrastructureRequest request, - final com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState... + final GetBaseccVmClusterUpdateRequest request, + final com.oracle.bmc.database.model.BaseccVmClusterUpdate.LifecycleState... targetStates) { - final java.util.Set + final java.util.Set targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates)); return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( @@ -12084,25 +12262,22 @@ public boolean test(GetCloudAutonomousVmClusterResponse response) { waiter.toCallable( () -> request, new java.util.function.Function< - GetCloudExadataInfrastructureRequest, - GetCloudExadataInfrastructureResponse>() { + GetBaseccVmClusterUpdateRequest, + GetBaseccVmClusterUpdateResponse>() { @Override - public GetCloudExadataInfrastructureResponse apply( - GetCloudExadataInfrastructureRequest request) { - return client.getCloudExadataInfrastructure(request); + public GetBaseccVmClusterUpdateResponse apply( + GetBaseccVmClusterUpdateRequest request) { + return client.getBaseccVmClusterUpdate(request); } }, - new java.util.function.Predicate() { + new java.util.function.Predicate() { @Override - public boolean test(GetCloudExadataInfrastructureResponse response) { + public boolean test(GetBaseccVmClusterUpdateResponse response) { return targetStatesSet.contains( - response.getCloudExadataInfrastructure() - .getLifecycleState()); + response.getBaseccVmClusterUpdate().getLifecycleState()); } }, - targetStatesSet.contains( - com.oracle.bmc.database.model.CloudExadataInfrastructure - .LifecycleState.Terminated)), + false), request); } @@ -12114,16 +12289,20 @@ public boolean test(GetCloudExadataInfrastructureResponse response) { * waiter will return once the resource reaches any of the provided states * @return a new {@code Waiter} instance */ - public com.oracle.bmc.waiter.Waiter - forCloudVmCluster( - GetCloudVmClusterRequest request, - com.oracle.bmc.database.model.CloudVmCluster.LifecycleState... targetStates) { + public com.oracle.bmc.waiter.Waiter< + GetBaseccVmClusterUpdateHistoryEntryRequest, + GetBaseccVmClusterUpdateHistoryEntryResponse> + forBaseccVmClusterUpdateHistoryEntry( + GetBaseccVmClusterUpdateHistoryEntryRequest request, + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.LifecycleState + ... + targetStates) { com.oracle.bmc.util.internal.Validate.notEmpty( targetStates, "At least one targetState must be provided"); com.oracle.bmc.util.internal.Validate.noNullElements( targetStates, "Null targetState values are not permitted"); - return forCloudVmCluster( + return forBaseccVmClusterUpdateHistoryEntry( com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates); } @@ -12136,16 +12315,19 @@ public boolean test(GetCloudExadataInfrastructureResponse response) { * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use * @return a new {@code com.oracle.bmc.waiter.Waiter} instance */ - public com.oracle.bmc.waiter.Waiter - forCloudVmCluster( - GetCloudVmClusterRequest request, - com.oracle.bmc.database.model.CloudVmCluster.LifecycleState targetState, + public com.oracle.bmc.waiter.Waiter< + GetBaseccVmClusterUpdateHistoryEntryRequest, + GetBaseccVmClusterUpdateHistoryEntryResponse> + forBaseccVmClusterUpdateHistoryEntry( + GetBaseccVmClusterUpdateHistoryEntryRequest request, + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.LifecycleState + targetState, com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, com.oracle.bmc.waiter.DelayStrategy delayStrategy) { com.oracle.bmc.util.internal.Validate.notNull( targetState, "The targetState cannot be null"); - return forCloudVmCluster( + return forBaseccVmClusterUpdateHistoryEntry( com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), request, targetState); @@ -12161,26 +12343,376 @@ public boolean test(GetCloudExadataInfrastructureResponse response) { * reaches any of the provided states * @return a new {@code com.oracle.bmc.waiter.Waiter} instance */ - public com.oracle.bmc.waiter.Waiter - forCloudVmCluster( - GetCloudVmClusterRequest request, + public com.oracle.bmc.waiter.Waiter< + GetBaseccVmClusterUpdateHistoryEntryRequest, + GetBaseccVmClusterUpdateHistoryEntryResponse> + forBaseccVmClusterUpdateHistoryEntry( + GetBaseccVmClusterUpdateHistoryEntryRequest request, com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, com.oracle.bmc.waiter.DelayStrategy delayStrategy, - com.oracle.bmc.database.model.CloudVmCluster.LifecycleState... targetStates) { + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry.LifecycleState + ... + targetStates) { com.oracle.bmc.util.internal.Validate.notEmpty( targetStates, "At least one target state must be provided"); com.oracle.bmc.util.internal.Validate.noNullElements( targetStates, "Null target states are not permitted"); - return forCloudVmCluster( + return forBaseccVmClusterUpdateHistoryEntry( com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), request, targetStates); } - // Helper method to create a new Waiter for CloudVmCluster. - private com.oracle.bmc.waiter.Waiter - forCloudVmCluster( + // Helper method to create a new Waiter for BaseccVmClusterUpdateHistoryEntry. + private com.oracle.bmc.waiter.Waiter< + GetBaseccVmClusterUpdateHistoryEntryRequest, + GetBaseccVmClusterUpdateHistoryEntryResponse> + forBaseccVmClusterUpdateHistoryEntry( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetBaseccVmClusterUpdateHistoryEntryRequest request, + final com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry + .LifecycleState + ... + targetStates) { + final java.util.Set< + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry + .LifecycleState> + targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates)); + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + waiter.toCallable( + () -> request, + new java.util.function.Function< + GetBaseccVmClusterUpdateHistoryEntryRequest, + GetBaseccVmClusterUpdateHistoryEntryResponse>() { + @Override + public GetBaseccVmClusterUpdateHistoryEntryResponse apply( + GetBaseccVmClusterUpdateHistoryEntryRequest request) { + return client.getBaseccVmClusterUpdateHistoryEntry(request); + } + }, + new java.util.function.Predicate< + GetBaseccVmClusterUpdateHistoryEntryResponse>() { + @Override + public boolean test( + GetBaseccVmClusterUpdateHistoryEntryResponse response) { + return targetStatesSet.contains( + response.getBaseccVmClusterUpdateHistoryEntry() + .getLifecycleState()); + } + }, + false), + 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< + GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse> + forCloudAutonomousVmCluster( + GetCloudAutonomousVmClusterRequest request, + com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState... + targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forCloudAutonomousVmCluster( + 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< + GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse> + forCloudAutonomousVmCluster( + GetCloudAutonomousVmClusterRequest request, + com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState + targetState, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + com.oracle.bmc.util.internal.Validate.notNull( + targetState, "The targetState cannot be null"); + + return forCloudAutonomousVmCluster( + 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< + GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse> + forCloudAutonomousVmCluster( + GetCloudAutonomousVmClusterRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.database.model.CloudAutonomousVmCluster.LifecycleState... + targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one target state must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null target states are not permitted"); + + return forCloudAutonomousVmCluster( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for CloudAutonomousVmCluster. + private com.oracle.bmc.waiter.Waiter< + GetCloudAutonomousVmClusterRequest, GetCloudAutonomousVmClusterResponse> + forCloudAutonomousVmCluster( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetCloudAutonomousVmClusterRequest request, + final com.oracle.bmc.database.model.CloudAutonomousVmCluster.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< + GetCloudAutonomousVmClusterRequest, + GetCloudAutonomousVmClusterResponse>() { + @Override + public GetCloudAutonomousVmClusterResponse apply( + GetCloudAutonomousVmClusterRequest request) { + return client.getCloudAutonomousVmCluster(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetCloudAutonomousVmClusterResponse response) { + return targetStatesSet.contains( + response.getCloudAutonomousVmCluster().getLifecycleState()); + } + }, + targetStatesSet.contains( + com.oracle.bmc.database.model.CloudAutonomousVmCluster + .LifecycleState.Terminated)), + 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< + GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse> + forCloudExadataInfrastructure( + GetCloudExadataInfrastructureRequest request, + com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState... + targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forCloudExadataInfrastructure( + 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< + GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse> + forCloudExadataInfrastructure( + GetCloudExadataInfrastructureRequest request, + com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState + targetState, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + com.oracle.bmc.util.internal.Validate.notNull( + targetState, "The targetState cannot be null"); + + return forCloudExadataInfrastructure( + 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< + GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse> + forCloudExadataInfrastructure( + GetCloudExadataInfrastructureRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.database.model.CloudExadataInfrastructure.LifecycleState... + targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one target state must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null target states are not permitted"); + + return forCloudExadataInfrastructure( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for CloudExadataInfrastructure. + private com.oracle.bmc.waiter.Waiter< + GetCloudExadataInfrastructureRequest, GetCloudExadataInfrastructureResponse> + forCloudExadataInfrastructure( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetCloudExadataInfrastructureRequest request, + final com.oracle.bmc.database.model.CloudExadataInfrastructure.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< + GetCloudExadataInfrastructureRequest, + GetCloudExadataInfrastructureResponse>() { + @Override + public GetCloudExadataInfrastructureResponse apply( + GetCloudExadataInfrastructureRequest request) { + return client.getCloudExadataInfrastructure(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetCloudExadataInfrastructureResponse response) { + return targetStatesSet.contains( + response.getCloudExadataInfrastructure() + .getLifecycleState()); + } + }, + targetStatesSet.contains( + com.oracle.bmc.database.model.CloudExadataInfrastructure + .LifecycleState.Terminated)), + 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 + forCloudVmCluster( + GetCloudVmClusterRequest request, + com.oracle.bmc.database.model.CloudVmCluster.LifecycleState... targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one targetState must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null targetState values are not permitted"); + + return forCloudVmCluster( + 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 + forCloudVmCluster( + GetCloudVmClusterRequest request, + com.oracle.bmc.database.model.CloudVmCluster.LifecycleState targetState, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + com.oracle.bmc.util.internal.Validate.notNull( + targetState, "The targetState cannot be null"); + + return forCloudVmCluster( + 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 + forCloudVmCluster( + GetCloudVmClusterRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.database.model.CloudVmCluster.LifecycleState... targetStates) { + com.oracle.bmc.util.internal.Validate.notEmpty( + targetStates, "At least one target state must be provided"); + com.oracle.bmc.util.internal.Validate.noNullElements( + targetStates, "Null target states are not permitted"); + + return forCloudVmCluster( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for CloudVmCluster. + private com.oracle.bmc.waiter.Waiter + forCloudVmCluster( com.oracle.bmc.waiter.BmcGenericWaiter waiter, final GetCloudVmClusterRequest request, final com.oracle.bmc.database.model.CloudVmCluster.LifecycleState... @@ -17734,6 +18266,69 @@ public RegisterCloudVmClusterPkcsResponse call() throws Exception { request); } + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + RegisterExadbVmClusterPkcsRequest, RegisterExadbVmClusterPkcsResponse> + forRegisterExadbVmClusterPkcs(RegisterExadbVmClusterPkcsRequest request) { + return forRegisterExadbVmClusterPkcs( + request, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_TERMINATION_STRATEGY, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_DELAY_STRATEGY); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + RegisterExadbVmClusterPkcsRequest, RegisterExadbVmClusterPkcsResponse> + forRegisterExadbVmClusterPkcs( + RegisterExadbVmClusterPkcsRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + if (workRequestClient == null) { + throw new IllegalStateException( + "A WorkRequestClient must be supplied to this waiter for this operation"); + } + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + new java.util.concurrent.Callable() { + @Override + public RegisterExadbVmClusterPkcsResponse call() throws Exception { + final RegisterExadbVmClusterPkcsResponse response = + client.registerExadbVmClusterPkcs(request); + + if (response.getOpcWorkRequestId() != null) { + final com.oracle.bmc.workrequests.requests.GetWorkRequestRequest + getWorkRequestRequest = + com.oracle.bmc.workrequests.requests + .GetWorkRequestRequest.builder() + .workRequestId(response.getOpcWorkRequestId()) + .build(); + workRequestClient + .getWaiters() + .forWorkRequest( + getWorkRequestRequest, + terminationStrategy, + delayStrategy) + .execute(); + } + return response; + } + }, + request); + } + /** * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. * @@ -20876,6 +21471,69 @@ public UnregisterCloudVmClusterPkcsResponse call() throws Exception { request); } + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + UnregisterExadbVmClusterPkcsRequest, UnregisterExadbVmClusterPkcsResponse> + forUnregisterExadbVmClusterPkcs(UnregisterExadbVmClusterPkcsRequest request) { + return forUnregisterExadbVmClusterPkcs( + request, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_TERMINATION_STRATEGY, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_DELAY_STRATEGY); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + UnregisterExadbVmClusterPkcsRequest, UnregisterExadbVmClusterPkcsResponse> + forUnregisterExadbVmClusterPkcs( + UnregisterExadbVmClusterPkcsRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + if (workRequestClient == null) { + throw new IllegalStateException( + "A WorkRequestClient must be supplied to this waiter for this operation"); + } + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + new java.util.concurrent.Callable() { + @Override + public UnregisterExadbVmClusterPkcsResponse call() throws Exception { + final UnregisterExadbVmClusterPkcsResponse response = + client.unregisterExadbVmClusterPkcs(request); + + if (response.getOpcWorkRequestId() != null) { + final com.oracle.bmc.workrequests.requests.GetWorkRequestRequest + getWorkRequestRequest = + com.oracle.bmc.workrequests.requests + .GetWorkRequestRequest.builder() + .workRequestId(response.getOpcWorkRequestId()) + .build(); + workRequestClient + .getWaiters() + .forWorkRequest( + getWorkRequestRequest, + terminationStrategy, + delayStrategy) + .execute(); + } + return response; + } + }, + request); + } + /** * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. * @@ -21519,6 +22177,67 @@ public UpdateBackupResponse call() throws Exception { request); } + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forUpdateBaseccVmCluster(UpdateBaseccVmClusterRequest request) { + return forUpdateBaseccVmCluster( + request, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_TERMINATION_STRATEGY, + com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_DELAY_STRATEGY); + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration. + * + * @param request the request to send + * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use + * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use + * @return a new {@link com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forUpdateBaseccVmCluster( + UpdateBaseccVmClusterRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + if (workRequestClient == null) { + throw new IllegalStateException( + "A WorkRequestClient must be supplied to this waiter for this operation"); + } + + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + new java.util.concurrent.Callable() { + @Override + public UpdateBaseccVmClusterResponse call() throws Exception { + final UpdateBaseccVmClusterResponse response = + client.updateBaseccVmCluster(request); + + if (response.getOpcWorkRequestId() != null) { + final com.oracle.bmc.workrequests.requests.GetWorkRequestRequest + getWorkRequestRequest = + com.oracle.bmc.workrequests.requests + .GetWorkRequestRequest.builder() + .workRequestId(response.getOpcWorkRequestId()) + .build(); + workRequestClient + .getWaiters() + .forWorkRequest( + getWorkRequestRequest, + terminationStrategy, + delayStrategy) + .execute(); + } + return response; + } + }, + request); + } + /** * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. * 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 new file mode 100644 index 00000000000..8b812c189a0 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmCluster.java @@ -0,0 +1,1844 @@ +/** + * 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; + +/** + * Details of the BaseDB-C@C VM cluster resource. Applies to Base Database Service on Cloud@Customer + * instances only.
+ * 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 = BaseccVmCluster.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class BaseccVmCluster + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "lastPatchHistoryEntryId", + "lifecycleState", + "timeCreated", + "timeUpdated", + "lifecycleDetails", + "availabilityDomain", + "compartmentId", + "databaseEdition", + "nodeCount", + "dbServers", + "cpusEnabled", + "baseInfrastructureId", + "baseVmClusterNetworkId", + "giVersion", + "dataCollectionOptions", + "description", + "displayName", + "sshPublicKeys", + "timeZone", + "clusterName", + "bootStorageSizeInGBs", + "additionalVmStorageSizeInGBs", + "totalStorageSizeInGBs", + "dataStorageSizeInGBs", + "recoStorageSizeInGBs", + "memorySizeInGBs", + "licenseModel", + "freeformTags", + "definedTags", + "systemTags", + "systemVersion", + "vmClusterType", + "cloudAutomationUpdateDetails" + }) + public BaseccVmCluster( + String id, + String lastPatchHistoryEntryId, + LifecycleState lifecycleState, + java.util.Date timeCreated, + java.util.Date timeUpdated, + String lifecycleDetails, + String availabilityDomain, + String compartmentId, + DatabaseEdition databaseEdition, + Integer nodeCount, + java.util.List dbServers, + Integer cpusEnabled, + String baseInfrastructureId, + String baseVmClusterNetworkId, + String giVersion, + DataCollectionOptions dataCollectionOptions, + String description, + String displayName, + java.util.List sshPublicKeys, + String timeZone, + String clusterName, + Integer bootStorageSizeInGBs, + Integer additionalVmStorageSizeInGBs, + Integer totalStorageSizeInGBs, + Integer dataStorageSizeInGBs, + Integer recoStorageSizeInGBs, + Integer memorySizeInGBs, + LicenseModel licenseModel, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags, + String systemVersion, + VmClusterType vmClusterType, + CloudAutomationUpdateDetails cloudAutomationUpdateDetails) { + super(); + this.id = id; + this.lastPatchHistoryEntryId = lastPatchHistoryEntryId; + this.lifecycleState = lifecycleState; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.lifecycleDetails = lifecycleDetails; + this.availabilityDomain = availabilityDomain; + this.compartmentId = compartmentId; + this.databaseEdition = databaseEdition; + this.nodeCount = nodeCount; + this.dbServers = dbServers; + this.cpusEnabled = cpusEnabled; + this.baseInfrastructureId = baseInfrastructureId; + this.baseVmClusterNetworkId = baseVmClusterNetworkId; + this.giVersion = giVersion; + this.dataCollectionOptions = dataCollectionOptions; + this.description = description; + this.displayName = displayName; + this.sshPublicKeys = sshPublicKeys; + this.timeZone = timeZone; + this.clusterName = clusterName; + this.bootStorageSizeInGBs = bootStorageSizeInGBs; + this.additionalVmStorageSizeInGBs = additionalVmStorageSizeInGBs; + this.totalStorageSizeInGBs = totalStorageSizeInGBs; + this.dataStorageSizeInGBs = dataStorageSizeInGBs; + this.recoStorageSizeInGBs = recoStorageSizeInGBs; + this.memorySizeInGBs = memorySizeInGBs; + this.licenseModel = licenseModel; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + this.systemVersion = systemVersion; + this.vmClusterType = vmClusterType; + this.cloudAutomationUpdateDetails = cloudAutomationUpdateDetails; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Base Database Service on Cloud@Customer (BaseDB-C@C) 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 + * Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * last patch history. This value is updated as soon as a patch operation starts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastPatchHistoryEntryId") + private String lastPatchHistoryEntryId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * last patch history. This value is updated as soon as a patch operation starts. + * + * @param lastPatchHistoryEntryId the value to set + * @return this builder + */ + public Builder lastPatchHistoryEntryId(String lastPatchHistoryEntryId) { + this.lastPatchHistoryEntryId = lastPatchHistoryEntryId; + this.__explicitlySet__.add("lastPatchHistoryEntryId"); + return this; + } + /** The current state of the VM Cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The current state of the VM Cluster. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster was created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster was created. + * + * @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 that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster was updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster was updated. + * + * @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; + } + /** + * Additional information about the current lifecycle state of the the Base Database Service + * on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private String lifecycleDetails; + + /** + * Additional information about the current lifecycle state of the the Base Database Service + * on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(String lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** + * The name of the availability domain in which the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster is located. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private String availabilityDomain; + + /** + * The name of the availability domain in which the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster is located. + * + * @param availabilityDomain the value to set + * @return this builder + */ + public Builder availabilityDomain(String availabilityDomain) { + this.availabilityDomain = availabilityDomain; + this.__explicitlySet__.add("availabilityDomain"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata + * DB systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + */ + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private DatabaseEdition databaseEdition; + + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata + * DB systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + * + * @param databaseEdition the value to set + * @return this builder + */ + public Builder databaseEdition(DatabaseEdition databaseEdition) { + this.databaseEdition = databaseEdition; + this.__explicitlySet__.add("databaseEdition"); + return this; + } + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") + private Integer nodeCount; + + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. + * + * @param nodeCount the value to set + * @return this builder + */ + public Builder nodeCount(Integer nodeCount) { + this.nodeCount = nodeCount; + this.__explicitlySet__.add("nodeCount"); + return this; + } + /** List of Base server OCIDs. */ + @com.fasterxml.jackson.annotation.JsonProperty("dbServers") + private java.util.List dbServers; + + /** + * List of Base server OCIDs. + * + * @param dbServers the value to set + * @return this builder + */ + public Builder dbServers(java.util.List dbServers) { + this.dbServers = dbServers; + this.__explicitlySet__.add("dbServers"); + return this; + } + /** Total CPU cores for the BaseDB C@C VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("cpusEnabled") + private Integer cpusEnabled; + + /** + * Total CPU cores for the BaseDB C@C VM cluster. + * + * @param cpusEnabled the value to set + * @return this builder + */ + public Builder cpusEnabled(Integer cpusEnabled) { + this.cpusEnabled = cpusEnabled; + this.__explicitlySet__.add("cpusEnabled"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * Oracle Data Cloud@Customer Infrastructure. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseInfrastructureId") + private String baseInfrastructureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * Oracle Data Cloud@Customer Infrastructure. + * + * @param baseInfrastructureId the value to set + * @return this builder + */ + public Builder baseInfrastructureId(String baseInfrastructureId) { + this.baseInfrastructureId = baseInfrastructureId; + this.__explicitlySet__.add("baseInfrastructureId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseVmClusterNetworkId") + private String baseVmClusterNetworkId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + * + * @param baseVmClusterNetworkId the value to set + * @return this builder + */ + public Builder baseVmClusterNetworkId(String baseVmClusterNetworkId) { + this.baseVmClusterNetworkId = baseVmClusterNetworkId; + this.__explicitlySet__.add("baseVmClusterNetworkId"); + return this; + } + /** A valid Oracle Grid Infrastructure (GI) software version. */ + @com.fasterxml.jackson.annotation.JsonProperty("giVersion") + private String giVersion; + + /** + * A valid Oracle Grid Infrastructure (GI) software version. + * + * @param giVersion the value to set + * @return this builder + */ + public Builder giVersion(String giVersion) { + this.giVersion = giVersion; + this.__explicitlySet__.add("giVersion"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataCollectionOptions") + private DataCollectionOptions dataCollectionOptions; + + public Builder dataCollectionOptions(DataCollectionOptions dataCollectionOptions) { + this.dataCollectionOptions = dataCollectionOptions; + this.__explicitlySet__.add("dataCollectionOptions"); + return this; + } + /** The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + private java.util.List sshPublicKeys; + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param sshPublicKeys the value to set + * @return this builder + */ + public Builder sshPublicKeys(java.util.List sshPublicKeys) { + this.sshPublicKeys = sshPublicKeys; + this.__explicitlySet__.add("sshPublicKeys"); + return this; + } + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeZone") + private String timeZone; + + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + * + * @param timeZone the value to set + * @return this builder + */ + public Builder timeZone(String timeZone) { + this.timeZone = timeZone; + this.__explicitlySet__.add("timeZone"); + return this; + } + /** The cluster name for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("clusterName") + private String clusterName; + + /** + * The cluster name for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param clusterName the value to set + * @return this builder + */ + public Builder clusterName(String clusterName) { + this.clusterName = clusterName; + this.__explicitlySet__.add("clusterName"); + return this; + } + /** + * Total boot partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bootStorageSizeInGBs") + private Integer bootStorageSizeInGBs; + + /** + * Total boot partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param bootStorageSizeInGBs the value to set + * @return this builder + */ + public Builder bootStorageSizeInGBs(Integer bootStorageSizeInGBs) { + this.bootStorageSizeInGBs = bootStorageSizeInGBs; + this.__explicitlySet__.add("bootStorageSizeInGBs"); + return this; + } + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("additionalVmStorageSizeInGBs") + private Integer additionalVmStorageSizeInGBs; + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param additionalVmStorageSizeInGBs the value to set + * @return this builder + */ + public Builder additionalVmStorageSizeInGBs(Integer additionalVmStorageSizeInGBs) { + this.additionalVmStorageSizeInGBs = additionalVmStorageSizeInGBs; + this.__explicitlySet__.add("additionalVmStorageSizeInGBs"); + return this; + } + /** The total storage allocated in GBs. */ + @com.fasterxml.jackson.annotation.JsonProperty("totalStorageSizeInGBs") + private Integer totalStorageSizeInGBs; + + /** + * The total storage allocated in GBs. + * + * @param totalStorageSizeInGBs the value to set + * @return this builder + */ + public Builder totalStorageSizeInGBs(Integer totalStorageSizeInGBs) { + this.totalStorageSizeInGBs = totalStorageSizeInGBs; + this.__explicitlySet__.add("totalStorageSizeInGBs"); + return this; + } + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataStorageSizeInGBs") + private Integer dataStorageSizeInGBs; + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param dataStorageSizeInGBs the value to set + * @return this builder + */ + public Builder dataStorageSizeInGBs(Integer dataStorageSizeInGBs) { + this.dataStorageSizeInGBs = dataStorageSizeInGBs; + this.__explicitlySet__.add("dataStorageSizeInGBs"); + return this; + } + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("recoStorageSizeInGBs") + private Integer recoStorageSizeInGBs; + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param recoStorageSizeInGBs the value to set + * @return this builder + */ + public Builder recoStorageSizeInGBs(Integer recoStorageSizeInGBs) { + this.recoStorageSizeInGBs = recoStorageSizeInGBs; + this.__explicitlySet__.add("recoStorageSizeInGBs"); + return this; + } + /** + * 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. + */ + @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. + * + * @param memorySizeInGBs the value to set + * @return this builder + */ + public Builder memorySizeInGBs(Integer memorySizeInGBs) { + this.memorySizeInGBs = memorySizeInGBs; + this.__explicitlySet__.add("memorySizeInGBs"); + return this; + } + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private LicenseModel licenseModel; + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + * + * @param licenseModel the value to set + * @return this builder + */ + public Builder licenseModel(LicenseModel licenseModel) { + this.licenseModel = licenseModel; + this.__explicitlySet__.add("licenseModel"); + 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). + */ + @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). + * + * @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. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + */ + @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. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + * @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; + } + /** Operating system version of the image. */ + @com.fasterxml.jackson.annotation.JsonProperty("systemVersion") + private String systemVersion; + + /** + * Operating system version of the image. + * + * @param systemVersion the value to set + * @return this builder + */ + public Builder systemVersion(String systemVersion) { + this.systemVersion = systemVersion; + this.__explicitlySet__.add("systemVersion"); + return this; + } + /** + * The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("vmClusterType") + private VmClusterType vmClusterType; + + /** + * The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param vmClusterType the value to set + * @return this builder + */ + public Builder vmClusterType(VmClusterType vmClusterType) { + this.vmClusterType = vmClusterType; + this.__explicitlySet__.add("vmClusterType"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("cloudAutomationUpdateDetails") + private CloudAutomationUpdateDetails cloudAutomationUpdateDetails; + + public Builder cloudAutomationUpdateDetails( + CloudAutomationUpdateDetails cloudAutomationUpdateDetails) { + this.cloudAutomationUpdateDetails = cloudAutomationUpdateDetails; + this.__explicitlySet__.add("cloudAutomationUpdateDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public BaseccVmCluster build() { + BaseccVmCluster model = + new BaseccVmCluster( + this.id, + this.lastPatchHistoryEntryId, + this.lifecycleState, + this.timeCreated, + this.timeUpdated, + this.lifecycleDetails, + this.availabilityDomain, + this.compartmentId, + this.databaseEdition, + this.nodeCount, + this.dbServers, + this.cpusEnabled, + this.baseInfrastructureId, + this.baseVmClusterNetworkId, + this.giVersion, + this.dataCollectionOptions, + this.description, + this.displayName, + this.sshPublicKeys, + this.timeZone, + this.clusterName, + this.bootStorageSizeInGBs, + this.additionalVmStorageSizeInGBs, + this.totalStorageSizeInGBs, + this.dataStorageSizeInGBs, + this.recoStorageSizeInGBs, + this.memorySizeInGBs, + this.licenseModel, + this.freeformTags, + this.definedTags, + this.systemTags, + this.systemVersion, + this.vmClusterType, + this.cloudAutomationUpdateDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(BaseccVmCluster model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("lastPatchHistoryEntryId")) { + this.lastPatchHistoryEntryId(model.getLastPatchHistoryEntryId()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("availabilityDomain")) { + this.availabilityDomain(model.getAvailabilityDomain()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("databaseEdition")) { + this.databaseEdition(model.getDatabaseEdition()); + } + if (model.wasPropertyExplicitlySet("nodeCount")) { + this.nodeCount(model.getNodeCount()); + } + if (model.wasPropertyExplicitlySet("dbServers")) { + this.dbServers(model.getDbServers()); + } + if (model.wasPropertyExplicitlySet("cpusEnabled")) { + this.cpusEnabled(model.getCpusEnabled()); + } + if (model.wasPropertyExplicitlySet("baseInfrastructureId")) { + this.baseInfrastructureId(model.getBaseInfrastructureId()); + } + if (model.wasPropertyExplicitlySet("baseVmClusterNetworkId")) { + this.baseVmClusterNetworkId(model.getBaseVmClusterNetworkId()); + } + if (model.wasPropertyExplicitlySet("giVersion")) { + this.giVersion(model.getGiVersion()); + } + if (model.wasPropertyExplicitlySet("dataCollectionOptions")) { + this.dataCollectionOptions(model.getDataCollectionOptions()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("sshPublicKeys")) { + this.sshPublicKeys(model.getSshPublicKeys()); + } + if (model.wasPropertyExplicitlySet("timeZone")) { + this.timeZone(model.getTimeZone()); + } + if (model.wasPropertyExplicitlySet("clusterName")) { + this.clusterName(model.getClusterName()); + } + if (model.wasPropertyExplicitlySet("bootStorageSizeInGBs")) { + this.bootStorageSizeInGBs(model.getBootStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("additionalVmStorageSizeInGBs")) { + this.additionalVmStorageSizeInGBs(model.getAdditionalVmStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("totalStorageSizeInGBs")) { + this.totalStorageSizeInGBs(model.getTotalStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("dataStorageSizeInGBs")) { + this.dataStorageSizeInGBs(model.getDataStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("recoStorageSizeInGBs")) { + this.recoStorageSizeInGBs(model.getRecoStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("memorySizeInGBs")) { + this.memorySizeInGBs(model.getMemorySizeInGBs()); + } + if (model.wasPropertyExplicitlySet("licenseModel")) { + this.licenseModel(model.getLicenseModel()); + } + 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("systemVersion")) { + this.systemVersion(model.getSystemVersion()); + } + if (model.wasPropertyExplicitlySet("vmClusterType")) { + this.vmClusterType(model.getVmClusterType()); + } + if (model.wasPropertyExplicitlySet("cloudAutomationUpdateDetails")) { + this.cloudAutomationUpdateDetails(model.getCloudAutomationUpdateDetails()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Base + * Database Service on Cloud@Customer (BaseDB-C@C) 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 Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public String getId() { + return id; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last + * patch history. This value is updated as soon as a patch operation starts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastPatchHistoryEntryId") + private final String lastPatchHistoryEntryId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last + * patch history. This value is updated as soon as a patch operation starts. + * + * @return the value + */ + public String getLastPatchHistoryEntryId() { + return lastPatchHistoryEntryId; + } + + /** The current state of the VM Cluster. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Provisioning("PROVISIONING"), + Available("AVAILABLE"), + Updating("UPDATING"), + Terminating("TERMINATING"), + Terminated("TERMINATED"), + Failed("FAILED"), + MaintenanceInProgress("MAINTENANCE_IN_PROGRESS"), + + /** + * 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 current state of the VM Cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The current state of the VM Cluster. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster + * was created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster + * was created. + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster + * was updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster + * was updated. + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * Additional information about the current lifecycle state of the the Base Database Service on + * Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final String lifecycleDetails; + + /** + * Additional information about the current lifecycle state of the the Base Database Service on + * Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public String getLifecycleDetails() { + return lifecycleDetails; + } + + /** + * The name of the availability domain in which the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster is located. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private final String availabilityDomain; + + /** + * The name of the availability domain in which the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster is located. + * + * @return the value + */ + public String getAvailabilityDomain() { + return availabilityDomain; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + @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. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata DB + * systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + */ + public enum DatabaseEdition implements com.oracle.bmc.http.internal.BmcEnum { + StandardEdition("STANDARD_EDITION"), + EnterpriseEdition("ENTERPRISE_EDITION"), + EnterpriseEditionHighPerformance("ENTERPRISE_EDITION_HIGH_PERFORMANCE"), + EnterpriseEditionExtremePerformance("ENTERPRISE_EDITION_EXTREME_PERFORMANCE"), + EnterpriseEditionDeveloper("ENTERPRISE_EDITION_DEVELOPER"), + + /** + * 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(DatabaseEdition.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DatabaseEdition v : DatabaseEdition.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + DatabaseEdition(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DatabaseEdition create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'DatabaseEdition', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata DB + * systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + */ + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private final DatabaseEdition databaseEdition; + + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata DB + * systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + * + * @return the value + */ + public DatabaseEdition getDatabaseEdition() { + return databaseEdition; + } + + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") + private final Integer nodeCount; + + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public Integer getNodeCount() { + return nodeCount; + } + + /** List of Base server OCIDs. */ + @com.fasterxml.jackson.annotation.JsonProperty("dbServers") + private final java.util.List dbServers; + + /** + * List of Base server OCIDs. + * + * @return the value + */ + public java.util.List getDbServers() { + return dbServers; + } + + /** Total CPU cores for the BaseDB C@C VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("cpusEnabled") + private final Integer cpusEnabled; + + /** + * Total CPU cores for the BaseDB C@C VM cluster. + * + * @return the value + */ + public Integer getCpusEnabled() { + return cpusEnabled; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of Oracle + * Data Cloud@Customer Infrastructure. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseInfrastructureId") + private final String baseInfrastructureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of Oracle + * Data Cloud@Customer Infrastructure. + * + * @return the value + */ + public String getBaseInfrastructureId() { + return baseInfrastructureId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseVmClusterNetworkId") + private final String baseVmClusterNetworkId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + * + * @return the value + */ + public String getBaseVmClusterNetworkId() { + return baseVmClusterNetworkId; + } + + /** A valid Oracle Grid Infrastructure (GI) software version. */ + @com.fasterxml.jackson.annotation.JsonProperty("giVersion") + private final String giVersion; + + /** + * A valid Oracle Grid Infrastructure (GI) software version. + * + * @return the value + */ + public String getGiVersion() { + return giVersion; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataCollectionOptions") + private final DataCollectionOptions dataCollectionOptions; + + public DataCollectionOptions getDataCollectionOptions() { + return dataCollectionOptions; + } + + /** The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + private final java.util.List sshPublicKeys; + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public java.util.List getSshPublicKeys() { + return sshPublicKeys; + } + + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeZone") + private final String timeZone; + + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + * + * @return the value + */ + public String getTimeZone() { + return timeZone; + } + + /** The cluster name for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("clusterName") + private final String clusterName; + + /** + * The cluster name for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public String getClusterName() { + return clusterName; + } + + /** + * Total boot partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bootStorageSizeInGBs") + private final Integer bootStorageSizeInGBs; + + /** + * Total boot partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getBootStorageSizeInGBs() { + return bootStorageSizeInGBs; + } + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("additionalVmStorageSizeInGBs") + private final Integer additionalVmStorageSizeInGBs; + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getAdditionalVmStorageSizeInGBs() { + return additionalVmStorageSizeInGBs; + } + + /** The total storage allocated in GBs. */ + @com.fasterxml.jackson.annotation.JsonProperty("totalStorageSizeInGBs") + private final Integer totalStorageSizeInGBs; + + /** + * The total storage allocated in GBs. + * + * @return the value + */ + public Integer getTotalStorageSizeInGBs() { + return totalStorageSizeInGBs; + } + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataStorageSizeInGBs") + private final Integer dataStorageSizeInGBs; + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getDataStorageSizeInGBs() { + return dataStorageSizeInGBs; + } + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("recoStorageSizeInGBs") + private final Integer recoStorageSizeInGBs; + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getRecoStorageSizeInGBs() { + return 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. + */ + @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. + * + * @return the value + */ + public Integer getMemorySizeInGBs() { + return memorySizeInGBs; + } + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + public enum LicenseModel implements com.oracle.bmc.http.internal.BmcEnum { + LicenseIncluded("LICENSE_INCLUDED"), + BringYourOwnLicense("BRING_YOUR_OWN_LICENSE"), + + /** + * 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(LicenseModel.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LicenseModel v : LicenseModel.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LicenseModel(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LicenseModel create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LicenseModel', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private final LicenseModel licenseModel; + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + * + * @return the value + */ + public LicenseModel getLicenseModel() { + return licenseModel; + } + + /** + * 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). + */ + @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). + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * System 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). + */ + @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. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + /** Operating system version of the image. */ + @com.fasterxml.jackson.annotation.JsonProperty("systemVersion") + private final String systemVersion; + + /** + * Operating system version of the image. + * + * @return the value + */ + public String getSystemVersion() { + return systemVersion; + } + + /** The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + public enum VmClusterType implements com.oracle.bmc.http.internal.BmcEnum { + Regular("REGULAR"), + Developer("DEVELOPER"), + + /** + * 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(VmClusterType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (VmClusterType v : VmClusterType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + VmClusterType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static VmClusterType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'VmClusterType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("vmClusterType") + private final VmClusterType vmClusterType; + + /** + * The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public VmClusterType getVmClusterType() { + return vmClusterType; + } + + @com.fasterxml.jackson.annotation.JsonProperty("cloudAutomationUpdateDetails") + private final CloudAutomationUpdateDetails cloudAutomationUpdateDetails; + + public CloudAutomationUpdateDetails getCloudAutomationUpdateDetails() { + return cloudAutomationUpdateDetails; + } + + @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("BaseccVmCluster("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", lastPatchHistoryEntryId=") + .append(String.valueOf(this.lastPatchHistoryEntryId)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(", availabilityDomain=").append(String.valueOf(this.availabilityDomain)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", databaseEdition=").append(String.valueOf(this.databaseEdition)); + sb.append(", nodeCount=").append(String.valueOf(this.nodeCount)); + sb.append(", dbServers=").append(String.valueOf(this.dbServers)); + sb.append(", cpusEnabled=").append(String.valueOf(this.cpusEnabled)); + sb.append(", baseInfrastructureId=").append(String.valueOf(this.baseInfrastructureId)); + sb.append(", baseVmClusterNetworkId=").append(String.valueOf(this.baseVmClusterNetworkId)); + sb.append(", giVersion=").append(String.valueOf(this.giVersion)); + sb.append(", dataCollectionOptions=").append(String.valueOf(this.dataCollectionOptions)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", sshPublicKeys=").append(String.valueOf(this.sshPublicKeys)); + sb.append(", timeZone=").append(String.valueOf(this.timeZone)); + sb.append(", clusterName=").append(String.valueOf(this.clusterName)); + sb.append(", bootStorageSizeInGBs=").append(String.valueOf(this.bootStorageSizeInGBs)); + sb.append(", additionalVmStorageSizeInGBs=") + .append(String.valueOf(this.additionalVmStorageSizeInGBs)); + sb.append(", totalStorageSizeInGBs=").append(String.valueOf(this.totalStorageSizeInGBs)); + sb.append(", dataStorageSizeInGBs=").append(String.valueOf(this.dataStorageSizeInGBs)); + sb.append(", recoStorageSizeInGBs=").append(String.valueOf(this.recoStorageSizeInGBs)); + sb.append(", memorySizeInGBs=").append(String.valueOf(this.memorySizeInGBs)); + sb.append(", licenseModel=").append(String.valueOf(this.licenseModel)); + 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(", systemVersion=").append(String.valueOf(this.systemVersion)); + sb.append(", vmClusterType=").append(String.valueOf(this.vmClusterType)); + sb.append(", cloudAutomationUpdateDetails=") + .append(String.valueOf(this.cloudAutomationUpdateDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BaseccVmCluster)) { + return false; + } + + BaseccVmCluster other = (BaseccVmCluster) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals( + this.lastPatchHistoryEntryId, other.lastPatchHistoryEntryId) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.availabilityDomain, other.availabilityDomain) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.databaseEdition, other.databaseEdition) + && java.util.Objects.equals(this.nodeCount, other.nodeCount) + && java.util.Objects.equals(this.dbServers, other.dbServers) + && java.util.Objects.equals(this.cpusEnabled, other.cpusEnabled) + && java.util.Objects.equals(this.baseInfrastructureId, other.baseInfrastructureId) + && java.util.Objects.equals( + this.baseVmClusterNetworkId, other.baseVmClusterNetworkId) + && java.util.Objects.equals(this.giVersion, other.giVersion) + && java.util.Objects.equals(this.dataCollectionOptions, other.dataCollectionOptions) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.sshPublicKeys, other.sshPublicKeys) + && java.util.Objects.equals(this.timeZone, other.timeZone) + && java.util.Objects.equals(this.clusterName, other.clusterName) + && java.util.Objects.equals(this.bootStorageSizeInGBs, other.bootStorageSizeInGBs) + && java.util.Objects.equals( + this.additionalVmStorageSizeInGBs, other.additionalVmStorageSizeInGBs) + && java.util.Objects.equals(this.totalStorageSizeInGBs, other.totalStorageSizeInGBs) + && java.util.Objects.equals(this.dataStorageSizeInGBs, other.dataStorageSizeInGBs) + && java.util.Objects.equals(this.recoStorageSizeInGBs, other.recoStorageSizeInGBs) + && java.util.Objects.equals(this.memorySizeInGBs, other.memorySizeInGBs) + && java.util.Objects.equals(this.licenseModel, other.licenseModel) + && 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.systemVersion, other.systemVersion) + && java.util.Objects.equals(this.vmClusterType, other.vmClusterType) + && java.util.Objects.equals( + this.cloudAutomationUpdateDetails, other.cloudAutomationUpdateDetails) + && 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.lastPatchHistoryEntryId == null + ? 43 + : this.lastPatchHistoryEntryId.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); + result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode()); + result = + (result * PRIME) + + (this.availabilityDomain == null + ? 43 + : this.availabilityDomain.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = + (result * PRIME) + + (this.databaseEdition == null ? 43 : this.databaseEdition.hashCode()); + result = (result * PRIME) + (this.nodeCount == null ? 43 : this.nodeCount.hashCode()); + result = (result * PRIME) + (this.dbServers == null ? 43 : this.dbServers.hashCode()); + result = (result * PRIME) + (this.cpusEnabled == null ? 43 : this.cpusEnabled.hashCode()); + result = + (result * PRIME) + + (this.baseInfrastructureId == null + ? 43 + : this.baseInfrastructureId.hashCode()); + result = + (result * PRIME) + + (this.baseVmClusterNetworkId == null + ? 43 + : this.baseVmClusterNetworkId.hashCode()); + result = (result * PRIME) + (this.giVersion == null ? 43 : this.giVersion.hashCode()); + result = + (result * PRIME) + + (this.dataCollectionOptions == null + ? 43 + : this.dataCollectionOptions.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.sshPublicKeys == null ? 43 : this.sshPublicKeys.hashCode()); + result = (result * PRIME) + (this.timeZone == null ? 43 : this.timeZone.hashCode()); + result = (result * PRIME) + (this.clusterName == null ? 43 : this.clusterName.hashCode()); + result = + (result * PRIME) + + (this.bootStorageSizeInGBs == null + ? 43 + : this.bootStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.additionalVmStorageSizeInGBs == null + ? 43 + : this.additionalVmStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.totalStorageSizeInGBs == null + ? 43 + : this.totalStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.dataStorageSizeInGBs == null + ? 43 + : this.dataStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.recoStorageSizeInGBs == null + ? 43 + : this.recoStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.memorySizeInGBs == null ? 43 : this.memorySizeInGBs.hashCode()); + result = (result * PRIME) + (this.licenseModel == null ? 43 : this.licenseModel.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.systemVersion == null ? 43 : this.systemVersion.hashCode()); + result = + (result * PRIME) + + (this.vmClusterType == null ? 43 : this.vmClusterType.hashCode()); + result = + (result * PRIME) + + (this.cloudAutomationUpdateDetails == null + ? 43 + : this.cloudAutomationUpdateDetails.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} 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 new file mode 100644 index 00000000000..ec01303e09f --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterSummary.java @@ -0,0 +1,1844 @@ +/** + * 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; + +/** + * Details of the Base Cloud@Customer VM Cluster.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = BaseccVmClusterSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class BaseccVmClusterSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "lastPatchHistoryEntryId", + "lifecycleState", + "timeCreated", + "timeUpdated", + "lifecycleDetails", + "availabilityDomain", + "compartmentId", + "databaseEdition", + "nodeCount", + "dbServers", + "cpusEnabled", + "baseInfrastructureId", + "baseVmClusterNetworkId", + "giVersion", + "dataCollectionOptions", + "description", + "displayName", + "sshPublicKeys", + "timeZone", + "clusterName", + "bootStorageSizeInGBs", + "additionalVmStorageSizeInGBs", + "totalStorageSizeInGBs", + "dataStorageSizeInGBs", + "recoStorageSizeInGBs", + "memorySizeInGBs", + "licenseModel", + "freeformTags", + "definedTags", + "systemTags", + "systemVersion", + "vmClusterType", + "cloudAutomationUpdateDetails" + }) + public BaseccVmClusterSummary( + String id, + String lastPatchHistoryEntryId, + LifecycleState lifecycleState, + java.util.Date timeCreated, + java.util.Date timeUpdated, + String lifecycleDetails, + String availabilityDomain, + String compartmentId, + DatabaseEdition databaseEdition, + Integer nodeCount, + java.util.List dbServers, + Integer cpusEnabled, + String baseInfrastructureId, + String baseVmClusterNetworkId, + String giVersion, + DataCollectionOptions dataCollectionOptions, + String description, + String displayName, + java.util.List sshPublicKeys, + String timeZone, + String clusterName, + Integer bootStorageSizeInGBs, + Integer additionalVmStorageSizeInGBs, + Integer totalStorageSizeInGBs, + Integer dataStorageSizeInGBs, + Integer recoStorageSizeInGBs, + Integer memorySizeInGBs, + LicenseModel licenseModel, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags, + String systemVersion, + VmClusterType vmClusterType, + CloudAutomationUpdateDetails cloudAutomationUpdateDetails) { + super(); + this.id = id; + this.lastPatchHistoryEntryId = lastPatchHistoryEntryId; + this.lifecycleState = lifecycleState; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.lifecycleDetails = lifecycleDetails; + this.availabilityDomain = availabilityDomain; + this.compartmentId = compartmentId; + this.databaseEdition = databaseEdition; + this.nodeCount = nodeCount; + this.dbServers = dbServers; + this.cpusEnabled = cpusEnabled; + this.baseInfrastructureId = baseInfrastructureId; + this.baseVmClusterNetworkId = baseVmClusterNetworkId; + this.giVersion = giVersion; + this.dataCollectionOptions = dataCollectionOptions; + this.description = description; + this.displayName = displayName; + this.sshPublicKeys = sshPublicKeys; + this.timeZone = timeZone; + this.clusterName = clusterName; + this.bootStorageSizeInGBs = bootStorageSizeInGBs; + this.additionalVmStorageSizeInGBs = additionalVmStorageSizeInGBs; + this.totalStorageSizeInGBs = totalStorageSizeInGBs; + this.dataStorageSizeInGBs = dataStorageSizeInGBs; + this.recoStorageSizeInGBs = recoStorageSizeInGBs; + this.memorySizeInGBs = memorySizeInGBs; + this.licenseModel = licenseModel; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.systemTags = systemTags; + this.systemVersion = systemVersion; + this.vmClusterType = vmClusterType; + this.cloudAutomationUpdateDetails = cloudAutomationUpdateDetails; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Base Database Service on Cloud@Customer (BaseDB-C@C) 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 + * Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * last patch history. This value is updated as soon as a patch operation starts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastPatchHistoryEntryId") + private String lastPatchHistoryEntryId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * last patch history. This value is updated as soon as a patch operation starts. + * + * @param lastPatchHistoryEntryId the value to set + * @return this builder + */ + public Builder lastPatchHistoryEntryId(String lastPatchHistoryEntryId) { + this.lastPatchHistoryEntryId = lastPatchHistoryEntryId; + this.__explicitlySet__.add("lastPatchHistoryEntryId"); + return this; + } + /** The current state of the VM Cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The current state of the VM Cluster. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster was created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster was created. + * + * @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 that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster was updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster was updated. + * + * @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; + } + /** + * Additional information about the current lifecycle state of the the Base Database Service + * on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private String lifecycleDetails; + + /** + * Additional information about the current lifecycle state of the the Base Database Service + * on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(String lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** + * The name of the availability domain in which the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster is located. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private String availabilityDomain; + + /** + * The name of the availability domain in which the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster is located. + * + * @param availabilityDomain the value to set + * @return this builder + */ + public Builder availabilityDomain(String availabilityDomain) { + this.availabilityDomain = availabilityDomain; + this.__explicitlySet__.add("availabilityDomain"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata + * DB systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + */ + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private DatabaseEdition databaseEdition; + + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata + * DB systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + * + * @param databaseEdition the value to set + * @return this builder + */ + public Builder databaseEdition(DatabaseEdition databaseEdition) { + this.databaseEdition = databaseEdition; + this.__explicitlySet__.add("databaseEdition"); + return this; + } + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") + private Integer nodeCount; + + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. + * + * @param nodeCount the value to set + * @return this builder + */ + public Builder nodeCount(Integer nodeCount) { + this.nodeCount = nodeCount; + this.__explicitlySet__.add("nodeCount"); + return this; + } + /** List of Base server OCIDs. */ + @com.fasterxml.jackson.annotation.JsonProperty("dbServers") + private java.util.List dbServers; + + /** + * List of Base server OCIDs. + * + * @param dbServers the value to set + * @return this builder + */ + public Builder dbServers(java.util.List dbServers) { + this.dbServers = dbServers; + this.__explicitlySet__.add("dbServers"); + return this; + } + /** Total CPU cores for the BaseDB C@C VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("cpusEnabled") + private Integer cpusEnabled; + + /** + * Total CPU cores for the BaseDB C@C VM cluster. + * + * @param cpusEnabled the value to set + * @return this builder + */ + public Builder cpusEnabled(Integer cpusEnabled) { + this.cpusEnabled = cpusEnabled; + this.__explicitlySet__.add("cpusEnabled"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * Oracle Data Cloud@Customer Infrastructure. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseInfrastructureId") + private String baseInfrastructureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * Oracle Data Cloud@Customer Infrastructure. + * + * @param baseInfrastructureId the value to set + * @return this builder + */ + public Builder baseInfrastructureId(String baseInfrastructureId) { + this.baseInfrastructureId = baseInfrastructureId; + this.__explicitlySet__.add("baseInfrastructureId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseVmClusterNetworkId") + private String baseVmClusterNetworkId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + * + * @param baseVmClusterNetworkId the value to set + * @return this builder + */ + public Builder baseVmClusterNetworkId(String baseVmClusterNetworkId) { + this.baseVmClusterNetworkId = baseVmClusterNetworkId; + this.__explicitlySet__.add("baseVmClusterNetworkId"); + return this; + } + /** A valid Oracle Grid Infrastructure (GI) software version. */ + @com.fasterxml.jackson.annotation.JsonProperty("giVersion") + private String giVersion; + + /** + * A valid Oracle Grid Infrastructure (GI) software version. + * + * @param giVersion the value to set + * @return this builder + */ + public Builder giVersion(String giVersion) { + this.giVersion = giVersion; + this.__explicitlySet__.add("giVersion"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataCollectionOptions") + private DataCollectionOptions dataCollectionOptions; + + public Builder dataCollectionOptions(DataCollectionOptions dataCollectionOptions) { + this.dataCollectionOptions = dataCollectionOptions; + this.__explicitlySet__.add("dataCollectionOptions"); + return this; + } + /** The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + private java.util.List sshPublicKeys; + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param sshPublicKeys the value to set + * @return this builder + */ + public Builder sshPublicKeys(java.util.List sshPublicKeys) { + this.sshPublicKeys = sshPublicKeys; + this.__explicitlySet__.add("sshPublicKeys"); + return this; + } + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeZone") + private String timeZone; + + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + * + * @param timeZone the value to set + * @return this builder + */ + public Builder timeZone(String timeZone) { + this.timeZone = timeZone; + this.__explicitlySet__.add("timeZone"); + return this; + } + /** The cluster name for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("clusterName") + private String clusterName; + + /** + * The cluster name for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param clusterName the value to set + * @return this builder + */ + public Builder clusterName(String clusterName) { + this.clusterName = clusterName; + this.__explicitlySet__.add("clusterName"); + return this; + } + /** + * Total boot partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bootStorageSizeInGBs") + private Integer bootStorageSizeInGBs; + + /** + * Total boot partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param bootStorageSizeInGBs the value to set + * @return this builder + */ + public Builder bootStorageSizeInGBs(Integer bootStorageSizeInGBs) { + this.bootStorageSizeInGBs = bootStorageSizeInGBs; + this.__explicitlySet__.add("bootStorageSizeInGBs"); + return this; + } + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("additionalVmStorageSizeInGBs") + private Integer additionalVmStorageSizeInGBs; + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param additionalVmStorageSizeInGBs the value to set + * @return this builder + */ + public Builder additionalVmStorageSizeInGBs(Integer additionalVmStorageSizeInGBs) { + this.additionalVmStorageSizeInGBs = additionalVmStorageSizeInGBs; + this.__explicitlySet__.add("additionalVmStorageSizeInGBs"); + return this; + } + /** The total storage allocated in GBs. */ + @com.fasterxml.jackson.annotation.JsonProperty("totalStorageSizeInGBs") + private Integer totalStorageSizeInGBs; + + /** + * The total storage allocated in GBs. + * + * @param totalStorageSizeInGBs the value to set + * @return this builder + */ + public Builder totalStorageSizeInGBs(Integer totalStorageSizeInGBs) { + this.totalStorageSizeInGBs = totalStorageSizeInGBs; + this.__explicitlySet__.add("totalStorageSizeInGBs"); + return this; + } + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataStorageSizeInGBs") + private Integer dataStorageSizeInGBs; + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param dataStorageSizeInGBs the value to set + * @return this builder + */ + public Builder dataStorageSizeInGBs(Integer dataStorageSizeInGBs) { + this.dataStorageSizeInGBs = dataStorageSizeInGBs; + this.__explicitlySet__.add("dataStorageSizeInGBs"); + return this; + } + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("recoStorageSizeInGBs") + private Integer recoStorageSizeInGBs; + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param recoStorageSizeInGBs the value to set + * @return this builder + */ + public Builder recoStorageSizeInGBs(Integer recoStorageSizeInGBs) { + this.recoStorageSizeInGBs = recoStorageSizeInGBs; + this.__explicitlySet__.add("recoStorageSizeInGBs"); + return this; + } + /** + * 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. + */ + @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. + * + * @param memorySizeInGBs the value to set + * @return this builder + */ + public Builder memorySizeInGBs(Integer memorySizeInGBs) { + this.memorySizeInGBs = memorySizeInGBs; + this.__explicitlySet__.add("memorySizeInGBs"); + return this; + } + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private LicenseModel licenseModel; + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + * + * @param licenseModel the value to set + * @return this builder + */ + public Builder licenseModel(LicenseModel licenseModel) { + this.licenseModel = licenseModel; + this.__explicitlySet__.add("licenseModel"); + 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). + */ + @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). + * + * @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. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + */ + @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. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + * @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; + } + /** Operating system version of the image. */ + @com.fasterxml.jackson.annotation.JsonProperty("systemVersion") + private String systemVersion; + + /** + * Operating system version of the image. + * + * @param systemVersion the value to set + * @return this builder + */ + public Builder systemVersion(String systemVersion) { + this.systemVersion = systemVersion; + this.__explicitlySet__.add("systemVersion"); + return this; + } + /** + * The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("vmClusterType") + private VmClusterType vmClusterType; + + /** + * The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param vmClusterType the value to set + * @return this builder + */ + public Builder vmClusterType(VmClusterType vmClusterType) { + this.vmClusterType = vmClusterType; + this.__explicitlySet__.add("vmClusterType"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("cloudAutomationUpdateDetails") + private CloudAutomationUpdateDetails cloudAutomationUpdateDetails; + + public Builder cloudAutomationUpdateDetails( + CloudAutomationUpdateDetails cloudAutomationUpdateDetails) { + this.cloudAutomationUpdateDetails = cloudAutomationUpdateDetails; + this.__explicitlySet__.add("cloudAutomationUpdateDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public BaseccVmClusterSummary build() { + BaseccVmClusterSummary model = + new BaseccVmClusterSummary( + this.id, + this.lastPatchHistoryEntryId, + this.lifecycleState, + this.timeCreated, + this.timeUpdated, + this.lifecycleDetails, + this.availabilityDomain, + this.compartmentId, + this.databaseEdition, + this.nodeCount, + this.dbServers, + this.cpusEnabled, + this.baseInfrastructureId, + this.baseVmClusterNetworkId, + this.giVersion, + this.dataCollectionOptions, + this.description, + this.displayName, + this.sshPublicKeys, + this.timeZone, + this.clusterName, + this.bootStorageSizeInGBs, + this.additionalVmStorageSizeInGBs, + this.totalStorageSizeInGBs, + this.dataStorageSizeInGBs, + this.recoStorageSizeInGBs, + this.memorySizeInGBs, + this.licenseModel, + this.freeformTags, + this.definedTags, + this.systemTags, + this.systemVersion, + this.vmClusterType, + this.cloudAutomationUpdateDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(BaseccVmClusterSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("lastPatchHistoryEntryId")) { + this.lastPatchHistoryEntryId(model.getLastPatchHistoryEntryId()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("availabilityDomain")) { + this.availabilityDomain(model.getAvailabilityDomain()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("databaseEdition")) { + this.databaseEdition(model.getDatabaseEdition()); + } + if (model.wasPropertyExplicitlySet("nodeCount")) { + this.nodeCount(model.getNodeCount()); + } + if (model.wasPropertyExplicitlySet("dbServers")) { + this.dbServers(model.getDbServers()); + } + if (model.wasPropertyExplicitlySet("cpusEnabled")) { + this.cpusEnabled(model.getCpusEnabled()); + } + if (model.wasPropertyExplicitlySet("baseInfrastructureId")) { + this.baseInfrastructureId(model.getBaseInfrastructureId()); + } + if (model.wasPropertyExplicitlySet("baseVmClusterNetworkId")) { + this.baseVmClusterNetworkId(model.getBaseVmClusterNetworkId()); + } + if (model.wasPropertyExplicitlySet("giVersion")) { + this.giVersion(model.getGiVersion()); + } + if (model.wasPropertyExplicitlySet("dataCollectionOptions")) { + this.dataCollectionOptions(model.getDataCollectionOptions()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("sshPublicKeys")) { + this.sshPublicKeys(model.getSshPublicKeys()); + } + if (model.wasPropertyExplicitlySet("timeZone")) { + this.timeZone(model.getTimeZone()); + } + if (model.wasPropertyExplicitlySet("clusterName")) { + this.clusterName(model.getClusterName()); + } + if (model.wasPropertyExplicitlySet("bootStorageSizeInGBs")) { + this.bootStorageSizeInGBs(model.getBootStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("additionalVmStorageSizeInGBs")) { + this.additionalVmStorageSizeInGBs(model.getAdditionalVmStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("totalStorageSizeInGBs")) { + this.totalStorageSizeInGBs(model.getTotalStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("dataStorageSizeInGBs")) { + this.dataStorageSizeInGBs(model.getDataStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("recoStorageSizeInGBs")) { + this.recoStorageSizeInGBs(model.getRecoStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("memorySizeInGBs")) { + this.memorySizeInGBs(model.getMemorySizeInGBs()); + } + if (model.wasPropertyExplicitlySet("licenseModel")) { + this.licenseModel(model.getLicenseModel()); + } + 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("systemVersion")) { + this.systemVersion(model.getSystemVersion()); + } + if (model.wasPropertyExplicitlySet("vmClusterType")) { + this.vmClusterType(model.getVmClusterType()); + } + if (model.wasPropertyExplicitlySet("cloudAutomationUpdateDetails")) { + this.cloudAutomationUpdateDetails(model.getCloudAutomationUpdateDetails()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Base + * Database Service on Cloud@Customer (BaseDB-C@C) 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 Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public String getId() { + return id; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last + * patch history. This value is updated as soon as a patch operation starts. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastPatchHistoryEntryId") + private final String lastPatchHistoryEntryId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last + * patch history. This value is updated as soon as a patch operation starts. + * + * @return the value + */ + public String getLastPatchHistoryEntryId() { + return lastPatchHistoryEntryId; + } + + /** The current state of the VM Cluster. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Provisioning("PROVISIONING"), + Available("AVAILABLE"), + Updating("UPDATING"), + Terminating("TERMINATING"), + Terminated("TERMINATED"), + Failed("FAILED"), + MaintenanceInProgress("MAINTENANCE_IN_PROGRESS"), + + /** + * 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 current state of the VM Cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The current state of the VM Cluster. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster + * was created. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster + * was created. + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster + * was updated. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * The date and time that the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster + * was updated. + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * Additional information about the current lifecycle state of the the Base Database Service on + * Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final String lifecycleDetails; + + /** + * Additional information about the current lifecycle state of the the Base Database Service on + * Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public String getLifecycleDetails() { + return lifecycleDetails; + } + + /** + * The name of the availability domain in which the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster is located. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availabilityDomain") + private final String availabilityDomain; + + /** + * The name of the availability domain in which the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster is located. + * + * @return the value + */ + public String getAvailabilityDomain() { + return availabilityDomain; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + */ + @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. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata DB + * systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + */ + public enum DatabaseEdition implements com.oracle.bmc.http.internal.BmcEnum { + StandardEdition("STANDARD_EDITION"), + EnterpriseEdition("ENTERPRISE_EDITION"), + EnterpriseEditionHighPerformance("ENTERPRISE_EDITION_HIGH_PERFORMANCE"), + EnterpriseEditionExtremePerformance("ENTERPRISE_EDITION_EXTREME_PERFORMANCE"), + EnterpriseEditionDeveloper("ENTERPRISE_EDITION_DEVELOPER"), + + /** + * 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(DatabaseEdition.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DatabaseEdition v : DatabaseEdition.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + DatabaseEdition(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DatabaseEdition create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'DatabaseEdition', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata DB + * systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + */ + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private final DatabaseEdition databaseEdition; + + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata DB + * systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + * + * @return the value + */ + public DatabaseEdition getDatabaseEdition() { + return databaseEdition; + } + + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") + private final Integer nodeCount; + + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public Integer getNodeCount() { + return nodeCount; + } + + /** List of Base server OCIDs. */ + @com.fasterxml.jackson.annotation.JsonProperty("dbServers") + private final java.util.List dbServers; + + /** + * List of Base server OCIDs. + * + * @return the value + */ + public java.util.List getDbServers() { + return dbServers; + } + + /** Total CPU cores for the BaseDB C@C VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("cpusEnabled") + private final Integer cpusEnabled; + + /** + * Total CPU cores for the BaseDB C@C VM cluster. + * + * @return the value + */ + public Integer getCpusEnabled() { + return cpusEnabled; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of Oracle + * Data Cloud@Customer Infrastructure. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseInfrastructureId") + private final String baseInfrastructureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of Oracle + * Data Cloud@Customer Infrastructure. + * + * @return the value + */ + public String getBaseInfrastructureId() { + return baseInfrastructureId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseVmClusterNetworkId") + private final String baseVmClusterNetworkId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + * + * @return the value + */ + public String getBaseVmClusterNetworkId() { + return baseVmClusterNetworkId; + } + + /** A valid Oracle Grid Infrastructure (GI) software version. */ + @com.fasterxml.jackson.annotation.JsonProperty("giVersion") + private final String giVersion; + + /** + * A valid Oracle Grid Infrastructure (GI) software version. + * + * @return the value + */ + public String getGiVersion() { + return giVersion; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataCollectionOptions") + private final DataCollectionOptions dataCollectionOptions; + + public DataCollectionOptions getDataCollectionOptions() { + return dataCollectionOptions; + } + + /** The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + private final java.util.List sshPublicKeys; + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public java.util.List getSshPublicKeys() { + return sshPublicKeys; + } + + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeZone") + private final String timeZone; + + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + * + * @return the value + */ + public String getTimeZone() { + return timeZone; + } + + /** The cluster name for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("clusterName") + private final String clusterName; + + /** + * The cluster name for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public String getClusterName() { + return clusterName; + } + + /** + * Total boot partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bootStorageSizeInGBs") + private final Integer bootStorageSizeInGBs; + + /** + * Total boot partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getBootStorageSizeInGBs() { + return bootStorageSizeInGBs; + } + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("additionalVmStorageSizeInGBs") + private final Integer additionalVmStorageSizeInGBs; + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getAdditionalVmStorageSizeInGBs() { + return additionalVmStorageSizeInGBs; + } + + /** The total storage allocated in GBs. */ + @com.fasterxml.jackson.annotation.JsonProperty("totalStorageSizeInGBs") + private final Integer totalStorageSizeInGBs; + + /** + * The total storage allocated in GBs. + * + * @return the value + */ + public Integer getTotalStorageSizeInGBs() { + return totalStorageSizeInGBs; + } + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataStorageSizeInGBs") + private final Integer dataStorageSizeInGBs; + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getDataStorageSizeInGBs() { + return dataStorageSizeInGBs; + } + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("recoStorageSizeInGBs") + private final Integer recoStorageSizeInGBs; + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getRecoStorageSizeInGBs() { + return 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. + */ + @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. + * + * @return the value + */ + public Integer getMemorySizeInGBs() { + return memorySizeInGBs; + } + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + public enum LicenseModel implements com.oracle.bmc.http.internal.BmcEnum { + LicenseIncluded("LICENSE_INCLUDED"), + BringYourOwnLicense("BRING_YOUR_OWN_LICENSE"), + + /** + * 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(LicenseModel.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LicenseModel v : LicenseModel.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LicenseModel(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LicenseModel create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LicenseModel', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private final LicenseModel licenseModel; + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + * + * @return the value + */ + public LicenseModel getLicenseModel() { + return licenseModel; + } + + /** + * 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). + */ + @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). + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * System 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). + */ + @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. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + /** Operating system version of the image. */ + @com.fasterxml.jackson.annotation.JsonProperty("systemVersion") + private final String systemVersion; + + /** + * Operating system version of the image. + * + * @return the value + */ + public String getSystemVersion() { + return systemVersion; + } + + /** The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + public enum VmClusterType implements com.oracle.bmc.http.internal.BmcEnum { + Regular("REGULAR"), + Developer("DEVELOPER"), + + /** + * 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(VmClusterType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (VmClusterType v : VmClusterType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + VmClusterType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static VmClusterType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'VmClusterType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("vmClusterType") + private final VmClusterType vmClusterType; + + /** + * The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public VmClusterType getVmClusterType() { + return vmClusterType; + } + + @com.fasterxml.jackson.annotation.JsonProperty("cloudAutomationUpdateDetails") + private final CloudAutomationUpdateDetails cloudAutomationUpdateDetails; + + public CloudAutomationUpdateDetails getCloudAutomationUpdateDetails() { + return cloudAutomationUpdateDetails; + } + + @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("BaseccVmClusterSummary("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", lastPatchHistoryEntryId=") + .append(String.valueOf(this.lastPatchHistoryEntryId)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(", availabilityDomain=").append(String.valueOf(this.availabilityDomain)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", databaseEdition=").append(String.valueOf(this.databaseEdition)); + sb.append(", nodeCount=").append(String.valueOf(this.nodeCount)); + sb.append(", dbServers=").append(String.valueOf(this.dbServers)); + sb.append(", cpusEnabled=").append(String.valueOf(this.cpusEnabled)); + sb.append(", baseInfrastructureId=").append(String.valueOf(this.baseInfrastructureId)); + sb.append(", baseVmClusterNetworkId=").append(String.valueOf(this.baseVmClusterNetworkId)); + sb.append(", giVersion=").append(String.valueOf(this.giVersion)); + sb.append(", dataCollectionOptions=").append(String.valueOf(this.dataCollectionOptions)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", sshPublicKeys=").append(String.valueOf(this.sshPublicKeys)); + sb.append(", timeZone=").append(String.valueOf(this.timeZone)); + sb.append(", clusterName=").append(String.valueOf(this.clusterName)); + sb.append(", bootStorageSizeInGBs=").append(String.valueOf(this.bootStorageSizeInGBs)); + sb.append(", additionalVmStorageSizeInGBs=") + .append(String.valueOf(this.additionalVmStorageSizeInGBs)); + sb.append(", totalStorageSizeInGBs=").append(String.valueOf(this.totalStorageSizeInGBs)); + sb.append(", dataStorageSizeInGBs=").append(String.valueOf(this.dataStorageSizeInGBs)); + sb.append(", recoStorageSizeInGBs=").append(String.valueOf(this.recoStorageSizeInGBs)); + sb.append(", memorySizeInGBs=").append(String.valueOf(this.memorySizeInGBs)); + sb.append(", licenseModel=").append(String.valueOf(this.licenseModel)); + 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(", systemVersion=").append(String.valueOf(this.systemVersion)); + sb.append(", vmClusterType=").append(String.valueOf(this.vmClusterType)); + sb.append(", cloudAutomationUpdateDetails=") + .append(String.valueOf(this.cloudAutomationUpdateDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BaseccVmClusterSummary)) { + return false; + } + + BaseccVmClusterSummary other = (BaseccVmClusterSummary) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals( + this.lastPatchHistoryEntryId, other.lastPatchHistoryEntryId) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.availabilityDomain, other.availabilityDomain) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.databaseEdition, other.databaseEdition) + && java.util.Objects.equals(this.nodeCount, other.nodeCount) + && java.util.Objects.equals(this.dbServers, other.dbServers) + && java.util.Objects.equals(this.cpusEnabled, other.cpusEnabled) + && java.util.Objects.equals(this.baseInfrastructureId, other.baseInfrastructureId) + && java.util.Objects.equals( + this.baseVmClusterNetworkId, other.baseVmClusterNetworkId) + && java.util.Objects.equals(this.giVersion, other.giVersion) + && java.util.Objects.equals(this.dataCollectionOptions, other.dataCollectionOptions) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.sshPublicKeys, other.sshPublicKeys) + && java.util.Objects.equals(this.timeZone, other.timeZone) + && java.util.Objects.equals(this.clusterName, other.clusterName) + && java.util.Objects.equals(this.bootStorageSizeInGBs, other.bootStorageSizeInGBs) + && java.util.Objects.equals( + this.additionalVmStorageSizeInGBs, other.additionalVmStorageSizeInGBs) + && java.util.Objects.equals(this.totalStorageSizeInGBs, other.totalStorageSizeInGBs) + && java.util.Objects.equals(this.dataStorageSizeInGBs, other.dataStorageSizeInGBs) + && java.util.Objects.equals(this.recoStorageSizeInGBs, other.recoStorageSizeInGBs) + && java.util.Objects.equals(this.memorySizeInGBs, other.memorySizeInGBs) + && java.util.Objects.equals(this.licenseModel, other.licenseModel) + && 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.systemVersion, other.systemVersion) + && java.util.Objects.equals(this.vmClusterType, other.vmClusterType) + && java.util.Objects.equals( + this.cloudAutomationUpdateDetails, other.cloudAutomationUpdateDetails) + && 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.lastPatchHistoryEntryId == null + ? 43 + : this.lastPatchHistoryEntryId.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); + result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode()); + result = + (result * PRIME) + + (this.availabilityDomain == null + ? 43 + : this.availabilityDomain.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = + (result * PRIME) + + (this.databaseEdition == null ? 43 : this.databaseEdition.hashCode()); + result = (result * PRIME) + (this.nodeCount == null ? 43 : this.nodeCount.hashCode()); + result = (result * PRIME) + (this.dbServers == null ? 43 : this.dbServers.hashCode()); + result = (result * PRIME) + (this.cpusEnabled == null ? 43 : this.cpusEnabled.hashCode()); + result = + (result * PRIME) + + (this.baseInfrastructureId == null + ? 43 + : this.baseInfrastructureId.hashCode()); + result = + (result * PRIME) + + (this.baseVmClusterNetworkId == null + ? 43 + : this.baseVmClusterNetworkId.hashCode()); + result = (result * PRIME) + (this.giVersion == null ? 43 : this.giVersion.hashCode()); + result = + (result * PRIME) + + (this.dataCollectionOptions == null + ? 43 + : this.dataCollectionOptions.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.sshPublicKeys == null ? 43 : this.sshPublicKeys.hashCode()); + result = (result * PRIME) + (this.timeZone == null ? 43 : this.timeZone.hashCode()); + result = (result * PRIME) + (this.clusterName == null ? 43 : this.clusterName.hashCode()); + result = + (result * PRIME) + + (this.bootStorageSizeInGBs == null + ? 43 + : this.bootStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.additionalVmStorageSizeInGBs == null + ? 43 + : this.additionalVmStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.totalStorageSizeInGBs == null + ? 43 + : this.totalStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.dataStorageSizeInGBs == null + ? 43 + : this.dataStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.recoStorageSizeInGBs == null + ? 43 + : this.recoStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.memorySizeInGBs == null ? 43 : this.memorySizeInGBs.hashCode()); + result = (result * PRIME) + (this.licenseModel == null ? 43 : this.licenseModel.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.systemVersion == null ? 43 : this.systemVersion.hashCode()); + result = + (result * PRIME) + + (this.vmClusterType == null ? 43 : this.vmClusterType.hashCode()); + result = + (result * PRIME) + + (this.cloudAutomationUpdateDetails == null + ? 43 + : this.cloudAutomationUpdateDetails.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdate.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdate.java new file mode 100644 index 00000000000..ad018f5e839 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdate.java @@ -0,0 +1,660 @@ +/** + * 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; + +/** + * Maintenance update details for a BaseDB-C@C VM cluster.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = BaseccVmClusterUpdate.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class BaseccVmClusterUpdate + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "description", + "lastAction", + "availableActions", + "updateType", + "lifecycleDetails", + "lifecycleState", + "timeReleased", + "version" + }) + public BaseccVmClusterUpdate( + String id, + String description, + LastAction lastAction, + java.util.List availableActions, + UpdateType updateType, + String lifecycleDetails, + LifecycleState lifecycleState, + java.util.Date timeReleased, + String version) { + super(); + this.id = id; + this.description = description; + this.lastAction = lastAction; + this.availableActions = availableActions; + this.updateType = updateType; + this.lifecycleDetails = lifecycleDetails; + this.lifecycleState = lifecycleState; + this.timeReleased = timeReleased; + this.version = version; + } + + @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 + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** Details of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * Details of the maintenance update package. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** The previous update action performed. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastAction") + private LastAction lastAction; + + /** + * The previous update action performed. + * + * @param lastAction the value to set + * @return this builder + */ + public Builder lastAction(LastAction lastAction) { + this.lastAction = lastAction; + this.__explicitlySet__.add("lastAction"); + return this; + } + /** + * The possible actions performed by the update operation on the infrastructure components. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availableActions") + private java.util.List availableActions; + + /** + * The possible actions performed by the update operation on the infrastructure components. + * + * @param availableActions the value to set + * @return this builder + */ + public Builder availableActions(java.util.List availableActions) { + this.availableActions = availableActions; + this.__explicitlySet__.add("availableActions"); + return this; + } + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateType") + private UpdateType updateType; + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + * + * @param updateType the value to set + * @return this builder + */ + public Builder updateType(UpdateType updateType) { + this.updateType = updateType; + this.__explicitlySet__.add("updateType"); + return this; + } + /** Descriptive text providing additional details about the lifecycle state. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private String lifecycleDetails; + + /** + * Descriptive text providing additional details about the lifecycle state. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(String lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** + * The current state of the maintenance update. Dependent on value of {@code lastAction}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The current state of the maintenance update. Dependent on value of {@code lastAction}. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** The date and time the maintenance update was released. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeReleased") + private java.util.Date timeReleased; + + /** + * The date and time the maintenance update was released. + * + * @param timeReleased the value to set + * @return this builder + */ + public Builder timeReleased(java.util.Date timeReleased) { + this.timeReleased = timeReleased; + this.__explicitlySet__.add("timeReleased"); + return this; + } + /** The version of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private String version; + + /** + * The version of the maintenance update package. + * + * @param version the value to set + * @return this builder + */ + public Builder version(String version) { + this.version = version; + this.__explicitlySet__.add("version"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public BaseccVmClusterUpdate build() { + BaseccVmClusterUpdate model = + new BaseccVmClusterUpdate( + this.id, + this.description, + this.lastAction, + this.availableActions, + this.updateType, + this.lifecycleDetails, + this.lifecycleState, + this.timeReleased, + this.version); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(BaseccVmClusterUpdate model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("lastAction")) { + this.lastAction(model.getLastAction()); + } + if (model.wasPropertyExplicitlySet("availableActions")) { + this.availableActions(model.getAvailableActions()); + } + if (model.wasPropertyExplicitlySet("updateType")) { + this.updateType(model.getUpdateType()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("timeReleased")) { + this.timeReleased(model.getTimeReleased()); + } + if (model.wasPropertyExplicitlySet("version")) { + this.version(model.getVersion()); + } + 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 + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @return the value + */ + public String getId() { + return id; + } + + /** Details of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * Details of the maintenance update package. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** The previous update action performed. */ + public enum LastAction implements com.oracle.bmc.http.internal.BmcEnum { + RollingApply("ROLLING_APPLY"), + Precheck("PRECHECK"), + Rollback("ROLLBACK"), + + /** + * 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(LastAction.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LastAction v : LastAction.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LastAction(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LastAction create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LastAction', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The previous update action performed. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastAction") + private final LastAction lastAction; + + /** + * The previous update action performed. + * + * @return the value + */ + public LastAction getLastAction() { + return lastAction; + } + + /** */ + public enum AvailableActions implements com.oracle.bmc.http.internal.BmcEnum { + RollingApply("ROLLING_APPLY"), + Precheck("PRECHECK"), + Rollback("ROLLBACK"), + + /** + * 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(AvailableActions.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (AvailableActions v : AvailableActions.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + AvailableActions(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static AvailableActions create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'AvailableActions', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The possible actions performed by the update operation on the infrastructure components. */ + @com.fasterxml.jackson.annotation.JsonProperty("availableActions") + private final java.util.List availableActions; + + /** + * The possible actions performed by the update operation on the infrastructure components. + * + * @return the value + */ + public java.util.List getAvailableActions() { + return availableActions; + } + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { + GiUpgrade("GI_UPGRADE"), + GiPatch("GI_PATCH"), + + /** + * 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(UpdateType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateType v : UpdateType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateType") + private final UpdateType updateType; + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + * + * @return the value + */ + public UpdateType getUpdateType() { + return updateType; + } + + /** Descriptive text providing additional details about the lifecycle state. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final String lifecycleDetails; + + /** + * Descriptive text providing additional details about the lifecycle state. + * + * @return the value + */ + public String getLifecycleDetails() { + return lifecycleDetails; + } + + /** The current state of the maintenance update. Dependent on value of {@code lastAction}. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Available("AVAILABLE"), + Success("SUCCESS"), + InProgress("IN_PROGRESS"), + 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 current state of the maintenance update. Dependent on value of {@code lastAction}. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The current state of the maintenance update. Dependent on value of {@code lastAction}. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** The date and time the maintenance update was released. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeReleased") + private final java.util.Date timeReleased; + + /** + * The date and time the maintenance update was released. + * + * @return the value + */ + public java.util.Date getTimeReleased() { + return timeReleased; + } + + /** The version of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private final String version; + + /** + * The version of the maintenance update package. + * + * @return the value + */ + public String getVersion() { + return version; + } + + @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("BaseccVmClusterUpdate("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", lastAction=").append(String.valueOf(this.lastAction)); + sb.append(", availableActions=").append(String.valueOf(this.availableActions)); + sb.append(", updateType=").append(String.valueOf(this.updateType)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + 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(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BaseccVmClusterUpdate)) { + return false; + } + + BaseccVmClusterUpdate other = (BaseccVmClusterUpdate) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.lastAction, other.lastAction) + && java.util.Objects.equals(this.availableActions, other.availableActions) + && java.util.Objects.equals(this.updateType, other.updateType) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.timeReleased, other.timeReleased) + && java.util.Objects.equals(this.version, other.version) + && 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.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + (this.lastAction == null ? 43 : this.lastAction.hashCode()); + result = + (result * PRIME) + + (this.availableActions == null ? 43 : this.availableActions.hashCode()); + result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode()); + result = + (result * PRIME) + + (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) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateDetails.java new file mode 100644 index 00000000000..18e01bb0f71 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateDetails.java @@ -0,0 +1,265 @@ +/** + * 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; + +/** + * Details specifying which maintenance update to apply to the BaseDB-C@C VM cluster and which + * action is to be performed by the maintenance update. Applies to Base Database Service on + * Cloud@Customer instances only.
+ * 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 = BaseccVmClusterUpdateDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class BaseccVmClusterUpdateDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"updateId", "updateAction", "giSoftwareImageId"}) + public BaseccVmClusterUpdateDetails( + String updateId, UpdateAction updateAction, String giSoftwareImageId) { + super(); + this.updateId = updateId; + this.updateAction = updateAction; + this.giSoftwareImageId = giSoftwareImageId; + } + + @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 + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateId") + private String updateId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @param updateId the value to set + * @return this builder + */ + public Builder updateId(String updateId) { + this.updateId = updateId; + this.__explicitlySet__.add("updateId"); + return this; + } + /** The update action to perform. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateAction") + private UpdateAction updateAction; + + /** + * The update action to perform. + * + * @param updateAction the value to set + * @return this builder + */ + public Builder updateAction(UpdateAction updateAction) { + this.updateAction = updateAction; + this.__explicitlySet__.add("updateAction"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * grid infrastructure software image. This is a database software image of the type {@code + * GRID_IMAGE}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("giSoftwareImageId") + private String giSoftwareImageId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a + * grid infrastructure software image. This is a database software image of the type {@code + * GRID_IMAGE}. + * + * @param giSoftwareImageId the value to set + * @return this builder + */ + public Builder giSoftwareImageId(String giSoftwareImageId) { + this.giSoftwareImageId = giSoftwareImageId; + this.__explicitlySet__.add("giSoftwareImageId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public BaseccVmClusterUpdateDetails build() { + BaseccVmClusterUpdateDetails model = + new BaseccVmClusterUpdateDetails( + this.updateId, this.updateAction, this.giSoftwareImageId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(BaseccVmClusterUpdateDetails model) { + if (model.wasPropertyExplicitlySet("updateId")) { + this.updateId(model.getUpdateId()); + } + if (model.wasPropertyExplicitlySet("updateAction")) { + this.updateAction(model.getUpdateAction()); + } + if (model.wasPropertyExplicitlySet("giSoftwareImageId")) { + this.giSoftwareImageId(model.getGiSoftwareImageId()); + } + 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 + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateId") + private final String updateId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @return the value + */ + public String getUpdateId() { + return updateId; + } + + /** The update action to perform. */ + public enum UpdateAction implements com.oracle.bmc.http.internal.BmcEnum { + RollingApply("ROLLING_APPLY"), + Precheck("PRECHECK"), + Rollback("ROLLBACK"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateAction v : UpdateAction.values()) { + map.put(v.getValue(), v); + } + } + + UpdateAction(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateAction create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid UpdateAction: " + key); + } + }; + /** The update action to perform. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateAction") + private final UpdateAction updateAction; + + /** + * The update action to perform. + * + * @return the value + */ + public UpdateAction getUpdateAction() { + return updateAction; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a grid + * infrastructure software image. This is a database software image of the type {@code + * GRID_IMAGE}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("giSoftwareImageId") + private final String giSoftwareImageId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a grid + * infrastructure software image. This is a database software image of the type {@code + * GRID_IMAGE}. + * + * @return the value + */ + public String getGiSoftwareImageId() { + return giSoftwareImageId; + } + + @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("BaseccVmClusterUpdateDetails("); + sb.append("super=").append(super.toString()); + sb.append("updateId=").append(String.valueOf(this.updateId)); + sb.append(", updateAction=").append(String.valueOf(this.updateAction)); + sb.append(", giSoftwareImageId=").append(String.valueOf(this.giSoftwareImageId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BaseccVmClusterUpdateDetails)) { + return false; + } + + BaseccVmClusterUpdateDetails other = (BaseccVmClusterUpdateDetails) o; + return java.util.Objects.equals(this.updateId, other.updateId) + && java.util.Objects.equals(this.updateAction, other.updateAction) + && java.util.Objects.equals(this.giSoftwareImageId, other.giSoftwareImageId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.updateId == null ? 43 : this.updateId.hashCode()); + result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); + result = + (result * PRIME) + + (this.giSoftwareImageId == null ? 43 : this.giSoftwareImageId.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateHistoryEntry.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateHistoryEntry.java new file mode 100644 index 00000000000..a73c90198f1 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateHistoryEntry.java @@ -0,0 +1,616 @@ +/** + * 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 record of a maintenance update action on a specified BaseDB-C@C VM cluster.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = BaseccVmClusterUpdateHistoryEntry.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class BaseccVmClusterUpdateHistoryEntry + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "updateId", + "updateAction", + "updateType", + "lifecycleState", + "lifecycleDetails", + "timeStarted", + "timeCompleted", + "version" + }) + public BaseccVmClusterUpdateHistoryEntry( + String id, + String updateId, + UpdateAction updateAction, + UpdateType updateType, + LifecycleState lifecycleState, + String lifecycleDetails, + java.util.Date timeStarted, + java.util.Date timeCompleted, + String version) { + super(); + this.id = id; + this.updateId = updateId; + this.updateAction = updateAction; + this.updateType = updateType; + this.lifecycleState = lifecycleState; + this.lifecycleDetails = lifecycleDetails; + this.timeStarted = timeStarted; + this.timeCompleted = timeCompleted; + this.version = version; + } + + @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 + * maintenance update history entry. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update history entry. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateId") + private String updateId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @param updateId the value to set + * @return this builder + */ + public Builder updateId(String updateId) { + this.updateId = updateId; + this.__explicitlySet__.add("updateId"); + return this; + } + /** The update action. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateAction") + private UpdateAction updateAction; + + /** + * The update action. + * + * @param updateAction the value to set + * @return this builder + */ + public Builder updateAction(UpdateAction updateAction) { + this.updateAction = updateAction; + this.__explicitlySet__.add("updateAction"); + return this; + } + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateType") + private UpdateType updateType; + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + * + * @param updateType the value to set + * @return this builder + */ + public Builder updateType(UpdateType updateType) { + this.updateType = updateType; + this.__explicitlySet__.add("updateType"); + return this; + } + /** The current lifecycle state of the maintenance update operation. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The current lifecycle state of the maintenance update operation. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** Descriptive text providing additional details about the lifecycle state. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private String lifecycleDetails; + + /** + * Descriptive text providing additional details about the lifecycle state. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(String lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** The date and time when the maintenance update action started. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeStarted") + private java.util.Date timeStarted; + + /** + * The date and time when the maintenance update action started. + * + * @param timeStarted the value to set + * @return this builder + */ + public Builder timeStarted(java.util.Date timeStarted) { + this.timeStarted = timeStarted; + this.__explicitlySet__.add("timeStarted"); + return this; + } + /** The date and time when the maintenance update action completed. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCompleted") + private java.util.Date timeCompleted; + + /** + * The date and time when the maintenance update action completed. + * + * @param timeCompleted the value to set + * @return this builder + */ + public Builder timeCompleted(java.util.Date timeCompleted) { + this.timeCompleted = timeCompleted; + this.__explicitlySet__.add("timeCompleted"); + return this; + } + /** The version of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private String version; + + /** + * The version of the maintenance update package. + * + * @param version the value to set + * @return this builder + */ + public Builder version(String version) { + this.version = version; + this.__explicitlySet__.add("version"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public BaseccVmClusterUpdateHistoryEntry build() { + BaseccVmClusterUpdateHistoryEntry model = + new BaseccVmClusterUpdateHistoryEntry( + this.id, + this.updateId, + this.updateAction, + this.updateType, + this.lifecycleState, + this.lifecycleDetails, + this.timeStarted, + this.timeCompleted, + this.version); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(BaseccVmClusterUpdateHistoryEntry model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("updateId")) { + this.updateId(model.getUpdateId()); + } + if (model.wasPropertyExplicitlySet("updateAction")) { + this.updateAction(model.getUpdateAction()); + } + if (model.wasPropertyExplicitlySet("updateType")) { + this.updateType(model.getUpdateType()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("timeStarted")) { + this.timeStarted(model.getTimeStarted()); + } + if (model.wasPropertyExplicitlySet("timeCompleted")) { + this.timeCompleted(model.getTimeCompleted()); + } + if (model.wasPropertyExplicitlySet("version")) { + this.version(model.getVersion()); + } + 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 + * maintenance update history entry. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update history entry. + * + * @return the value + */ + public String getId() { + return id; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateId") + private final String updateId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @return the value + */ + public String getUpdateId() { + return updateId; + } + + /** The update action. */ + public enum UpdateAction implements com.oracle.bmc.http.internal.BmcEnum { + RollingApply("ROLLING_APPLY"), + Precheck("PRECHECK"), + Rollback("ROLLBACK"), + + /** + * 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(UpdateAction.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateAction v : UpdateAction.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateAction(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateAction create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateAction', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The update action. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateAction") + private final UpdateAction updateAction; + + /** + * The update action. + * + * @return the value + */ + public UpdateAction getUpdateAction() { + return updateAction; + } + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { + GiUpgrade("GI_UPGRADE"), + GiPatch("GI_PATCH"), + + /** + * 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(UpdateType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateType v : UpdateType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateType") + private final UpdateType updateType; + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + * + * @return the value + */ + public UpdateType getUpdateType() { + return updateType; + } + + /** The current lifecycle state of the maintenance update operation. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + InProgress("IN_PROGRESS"), + Succeeded("SUCCEEDED"), + 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 current lifecycle state of the maintenance update operation. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The current lifecycle state of the maintenance update operation. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** Descriptive text providing additional details about the lifecycle state. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final String lifecycleDetails; + + /** + * Descriptive text providing additional details about the lifecycle state. + * + * @return the value + */ + public String getLifecycleDetails() { + return lifecycleDetails; + } + + /** The date and time when the maintenance update action started. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeStarted") + private final java.util.Date timeStarted; + + /** + * The date and time when the maintenance update action started. + * + * @return the value + */ + public java.util.Date getTimeStarted() { + return timeStarted; + } + + /** The date and time when the maintenance update action completed. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCompleted") + private final java.util.Date timeCompleted; + + /** + * The date and time when the maintenance update action completed. + * + * @return the value + */ + public java.util.Date getTimeCompleted() { + return timeCompleted; + } + + /** The version of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private final String version; + + /** + * The version of the maintenance update package. + * + * @return the value + */ + public String getVersion() { + return version; + } + + @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("BaseccVmClusterUpdateHistoryEntry("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", updateId=").append(String.valueOf(this.updateId)); + sb.append(", updateAction=").append(String.valueOf(this.updateAction)); + sb.append(", updateType=").append(String.valueOf(this.updateType)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(", timeStarted=").append(String.valueOf(this.timeStarted)); + sb.append(", timeCompleted=").append(String.valueOf(this.timeCompleted)); + sb.append(", version=").append(String.valueOf(this.version)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BaseccVmClusterUpdateHistoryEntry)) { + return false; + } + + BaseccVmClusterUpdateHistoryEntry other = (BaseccVmClusterUpdateHistoryEntry) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.updateId, other.updateId) + && java.util.Objects.equals(this.updateAction, other.updateAction) + && java.util.Objects.equals(this.updateType, other.updateType) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.timeStarted, other.timeStarted) + && java.util.Objects.equals(this.timeCompleted, other.timeCompleted) + && java.util.Objects.equals(this.version, other.version) + && 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.updateId == null ? 43 : this.updateId.hashCode()); + result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); + result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.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.timeStarted == null ? 43 : this.timeStarted.hashCode()); + result = + (result * PRIME) + + (this.timeCompleted == null ? 43 : this.timeCompleted.hashCode()); + result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateHistoryEntrySummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateHistoryEntrySummary.java new file mode 100644 index 00000000000..d9b7247c366 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateHistoryEntrySummary.java @@ -0,0 +1,617 @@ +/** + * 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 record of a maintenance update action on a specified BaseDB-C@C VM cluster.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = BaseccVmClusterUpdateHistoryEntrySummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class BaseccVmClusterUpdateHistoryEntrySummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "updateId", + "updateAction", + "updateType", + "lifecycleState", + "lifecycleDetails", + "timeStarted", + "timeCompleted", + "version" + }) + public BaseccVmClusterUpdateHistoryEntrySummary( + String id, + String updateId, + UpdateAction updateAction, + UpdateType updateType, + LifecycleState lifecycleState, + String lifecycleDetails, + java.util.Date timeStarted, + java.util.Date timeCompleted, + String version) { + super(); + this.id = id; + this.updateId = updateId; + this.updateAction = updateAction; + this.updateType = updateType; + this.lifecycleState = lifecycleState; + this.lifecycleDetails = lifecycleDetails; + this.timeStarted = timeStarted; + this.timeCompleted = timeCompleted; + this.version = version; + } + + @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 + * maintenance update history entry. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update history entry. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateId") + private String updateId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @param updateId the value to set + * @return this builder + */ + public Builder updateId(String updateId) { + this.updateId = updateId; + this.__explicitlySet__.add("updateId"); + return this; + } + /** The update action. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateAction") + private UpdateAction updateAction; + + /** + * The update action. + * + * @param updateAction the value to set + * @return this builder + */ + public Builder updateAction(UpdateAction updateAction) { + this.updateAction = updateAction; + this.__explicitlySet__.add("updateAction"); + return this; + } + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateType") + private UpdateType updateType; + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + * + * @param updateType the value to set + * @return this builder + */ + public Builder updateType(UpdateType updateType) { + this.updateType = updateType; + this.__explicitlySet__.add("updateType"); + return this; + } + /** The current lifecycle state of the maintenance update operation. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The current lifecycle state of the maintenance update operation. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** Descriptive text providing additional details about the lifecycle state. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private String lifecycleDetails; + + /** + * Descriptive text providing additional details about the lifecycle state. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(String lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** The date and time when the maintenance update action started. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeStarted") + private java.util.Date timeStarted; + + /** + * The date and time when the maintenance update action started. + * + * @param timeStarted the value to set + * @return this builder + */ + public Builder timeStarted(java.util.Date timeStarted) { + this.timeStarted = timeStarted; + this.__explicitlySet__.add("timeStarted"); + return this; + } + /** The date and time when the maintenance update action completed. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCompleted") + private java.util.Date timeCompleted; + + /** + * The date and time when the maintenance update action completed. + * + * @param timeCompleted the value to set + * @return this builder + */ + public Builder timeCompleted(java.util.Date timeCompleted) { + this.timeCompleted = timeCompleted; + this.__explicitlySet__.add("timeCompleted"); + return this; + } + /** The version of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private String version; + + /** + * The version of the maintenance update package. + * + * @param version the value to set + * @return this builder + */ + public Builder version(String version) { + this.version = version; + this.__explicitlySet__.add("version"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public BaseccVmClusterUpdateHistoryEntrySummary build() { + BaseccVmClusterUpdateHistoryEntrySummary model = + new BaseccVmClusterUpdateHistoryEntrySummary( + this.id, + this.updateId, + this.updateAction, + this.updateType, + this.lifecycleState, + this.lifecycleDetails, + this.timeStarted, + this.timeCompleted, + this.version); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(BaseccVmClusterUpdateHistoryEntrySummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("updateId")) { + this.updateId(model.getUpdateId()); + } + if (model.wasPropertyExplicitlySet("updateAction")) { + this.updateAction(model.getUpdateAction()); + } + if (model.wasPropertyExplicitlySet("updateType")) { + this.updateType(model.getUpdateType()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("timeStarted")) { + this.timeStarted(model.getTimeStarted()); + } + if (model.wasPropertyExplicitlySet("timeCompleted")) { + this.timeCompleted(model.getTimeCompleted()); + } + if (model.wasPropertyExplicitlySet("version")) { + this.version(model.getVersion()); + } + 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 + * maintenance update history entry. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update history entry. + * + * @return the value + */ + public String getId() { + return id; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateId") + private final String updateId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @return the value + */ + public String getUpdateId() { + return updateId; + } + + /** The update action. */ + public enum UpdateAction implements com.oracle.bmc.http.internal.BmcEnum { + RollingApply("ROLLING_APPLY"), + Precheck("PRECHECK"), + Rollback("ROLLBACK"), + + /** + * 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(UpdateAction.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateAction v : UpdateAction.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateAction(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateAction create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateAction', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The update action. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateAction") + private final UpdateAction updateAction; + + /** + * The update action. + * + * @return the value + */ + public UpdateAction getUpdateAction() { + return updateAction; + } + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { + GiUpgrade("GI_UPGRADE"), + GiPatch("GI_PATCH"), + + /** + * 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(UpdateType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateType v : UpdateType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateType") + private final UpdateType updateType; + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + * + * @return the value + */ + public UpdateType getUpdateType() { + return updateType; + } + + /** The current lifecycle state of the maintenance update operation. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + InProgress("IN_PROGRESS"), + Succeeded("SUCCEEDED"), + 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 current lifecycle state of the maintenance update operation. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The current lifecycle state of the maintenance update operation. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** Descriptive text providing additional details about the lifecycle state. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final String lifecycleDetails; + + /** + * Descriptive text providing additional details about the lifecycle state. + * + * @return the value + */ + public String getLifecycleDetails() { + return lifecycleDetails; + } + + /** The date and time when the maintenance update action started. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeStarted") + private final java.util.Date timeStarted; + + /** + * The date and time when the maintenance update action started. + * + * @return the value + */ + public java.util.Date getTimeStarted() { + return timeStarted; + } + + /** The date and time when the maintenance update action completed. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCompleted") + private final java.util.Date timeCompleted; + + /** + * The date and time when the maintenance update action completed. + * + * @return the value + */ + public java.util.Date getTimeCompleted() { + return timeCompleted; + } + + /** The version of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private final String version; + + /** + * The version of the maintenance update package. + * + * @return the value + */ + public String getVersion() { + return version; + } + + @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("BaseccVmClusterUpdateHistoryEntrySummary("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", updateId=").append(String.valueOf(this.updateId)); + sb.append(", updateAction=").append(String.valueOf(this.updateAction)); + sb.append(", updateType=").append(String.valueOf(this.updateType)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(", timeStarted=").append(String.valueOf(this.timeStarted)); + sb.append(", timeCompleted=").append(String.valueOf(this.timeCompleted)); + sb.append(", version=").append(String.valueOf(this.version)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BaseccVmClusterUpdateHistoryEntrySummary)) { + return false; + } + + BaseccVmClusterUpdateHistoryEntrySummary other = + (BaseccVmClusterUpdateHistoryEntrySummary) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.updateId, other.updateId) + && java.util.Objects.equals(this.updateAction, other.updateAction) + && java.util.Objects.equals(this.updateType, other.updateType) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.timeStarted, other.timeStarted) + && java.util.Objects.equals(this.timeCompleted, other.timeCompleted) + && java.util.Objects.equals(this.version, other.version) + && 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.updateId == null ? 43 : this.updateId.hashCode()); + result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); + result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.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.timeStarted == null ? 43 : this.timeStarted.hashCode()); + result = + (result * PRIME) + + (this.timeCompleted == null ? 43 : this.timeCompleted.hashCode()); + result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateSummary.java new file mode 100644 index 00000000000..71d409dd7cf --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/BaseccVmClusterUpdateSummary.java @@ -0,0 +1,665 @@ +/** + * 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; + +/** + * Maintenance update details for a BaseDB-C@C VM cluster. + * + *

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 + * 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 = BaseccVmClusterUpdateSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class BaseccVmClusterUpdateSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "description", + "lastAction", + "availableActions", + "updateType", + "lifecycleDetails", + "lifecycleState", + "timeReleased", + "version" + }) + public BaseccVmClusterUpdateSummary( + String id, + String description, + LastAction lastAction, + java.util.List availableActions, + UpdateType updateType, + String lifecycleDetails, + LifecycleState lifecycleState, + java.util.Date timeReleased, + String version) { + super(); + this.id = id; + this.description = description; + this.lastAction = lastAction; + this.availableActions = availableActions; + this.updateType = updateType; + this.lifecycleDetails = lifecycleDetails; + this.lifecycleState = lifecycleState; + this.timeReleased = timeReleased; + this.version = version; + } + + @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 + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** Details of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * Details of the maintenance update package. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** The previous update action performed. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastAction") + private LastAction lastAction; + + /** + * The previous update action performed. + * + * @param lastAction the value to set + * @return this builder + */ + public Builder lastAction(LastAction lastAction) { + this.lastAction = lastAction; + this.__explicitlySet__.add("lastAction"); + return this; + } + /** + * The possible actions performed by the update operation on the infrastructure components. + */ + @com.fasterxml.jackson.annotation.JsonProperty("availableActions") + private java.util.List availableActions; + + /** + * The possible actions performed by the update operation on the infrastructure components. + * + * @param availableActions the value to set + * @return this builder + */ + public Builder availableActions(java.util.List availableActions) { + this.availableActions = availableActions; + this.__explicitlySet__.add("availableActions"); + return this; + } + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateType") + private UpdateType updateType; + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + * + * @param updateType the value to set + * @return this builder + */ + public Builder updateType(UpdateType updateType) { + this.updateType = updateType; + this.__explicitlySet__.add("updateType"); + return this; + } + /** Descriptive text providing additional details about the lifecycle state. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private String lifecycleDetails; + + /** + * Descriptive text providing additional details about the lifecycle state. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(String lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + /** + * The current state of the maintenance update. Dependent on value of {@code lastAction}. + */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The current state of the maintenance update. Dependent on value of {@code lastAction}. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** The date and time the maintenance update was released. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeReleased") + private java.util.Date timeReleased; + + /** + * The date and time the maintenance update was released. + * + * @param timeReleased the value to set + * @return this builder + */ + public Builder timeReleased(java.util.Date timeReleased) { + this.timeReleased = timeReleased; + this.__explicitlySet__.add("timeReleased"); + return this; + } + /** The version of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private String version; + + /** + * The version of the maintenance update package. + * + * @param version the value to set + * @return this builder + */ + public Builder version(String version) { + this.version = version; + this.__explicitlySet__.add("version"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public BaseccVmClusterUpdateSummary build() { + BaseccVmClusterUpdateSummary model = + new BaseccVmClusterUpdateSummary( + this.id, + this.description, + this.lastAction, + this.availableActions, + this.updateType, + this.lifecycleDetails, + this.lifecycleState, + this.timeReleased, + this.version); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(BaseccVmClusterUpdateSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("lastAction")) { + this.lastAction(model.getLastAction()); + } + if (model.wasPropertyExplicitlySet("availableActions")) { + this.availableActions(model.getAvailableActions()); + } + if (model.wasPropertyExplicitlySet("updateType")) { + this.updateType(model.getUpdateType()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("timeReleased")) { + this.timeReleased(model.getTimeReleased()); + } + if (model.wasPropertyExplicitlySet("version")) { + this.version(model.getVersion()); + } + 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 + * maintenance update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @return the value + */ + public String getId() { + return id; + } + + /** Details of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * Details of the maintenance update package. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** The previous update action performed. */ + public enum LastAction implements com.oracle.bmc.http.internal.BmcEnum { + RollingApply("ROLLING_APPLY"), + Precheck("PRECHECK"), + Rollback("ROLLBACK"), + + /** + * 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(LastAction.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LastAction v : LastAction.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LastAction(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LastAction create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LastAction', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The previous update action performed. */ + @com.fasterxml.jackson.annotation.JsonProperty("lastAction") + private final LastAction lastAction; + + /** + * The previous update action performed. + * + * @return the value + */ + public LastAction getLastAction() { + return lastAction; + } + + /** */ + public enum AvailableActions implements com.oracle.bmc.http.internal.BmcEnum { + RollingApply("ROLLING_APPLY"), + Precheck("PRECHECK"), + Rollback("ROLLBACK"), + + /** + * 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(AvailableActions.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (AvailableActions v : AvailableActions.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + AvailableActions(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static AvailableActions create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'AvailableActions', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The possible actions performed by the update operation on the infrastructure components. */ + @com.fasterxml.jackson.annotation.JsonProperty("availableActions") + private final java.util.List availableActions; + + /** + * The possible actions performed by the update operation on the infrastructure components. + * + * @return the value + */ + public java.util.List getAvailableActions() { + return availableActions; + } + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { + GiUpgrade("GI_UPGRADE"), + GiPatch("GI_PATCH"), + + /** + * 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(UpdateType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateType v : UpdateType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + */ + @com.fasterxml.jackson.annotation.JsonProperty("updateType") + private final UpdateType updateType; + + /** + * The type of Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster maintenance + * update. + * + * @return the value + */ + public UpdateType getUpdateType() { + return updateType; + } + + /** Descriptive text providing additional details about the lifecycle state. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final String lifecycleDetails; + + /** + * Descriptive text providing additional details about the lifecycle state. + * + * @return the value + */ + public String getLifecycleDetails() { + return lifecycleDetails; + } + + /** The current state of the maintenance update. Dependent on value of {@code lastAction}. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Available("AVAILABLE"), + Success("SUCCESS"), + InProgress("IN_PROGRESS"), + 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 current state of the maintenance update. Dependent on value of {@code lastAction}. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The current state of the maintenance update. Dependent on value of {@code lastAction}. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** The date and time the maintenance update was released. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeReleased") + private final java.util.Date timeReleased; + + /** + * The date and time the maintenance update was released. + * + * @return the value + */ + public java.util.Date getTimeReleased() { + return timeReleased; + } + + /** The version of the maintenance update package. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private final String version; + + /** + * The version of the maintenance update package. + * + * @return the value + */ + public String getVersion() { + return version; + } + + @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("BaseccVmClusterUpdateSummary("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", lastAction=").append(String.valueOf(this.lastAction)); + sb.append(", availableActions=").append(String.valueOf(this.availableActions)); + sb.append(", updateType=").append(String.valueOf(this.updateType)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + 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(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BaseccVmClusterUpdateSummary)) { + return false; + } + + BaseccVmClusterUpdateSummary other = (BaseccVmClusterUpdateSummary) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.lastAction, other.lastAction) + && java.util.Objects.equals(this.availableActions, other.availableActions) + && java.util.Objects.equals(this.updateType, other.updateType) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.timeReleased, other.timeReleased) + && java.util.Objects.equals(this.version, other.version) + && 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.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + (this.lastAction == null ? 43 : this.lastAction.hashCode()); + result = + (result * PRIME) + + (this.availableActions == null ? 43 : this.availableActions.hashCode()); + result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.hashCode()); + result = + (result * PRIME) + + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode()); + result = + (result * PRIME) + + (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) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/ChangeBaseccVmClusterCompartmentDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/ChangeBaseccVmClusterCompartmentDetails.java new file mode 100644 index 00000000000..b86a2ffd349 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/ChangeBaseccVmClusterCompartmentDetails.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.database.model; + +/** + * The configuration details for moving the BaseDB-C@C VM cluster to another compartment. Applies to + * Base Database Service on Cloud@Customer only.
+ * 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 = ChangeBaseccVmClusterCompartmentDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ChangeBaseccVmClusterCompartmentDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"compartmentId"}) + public ChangeBaseccVmClusterCompartmentDetails(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. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + * + * @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 ChangeBaseccVmClusterCompartmentDetails build() { + ChangeBaseccVmClusterCompartmentDetails model = + new ChangeBaseccVmClusterCompartmentDetails(this.compartmentId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ChangeBaseccVmClusterCompartmentDetails 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. + */ + @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. + * + * @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("ChangeBaseccVmClusterCompartmentDetails("); + 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 ChangeBaseccVmClusterCompartmentDetails)) { + return false; + } + + ChangeBaseccVmClusterCompartmentDetails other = (ChangeBaseccVmClusterCompartmentDetails) 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-database/src/main/java/com/oracle/bmc/database/model/CloudVmCluster.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CloudVmCluster.java index c74d2b2fddf..4e044f01f31 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CloudVmCluster.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CloudVmCluster.java @@ -35,6 +35,8 @@ public final class CloudVmCluster "lastUpdateHistoryEntryId", "shape", "listenerPort", + "liveImageVersionDetails", + "oracleLinuxVersion", "lifecycleState", "nodeCount", "storageSizeInGBs", @@ -101,6 +103,8 @@ public CloudVmCluster( String lastUpdateHistoryEntryId, String shape, Long listenerPort, + ExadataLiveImageVersionDetails liveImageVersionDetails, + String oracleLinuxVersion, LifecycleState lifecycleState, Integer nodeCount, Integer storageSizeInGBs, @@ -166,6 +170,8 @@ public CloudVmCluster( this.lastUpdateHistoryEntryId = lastUpdateHistoryEntryId; this.shape = shape; this.listenerPort = listenerPort; + this.liveImageVersionDetails = liveImageVersionDetails; + this.oracleLinuxVersion = oracleLinuxVersion; this.lifecycleState = lifecycleState; this.nodeCount = nodeCount; this.storageSizeInGBs = storageSizeInGBs; @@ -472,6 +478,31 @@ public Builder listenerPort(Long listenerPort) { this.__explicitlySet__.add("listenerPort"); return this; } + + @com.fasterxml.jackson.annotation.JsonProperty("liveImageVersionDetails") + private ExadataLiveImageVersionDetails liveImageVersionDetails; + + public Builder liveImageVersionDetails( + ExadataLiveImageVersionDetails liveImageVersionDetails) { + this.liveImageVersionDetails = liveImageVersionDetails; + this.__explicitlySet__.add("liveImageVersionDetails"); + return this; + } + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @param oracleLinuxVersion the value to set + * @return this builder + */ + public Builder oracleLinuxVersion(String oracleLinuxVersion) { + this.oracleLinuxVersion = oracleLinuxVersion; + this.__explicitlySet__.add("oracleLinuxVersion"); + return this; + } /** The current state of the cloud VM cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private LifecycleState lifecycleState; @@ -1456,6 +1487,8 @@ public CloudVmCluster build() { this.lastUpdateHistoryEntryId, this.shape, this.listenerPort, + this.liveImageVersionDetails, + this.oracleLinuxVersion, this.lifecycleState, this.nodeCount, this.storageSizeInGBs, @@ -1552,6 +1585,12 @@ public Builder copy(CloudVmCluster model) { if (model.wasPropertyExplicitlySet("listenerPort")) { this.listenerPort(model.getListenerPort()); } + if (model.wasPropertyExplicitlySet("liveImageVersionDetails")) { + this.liveImageVersionDetails(model.getLiveImageVersionDetails()); + } + if (model.wasPropertyExplicitlySet("oracleLinuxVersion")) { + this.oracleLinuxVersion(model.getOracleLinuxVersion()); + } if (model.wasPropertyExplicitlySet("lifecycleState")) { this.lifecycleState(model.getLifecycleState()); } @@ -1942,6 +1981,26 @@ public Long getListenerPort() { return listenerPort; } + @com.fasterxml.jackson.annotation.JsonProperty("liveImageVersionDetails") + private final ExadataLiveImageVersionDetails liveImageVersionDetails; + + public ExadataLiveImageVersionDetails getLiveImageVersionDetails() { + return liveImageVersionDetails; + } + + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private final String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @return the value + */ + public String getOracleLinuxVersion() { + return oracleLinuxVersion; + } + /** The current state of the cloud VM cluster. */ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { Provisioning("PROVISIONING"), @@ -3256,6 +3315,9 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.lastUpdateHistoryEntryId)); sb.append(", shape=").append(String.valueOf(this.shape)); sb.append(", listenerPort=").append(String.valueOf(this.listenerPort)); + sb.append(", liveImageVersionDetails=") + .append(String.valueOf(this.liveImageVersionDetails)); + sb.append(", oracleLinuxVersion=").append(String.valueOf(this.oracleLinuxVersion)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", nodeCount=").append(String.valueOf(this.nodeCount)); sb.append(", storageSizeInGBs=").append(String.valueOf(this.storageSizeInGBs)); @@ -3343,6 +3405,9 @@ public boolean equals(Object o) { this.lastUpdateHistoryEntryId, other.lastUpdateHistoryEntryId) && java.util.Objects.equals(this.shape, other.shape) && java.util.Objects.equals(this.listenerPort, other.listenerPort) + && java.util.Objects.equals( + this.liveImageVersionDetails, other.liveImageVersionDetails) + && java.util.Objects.equals(this.oracleLinuxVersion, other.oracleLinuxVersion) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.nodeCount, other.nodeCount) && java.util.Objects.equals(this.storageSizeInGBs, other.storageSizeInGBs) @@ -3445,6 +3510,16 @@ public int hashCode() { : this.lastUpdateHistoryEntryId.hashCode()); result = (result * PRIME) + (this.shape == null ? 43 : this.shape.hashCode()); result = (result * PRIME) + (this.listenerPort == null ? 43 : this.listenerPort.hashCode()); + result = + (result * PRIME) + + (this.liveImageVersionDetails == null + ? 43 + : this.liveImageVersionDetails.hashCode()); + result = + (result * PRIME) + + (this.oracleLinuxVersion == null + ? 43 + : this.oracleLinuxVersion.hashCode()); result = (result * PRIME) + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/CloudVmClusterSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/CloudVmClusterSummary.java index d1c7069a921..d4fcd09cce6 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/CloudVmClusterSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CloudVmClusterSummary.java @@ -35,6 +35,8 @@ public final class CloudVmClusterSummary "lastUpdateHistoryEntryId", "shape", "listenerPort", + "liveImageVersionDetails", + "oracleLinuxVersion", "lifecycleState", "nodeCount", "storageSizeInGBs", @@ -100,6 +102,8 @@ public CloudVmClusterSummary( String lastUpdateHistoryEntryId, String shape, Long listenerPort, + ExadataLiveImageVersionDetails liveImageVersionDetails, + String oracleLinuxVersion, LifecycleState lifecycleState, Integer nodeCount, Integer storageSizeInGBs, @@ -164,6 +168,8 @@ public CloudVmClusterSummary( this.lastUpdateHistoryEntryId = lastUpdateHistoryEntryId; this.shape = shape; this.listenerPort = listenerPort; + this.liveImageVersionDetails = liveImageVersionDetails; + this.oracleLinuxVersion = oracleLinuxVersion; this.lifecycleState = lifecycleState; this.nodeCount = nodeCount; this.storageSizeInGBs = storageSizeInGBs; @@ -461,6 +467,31 @@ public Builder listenerPort(Long listenerPort) { this.__explicitlySet__.add("listenerPort"); return this; } + + @com.fasterxml.jackson.annotation.JsonProperty("liveImageVersionDetails") + private ExadataLiveImageVersionDetails liveImageVersionDetails; + + public Builder liveImageVersionDetails( + ExadataLiveImageVersionDetails liveImageVersionDetails) { + this.liveImageVersionDetails = liveImageVersionDetails; + this.__explicitlySet__.add("liveImageVersionDetails"); + return this; + } + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @param oracleLinuxVersion the value to set + * @return this builder + */ + public Builder oracleLinuxVersion(String oracleLinuxVersion) { + this.oracleLinuxVersion = oracleLinuxVersion; + this.__explicitlySet__.add("oracleLinuxVersion"); + return this; + } /** The current state of the cloud VM cluster. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private LifecycleState lifecycleState; @@ -1444,6 +1475,8 @@ public CloudVmClusterSummary build() { this.lastUpdateHistoryEntryId, this.shape, this.listenerPort, + this.liveImageVersionDetails, + this.oracleLinuxVersion, this.lifecycleState, this.nodeCount, this.storageSizeInGBs, @@ -1537,6 +1570,12 @@ public Builder copy(CloudVmClusterSummary model) { if (model.wasPropertyExplicitlySet("listenerPort")) { this.listenerPort(model.getListenerPort()); } + if (model.wasPropertyExplicitlySet("liveImageVersionDetails")) { + this.liveImageVersionDetails(model.getLiveImageVersionDetails()); + } + if (model.wasPropertyExplicitlySet("oracleLinuxVersion")) { + this.oracleLinuxVersion(model.getOracleLinuxVersion()); + } if (model.wasPropertyExplicitlySet("lifecycleState")) { this.lifecycleState(model.getLifecycleState()); } @@ -1920,6 +1959,26 @@ public Long getListenerPort() { return listenerPort; } + @com.fasterxml.jackson.annotation.JsonProperty("liveImageVersionDetails") + private final ExadataLiveImageVersionDetails liveImageVersionDetails; + + public ExadataLiveImageVersionDetails getLiveImageVersionDetails() { + return liveImageVersionDetails; + } + + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private final String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @return the value + */ + public String getOracleLinuxVersion() { + return oracleLinuxVersion; + } + /** The current state of the cloud VM cluster. */ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { Provisioning("PROVISIONING"), @@ -3233,6 +3292,9 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.lastUpdateHistoryEntryId)); sb.append(", shape=").append(String.valueOf(this.shape)); sb.append(", listenerPort=").append(String.valueOf(this.listenerPort)); + sb.append(", liveImageVersionDetails=") + .append(String.valueOf(this.liveImageVersionDetails)); + sb.append(", oracleLinuxVersion=").append(String.valueOf(this.oracleLinuxVersion)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", nodeCount=").append(String.valueOf(this.nodeCount)); sb.append(", storageSizeInGBs=").append(String.valueOf(this.storageSizeInGBs)); @@ -3319,6 +3381,9 @@ public boolean equals(Object o) { this.lastUpdateHistoryEntryId, other.lastUpdateHistoryEntryId) && java.util.Objects.equals(this.shape, other.shape) && java.util.Objects.equals(this.listenerPort, other.listenerPort) + && java.util.Objects.equals( + this.liveImageVersionDetails, other.liveImageVersionDetails) + && java.util.Objects.equals(this.oracleLinuxVersion, other.oracleLinuxVersion) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.nodeCount, other.nodeCount) && java.util.Objects.equals(this.storageSizeInGBs, other.storageSizeInGBs) @@ -3418,6 +3483,16 @@ public int hashCode() { : this.lastUpdateHistoryEntryId.hashCode()); result = (result * PRIME) + (this.shape == null ? 43 : this.shape.hashCode()); result = (result * PRIME) + (this.listenerPort == null ? 43 : this.listenerPort.hashCode()); + result = + (result * PRIME) + + (this.liveImageVersionDetails == null + ? 43 + : this.liveImageVersionDetails.hashCode()); + result = + (result * PRIME) + + (this.oracleLinuxVersion == null + ? 43 + : this.oracleLinuxVersion.hashCode()); result = (result * PRIME) + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); 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 new file mode 100644 index 00000000000..9ba6692fa50 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/CreateBaseccVmClusterDetails.java @@ -0,0 +1,1223 @@ +/** + * 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; + +/** + * Details for creating a BaseDB-C@C VM cluster. Applies to Base Database Service on Cloud@Customer + * instances only.
+ * 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 = CreateBaseccVmClusterDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateBaseccVmClusterDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "compartmentId", + "databaseEdition", + "nodeCount", + "dbServerId", + "cpuCoreCount", + "baseInfrastructureId", + "baseVmClusterNetworkId", + "giVersion", + "dataCollectionOptions", + "description", + "displayName", + "sshPublicKeys", + "timeZone", + "additionalVmStorageSizeInGBs", + "dataStorageSizeInGBs", + "recoStorageSizeInGBs", + "memorySizeInGBs", + "licenseModel", + "freeformTags", + "definedTags", + "vmClusterType", + "cloudAutomationUpdateDetails" + }) + public CreateBaseccVmClusterDetails( + String compartmentId, + DatabaseEdition databaseEdition, + Integer nodeCount, + String dbServerId, + Integer cpuCoreCount, + String baseInfrastructureId, + String baseVmClusterNetworkId, + String giVersion, + DataCollectionOptions dataCollectionOptions, + String description, + String displayName, + java.util.List sshPublicKeys, + String timeZone, + Integer additionalVmStorageSizeInGBs, + Integer dataStorageSizeInGBs, + Integer recoStorageSizeInGBs, + Integer memorySizeInGBs, + LicenseModel licenseModel, + java.util.Map freeformTags, + java.util.Map> definedTags, + VmClusterType vmClusterType, + CloudAutomationUpdateDetails cloudAutomationUpdateDetails) { + super(); + this.compartmentId = compartmentId; + this.databaseEdition = databaseEdition; + this.nodeCount = nodeCount; + this.dbServerId = dbServerId; + this.cpuCoreCount = cpuCoreCount; + this.baseInfrastructureId = baseInfrastructureId; + this.baseVmClusterNetworkId = baseVmClusterNetworkId; + this.giVersion = giVersion; + this.dataCollectionOptions = dataCollectionOptions; + this.description = description; + this.displayName = displayName; + this.sshPublicKeys = sshPublicKeys; + this.timeZone = timeZone; + this.additionalVmStorageSizeInGBs = additionalVmStorageSizeInGBs; + this.dataStorageSizeInGBs = dataStorageSizeInGBs; + this.recoStorageSizeInGBs = recoStorageSizeInGBs; + this.memorySizeInGBs = memorySizeInGBs; + this.licenseModel = licenseModel; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.vmClusterType = vmClusterType; + this.cloudAutomationUpdateDetails = cloudAutomationUpdateDetails; + } + + @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. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata + * DB systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + */ + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private DatabaseEdition databaseEdition; + + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata + * DB systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + * + * @param databaseEdition the value to set + * @return this builder + */ + public Builder databaseEdition(DatabaseEdition databaseEdition) { + this.databaseEdition = databaseEdition; + this.__explicitlySet__.add("databaseEdition"); + return this; + } + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") + private Integer nodeCount; + + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. + * + * @param nodeCount the value to set + * @return this builder + */ + public Builder nodeCount(Integer nodeCount) { + this.nodeCount = nodeCount; + this.__explicitlySet__.add("nodeCount"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compute node of the Oracle Data Cloud@Customer Infrastructure, on which the VM should be + * launched. Note: Applies to single node Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM clusters only + */ + @com.fasterxml.jackson.annotation.JsonProperty("dbServerId") + private String dbServerId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compute node of the Oracle Data Cloud@Customer Infrastructure, on which the VM should be + * launched. Note: Applies to single node Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM clusters only + * + * @param dbServerId the value to set + * @return this builder + */ + public Builder dbServerId(String dbServerId) { + this.dbServerId = dbServerId; + this.__explicitlySet__.add("dbServerId"); + return this; + } + /** Total CPU cores for the BaseDB C@C VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") + private Integer cpuCoreCount; + + /** + * Total CPU cores for the BaseDB C@C VM cluster. + * + * @param cpuCoreCount the value to set + * @return this builder + */ + public Builder cpuCoreCount(Integer cpuCoreCount) { + this.cpuCoreCount = cpuCoreCount; + this.__explicitlySet__.add("cpuCoreCount"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * Oracle Data Cloud@Customer Infrastructure. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseInfrastructureId") + private String baseInfrastructureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * Oracle Data Cloud@Customer Infrastructure. + * + * @param baseInfrastructureId the value to set + * @return this builder + */ + public Builder baseInfrastructureId(String baseInfrastructureId) { + this.baseInfrastructureId = baseInfrastructureId; + this.__explicitlySet__.add("baseInfrastructureId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseVmClusterNetworkId") + private String baseVmClusterNetworkId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + * + * @param baseVmClusterNetworkId the value to set + * @return this builder + */ + public Builder baseVmClusterNetworkId(String baseVmClusterNetworkId) { + this.baseVmClusterNetworkId = baseVmClusterNetworkId; + this.__explicitlySet__.add("baseVmClusterNetworkId"); + return this; + } + /** A valid Oracle Grid Infrastructure (GI) software version. */ + @com.fasterxml.jackson.annotation.JsonProperty("giVersion") + private String giVersion; + + /** + * A valid Oracle Grid Infrastructure (GI) software version. + * + * @param giVersion the value to set + * @return this builder + */ + public Builder giVersion(String giVersion) { + this.giVersion = giVersion; + this.__explicitlySet__.add("giVersion"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataCollectionOptions") + private DataCollectionOptions dataCollectionOptions; + + public Builder dataCollectionOptions(DataCollectionOptions dataCollectionOptions) { + this.dataCollectionOptions = dataCollectionOptions; + this.__explicitlySet__.add("dataCollectionOptions"); + return this; + } + /** The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + private java.util.List sshPublicKeys; + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param sshPublicKeys the value to set + * @return this builder + */ + public Builder sshPublicKeys(java.util.List sshPublicKeys) { + this.sshPublicKeys = sshPublicKeys; + this.__explicitlySet__.add("sshPublicKeys"); + return this; + } + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeZone") + private String timeZone; + + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + * + * @param timeZone the value to set + * @return this builder + */ + public Builder timeZone(String timeZone) { + this.timeZone = timeZone; + this.__explicitlySet__.add("timeZone"); + return this; + } + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("additionalVmStorageSizeInGBs") + private Integer additionalVmStorageSizeInGBs; + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param additionalVmStorageSizeInGBs the value to set + * @return this builder + */ + public Builder additionalVmStorageSizeInGBs(Integer additionalVmStorageSizeInGBs) { + this.additionalVmStorageSizeInGBs = additionalVmStorageSizeInGBs; + this.__explicitlySet__.add("additionalVmStorageSizeInGBs"); + return this; + } + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataStorageSizeInGBs") + private Integer dataStorageSizeInGBs; + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param dataStorageSizeInGBs the value to set + * @return this builder + */ + public Builder dataStorageSizeInGBs(Integer dataStorageSizeInGBs) { + this.dataStorageSizeInGBs = dataStorageSizeInGBs; + this.__explicitlySet__.add("dataStorageSizeInGBs"); + return this; + } + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("recoStorageSizeInGBs") + private Integer recoStorageSizeInGBs; + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param recoStorageSizeInGBs the value to set + * @return this builder + */ + public Builder recoStorageSizeInGBs(Integer recoStorageSizeInGBs) { + this.recoStorageSizeInGBs = recoStorageSizeInGBs; + this.__explicitlySet__.add("recoStorageSizeInGBs"); + return this; + } + /** + * 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. + */ + @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. + * + * @param memorySizeInGBs the value to set + * @return this builder + */ + public Builder memorySizeInGBs(Integer memorySizeInGBs) { + this.memorySizeInGBs = memorySizeInGBs; + this.__explicitlySet__.add("memorySizeInGBs"); + return this; + } + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private LicenseModel licenseModel; + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + * + * @param licenseModel the value to set + * @return this builder + */ + public Builder licenseModel(LicenseModel licenseModel) { + this.licenseModel = licenseModel; + this.__explicitlySet__.add("licenseModel"); + 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). + */ + @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). + * + * @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; + } + /** + * The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("vmClusterType") + private VmClusterType vmClusterType; + + /** + * The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param vmClusterType the value to set + * @return this builder + */ + public Builder vmClusterType(VmClusterType vmClusterType) { + this.vmClusterType = vmClusterType; + this.__explicitlySet__.add("vmClusterType"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("cloudAutomationUpdateDetails") + private CloudAutomationUpdateDetails cloudAutomationUpdateDetails; + + public Builder cloudAutomationUpdateDetails( + CloudAutomationUpdateDetails cloudAutomationUpdateDetails) { + this.cloudAutomationUpdateDetails = cloudAutomationUpdateDetails; + this.__explicitlySet__.add("cloudAutomationUpdateDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateBaseccVmClusterDetails build() { + CreateBaseccVmClusterDetails model = + new CreateBaseccVmClusterDetails( + this.compartmentId, + this.databaseEdition, + this.nodeCount, + this.dbServerId, + this.cpuCoreCount, + this.baseInfrastructureId, + this.baseVmClusterNetworkId, + this.giVersion, + this.dataCollectionOptions, + this.description, + this.displayName, + this.sshPublicKeys, + this.timeZone, + this.additionalVmStorageSizeInGBs, + this.dataStorageSizeInGBs, + this.recoStorageSizeInGBs, + this.memorySizeInGBs, + this.licenseModel, + this.freeformTags, + this.definedTags, + this.vmClusterType, + this.cloudAutomationUpdateDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateBaseccVmClusterDetails model) { + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("databaseEdition")) { + this.databaseEdition(model.getDatabaseEdition()); + } + if (model.wasPropertyExplicitlySet("nodeCount")) { + this.nodeCount(model.getNodeCount()); + } + if (model.wasPropertyExplicitlySet("dbServerId")) { + this.dbServerId(model.getDbServerId()); + } + if (model.wasPropertyExplicitlySet("cpuCoreCount")) { + this.cpuCoreCount(model.getCpuCoreCount()); + } + if (model.wasPropertyExplicitlySet("baseInfrastructureId")) { + this.baseInfrastructureId(model.getBaseInfrastructureId()); + } + if (model.wasPropertyExplicitlySet("baseVmClusterNetworkId")) { + this.baseVmClusterNetworkId(model.getBaseVmClusterNetworkId()); + } + if (model.wasPropertyExplicitlySet("giVersion")) { + this.giVersion(model.getGiVersion()); + } + if (model.wasPropertyExplicitlySet("dataCollectionOptions")) { + this.dataCollectionOptions(model.getDataCollectionOptions()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("sshPublicKeys")) { + this.sshPublicKeys(model.getSshPublicKeys()); + } + if (model.wasPropertyExplicitlySet("timeZone")) { + this.timeZone(model.getTimeZone()); + } + if (model.wasPropertyExplicitlySet("additionalVmStorageSizeInGBs")) { + this.additionalVmStorageSizeInGBs(model.getAdditionalVmStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("dataStorageSizeInGBs")) { + this.dataStorageSizeInGBs(model.getDataStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("recoStorageSizeInGBs")) { + this.recoStorageSizeInGBs(model.getRecoStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("memorySizeInGBs")) { + this.memorySizeInGBs(model.getMemorySizeInGBs()); + } + if (model.wasPropertyExplicitlySet("licenseModel")) { + this.licenseModel(model.getLicenseModel()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("vmClusterType")) { + this.vmClusterType(model.getVmClusterType()); + } + if (model.wasPropertyExplicitlySet("cloudAutomationUpdateDetails")) { + this.cloudAutomationUpdateDetails(model.getCloudAutomationUpdateDetails()); + } + 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. + */ + @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. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata DB + * systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + */ + public enum DatabaseEdition implements com.oracle.bmc.http.internal.BmcEnum { + StandardEdition("STANDARD_EDITION"), + EnterpriseEdition("ENTERPRISE_EDITION"), + EnterpriseEditionHighPerformance("ENTERPRISE_EDITION_HIGH_PERFORMANCE"), + EnterpriseEditionExtremePerformance("ENTERPRISE_EDITION_EXTREME_PERFORMANCE"), + EnterpriseEditionDeveloper("ENTERPRISE_EDITION_DEVELOPER"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DatabaseEdition v : DatabaseEdition.values()) { + map.put(v.getValue(), v); + } + } + + DatabaseEdition(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DatabaseEdition create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid DatabaseEdition: " + key); + } + }; + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata DB + * systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + */ + @com.fasterxml.jackson.annotation.JsonProperty("databaseEdition") + private final DatabaseEdition databaseEdition; + + /** + * The Oracle Database Edition that applies to all the databases on the DB system. Exadata DB + * systems and 2-node RAC DB systems require ENTERPRISE_EDITION_EXTREME_PERFORMANCE. + * + * @return the value + */ + public DatabaseEdition getDatabaseEdition() { + return databaseEdition; + } + + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("nodeCount") + private final Integer nodeCount; + + /** + * The number of nodes in the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public Integer getNodeCount() { + return nodeCount; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compute node of the Oracle Data Cloud@Customer Infrastructure, on which the VM should be + * launched. Note: Applies to single node Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM clusters only + */ + @com.fasterxml.jackson.annotation.JsonProperty("dbServerId") + private final String dbServerId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compute node of the Oracle Data Cloud@Customer Infrastructure, on which the VM should be + * launched. Note: Applies to single node Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM clusters only + * + * @return the value + */ + public String getDbServerId() { + return dbServerId; + } + + /** Total CPU cores for the BaseDB C@C VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") + private final Integer cpuCoreCount; + + /** + * Total CPU cores for the BaseDB C@C VM cluster. + * + * @return the value + */ + public Integer getCpuCoreCount() { + return cpuCoreCount; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of Oracle + * Data Cloud@Customer Infrastructure. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseInfrastructureId") + private final String baseInfrastructureId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of Oracle + * Data Cloud@Customer Infrastructure. + * + * @return the value + */ + public String getBaseInfrastructureId() { + return baseInfrastructureId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseVmClusterNetworkId") + private final String baseVmClusterNetworkId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of + * BaseDB-C@C VM Cluster Network. + * + * @return the value + */ + public String getBaseVmClusterNetworkId() { + return baseVmClusterNetworkId; + } + + /** A valid Oracle Grid Infrastructure (GI) software version. */ + @com.fasterxml.jackson.annotation.JsonProperty("giVersion") + private final String giVersion; + + /** + * A valid Oracle Grid Infrastructure (GI) software version. + * + * @return the value + */ + public String getGiVersion() { + return giVersion; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataCollectionOptions") + private final DataCollectionOptions dataCollectionOptions; + + public DataCollectionOptions getDataCollectionOptions() { + return dataCollectionOptions; + } + + /** The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description for Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + private final java.util.List sshPublicKeys; + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public java.util.List getSshPublicKeys() { + return sshPublicKeys; + } + + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeZone") + private final String timeZone; + + /** + * The time zone to use for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * For details, see [Time + * Zones](https://docs.oracle.com/iaas/Content/Database/References/timezones.htm). + * + * @return the value + */ + public String getTimeZone() { + return timeZone; + } + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("additionalVmStorageSizeInGBs") + private final Integer additionalVmStorageSizeInGBs; + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getAdditionalVmStorageSizeInGBs() { + return additionalVmStorageSizeInGBs; + } + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataStorageSizeInGBs") + private final Integer dataStorageSizeInGBs; + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getDataStorageSizeInGBs() { + return dataStorageSizeInGBs; + } + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("recoStorageSizeInGBs") + private final Integer recoStorageSizeInGBs; + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getRecoStorageSizeInGBs() { + return 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. + */ + @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. + * + * @return the value + */ + public Integer getMemorySizeInGBs() { + return memorySizeInGBs; + } + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + public enum LicenseModel implements com.oracle.bmc.http.internal.BmcEnum { + LicenseIncluded("LICENSE_INCLUDED"), + BringYourOwnLicense("BRING_YOUR_OWN_LICENSE"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LicenseModel v : LicenseModel.values()) { + map.put(v.getValue(), v); + } + } + + LicenseModel(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LicenseModel create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid LicenseModel: " + key); + } + }; + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private final LicenseModel licenseModel; + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + * + * @return the value + */ + public LicenseModel getLicenseModel() { + return licenseModel; + } + + /** + * 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). + */ + @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). + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + public enum VmClusterType implements com.oracle.bmc.http.internal.BmcEnum { + Regular("REGULAR"), + Developer("DEVELOPER"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (VmClusterType v : VmClusterType.values()) { + map.put(v.getValue(), v); + } + } + + VmClusterType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static VmClusterType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid VmClusterType: " + key); + } + }; + /** The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("vmClusterType") + private final VmClusterType vmClusterType; + + /** + * The cluster type for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public VmClusterType getVmClusterType() { + return vmClusterType; + } + + @com.fasterxml.jackson.annotation.JsonProperty("cloudAutomationUpdateDetails") + private final CloudAutomationUpdateDetails cloudAutomationUpdateDetails; + + public CloudAutomationUpdateDetails getCloudAutomationUpdateDetails() { + return cloudAutomationUpdateDetails; + } + + @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("CreateBaseccVmClusterDetails("); + sb.append("super=").append(super.toString()); + sb.append("compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", databaseEdition=").append(String.valueOf(this.databaseEdition)); + sb.append(", nodeCount=").append(String.valueOf(this.nodeCount)); + sb.append(", dbServerId=").append(String.valueOf(this.dbServerId)); + sb.append(", cpuCoreCount=").append(String.valueOf(this.cpuCoreCount)); + sb.append(", baseInfrastructureId=").append(String.valueOf(this.baseInfrastructureId)); + sb.append(", baseVmClusterNetworkId=").append(String.valueOf(this.baseVmClusterNetworkId)); + sb.append(", giVersion=").append(String.valueOf(this.giVersion)); + sb.append(", dataCollectionOptions=").append(String.valueOf(this.dataCollectionOptions)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", sshPublicKeys=").append(String.valueOf(this.sshPublicKeys)); + sb.append(", timeZone=").append(String.valueOf(this.timeZone)); + sb.append(", additionalVmStorageSizeInGBs=") + .append(String.valueOf(this.additionalVmStorageSizeInGBs)); + sb.append(", dataStorageSizeInGBs=").append(String.valueOf(this.dataStorageSizeInGBs)); + sb.append(", recoStorageSizeInGBs=").append(String.valueOf(this.recoStorageSizeInGBs)); + sb.append(", memorySizeInGBs=").append(String.valueOf(this.memorySizeInGBs)); + sb.append(", licenseModel=").append(String.valueOf(this.licenseModel)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", vmClusterType=").append(String.valueOf(this.vmClusterType)); + sb.append(", cloudAutomationUpdateDetails=") + .append(String.valueOf(this.cloudAutomationUpdateDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateBaseccVmClusterDetails)) { + return false; + } + + CreateBaseccVmClusterDetails other = (CreateBaseccVmClusterDetails) o; + return java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.databaseEdition, other.databaseEdition) + && java.util.Objects.equals(this.nodeCount, other.nodeCount) + && java.util.Objects.equals(this.dbServerId, other.dbServerId) + && java.util.Objects.equals(this.cpuCoreCount, other.cpuCoreCount) + && java.util.Objects.equals(this.baseInfrastructureId, other.baseInfrastructureId) + && java.util.Objects.equals( + this.baseVmClusterNetworkId, other.baseVmClusterNetworkId) + && java.util.Objects.equals(this.giVersion, other.giVersion) + && java.util.Objects.equals(this.dataCollectionOptions, other.dataCollectionOptions) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.sshPublicKeys, other.sshPublicKeys) + && java.util.Objects.equals(this.timeZone, other.timeZone) + && java.util.Objects.equals( + this.additionalVmStorageSizeInGBs, other.additionalVmStorageSizeInGBs) + && java.util.Objects.equals(this.dataStorageSizeInGBs, other.dataStorageSizeInGBs) + && java.util.Objects.equals(this.recoStorageSizeInGBs, other.recoStorageSizeInGBs) + && java.util.Objects.equals(this.memorySizeInGBs, other.memorySizeInGBs) + && java.util.Objects.equals(this.licenseModel, other.licenseModel) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.vmClusterType, other.vmClusterType) + && java.util.Objects.equals( + this.cloudAutomationUpdateDetails, other.cloudAutomationUpdateDetails) + && 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.databaseEdition == null ? 43 : this.databaseEdition.hashCode()); + result = (result * PRIME) + (this.nodeCount == null ? 43 : this.nodeCount.hashCode()); + result = (result * PRIME) + (this.dbServerId == null ? 43 : this.dbServerId.hashCode()); + result = (result * PRIME) + (this.cpuCoreCount == null ? 43 : this.cpuCoreCount.hashCode()); + result = + (result * PRIME) + + (this.baseInfrastructureId == null + ? 43 + : this.baseInfrastructureId.hashCode()); + result = + (result * PRIME) + + (this.baseVmClusterNetworkId == null + ? 43 + : this.baseVmClusterNetworkId.hashCode()); + result = (result * PRIME) + (this.giVersion == null ? 43 : this.giVersion.hashCode()); + result = + (result * PRIME) + + (this.dataCollectionOptions == null + ? 43 + : this.dataCollectionOptions.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.sshPublicKeys == null ? 43 : this.sshPublicKeys.hashCode()); + result = (result * PRIME) + (this.timeZone == null ? 43 : this.timeZone.hashCode()); + result = + (result * PRIME) + + (this.additionalVmStorageSizeInGBs == null + ? 43 + : this.additionalVmStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.dataStorageSizeInGBs == null + ? 43 + : this.dataStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.recoStorageSizeInGBs == null + ? 43 + : this.recoStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.memorySizeInGBs == null ? 43 : this.memorySizeInGBs.hashCode()); + result = (result * PRIME) + (this.licenseModel == null ? 43 : this.licenseModel.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.vmClusterType == null ? 43 : this.vmClusterType.hashCode()); + result = + (result * PRIME) + + (this.cloudAutomationUpdateDetails == null + ? 43 + : this.cloudAutomationUpdateDetails.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 b645567a963..cf7b33d2243 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 @@ -390,6 +390,7 @@ public enum ImageShapeFamily implements com.oracle.bmc.http.internal.BmcEnum { ExadataShape("EXADATA_SHAPE"), ExaccShape("EXACC_SHAPE"), ExadbxsShape("EXADBXS_SHAPE"), + BdbccShape("BDBCC_SHAPE"), ; private final String value; 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 a6ee527c588..566eb95d418 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 @@ -717,6 +717,7 @@ public enum ImageShapeFamily implements com.oracle.bmc.http.internal.BmcEnum { ExadataShape("EXADATA_SHAPE"), ExaccShape("EXACC_SHAPE"), ExadbxsShape("EXADBXS_SHAPE"), + BdbccShape("BDBCC_SHAPE"), /** * 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/DatabaseSoftwareImageSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/DatabaseSoftwareImageSummary.java index 1c8ac0b5600..6da43240606 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 @@ -728,6 +728,7 @@ public enum ImageShapeFamily implements com.oracle.bmc.http.internal.BmcEnum { ExadataShape("EXADATA_SHAPE"), ExaccShape("EXACC_SHAPE"), ExadbxsShape("EXADBXS_SHAPE"), + BdbccShape("BDBCC_SHAPE"), /** * 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/ExadataLiveImageVersionDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadataLiveImageVersionDetails.java new file mode 100644 index 00000000000..e02f7878a68 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadataLiveImageVersionDetails.java @@ -0,0 +1,311 @@ +/** + * 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; + +/** + * Details about the most recent live image version applied on the VM Cluster, if any. If a full OS + * update was applied, the fields would be blank.
+ * 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 = ExadataLiveImageVersionDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ExadataLiveImageVersionDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "updateMode", + "version", + "hasPendingUpdates", + "timeReleased" + }) + public ExadataLiveImageVersionDetails( + UpdateMode updateMode, + String version, + Boolean hasPendingUpdates, + java.util.Date timeReleased) { + super(); + this.updateMode = updateMode; + this.version = version; + this.hasPendingUpdates = hasPendingUpdates; + this.timeReleased = timeReleased; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OS live update mode performed most recently on the VM Cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private UpdateMode updateMode; + + /** + * The OS live update mode performed most recently on the VM Cluster. + * + * @param updateMode the value to set + * @return this builder + */ + public Builder updateMode(UpdateMode updateMode) { + this.updateMode = updateMode; + this.__explicitlySet__.add("updateMode"); + return this; + } + /** Live Exadata Image Version of the Guest OS Update applied. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private String version; + + /** + * Live Exadata Image Version of the Guest OS Update applied. + * + * @param version the value to set + * @return this builder + */ + public Builder version(String version) { + this.version = version; + this.__explicitlySet__.add("version"); + return this; + } + /** + * Indicates whether OS updates that require node reboot are pending after the previous + * online update was applied. + */ + @com.fasterxml.jackson.annotation.JsonProperty("hasPendingUpdates") + private Boolean hasPendingUpdates; + + /** + * Indicates whether OS updates that require node reboot are pending after the previous + * online update was applied. + * + * @param hasPendingUpdates the value to set + * @return this builder + */ + public Builder hasPendingUpdates(Boolean hasPendingUpdates) { + this.hasPendingUpdates = hasPendingUpdates; + this.__explicitlySet__.add("hasPendingUpdates"); + return this; + } + /** The release date and time for the applied Live Exadata Image OS version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeReleased") + private java.util.Date timeReleased; + + /** + * The release date and time for the applied Live Exadata Image OS version. + * + * @param timeReleased the value to set + * @return this builder + */ + public Builder timeReleased(java.util.Date timeReleased) { + this.timeReleased = timeReleased; + this.__explicitlySet__.add("timeReleased"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ExadataLiveImageVersionDetails build() { + ExadataLiveImageVersionDetails model = + new ExadataLiveImageVersionDetails( + this.updateMode, + this.version, + this.hasPendingUpdates, + this.timeReleased); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ExadataLiveImageVersionDetails model) { + if (model.wasPropertyExplicitlySet("updateMode")) { + this.updateMode(model.getUpdateMode()); + } + if (model.wasPropertyExplicitlySet("version")) { + this.version(model.getVersion()); + } + if (model.wasPropertyExplicitlySet("hasPendingUpdates")) { + this.hasPendingUpdates(model.getHasPendingUpdates()); + } + if (model.wasPropertyExplicitlySet("timeReleased")) { + this.timeReleased(model.getTimeReleased()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The OS live update mode performed most recently on the VM Cluster. */ + public enum UpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + + /** + * 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(UpdateMode.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateMode v : UpdateMode.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateMode', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The OS live update mode performed most recently on the VM Cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private final UpdateMode updateMode; + + /** + * The OS live update mode performed most recently on the VM Cluster. + * + * @return the value + */ + public UpdateMode getUpdateMode() { + return updateMode; + } + + /** Live Exadata Image Version of the Guest OS Update applied. */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private final String version; + + /** + * Live Exadata Image Version of the Guest OS Update applied. + * + * @return the value + */ + public String getVersion() { + return version; + } + + /** + * Indicates whether OS updates that require node reboot are pending after the previous online + * update was applied. + */ + @com.fasterxml.jackson.annotation.JsonProperty("hasPendingUpdates") + private final Boolean hasPendingUpdates; + + /** + * Indicates whether OS updates that require node reboot are pending after the previous online + * update was applied. + * + * @return the value + */ + public Boolean getHasPendingUpdates() { + return hasPendingUpdates; + } + + /** The release date and time for the applied Live Exadata Image OS version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeReleased") + private final java.util.Date timeReleased; + + /** + * The release date and time for the applied Live Exadata Image OS version. + * + * @return the value + */ + public java.util.Date getTimeReleased() { + return timeReleased; + } + + @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("ExadataLiveImageVersionDetails("); + sb.append("super=").append(super.toString()); + sb.append("updateMode=").append(String.valueOf(this.updateMode)); + sb.append(", version=").append(String.valueOf(this.version)); + sb.append(", hasPendingUpdates=").append(String.valueOf(this.hasPendingUpdates)); + sb.append(", timeReleased=").append(String.valueOf(this.timeReleased)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ExadataLiveImageVersionDetails)) { + return false; + } + + ExadataLiveImageVersionDetails other = (ExadataLiveImageVersionDetails) o; + return java.util.Objects.equals(this.updateMode, other.updateMode) + && java.util.Objects.equals(this.version, other.version) + && java.util.Objects.equals(this.hasPendingUpdates, other.hasPendingUpdates) + && java.util.Objects.equals(this.timeReleased, other.timeReleased) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.updateMode == null ? 43 : this.updateMode.hashCode()); + result = (result * PRIME) + (this.version == null ? 43 : this.version.hashCode()); + result = + (result * PRIME) + + (this.hasPendingUpdates == null ? 43 : this.hasPendingUpdates.hashCode()); + result = (result * PRIME) + (this.timeReleased == null ? 43 : this.timeReleased.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmCluster.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmCluster.java index 16f0a6dda76..7001f7bc7d4 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmCluster.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmCluster.java @@ -72,7 +72,9 @@ public final class ExadbVmCluster "memorySizeInGBs", "clusterPlacementGroupId", "subscriptionId", - "shapeAttribute" + "shapeAttribute", + "multiCloudIdentityConnectorConfigs", + "tdeKeyStoreType" }) public ExadbVmCluster( ExadataIormConfig iormConfigCache, @@ -123,7 +125,9 @@ public ExadbVmCluster( Integer memorySizeInGBs, String clusterPlacementGroupId, String subscriptionId, - ShapeAttribute shapeAttribute) { + ShapeAttribute shapeAttribute, + java.util.List multiCloudIdentityConnectorConfigs, + TdeKeyStoreType tdeKeyStoreType) { super(); this.iormConfigCache = iormConfigCache; this.id = id; @@ -174,6 +178,8 @@ public ExadbVmCluster( this.clusterPlacementGroupId = clusterPlacementGroupId; this.subscriptionId = subscriptionId; this.shapeAttribute = shapeAttribute; + this.multiCloudIdentityConnectorConfigs = multiCloudIdentityConnectorConfigs; + this.tdeKeyStoreType = tdeKeyStoreType; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -1100,6 +1106,37 @@ public Builder shapeAttribute(ShapeAttribute shapeAttribute) { this.__explicitlySet__.add("shapeAttribute"); return this; } + /** Details of the multi cloud identity connectors of the VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("multiCloudIdentityConnectorConfigs") + private java.util.List multiCloudIdentityConnectorConfigs; + + /** + * Details of the multi cloud identity connectors of the VM cluster. + * + * @param multiCloudIdentityConnectorConfigs the value to set + * @return this builder + */ + public Builder multiCloudIdentityConnectorConfigs( + java.util.List multiCloudIdentityConnectorConfigs) { + this.multiCloudIdentityConnectorConfigs = multiCloudIdentityConnectorConfigs; + this.__explicitlySet__.add("multiCloudIdentityConnectorConfigs"); + return this; + } + /** TDE keystore type */ + @com.fasterxml.jackson.annotation.JsonProperty("tdeKeyStoreType") + private TdeKeyStoreType tdeKeyStoreType; + + /** + * TDE keystore type + * + * @param tdeKeyStoreType the value to set + * @return this builder + */ + public Builder tdeKeyStoreType(TdeKeyStoreType tdeKeyStoreType) { + this.tdeKeyStoreType = tdeKeyStoreType; + this.__explicitlySet__.add("tdeKeyStoreType"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -1155,7 +1192,9 @@ public ExadbVmCluster build() { this.memorySizeInGBs, this.clusterPlacementGroupId, this.subscriptionId, - this.shapeAttribute); + this.shapeAttribute, + this.multiCloudIdentityConnectorConfigs, + this.tdeKeyStoreType); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -1311,6 +1350,13 @@ public Builder copy(ExadbVmCluster model) { if (model.wasPropertyExplicitlySet("shapeAttribute")) { this.shapeAttribute(model.getShapeAttribute()); } + if (model.wasPropertyExplicitlySet("multiCloudIdentityConnectorConfigs")) { + this.multiCloudIdentityConnectorConfigs( + model.getMultiCloudIdentityConnectorConfigs()); + } + if (model.wasPropertyExplicitlySet("tdeKeyStoreType")) { + this.tdeKeyStoreType(model.getTdeKeyStoreType()); + } return this; } } @@ -2330,6 +2376,80 @@ public ShapeAttribute getShapeAttribute() { return shapeAttribute; } + /** Details of the multi cloud identity connectors of the VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("multiCloudIdentityConnectorConfigs") + private final java.util.List multiCloudIdentityConnectorConfigs; + + /** + * Details of the multi cloud identity connectors of the VM cluster. + * + * @return the value + */ + public java.util.List getMultiCloudIdentityConnectorConfigs() { + return multiCloudIdentityConnectorConfigs; + } + + /** TDE keystore type */ + public enum TdeKeyStoreType implements com.oracle.bmc.http.internal.BmcEnum { + Azure("AZURE"), + Oci("OCI"), + Gcp("GCP"), + Aws("AWS"), + + /** + * 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(TdeKeyStoreType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (TdeKeyStoreType v : TdeKeyStoreType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + TdeKeyStoreType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static TdeKeyStoreType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'TdeKeyStoreType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** TDE keystore type */ + @com.fasterxml.jackson.annotation.JsonProperty("tdeKeyStoreType") + private final TdeKeyStoreType tdeKeyStoreType; + + /** + * TDE keystore type + * + * @return the value + */ + public TdeKeyStoreType getTdeKeyStoreType() { + return tdeKeyStoreType; + } + @Override public String toString() { return this.toString(true); @@ -2398,6 +2518,9 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.clusterPlacementGroupId)); sb.append(", subscriptionId=").append(String.valueOf(this.subscriptionId)); sb.append(", shapeAttribute=").append(String.valueOf(this.shapeAttribute)); + sb.append(", multiCloudIdentityConnectorConfigs=") + .append(String.valueOf(this.multiCloudIdentityConnectorConfigs)); + sb.append(", tdeKeyStoreType=").append(String.valueOf(this.tdeKeyStoreType)); sb.append(")"); return sb.toString(); } @@ -2467,6 +2590,10 @@ public boolean equals(Object o) { this.clusterPlacementGroupId, other.clusterPlacementGroupId) && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) && java.util.Objects.equals(this.shapeAttribute, other.shapeAttribute) + && java.util.Objects.equals( + this.multiCloudIdentityConnectorConfigs, + other.multiCloudIdentityConnectorConfigs) + && java.util.Objects.equals(this.tdeKeyStoreType, other.tdeKeyStoreType) && super.equals(other); } @@ -2601,6 +2728,14 @@ public int hashCode() { result = (result * PRIME) + (this.shapeAttribute == null ? 43 : this.shapeAttribute.hashCode()); + result = + (result * PRIME) + + (this.multiCloudIdentityConnectorConfigs == null + ? 43 + : this.multiCloudIdentityConnectorConfigs.hashCode()); + result = + (result * PRIME) + + (this.tdeKeyStoreType == null ? 43 : this.tdeKeyStoreType.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterSummary.java index 022b5d90689..bf74ddcd68d 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/ExadbVmClusterSummary.java @@ -72,7 +72,9 @@ public final class ExadbVmClusterSummary "memorySizeInGBs", "clusterPlacementGroupId", "subscriptionId", - "shapeAttribute" + "shapeAttribute", + "multiCloudIdentityConnectorConfigs", + "tdeKeyStoreType" }) public ExadbVmClusterSummary( String id, @@ -122,7 +124,9 @@ public ExadbVmClusterSummary( Integer memorySizeInGBs, String clusterPlacementGroupId, String subscriptionId, - ShapeAttribute shapeAttribute) { + ShapeAttribute shapeAttribute, + java.util.List multiCloudIdentityConnectorConfigs, + TdeKeyStoreType tdeKeyStoreType) { super(); this.id = id; this.compartmentId = compartmentId; @@ -172,6 +176,8 @@ public ExadbVmClusterSummary( this.clusterPlacementGroupId = clusterPlacementGroupId; this.subscriptionId = subscriptionId; this.shapeAttribute = shapeAttribute; + this.multiCloudIdentityConnectorConfigs = multiCloudIdentityConnectorConfigs; + this.tdeKeyStoreType = tdeKeyStoreType; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -1089,6 +1095,37 @@ public Builder shapeAttribute(ShapeAttribute shapeAttribute) { this.__explicitlySet__.add("shapeAttribute"); return this; } + /** Details of the multi cloud identity connectors of the VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("multiCloudIdentityConnectorConfigs") + private java.util.List multiCloudIdentityConnectorConfigs; + + /** + * Details of the multi cloud identity connectors of the VM cluster. + * + * @param multiCloudIdentityConnectorConfigs the value to set + * @return this builder + */ + public Builder multiCloudIdentityConnectorConfigs( + java.util.List multiCloudIdentityConnectorConfigs) { + this.multiCloudIdentityConnectorConfigs = multiCloudIdentityConnectorConfigs; + this.__explicitlySet__.add("multiCloudIdentityConnectorConfigs"); + return this; + } + /** TDE keystore type */ + @com.fasterxml.jackson.annotation.JsonProperty("tdeKeyStoreType") + private TdeKeyStoreType tdeKeyStoreType; + + /** + * TDE keystore type + * + * @param tdeKeyStoreType the value to set + * @return this builder + */ + public Builder tdeKeyStoreType(TdeKeyStoreType tdeKeyStoreType) { + this.tdeKeyStoreType = tdeKeyStoreType; + this.__explicitlySet__.add("tdeKeyStoreType"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -1143,7 +1180,9 @@ public ExadbVmClusterSummary build() { this.memorySizeInGBs, this.clusterPlacementGroupId, this.subscriptionId, - this.shapeAttribute); + this.shapeAttribute, + this.multiCloudIdentityConnectorConfigs, + this.tdeKeyStoreType); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -1296,6 +1335,13 @@ public Builder copy(ExadbVmClusterSummary model) { if (model.wasPropertyExplicitlySet("shapeAttribute")) { this.shapeAttribute(model.getShapeAttribute()); } + if (model.wasPropertyExplicitlySet("multiCloudIdentityConnectorConfigs")) { + this.multiCloudIdentityConnectorConfigs( + model.getMultiCloudIdentityConnectorConfigs()); + } + if (model.wasPropertyExplicitlySet("tdeKeyStoreType")) { + this.tdeKeyStoreType(model.getTdeKeyStoreType()); + } return this; } } @@ -2308,6 +2354,80 @@ public ShapeAttribute getShapeAttribute() { return shapeAttribute; } + /** Details of the multi cloud identity connectors of the VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("multiCloudIdentityConnectorConfigs") + private final java.util.List multiCloudIdentityConnectorConfigs; + + /** + * Details of the multi cloud identity connectors of the VM cluster. + * + * @return the value + */ + public java.util.List getMultiCloudIdentityConnectorConfigs() { + return multiCloudIdentityConnectorConfigs; + } + + /** TDE keystore type */ + public enum TdeKeyStoreType implements com.oracle.bmc.http.internal.BmcEnum { + Azure("AZURE"), + Oci("OCI"), + Gcp("GCP"), + Aws("AWS"), + + /** + * 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(TdeKeyStoreType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (TdeKeyStoreType v : TdeKeyStoreType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + TdeKeyStoreType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static TdeKeyStoreType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'TdeKeyStoreType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** TDE keystore type */ + @com.fasterxml.jackson.annotation.JsonProperty("tdeKeyStoreType") + private final TdeKeyStoreType tdeKeyStoreType; + + /** + * TDE keystore type + * + * @return the value + */ + public TdeKeyStoreType getTdeKeyStoreType() { + return tdeKeyStoreType; + } + @Override public String toString() { return this.toString(true); @@ -2375,6 +2495,9 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.clusterPlacementGroupId)); sb.append(", subscriptionId=").append(String.valueOf(this.subscriptionId)); sb.append(", shapeAttribute=").append(String.valueOf(this.shapeAttribute)); + sb.append(", multiCloudIdentityConnectorConfigs=") + .append(String.valueOf(this.multiCloudIdentityConnectorConfigs)); + sb.append(", tdeKeyStoreType=").append(String.valueOf(this.tdeKeyStoreType)); sb.append(")"); return sb.toString(); } @@ -2443,6 +2566,10 @@ public boolean equals(Object o) { this.clusterPlacementGroupId, other.clusterPlacementGroupId) && java.util.Objects.equals(this.subscriptionId, other.subscriptionId) && java.util.Objects.equals(this.shapeAttribute, other.shapeAttribute) + && java.util.Objects.equals( + this.multiCloudIdentityConnectorConfigs, + other.multiCloudIdentityConnectorConfigs) + && java.util.Objects.equals(this.tdeKeyStoreType, other.tdeKeyStoreType) && super.equals(other); } @@ -2574,6 +2701,14 @@ public int hashCode() { result = (result * PRIME) + (this.shapeAttribute == null ? 43 : this.shapeAttribute.hashCode()); + result = + (result * PRIME) + + (this.multiCloudIdentityConnectorConfigs == null + ? 43 + : this.multiCloudIdentityConnectorConfigs.hashCode()); + result = + (result * PRIME) + + (this.tdeKeyStoreType == null ? 43 : this.tdeKeyStoreType.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/RegisterExadbVmClusterPkcsDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/RegisterExadbVmClusterPkcsDetails.java new file mode 100644 index 00000000000..90362097a80 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/RegisterExadbVmClusterPkcsDetails.java @@ -0,0 +1,172 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.model; + +/** + * Details of registering PKCS11 driver.
+ * 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 = RegisterExadbVmClusterPkcsDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class RegisterExadbVmClusterPkcsDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"tdeKeyStoreType"}) + public RegisterExadbVmClusterPkcsDetails(TdeKeyStoreType tdeKeyStoreType) { + super(); + this.tdeKeyStoreType = tdeKeyStoreType; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** TDE keystore type */ + @com.fasterxml.jackson.annotation.JsonProperty("tdeKeyStoreType") + private TdeKeyStoreType tdeKeyStoreType; + + /** + * TDE keystore type + * + * @param tdeKeyStoreType the value to set + * @return this builder + */ + public Builder tdeKeyStoreType(TdeKeyStoreType tdeKeyStoreType) { + this.tdeKeyStoreType = tdeKeyStoreType; + this.__explicitlySet__.add("tdeKeyStoreType"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public RegisterExadbVmClusterPkcsDetails build() { + RegisterExadbVmClusterPkcsDetails model = + new RegisterExadbVmClusterPkcsDetails(this.tdeKeyStoreType); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(RegisterExadbVmClusterPkcsDetails model) { + if (model.wasPropertyExplicitlySet("tdeKeyStoreType")) { + this.tdeKeyStoreType(model.getTdeKeyStoreType()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** TDE keystore type */ + public enum TdeKeyStoreType implements com.oracle.bmc.http.internal.BmcEnum { + Azure("AZURE"), + Oci("OCI"), + Gcp("GCP"), + Aws("AWS"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (TdeKeyStoreType v : TdeKeyStoreType.values()) { + map.put(v.getValue(), v); + } + } + + TdeKeyStoreType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static TdeKeyStoreType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid TdeKeyStoreType: " + key); + } + }; + /** TDE keystore type */ + @com.fasterxml.jackson.annotation.JsonProperty("tdeKeyStoreType") + private final TdeKeyStoreType tdeKeyStoreType; + + /** + * TDE keystore type + * + * @return the value + */ + public TdeKeyStoreType getTdeKeyStoreType() { + return tdeKeyStoreType; + } + + @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("RegisterExadbVmClusterPkcsDetails("); + sb.append("super=").append(super.toString()); + sb.append("tdeKeyStoreType=").append(String.valueOf(this.tdeKeyStoreType)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof RegisterExadbVmClusterPkcsDetails)) { + return false; + } + + RegisterExadbVmClusterPkcsDetails other = (RegisterExadbVmClusterPkcsDetails) o; + return java.util.Objects.equals(this.tdeKeyStoreType, other.tdeKeyStoreType) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.tdeKeyStoreType == null ? 43 : this.tdeKeyStoreType.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UnregisterExadbVmClusterPkcsDetails.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UnregisterExadbVmClusterPkcsDetails.java new file mode 100644 index 00000000000..73a8f32451c --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UnregisterExadbVmClusterPkcsDetails.java @@ -0,0 +1,172 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.model; + +/** + * Details of unregistering PKCS11 driver.
+ * 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 = UnregisterExadbVmClusterPkcsDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UnregisterExadbVmClusterPkcsDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"tdeKeyStoreType"}) + public UnregisterExadbVmClusterPkcsDetails(TdeKeyStoreType tdeKeyStoreType) { + super(); + this.tdeKeyStoreType = tdeKeyStoreType; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** TDE keystore type */ + @com.fasterxml.jackson.annotation.JsonProperty("tdeKeyStoreType") + private TdeKeyStoreType tdeKeyStoreType; + + /** + * TDE keystore type + * + * @param tdeKeyStoreType the value to set + * @return this builder + */ + public Builder tdeKeyStoreType(TdeKeyStoreType tdeKeyStoreType) { + this.tdeKeyStoreType = tdeKeyStoreType; + this.__explicitlySet__.add("tdeKeyStoreType"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UnregisterExadbVmClusterPkcsDetails build() { + UnregisterExadbVmClusterPkcsDetails model = + new UnregisterExadbVmClusterPkcsDetails(this.tdeKeyStoreType); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UnregisterExadbVmClusterPkcsDetails model) { + if (model.wasPropertyExplicitlySet("tdeKeyStoreType")) { + this.tdeKeyStoreType(model.getTdeKeyStoreType()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** TDE keystore type */ + public enum TdeKeyStoreType implements com.oracle.bmc.http.internal.BmcEnum { + Azure("AZURE"), + Oci("OCI"), + Gcp("GCP"), + Aws("AWS"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (TdeKeyStoreType v : TdeKeyStoreType.values()) { + map.put(v.getValue(), v); + } + } + + TdeKeyStoreType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static TdeKeyStoreType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid TdeKeyStoreType: " + key); + } + }; + /** TDE keystore type */ + @com.fasterxml.jackson.annotation.JsonProperty("tdeKeyStoreType") + private final TdeKeyStoreType tdeKeyStoreType; + + /** + * TDE keystore type + * + * @return the value + */ + public TdeKeyStoreType getTdeKeyStoreType() { + return tdeKeyStoreType; + } + + @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("UnregisterExadbVmClusterPkcsDetails("); + sb.append("super=").append(super.toString()); + sb.append("tdeKeyStoreType=").append(String.valueOf(this.tdeKeyStoreType)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UnregisterExadbVmClusterPkcsDetails)) { + return false; + } + + UnregisterExadbVmClusterPkcsDetails other = (UnregisterExadbVmClusterPkcsDetails) o; + return java.util.Objects.equals(this.tdeKeyStoreType, other.tdeKeyStoreType) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.tdeKeyStoreType == null ? 43 : this.tdeKeyStoreType.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 0082752ff8e..23211b5aea4 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 @@ -26,6 +26,9 @@ public final class Update extends com.oracle.bmc.http.client.internal.Explicitly "description", "lastAction", "availableActions", + "lastUpdateMode", + "availableUpdateModes", + "oracleLinuxVersion", "updateType", "lifecycleDetails", "lifecycleState", @@ -37,6 +40,9 @@ public Update( String description, LastAction lastAction, java.util.List availableActions, + LastUpdateMode lastUpdateMode, + java.util.List availableUpdateModes, + String oracleLinuxVersion, UpdateType updateType, String lifecycleDetails, LifecycleState lifecycleState, @@ -47,6 +53,9 @@ public Update( this.description = description; this.lastAction = lastAction; this.availableActions = availableActions; + this.lastUpdateMode = lastUpdateMode; + this.availableUpdateModes = availableUpdateModes; + this.oracleLinuxVersion = oracleLinuxVersion; this.updateType = updateType; this.lifecycleDetails = lifecycleDetails; this.lifecycleState = lifecycleState; @@ -122,6 +131,52 @@ public Builder availableActions(java.util.List availableAction this.__explicitlySet__.add("availableActions"); return this; } + /** The previous update mode performed (only valid for OS Updates). */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdateMode") + private LastUpdateMode lastUpdateMode; + + /** + * The previous update mode performed (only valid for OS Updates). + * + * @param lastUpdateMode the value to set + * @return this builder + */ + public Builder lastUpdateMode(LastUpdateMode lastUpdateMode) { + this.lastUpdateMode = lastUpdateMode; + this.__explicitlySet__.add("lastUpdateMode"); + return this; + } + /** The possible update options available (only valid for OS Update). */ + @com.fasterxml.jackson.annotation.JsonProperty("availableUpdateModes") + private java.util.List availableUpdateModes; + + /** + * The possible update options available (only valid for OS Update). + * + * @param availableUpdateModes the value to set + * @return this builder + */ + public Builder availableUpdateModes( + java.util.List availableUpdateModes) { + this.availableUpdateModes = availableUpdateModes; + this.__explicitlySet__.add("availableUpdateModes"); + return this; + } + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @param oracleLinuxVersion the value to set + * @return this builder + */ + public Builder oracleLinuxVersion(String oracleLinuxVersion) { + this.oracleLinuxVersion = oracleLinuxVersion; + this.__explicitlySet__.add("oracleLinuxVersion"); + return this; + } /** The type of cloud VM cluster maintenance update. */ @com.fasterxml.jackson.annotation.JsonProperty("updateType") private UpdateType updateType; @@ -210,6 +265,9 @@ public Update build() { this.description, this.lastAction, this.availableActions, + this.lastUpdateMode, + this.availableUpdateModes, + this.oracleLinuxVersion, this.updateType, this.lifecycleDetails, this.lifecycleState, @@ -235,6 +293,15 @@ public Builder copy(Update model) { if (model.wasPropertyExplicitlySet("availableActions")) { this.availableActions(model.getAvailableActions()); } + if (model.wasPropertyExplicitlySet("lastUpdateMode")) { + this.lastUpdateMode(model.getLastUpdateMode()); + } + if (model.wasPropertyExplicitlySet("availableUpdateModes")) { + this.availableUpdateModes(model.getAvailableUpdateModes()); + } + if (model.wasPropertyExplicitlySet("oracleLinuxVersion")) { + this.oracleLinuxVersion(model.getOracleLinuxVersion()); + } if (model.wasPropertyExplicitlySet("updateType")) { this.updateType(model.getUpdateType()); } @@ -415,6 +482,143 @@ public java.util.List getAvailableActions() { return availableActions; } + /** The previous update mode performed (only valid for OS Updates). */ + public enum LastUpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(LastUpdateMode.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LastUpdateMode v : LastUpdateMode.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LastUpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LastUpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LastUpdateMode', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The previous update mode performed (only valid for OS Updates). */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdateMode") + private final LastUpdateMode lastUpdateMode; + + /** + * The previous update mode performed (only valid for OS Updates). + * + * @return the value + */ + public LastUpdateMode getLastUpdateMode() { + return lastUpdateMode; + } + + /** */ + public enum AvailableUpdateModes implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(AvailableUpdateModes.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (AvailableUpdateModes v : AvailableUpdateModes.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + AvailableUpdateModes(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static AvailableUpdateModes create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'AvailableUpdateModes', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The possible update options available (only valid for OS Update). */ + @com.fasterxml.jackson.annotation.JsonProperty("availableUpdateModes") + private final java.util.List availableUpdateModes; + + /** + * The possible update options available (only valid for OS Update). + * + * @return the value + */ + public java.util.List getAvailableUpdateModes() { + return availableUpdateModes; + } + + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private final String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @return the value + */ + public String getOracleLinuxVersion() { + return oracleLinuxVersion; + } + /** The type of cloud VM cluster maintenance update. */ public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { GiUpgrade("GI_UPGRADE"), @@ -594,6 +798,9 @@ public String toString(boolean includeByteArrayContents) { sb.append(", description=").append(String.valueOf(this.description)); sb.append(", lastAction=").append(String.valueOf(this.lastAction)); sb.append(", availableActions=").append(String.valueOf(this.availableActions)); + sb.append(", lastUpdateMode=").append(String.valueOf(this.lastUpdateMode)); + sb.append(", availableUpdateModes=").append(String.valueOf(this.availableUpdateModes)); + sb.append(", oracleLinuxVersion=").append(String.valueOf(this.oracleLinuxVersion)); sb.append(", updateType=").append(String.valueOf(this.updateType)); sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); @@ -617,6 +824,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.description, other.description) && java.util.Objects.equals(this.lastAction, other.lastAction) && java.util.Objects.equals(this.availableActions, other.availableActions) + && java.util.Objects.equals(this.lastUpdateMode, other.lastUpdateMode) + && java.util.Objects.equals(this.availableUpdateModes, other.availableUpdateModes) + && java.util.Objects.equals(this.oracleLinuxVersion, other.oracleLinuxVersion) && java.util.Objects.equals(this.updateType, other.updateType) && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) @@ -635,6 +845,19 @@ public int hashCode() { result = (result * PRIME) + (this.availableActions == null ? 43 : this.availableActions.hashCode()); + result = + (result * PRIME) + + (this.lastUpdateMode == null ? 43 : this.lastUpdateMode.hashCode()); + result = + (result * PRIME) + + (this.availableUpdateModes == null + ? 43 + : this.availableUpdateModes.hashCode()); + result = + (result * PRIME) + + (this.oracleLinuxVersion == null + ? 43 + : this.oracleLinuxVersion.hashCode()); result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.hashCode()); result = (result * PRIME) 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 new file mode 100644 index 00000000000..342f5d25238 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateBaseccVmClusterDetails.java @@ -0,0 +1,716 @@ +/** + * 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; + +/** + * Details for updating the BaseDB-C@C VM cluster. Applies to Base Database Service on + * Cloud@Customer instances only.
+ * 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 = UpdateBaseccVmClusterDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateBaseccVmClusterDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "cpuCoreCount", + "memorySizeInGBs", + "dataStorageSizeInGBs", + "recoStorageSizeInGBs", + "licenseModel", + "sshPublicKeys", + "displayName", + "additionalVmStorageSizeInGBs", + "updateDetails", + "freeformTags", + "definedTags", + "dataCollectionOptions", + "cloudAutomationUpdateDetails" + }) + public UpdateBaseccVmClusterDetails( + Integer cpuCoreCount, + Integer memorySizeInGBs, + Integer dataStorageSizeInGBs, + Integer recoStorageSizeInGBs, + LicenseModel licenseModel, + java.util.List sshPublicKeys, + String displayName, + Integer additionalVmStorageSizeInGBs, + BaseccVmClusterUpdateDetails updateDetails, + java.util.Map freeformTags, + java.util.Map> definedTags, + DataCollectionOptions dataCollectionOptions, + CloudAutomationUpdateDetails cloudAutomationUpdateDetails) { + super(); + this.cpuCoreCount = cpuCoreCount; + this.memorySizeInGBs = memorySizeInGBs; + this.dataStorageSizeInGBs = dataStorageSizeInGBs; + this.recoStorageSizeInGBs = recoStorageSizeInGBs; + this.licenseModel = licenseModel; + this.sshPublicKeys = sshPublicKeys; + this.displayName = displayName; + this.additionalVmStorageSizeInGBs = additionalVmStorageSizeInGBs; + this.updateDetails = updateDetails; + this.freeformTags = freeformTags; + this.definedTags = definedTags; + this.dataCollectionOptions = dataCollectionOptions; + this.cloudAutomationUpdateDetails = cloudAutomationUpdateDetails; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** Total CPU cores for the BaseDB C@C VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") + private Integer cpuCoreCount; + + /** + * Total CPU cores for the BaseDB C@C VM cluster. + * + * @param cpuCoreCount the value to set + * @return this builder + */ + public Builder cpuCoreCount(Integer cpuCoreCount) { + this.cpuCoreCount = cpuCoreCount; + this.__explicitlySet__.add("cpuCoreCount"); + return this; + } + /** + * 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. + */ + @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. + * + * @param memorySizeInGBs the value to set + * @return this builder + */ + public Builder memorySizeInGBs(Integer memorySizeInGBs) { + this.memorySizeInGBs = memorySizeInGBs; + this.__explicitlySet__.add("memorySizeInGBs"); + return this; + } + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataStorageSizeInGBs") + private Integer dataStorageSizeInGBs; + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param dataStorageSizeInGBs the value to set + * @return this builder + */ + public Builder dataStorageSizeInGBs(Integer dataStorageSizeInGBs) { + this.dataStorageSizeInGBs = dataStorageSizeInGBs; + this.__explicitlySet__.add("dataStorageSizeInGBs"); + return this; + } + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("recoStorageSizeInGBs") + private Integer recoStorageSizeInGBs; + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param recoStorageSizeInGBs the value to set + * @return this builder + */ + public Builder recoStorageSizeInGBs(Integer recoStorageSizeInGBs) { + this.recoStorageSizeInGBs = recoStorageSizeInGBs; + this.__explicitlySet__.add("recoStorageSizeInGBs"); + return this; + } + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private LicenseModel licenseModel; + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + * + * @param licenseModel the value to set + * @return this builder + */ + public Builder licenseModel(LicenseModel licenseModel) { + this.licenseModel = licenseModel; + this.__explicitlySet__.add("licenseModel"); + return this; + } + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + private java.util.List sshPublicKeys; + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @param sshPublicKeys the value to set + * @return this builder + */ + public Builder sshPublicKeys(java.util.List sshPublicKeys) { + this.sshPublicKeys = sshPublicKeys; + this.__explicitlySet__.add("sshPublicKeys"); + return this; + } + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("additionalVmStorageSizeInGBs") + private Integer additionalVmStorageSizeInGBs; + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. + * + * @param additionalVmStorageSizeInGBs the value to set + * @return this builder + */ + public Builder additionalVmStorageSizeInGBs(Integer additionalVmStorageSizeInGBs) { + this.additionalVmStorageSizeInGBs = additionalVmStorageSizeInGBs; + this.__explicitlySet__.add("additionalVmStorageSizeInGBs"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("updateDetails") + private BaseccVmClusterUpdateDetails updateDetails; + + public Builder updateDetails(BaseccVmClusterUpdateDetails updateDetails) { + this.updateDetails = updateDetails; + this.__explicitlySet__.add("updateDetails"); + 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). + */ + @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). + * + * @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.JsonProperty("dataCollectionOptions") + private DataCollectionOptions dataCollectionOptions; + + public Builder dataCollectionOptions(DataCollectionOptions dataCollectionOptions) { + this.dataCollectionOptions = dataCollectionOptions; + this.__explicitlySet__.add("dataCollectionOptions"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("cloudAutomationUpdateDetails") + private CloudAutomationUpdateDetails cloudAutomationUpdateDetails; + + public Builder cloudAutomationUpdateDetails( + CloudAutomationUpdateDetails cloudAutomationUpdateDetails) { + this.cloudAutomationUpdateDetails = cloudAutomationUpdateDetails; + this.__explicitlySet__.add("cloudAutomationUpdateDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateBaseccVmClusterDetails build() { + UpdateBaseccVmClusterDetails model = + new UpdateBaseccVmClusterDetails( + this.cpuCoreCount, + this.memorySizeInGBs, + this.dataStorageSizeInGBs, + this.recoStorageSizeInGBs, + this.licenseModel, + this.sshPublicKeys, + this.displayName, + this.additionalVmStorageSizeInGBs, + this.updateDetails, + this.freeformTags, + this.definedTags, + this.dataCollectionOptions, + this.cloudAutomationUpdateDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateBaseccVmClusterDetails model) { + if (model.wasPropertyExplicitlySet("cpuCoreCount")) { + this.cpuCoreCount(model.getCpuCoreCount()); + } + if (model.wasPropertyExplicitlySet("memorySizeInGBs")) { + this.memorySizeInGBs(model.getMemorySizeInGBs()); + } + if (model.wasPropertyExplicitlySet("dataStorageSizeInGBs")) { + this.dataStorageSizeInGBs(model.getDataStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("recoStorageSizeInGBs")) { + this.recoStorageSizeInGBs(model.getRecoStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("licenseModel")) { + this.licenseModel(model.getLicenseModel()); + } + if (model.wasPropertyExplicitlySet("sshPublicKeys")) { + this.sshPublicKeys(model.getSshPublicKeys()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("additionalVmStorageSizeInGBs")) { + this.additionalVmStorageSizeInGBs(model.getAdditionalVmStorageSizeInGBs()); + } + if (model.wasPropertyExplicitlySet("updateDetails")) { + this.updateDetails(model.getUpdateDetails()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("dataCollectionOptions")) { + this.dataCollectionOptions(model.getDataCollectionOptions()); + } + if (model.wasPropertyExplicitlySet("cloudAutomationUpdateDetails")) { + this.cloudAutomationUpdateDetails(model.getCloudAutomationUpdateDetails()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** Total CPU cores for the BaseDB C@C VM cluster. */ + @com.fasterxml.jackson.annotation.JsonProperty("cpuCoreCount") + private final Integer cpuCoreCount; + + /** + * Total CPU cores for the BaseDB C@C VM cluster. + * + * @return the value + */ + public Integer getCpuCoreCount() { + return 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. + */ + @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. + * + * @return the value + */ + public Integer getMemorySizeInGBs() { + return memorySizeInGBs; + } + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("dataStorageSizeInGBs") + private final Integer dataStorageSizeInGBs; + + /** + * The DATA Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getDataStorageSizeInGBs() { + return dataStorageSizeInGBs; + } + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("recoStorageSizeInGBs") + private final Integer recoStorageSizeInGBs; + + /** + * The RECO Disk Group size in GB for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getRecoStorageSizeInGBs() { + return recoStorageSizeInGBs; + } + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + public enum LicenseModel implements com.oracle.bmc.http.internal.BmcEnum { + LicenseIncluded("LICENSE_INCLUDED"), + BringYourOwnLicense("BRING_YOUR_OWN_LICENSE"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LicenseModel v : LicenseModel.values()) { + map.put(v.getValue(), v); + } + } + + LicenseModel(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LicenseModel create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid LicenseModel: " + key); + } + }; + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + */ + @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") + private final LicenseModel licenseModel; + + /** + * The Oracle license model that applies to the Base Database Service on Cloud@Customer + * (BaseDB-C@C) VM cluster. The default is LICENSE_INCLUDED. + * + * @return the value + */ + public LicenseModel getLicenseModel() { + return licenseModel; + } + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sshPublicKeys") + private final java.util.List sshPublicKeys; + + /** + * The public key portion of one or more key pairs used for SSH access to the VMs of Base + * Database Service on Cloud@Customer (BaseDB-C@C) VM cluster. + * + * @return the value + */ + public java.util.List getSshPublicKeys() { + return sshPublicKeys; + } + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * The user-friendly name for the Base Database Service on Cloud@Customer (BaseDB-C@C) VM + * cluster. The name does not need to be unique. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + */ + @com.fasterxml.jackson.annotation.JsonProperty("additionalVmStorageSizeInGBs") + private final Integer additionalVmStorageSizeInGBs; + + /** + * Total /u01 partition size (GB) for the Base Database Service on Cloud@Customer (BaseDB-C@C) + * VM cluster. + * + * @return the value + */ + public Integer getAdditionalVmStorageSizeInGBs() { + return additionalVmStorageSizeInGBs; + } + + @com.fasterxml.jackson.annotation.JsonProperty("updateDetails") + private final BaseccVmClusterUpdateDetails updateDetails; + + public BaseccVmClusterUpdateDetails getUpdateDetails() { + return updateDetails; + } + + /** + * 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). + */ + @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). + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataCollectionOptions") + private final DataCollectionOptions dataCollectionOptions; + + public DataCollectionOptions getDataCollectionOptions() { + return dataCollectionOptions; + } + + @com.fasterxml.jackson.annotation.JsonProperty("cloudAutomationUpdateDetails") + private final CloudAutomationUpdateDetails cloudAutomationUpdateDetails; + + public CloudAutomationUpdateDetails getCloudAutomationUpdateDetails() { + return cloudAutomationUpdateDetails; + } + + @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("UpdateBaseccVmClusterDetails("); + sb.append("super=").append(super.toString()); + sb.append("cpuCoreCount=").append(String.valueOf(this.cpuCoreCount)); + sb.append(", memorySizeInGBs=").append(String.valueOf(this.memorySizeInGBs)); + sb.append(", dataStorageSizeInGBs=").append(String.valueOf(this.dataStorageSizeInGBs)); + sb.append(", recoStorageSizeInGBs=").append(String.valueOf(this.recoStorageSizeInGBs)); + sb.append(", licenseModel=").append(String.valueOf(this.licenseModel)); + sb.append(", sshPublicKeys=").append(String.valueOf(this.sshPublicKeys)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", additionalVmStorageSizeInGBs=") + .append(String.valueOf(this.additionalVmStorageSizeInGBs)); + sb.append(", updateDetails=").append(String.valueOf(this.updateDetails)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", dataCollectionOptions=").append(String.valueOf(this.dataCollectionOptions)); + sb.append(", cloudAutomationUpdateDetails=") + .append(String.valueOf(this.cloudAutomationUpdateDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateBaseccVmClusterDetails)) { + return false; + } + + UpdateBaseccVmClusterDetails other = (UpdateBaseccVmClusterDetails) o; + return java.util.Objects.equals(this.cpuCoreCount, other.cpuCoreCount) + && java.util.Objects.equals(this.memorySizeInGBs, other.memorySizeInGBs) + && java.util.Objects.equals(this.dataStorageSizeInGBs, other.dataStorageSizeInGBs) + && java.util.Objects.equals(this.recoStorageSizeInGBs, other.recoStorageSizeInGBs) + && java.util.Objects.equals(this.licenseModel, other.licenseModel) + && java.util.Objects.equals(this.sshPublicKeys, other.sshPublicKeys) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals( + this.additionalVmStorageSizeInGBs, other.additionalVmStorageSizeInGBs) + && java.util.Objects.equals(this.updateDetails, other.updateDetails) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.dataCollectionOptions, other.dataCollectionOptions) + && java.util.Objects.equals( + this.cloudAutomationUpdateDetails, other.cloudAutomationUpdateDetails) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.cpuCoreCount == null ? 43 : this.cpuCoreCount.hashCode()); + result = + (result * PRIME) + + (this.memorySizeInGBs == null ? 43 : this.memorySizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.dataStorageSizeInGBs == null + ? 43 + : this.dataStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.recoStorageSizeInGBs == null + ? 43 + : this.recoStorageSizeInGBs.hashCode()); + result = (result * PRIME) + (this.licenseModel == null ? 43 : this.licenseModel.hashCode()); + result = + (result * PRIME) + + (this.sshPublicKeys == null ? 43 : this.sshPublicKeys.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = + (result * PRIME) + + (this.additionalVmStorageSizeInGBs == null + ? 43 + : this.additionalVmStorageSizeInGBs.hashCode()); + result = + (result * PRIME) + + (this.updateDetails == null ? 43 : this.updateDetails.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.dataCollectionOptions == null + ? 43 + : this.dataCollectionOptions.hashCode()); + result = + (result * PRIME) + + (this.cloudAutomationUpdateDetails == null + ? 43 + : this.cloudAutomationUpdateDetails.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 4a1d4579508..2c6515d3027 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 @@ -23,11 +23,21 @@ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) public final class UpdateDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"updateId", "updateAction", "giSoftwareImageId"}) - public UpdateDetails(String updateId, UpdateAction updateAction, String giSoftwareImageId) { + @java.beans.ConstructorProperties({ + "updateId", + "updateAction", + "updateMode", + "giSoftwareImageId" + }) + public UpdateDetails( + String updateId, + UpdateAction updateAction, + UpdateMode updateMode, + String giSoftwareImageId) { super(); this.updateId = updateId; this.updateAction = updateAction; + this.updateMode = updateMode; this.giSoftwareImageId = giSoftwareImageId; } @@ -67,6 +77,21 @@ public Builder updateAction(UpdateAction updateAction) { this.__explicitlySet__.add("updateAction"); return this; } + /** The update mode to perform for OS Update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private UpdateMode updateMode; + + /** + * The update mode to perform for OS Update. + * + * @param updateMode the value to set + * @return this builder + */ + public Builder updateMode(UpdateMode updateMode) { + this.updateMode = updateMode; + this.__explicitlySet__.add("updateMode"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a * grid infrastructure software image. This is a database software image of the type {@code @@ -94,7 +119,11 @@ public Builder giSoftwareImageId(String giSoftwareImageId) { public UpdateDetails build() { UpdateDetails model = - new UpdateDetails(this.updateId, this.updateAction, this.giSoftwareImageId); + new UpdateDetails( + this.updateId, + this.updateAction, + this.updateMode, + this.giSoftwareImageId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -109,6 +138,9 @@ public Builder copy(UpdateDetails model) { if (model.wasPropertyExplicitlySet("updateAction")) { this.updateAction(model.getUpdateAction()); } + if (model.wasPropertyExplicitlySet("updateMode")) { + this.updateMode(model.getUpdateMode()); + } if (model.wasPropertyExplicitlySet("giSoftwareImageId")) { this.giSoftwareImageId(model.getGiSoftwareImageId()); } @@ -190,6 +222,55 @@ public UpdateAction getUpdateAction() { return updateAction; } + /** The update mode to perform for OS Update. */ + public enum UpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateMode v : UpdateMode.values()) { + map.put(v.getValue(), v); + } + } + + UpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid UpdateMode: " + key); + } + }; + /** The update mode to perform for OS Update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private final UpdateMode updateMode; + + /** + * The update mode to perform for OS Update. + * + * @return the value + */ + public UpdateMode getUpdateMode() { + return updateMode; + } + /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of a grid * infrastructure software image. This is a database software image of the type {@code @@ -226,6 +307,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("updateId=").append(String.valueOf(this.updateId)); 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(")"); return sb.toString(); @@ -243,6 +325,7 @@ public boolean equals(Object o) { UpdateDetails other = (UpdateDetails) o; return java.util.Objects.equals(this.updateId, other.updateId) && java.util.Objects.equals(this.updateAction, other.updateAction) + && java.util.Objects.equals(this.updateMode, other.updateMode) && java.util.Objects.equals(this.giSoftwareImageId, other.giSoftwareImageId) && super.equals(other); } @@ -253,6 +336,7 @@ public int hashCode() { int result = 1; result = (result * PRIME) + (this.updateId == null ? 43 : this.updateId.hashCode()); result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); + result = (result * PRIME) + (this.updateMode == null ? 43 : this.updateMode.hashCode()); result = (result * PRIME) + (this.giSoftwareImageId == null ? 43 : this.giSoftwareImageId.hashCode()); diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateHistoryEntry.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateHistoryEntry.java index 9ead6db41e7..6f782901a84 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateHistoryEntry.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateHistoryEntry.java @@ -27,6 +27,7 @@ public final class UpdateHistoryEntry "id", "updateId", "updateAction", + "updateMode", "updateType", "lifecycleState", "lifecycleDetails", @@ -37,6 +38,7 @@ public UpdateHistoryEntry( String id, String updateId, UpdateAction updateAction, + UpdateMode updateMode, UpdateType updateType, LifecycleState lifecycleState, String lifecycleDetails, @@ -46,6 +48,7 @@ public UpdateHistoryEntry( this.id = id; this.updateId = updateId; this.updateAction = updateAction; + this.updateMode = updateMode; this.updateType = updateType; this.lifecycleState = lifecycleState; this.lifecycleDetails = lifecycleDetails; @@ -108,6 +111,21 @@ public Builder updateAction(UpdateAction updateAction) { this.__explicitlySet__.add("updateAction"); return this; } + /** The OS update mode performed using this maintenance update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private UpdateMode updateMode; + + /** + * The OS update mode performed using this maintenance update. + * + * @param updateMode the value to set + * @return this builder + */ + public Builder updateMode(UpdateMode updateMode) { + this.updateMode = updateMode; + this.__explicitlySet__.add("updateMode"); + return this; + } /** The type of cloud VM cluster maintenance update. */ @com.fasterxml.jackson.annotation.JsonProperty("updateType") private UpdateType updateType; @@ -193,6 +211,7 @@ public UpdateHistoryEntry build() { this.id, this.updateId, this.updateAction, + this.updateMode, this.updateType, this.lifecycleState, this.lifecycleDetails, @@ -215,6 +234,9 @@ public Builder copy(UpdateHistoryEntry model) { if (model.wasPropertyExplicitlySet("updateAction")) { this.updateAction(model.getUpdateAction()); } + if (model.wasPropertyExplicitlySet("updateMode")) { + this.updateMode(model.getUpdateMode()); + } if (model.wasPropertyExplicitlySet("updateType")) { this.updateType(model.getUpdateType()); } @@ -338,6 +360,70 @@ public UpdateAction getUpdateAction() { return updateAction; } + /** The OS update mode performed using this maintenance update. */ + public enum UpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdatesHighcvss("PENDING_UPDATES_HIGHCVSS"), + PendingUpdatesAllcvss("PENDING_UPDATES_ALLCVSS"), + PendingAllUpdates("PENDING_ALL_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(UpdateMode.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateMode v : UpdateMode.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateMode', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The OS update mode performed using this maintenance update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private final UpdateMode updateMode; + + /** + * The OS update mode performed using this maintenance update. + * + * @return the value + */ + public UpdateMode getUpdateMode() { + return updateMode; + } + /** The type of cloud VM cluster maintenance update. */ public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { GiUpgrade("GI_UPGRADE"), @@ -515,6 +601,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("id=").append(String.valueOf(this.id)); sb.append(", updateId=").append(String.valueOf(this.updateId)); sb.append(", updateAction=").append(String.valueOf(this.updateAction)); + sb.append(", updateMode=").append(String.valueOf(this.updateMode)); sb.append(", updateType=").append(String.valueOf(this.updateType)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); @@ -537,6 +624,7 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.updateId, other.updateId) && java.util.Objects.equals(this.updateAction, other.updateAction) + && java.util.Objects.equals(this.updateMode, other.updateMode) && java.util.Objects.equals(this.updateType, other.updateType) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) @@ -552,6 +640,7 @@ public int hashCode() { result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); result = (result * PRIME) + (this.updateId == null ? 43 : this.updateId.hashCode()); result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); + result = (result * PRIME) + (this.updateMode == null ? 43 : this.updateMode.hashCode()); result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.hashCode()); result = (result * PRIME) diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateHistoryEntrySummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateHistoryEntrySummary.java index 7efc0f3011d..0d8513365fb 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateHistoryEntrySummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/UpdateHistoryEntrySummary.java @@ -28,6 +28,7 @@ public final class UpdateHistoryEntrySummary "id", "updateId", "updateAction", + "updateMode", "updateType", "lifecycleState", "lifecycleDetails", @@ -38,6 +39,7 @@ public UpdateHistoryEntrySummary( String id, String updateId, UpdateAction updateAction, + UpdateMode updateMode, UpdateType updateType, LifecycleState lifecycleState, String lifecycleDetails, @@ -47,6 +49,7 @@ public UpdateHistoryEntrySummary( this.id = id; this.updateId = updateId; this.updateAction = updateAction; + this.updateMode = updateMode; this.updateType = updateType; this.lifecycleState = lifecycleState; this.lifecycleDetails = lifecycleDetails; @@ -109,6 +112,21 @@ public Builder updateAction(UpdateAction updateAction) { this.__explicitlySet__.add("updateAction"); return this; } + /** The OS update mode performed using this maintenance update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private UpdateMode updateMode; + + /** + * The OS update mode performed using this maintenance update. + * + * @param updateMode the value to set + * @return this builder + */ + public Builder updateMode(UpdateMode updateMode) { + this.updateMode = updateMode; + this.__explicitlySet__.add("updateMode"); + return this; + } /** The type of cloud VM cluster maintenance update. */ @com.fasterxml.jackson.annotation.JsonProperty("updateType") private UpdateType updateType; @@ -194,6 +212,7 @@ public UpdateHistoryEntrySummary build() { this.id, this.updateId, this.updateAction, + this.updateMode, this.updateType, this.lifecycleState, this.lifecycleDetails, @@ -216,6 +235,9 @@ public Builder copy(UpdateHistoryEntrySummary model) { if (model.wasPropertyExplicitlySet("updateAction")) { this.updateAction(model.getUpdateAction()); } + if (model.wasPropertyExplicitlySet("updateMode")) { + this.updateMode(model.getUpdateMode()); + } if (model.wasPropertyExplicitlySet("updateType")) { this.updateType(model.getUpdateType()); } @@ -339,6 +361,70 @@ public UpdateAction getUpdateAction() { return updateAction; } + /** The OS update mode performed using this maintenance update. */ + public enum UpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdatesHighcvss("PENDING_UPDATES_HIGHCVSS"), + PendingUpdatesAllcvss("PENDING_UPDATES_ALLCVSS"), + PendingAllUpdates("PENDING_ALL_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(UpdateMode.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateMode v : UpdateMode.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateMode', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The OS update mode performed using this maintenance update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private final UpdateMode updateMode; + + /** + * The OS update mode performed using this maintenance update. + * + * @return the value + */ + public UpdateMode getUpdateMode() { + return updateMode; + } + /** The type of cloud VM cluster maintenance update. */ public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { GiUpgrade("GI_UPGRADE"), @@ -516,6 +602,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("id=").append(String.valueOf(this.id)); sb.append(", updateId=").append(String.valueOf(this.updateId)); sb.append(", updateAction=").append(String.valueOf(this.updateAction)); + sb.append(", updateMode=").append(String.valueOf(this.updateMode)); sb.append(", updateType=").append(String.valueOf(this.updateType)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); @@ -538,6 +625,7 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.updateId, other.updateId) && java.util.Objects.equals(this.updateAction, other.updateAction) + && java.util.Objects.equals(this.updateMode, other.updateMode) && java.util.Objects.equals(this.updateType, other.updateType) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) @@ -553,6 +641,7 @@ public int hashCode() { result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); result = (result * PRIME) + (this.updateId == null ? 43 : this.updateId.hashCode()); result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); + result = (result * PRIME) + (this.updateMode == null ? 43 : this.updateMode.hashCode()); result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.hashCode()); result = (result * PRIME) 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 8cf02fa157c..e7638653039 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 @@ -31,6 +31,9 @@ public final class UpdateSummary extends com.oracle.bmc.http.client.internal.Exp "description", "lastAction", "availableActions", + "lastUpdateMode", + "availableUpdateModes", + "oracleLinuxVersion", "updateType", "lifecycleDetails", "lifecycleState", @@ -42,6 +45,9 @@ public UpdateSummary( String description, LastAction lastAction, java.util.List availableActions, + LastUpdateMode lastUpdateMode, + java.util.List availableUpdateModes, + String oracleLinuxVersion, UpdateType updateType, String lifecycleDetails, LifecycleState lifecycleState, @@ -52,6 +58,9 @@ public UpdateSummary( this.description = description; this.lastAction = lastAction; this.availableActions = availableActions; + this.lastUpdateMode = lastUpdateMode; + this.availableUpdateModes = availableUpdateModes; + this.oracleLinuxVersion = oracleLinuxVersion; this.updateType = updateType; this.lifecycleDetails = lifecycleDetails; this.lifecycleState = lifecycleState; @@ -127,6 +136,52 @@ public Builder availableActions(java.util.List availableAction this.__explicitlySet__.add("availableActions"); return this; } + /** The previous update mode performed (only valid for OS Updates). */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdateMode") + private LastUpdateMode lastUpdateMode; + + /** + * The previous update mode performed (only valid for OS Updates). + * + * @param lastUpdateMode the value to set + * @return this builder + */ + public Builder lastUpdateMode(LastUpdateMode lastUpdateMode) { + this.lastUpdateMode = lastUpdateMode; + this.__explicitlySet__.add("lastUpdateMode"); + return this; + } + /** The possible update options available (only valid for OS Update). */ + @com.fasterxml.jackson.annotation.JsonProperty("availableUpdateModes") + private java.util.List availableUpdateModes; + + /** + * The possible update options available (only valid for OS Update). + * + * @param availableUpdateModes the value to set + * @return this builder + */ + public Builder availableUpdateModes( + java.util.List availableUpdateModes) { + this.availableUpdateModes = availableUpdateModes; + this.__explicitlySet__.add("availableUpdateModes"); + return this; + } + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @param oracleLinuxVersion the value to set + * @return this builder + */ + public Builder oracleLinuxVersion(String oracleLinuxVersion) { + this.oracleLinuxVersion = oracleLinuxVersion; + this.__explicitlySet__.add("oracleLinuxVersion"); + return this; + } /** The type of cloud VM cluster maintenance update. */ @com.fasterxml.jackson.annotation.JsonProperty("updateType") private UpdateType updateType; @@ -215,6 +270,9 @@ public UpdateSummary build() { this.description, this.lastAction, this.availableActions, + this.lastUpdateMode, + this.availableUpdateModes, + this.oracleLinuxVersion, this.updateType, this.lifecycleDetails, this.lifecycleState, @@ -240,6 +298,15 @@ public Builder copy(UpdateSummary model) { if (model.wasPropertyExplicitlySet("availableActions")) { this.availableActions(model.getAvailableActions()); } + if (model.wasPropertyExplicitlySet("lastUpdateMode")) { + this.lastUpdateMode(model.getLastUpdateMode()); + } + if (model.wasPropertyExplicitlySet("availableUpdateModes")) { + this.availableUpdateModes(model.getAvailableUpdateModes()); + } + if (model.wasPropertyExplicitlySet("oracleLinuxVersion")) { + this.oracleLinuxVersion(model.getOracleLinuxVersion()); + } if (model.wasPropertyExplicitlySet("updateType")) { this.updateType(model.getUpdateType()); } @@ -420,6 +487,143 @@ public java.util.List getAvailableActions() { return availableActions; } + /** The previous update mode performed (only valid for OS Updates). */ + public enum LastUpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(LastUpdateMode.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LastUpdateMode v : LastUpdateMode.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LastUpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LastUpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LastUpdateMode', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The previous update mode performed (only valid for OS Updates). */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdateMode") + private final LastUpdateMode lastUpdateMode; + + /** + * The previous update mode performed (only valid for OS Updates). + * + * @return the value + */ + public LastUpdateMode getLastUpdateMode() { + return lastUpdateMode; + } + + /** */ + public enum AvailableUpdateModes implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(AvailableUpdateModes.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (AvailableUpdateModes v : AvailableUpdateModes.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + AvailableUpdateModes(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static AvailableUpdateModes create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'AvailableUpdateModes', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The possible update options available (only valid for OS Update). */ + @com.fasterxml.jackson.annotation.JsonProperty("availableUpdateModes") + private final java.util.List availableUpdateModes; + + /** + * The possible update options available (only valid for OS Update). + * + * @return the value + */ + public java.util.List getAvailableUpdateModes() { + return availableUpdateModes; + } + + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private final String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @return the value + */ + public String getOracleLinuxVersion() { + return oracleLinuxVersion; + } + /** The type of cloud VM cluster maintenance update. */ public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { GiUpgrade("GI_UPGRADE"), @@ -599,6 +803,9 @@ public String toString(boolean includeByteArrayContents) { sb.append(", description=").append(String.valueOf(this.description)); sb.append(", lastAction=").append(String.valueOf(this.lastAction)); sb.append(", availableActions=").append(String.valueOf(this.availableActions)); + sb.append(", lastUpdateMode=").append(String.valueOf(this.lastUpdateMode)); + sb.append(", availableUpdateModes=").append(String.valueOf(this.availableUpdateModes)); + sb.append(", oracleLinuxVersion=").append(String.valueOf(this.oracleLinuxVersion)); sb.append(", updateType=").append(String.valueOf(this.updateType)); sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); @@ -622,6 +829,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.description, other.description) && java.util.Objects.equals(this.lastAction, other.lastAction) && java.util.Objects.equals(this.availableActions, other.availableActions) + && java.util.Objects.equals(this.lastUpdateMode, other.lastUpdateMode) + && java.util.Objects.equals(this.availableUpdateModes, other.availableUpdateModes) + && java.util.Objects.equals(this.oracleLinuxVersion, other.oracleLinuxVersion) && java.util.Objects.equals(this.updateType, other.updateType) && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) @@ -640,6 +850,19 @@ public int hashCode() { result = (result * PRIME) + (this.availableActions == null ? 43 : this.availableActions.hashCode()); + result = + (result * PRIME) + + (this.lastUpdateMode == null ? 43 : this.lastUpdateMode.hashCode()); + result = + (result * PRIME) + + (this.availableUpdateModes == null + ? 43 + : this.availableUpdateModes.hashCode()); + result = + (result * PRIME) + + (this.oracleLinuxVersion == null + ? 43 + : this.oracleLinuxVersion.hashCode()); result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.hashCode()); result = (result * PRIME) diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmCluster.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmCluster.java index 5adc5adce2c..7f049e485c5 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmCluster.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmCluster.java @@ -36,6 +36,8 @@ public final class VmCluster extends com.oracle.bmc.http.client.internal.Explici "dataStoragePercentage", "recoStoragePercentage", "sparseStoragePercentage", + "liveImageVersionDetails", + "oracleLinuxVersion", "vmClusterNetworkId", "cpusEnabled", "ocpusEnabled", @@ -79,6 +81,8 @@ public VmCluster( Integer dataStoragePercentage, Integer recoStoragePercentage, Integer sparseStoragePercentage, + ExadataLiveImageVersionDetails liveImageVersionDetails, + String oracleLinuxVersion, String vmClusterNetworkId, Integer cpusEnabled, Float ocpusEnabled, @@ -121,6 +125,8 @@ public VmCluster( this.dataStoragePercentage = dataStoragePercentage; this.recoStoragePercentage = recoStoragePercentage; this.sparseStoragePercentage = sparseStoragePercentage; + this.liveImageVersionDetails = liveImageVersionDetails; + this.oracleLinuxVersion = oracleLinuxVersion; this.vmClusterNetworkId = vmClusterNetworkId; this.cpusEnabled = cpusEnabled; this.ocpusEnabled = ocpusEnabled; @@ -420,6 +426,31 @@ public Builder sparseStoragePercentage(Integer sparseStoragePercentage) { this.__explicitlySet__.add("sparseStoragePercentage"); return this; } + + @com.fasterxml.jackson.annotation.JsonProperty("liveImageVersionDetails") + private ExadataLiveImageVersionDetails liveImageVersionDetails; + + public Builder liveImageVersionDetails( + ExadataLiveImageVersionDetails liveImageVersionDetails) { + this.liveImageVersionDetails = liveImageVersionDetails; + this.__explicitlySet__.add("liveImageVersionDetails"); + return this; + } + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @param oracleLinuxVersion the value to set + * @return this builder + */ + public Builder oracleLinuxVersion(String oracleLinuxVersion) { + this.oracleLinuxVersion = oracleLinuxVersion; + this.__explicitlySet__.add("oracleLinuxVersion"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * VM cluster network. @@ -903,6 +934,8 @@ public VmCluster build() { this.dataStoragePercentage, this.recoStoragePercentage, this.sparseStoragePercentage, + this.liveImageVersionDetails, + this.oracleLinuxVersion, this.vmClusterNetworkId, this.cpusEnabled, this.ocpusEnabled, @@ -980,6 +1013,12 @@ public Builder copy(VmCluster model) { if (model.wasPropertyExplicitlySet("sparseStoragePercentage")) { this.sparseStoragePercentage(model.getSparseStoragePercentage()); } + if (model.wasPropertyExplicitlySet("liveImageVersionDetails")) { + this.liveImageVersionDetails(model.getLiveImageVersionDetails()); + } + if (model.wasPropertyExplicitlySet("oracleLinuxVersion")) { + this.oracleLinuxVersion(model.getOracleLinuxVersion()); + } if (model.wasPropertyExplicitlySet("vmClusterNetworkId")) { this.vmClusterNetworkId(model.getVmClusterNetworkId()); } @@ -1365,6 +1404,26 @@ public Integer getSparseStoragePercentage() { return sparseStoragePercentage; } + @com.fasterxml.jackson.annotation.JsonProperty("liveImageVersionDetails") + private final ExadataLiveImageVersionDetails liveImageVersionDetails; + + public ExadataLiveImageVersionDetails getLiveImageVersionDetails() { + return liveImageVersionDetails; + } + + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private final String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @return the value + */ + public String getOracleLinuxVersion() { + return oracleLinuxVersion; + } + /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VM * cluster network. @@ -2086,6 +2145,9 @@ public String toString(boolean includeByteArrayContents) { sb.append(", recoStoragePercentage=").append(String.valueOf(this.recoStoragePercentage)); sb.append(", sparseStoragePercentage=") .append(String.valueOf(this.sparseStoragePercentage)); + sb.append(", liveImageVersionDetails=") + .append(String.valueOf(this.liveImageVersionDetails)); + sb.append(", oracleLinuxVersion=").append(String.valueOf(this.oracleLinuxVersion)); sb.append(", vmClusterNetworkId=").append(String.valueOf(this.vmClusterNetworkId)); sb.append(", cpusEnabled=").append(String.valueOf(this.cpusEnabled)); sb.append(", ocpusEnabled=").append(String.valueOf(this.ocpusEnabled)); @@ -2149,6 +2211,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.recoStoragePercentage, other.recoStoragePercentage) && java.util.Objects.equals( this.sparseStoragePercentage, other.sparseStoragePercentage) + && java.util.Objects.equals( + this.liveImageVersionDetails, other.liveImageVersionDetails) + && java.util.Objects.equals(this.oracleLinuxVersion, other.oracleLinuxVersion) && java.util.Objects.equals(this.vmClusterNetworkId, other.vmClusterNetworkId) && java.util.Objects.equals(this.cpusEnabled, other.cpusEnabled) && java.util.Objects.equals(this.ocpusEnabled, other.ocpusEnabled) @@ -2236,6 +2301,16 @@ public int hashCode() { + (this.sparseStoragePercentage == null ? 43 : this.sparseStoragePercentage.hashCode()); + result = + (result * PRIME) + + (this.liveImageVersionDetails == null + ? 43 + : this.liveImageVersionDetails.hashCode()); + result = + (result * PRIME) + + (this.oracleLinuxVersion == null + ? 43 + : this.oracleLinuxVersion.hashCode()); result = (result * PRIME) + (this.vmClusterNetworkId == null diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterSummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterSummary.java index 8a3e530a7a3..4b4a7ee3ea0 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterSummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterSummary.java @@ -37,6 +37,8 @@ public final class VmClusterSummary "dataStoragePercentage", "recoStoragePercentage", "sparseStoragePercentage", + "liveImageVersionDetails", + "oracleLinuxVersion", "vmClusterNetworkId", "cpusEnabled", "ocpusEnabled", @@ -80,6 +82,8 @@ public VmClusterSummary( Integer dataStoragePercentage, Integer recoStoragePercentage, Integer sparseStoragePercentage, + ExadataLiveImageVersionDetails liveImageVersionDetails, + String oracleLinuxVersion, String vmClusterNetworkId, Integer cpusEnabled, Float ocpusEnabled, @@ -122,6 +126,8 @@ public VmClusterSummary( this.dataStoragePercentage = dataStoragePercentage; this.recoStoragePercentage = recoStoragePercentage; this.sparseStoragePercentage = sparseStoragePercentage; + this.liveImageVersionDetails = liveImageVersionDetails; + this.oracleLinuxVersion = oracleLinuxVersion; this.vmClusterNetworkId = vmClusterNetworkId; this.cpusEnabled = cpusEnabled; this.ocpusEnabled = ocpusEnabled; @@ -421,6 +427,31 @@ public Builder sparseStoragePercentage(Integer sparseStoragePercentage) { this.__explicitlySet__.add("sparseStoragePercentage"); return this; } + + @com.fasterxml.jackson.annotation.JsonProperty("liveImageVersionDetails") + private ExadataLiveImageVersionDetails liveImageVersionDetails; + + public Builder liveImageVersionDetails( + ExadataLiveImageVersionDetails liveImageVersionDetails) { + this.liveImageVersionDetails = liveImageVersionDetails; + this.__explicitlySet__.add("liveImageVersionDetails"); + return this; + } + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @param oracleLinuxVersion the value to set + * @return this builder + */ + public Builder oracleLinuxVersion(String oracleLinuxVersion) { + this.oracleLinuxVersion = oracleLinuxVersion; + this.__explicitlySet__.add("oracleLinuxVersion"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * VM cluster network. @@ -904,6 +935,8 @@ public VmClusterSummary build() { this.dataStoragePercentage, this.recoStoragePercentage, this.sparseStoragePercentage, + this.liveImageVersionDetails, + this.oracleLinuxVersion, this.vmClusterNetworkId, this.cpusEnabled, this.ocpusEnabled, @@ -981,6 +1014,12 @@ public Builder copy(VmClusterSummary model) { if (model.wasPropertyExplicitlySet("sparseStoragePercentage")) { this.sparseStoragePercentage(model.getSparseStoragePercentage()); } + if (model.wasPropertyExplicitlySet("liveImageVersionDetails")) { + this.liveImageVersionDetails(model.getLiveImageVersionDetails()); + } + if (model.wasPropertyExplicitlySet("oracleLinuxVersion")) { + this.oracleLinuxVersion(model.getOracleLinuxVersion()); + } if (model.wasPropertyExplicitlySet("vmClusterNetworkId")) { this.vmClusterNetworkId(model.getVmClusterNetworkId()); } @@ -1366,6 +1405,26 @@ public Integer getSparseStoragePercentage() { return sparseStoragePercentage; } + @com.fasterxml.jackson.annotation.JsonProperty("liveImageVersionDetails") + private final ExadataLiveImageVersionDetails liveImageVersionDetails; + + public ExadataLiveImageVersionDetails getLiveImageVersionDetails() { + return liveImageVersionDetails; + } + + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private final String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @return the value + */ + public String getOracleLinuxVersion() { + return oracleLinuxVersion; + } + /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VM * cluster network. @@ -2087,6 +2146,9 @@ public String toString(boolean includeByteArrayContents) { sb.append(", recoStoragePercentage=").append(String.valueOf(this.recoStoragePercentage)); sb.append(", sparseStoragePercentage=") .append(String.valueOf(this.sparseStoragePercentage)); + sb.append(", liveImageVersionDetails=") + .append(String.valueOf(this.liveImageVersionDetails)); + sb.append(", oracleLinuxVersion=").append(String.valueOf(this.oracleLinuxVersion)); sb.append(", vmClusterNetworkId=").append(String.valueOf(this.vmClusterNetworkId)); sb.append(", cpusEnabled=").append(String.valueOf(this.cpusEnabled)); sb.append(", ocpusEnabled=").append(String.valueOf(this.ocpusEnabled)); @@ -2150,6 +2212,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.recoStoragePercentage, other.recoStoragePercentage) && java.util.Objects.equals( this.sparseStoragePercentage, other.sparseStoragePercentage) + && java.util.Objects.equals( + this.liveImageVersionDetails, other.liveImageVersionDetails) + && java.util.Objects.equals(this.oracleLinuxVersion, other.oracleLinuxVersion) && java.util.Objects.equals(this.vmClusterNetworkId, other.vmClusterNetworkId) && java.util.Objects.equals(this.cpusEnabled, other.cpusEnabled) && java.util.Objects.equals(this.ocpusEnabled, other.ocpusEnabled) @@ -2237,6 +2302,16 @@ public int hashCode() { + (this.sparseStoragePercentage == null ? 43 : this.sparseStoragePercentage.hashCode()); + result = + (result * PRIME) + + (this.liveImageVersionDetails == null + ? 43 + : this.liveImageVersionDetails.hashCode()); + result = + (result * PRIME) + + (this.oracleLinuxVersion == null + ? 43 + : this.oracleLinuxVersion.hashCode()); result = (result * PRIME) + (this.vmClusterNetworkId == null 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 39d9243945b..33116f61c18 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 @@ -31,6 +31,9 @@ public final class VmClusterUpdate "id", "description", "lastAction", + "lastUpdateMode", + "availableUpdateModes", + "oracleLinuxVersion", "availableActions", "updateType", "lifecycleDetails", @@ -42,6 +45,9 @@ public VmClusterUpdate( String id, String description, LastAction lastAction, + LastUpdateMode lastUpdateMode, + java.util.List availableUpdateModes, + String oracleLinuxVersion, java.util.List availableActions, UpdateType updateType, String lifecycleDetails, @@ -52,6 +58,9 @@ public VmClusterUpdate( this.id = id; this.description = description; this.lastAction = lastAction; + this.lastUpdateMode = lastUpdateMode; + this.availableUpdateModes = availableUpdateModes; + this.oracleLinuxVersion = oracleLinuxVersion; this.availableActions = availableActions; this.updateType = updateType; this.lifecycleDetails = lifecycleDetails; @@ -111,6 +120,60 @@ public Builder lastAction(LastAction lastAction) { this.__explicitlySet__.add("lastAction"); return this; } + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdateMode") + private LastUpdateMode lastUpdateMode; + + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + * + * @param lastUpdateMode the value to set + * @return this builder + */ + public Builder lastUpdateMode(LastUpdateMode lastUpdateMode) { + this.lastUpdateMode = lastUpdateMode; + this.__explicitlySet__.add("lastUpdateMode"); + return this; + } + /** + * The possible update options that can be performed using this maintenance update (only + * valid for OS Update). + */ + @com.fasterxml.jackson.annotation.JsonProperty("availableUpdateModes") + private java.util.List availableUpdateModes; + + /** + * The possible update options that can be performed using this maintenance update (only + * valid for OS Update). + * + * @param availableUpdateModes the value to set + * @return this builder + */ + public Builder availableUpdateModes( + java.util.List availableUpdateModes) { + this.availableUpdateModes = availableUpdateModes; + this.__explicitlySet__.add("availableUpdateModes"); + return this; + } + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @param oracleLinuxVersion the value to set + * @return this builder + */ + public Builder oracleLinuxVersion(String oracleLinuxVersion) { + this.oracleLinuxVersion = oracleLinuxVersion; + this.__explicitlySet__.add("oracleLinuxVersion"); + return this; + } /** The possible actions that can be performed using this maintenance update. */ @com.fasterxml.jackson.annotation.JsonProperty("availableActions") private java.util.List availableActions; @@ -213,6 +276,9 @@ public VmClusterUpdate build() { this.id, this.description, this.lastAction, + this.lastUpdateMode, + this.availableUpdateModes, + this.oracleLinuxVersion, this.availableActions, this.updateType, this.lifecycleDetails, @@ -236,6 +302,15 @@ public Builder copy(VmClusterUpdate model) { if (model.wasPropertyExplicitlySet("lastAction")) { this.lastAction(model.getLastAction()); } + if (model.wasPropertyExplicitlySet("lastUpdateMode")) { + this.lastUpdateMode(model.getLastUpdateMode()); + } + if (model.wasPropertyExplicitlySet("availableUpdateModes")) { + this.availableUpdateModes(model.getAvailableUpdateModes()); + } + if (model.wasPropertyExplicitlySet("oracleLinuxVersion")) { + this.oracleLinuxVersion(model.getOracleLinuxVersion()); + } if (model.wasPropertyExplicitlySet("availableActions")) { this.availableActions(model.getAvailableActions()); } @@ -357,6 +432,154 @@ public LastAction getLastAction() { return lastAction; } + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + */ + public enum LastUpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(LastUpdateMode.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LastUpdateMode v : LastUpdateMode.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LastUpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LastUpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LastUpdateMode', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdateMode") + private final LastUpdateMode lastUpdateMode; + + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + * + * @return the value + */ + public LastUpdateMode getLastUpdateMode() { + return lastUpdateMode; + } + + /** */ + public enum AvailableUpdateModes implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(AvailableUpdateModes.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (AvailableUpdateModes v : AvailableUpdateModes.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + AvailableUpdateModes(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static AvailableUpdateModes create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'AvailableUpdateModes', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The possible update options that can be performed using this maintenance update (only valid + * for OS Update). + */ + @com.fasterxml.jackson.annotation.JsonProperty("availableUpdateModes") + private final java.util.List availableUpdateModes; + + /** + * The possible update options that can be performed using this maintenance update (only valid + * for OS Update). + * + * @return the value + */ + public java.util.List getAvailableUpdateModes() { + return availableUpdateModes; + } + + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private final String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @return the value + */ + public String getOracleLinuxVersion() { + return oracleLinuxVersion; + } + /** */ public enum AvailableActions implements com.oracle.bmc.http.internal.BmcEnum { RollingApply("ROLLING_APPLY"), @@ -595,6 +818,9 @@ public String toString(boolean includeByteArrayContents) { sb.append("id=").append(String.valueOf(this.id)); sb.append(", description=").append(String.valueOf(this.description)); sb.append(", lastAction=").append(String.valueOf(this.lastAction)); + sb.append(", lastUpdateMode=").append(String.valueOf(this.lastUpdateMode)); + sb.append(", availableUpdateModes=").append(String.valueOf(this.availableUpdateModes)); + sb.append(", oracleLinuxVersion=").append(String.valueOf(this.oracleLinuxVersion)); sb.append(", availableActions=").append(String.valueOf(this.availableActions)); sb.append(", updateType=").append(String.valueOf(this.updateType)); sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); @@ -618,6 +844,9 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.description, other.description) && java.util.Objects.equals(this.lastAction, other.lastAction) + && java.util.Objects.equals(this.lastUpdateMode, other.lastUpdateMode) + && java.util.Objects.equals(this.availableUpdateModes, other.availableUpdateModes) + && java.util.Objects.equals(this.oracleLinuxVersion, other.oracleLinuxVersion) && java.util.Objects.equals(this.availableActions, other.availableActions) && java.util.Objects.equals(this.updateType, other.updateType) && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) @@ -634,6 +863,19 @@ public int hashCode() { result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); result = (result * PRIME) + (this.lastAction == null ? 43 : this.lastAction.hashCode()); + result = + (result * PRIME) + + (this.lastUpdateMode == null ? 43 : this.lastUpdateMode.hashCode()); + result = + (result * PRIME) + + (this.availableUpdateModes == null + ? 43 + : this.availableUpdateModes.hashCode()); + result = + (result * PRIME) + + (this.oracleLinuxVersion == null + ? 43 + : this.oracleLinuxVersion.hashCode()); result = (result * PRIME) + (this.availableActions == null ? 43 : this.availableActions.hashCode()); 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 cacb01e4ff5..5f7cb02dd64 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 @@ -24,11 +24,20 @@ public final class VmClusterUpdateDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"updateId", "updateAction", "giSoftwareImageId"}) + @java.beans.ConstructorProperties({ + "updateId", + "updateMode", + "updateAction", + "giSoftwareImageId" + }) public VmClusterUpdateDetails( - String updateId, UpdateAction updateAction, String giSoftwareImageId) { + String updateId, + UpdateMode updateMode, + UpdateAction updateAction, + String giSoftwareImageId) { super(); this.updateId = updateId; + this.updateMode = updateMode; this.updateAction = updateAction; this.giSoftwareImageId = giSoftwareImageId; } @@ -54,6 +63,21 @@ public Builder updateId(String updateId) { this.__explicitlySet__.add("updateId"); return this; } + /** The update mode to perform for OS Update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private UpdateMode updateMode; + + /** + * The update mode to perform for OS Update. + * + * @param updateMode the value to set + * @return this builder + */ + public Builder updateMode(UpdateMode updateMode) { + this.updateMode = updateMode; + this.__explicitlySet__.add("updateMode"); + return this; + } /** The update action to perform. */ @com.fasterxml.jackson.annotation.JsonProperty("updateAction") private UpdateAction updateAction; @@ -97,7 +121,10 @@ public Builder giSoftwareImageId(String giSoftwareImageId) { public VmClusterUpdateDetails build() { VmClusterUpdateDetails model = new VmClusterUpdateDetails( - this.updateId, this.updateAction, this.giSoftwareImageId); + this.updateId, + this.updateMode, + this.updateAction, + this.giSoftwareImageId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -109,6 +136,9 @@ public Builder copy(VmClusterUpdateDetails model) { if (model.wasPropertyExplicitlySet("updateId")) { this.updateId(model.getUpdateId()); } + if (model.wasPropertyExplicitlySet("updateMode")) { + this.updateMode(model.getUpdateMode()); + } if (model.wasPropertyExplicitlySet("updateAction")) { this.updateAction(model.getUpdateAction()); } @@ -145,6 +175,55 @@ public String getUpdateId() { return updateId; } + /** The update mode to perform for OS Update. */ + public enum UpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateMode v : UpdateMode.values()) { + map.put(v.getValue(), v); + } + } + + UpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid UpdateMode: " + key); + } + }; + /** The update mode to perform for OS Update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private final UpdateMode updateMode; + + /** + * The update mode to perform for OS Update. + * + * @return the value + */ + public UpdateMode getUpdateMode() { + return updateMode; + } + /** The update action to perform. */ public enum UpdateAction implements com.oracle.bmc.http.internal.BmcEnum { RollingApply("ROLLING_APPLY"), @@ -227,6 +306,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("VmClusterUpdateDetails("); sb.append("super=").append(super.toString()); sb.append("updateId=").append(String.valueOf(this.updateId)); + 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(")"); @@ -244,6 +324,7 @@ public boolean equals(Object o) { VmClusterUpdateDetails other = (VmClusterUpdateDetails) o; return java.util.Objects.equals(this.updateId, other.updateId) + && java.util.Objects.equals(this.updateMode, other.updateMode) && java.util.Objects.equals(this.updateAction, other.updateAction) && java.util.Objects.equals(this.giSoftwareImageId, other.giSoftwareImageId) && super.equals(other); @@ -254,6 +335,7 @@ public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.updateId == null ? 43 : this.updateId.hashCode()); + result = (result * PRIME) + (this.updateMode == null ? 43 : this.updateMode.hashCode()); result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); result = (result * PRIME) diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateHistoryEntry.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateHistoryEntry.java index 54796486d6f..a0f39ddc7e8 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateHistoryEntry.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateHistoryEntry.java @@ -28,6 +28,7 @@ public final class VmClusterUpdateHistoryEntry "id", "updateId", "updateAction", + "updateMode", "updateType", "lifecycleState", "lifecycleDetails", @@ -38,6 +39,7 @@ public VmClusterUpdateHistoryEntry( String id, String updateId, UpdateAction updateAction, + UpdateMode updateMode, UpdateType updateType, LifecycleState lifecycleState, String lifecycleDetails, @@ -47,6 +49,7 @@ public VmClusterUpdateHistoryEntry( this.id = id; this.updateId = updateId; this.updateAction = updateAction; + this.updateMode = updateMode; this.updateType = updateType; this.lifecycleState = lifecycleState; this.lifecycleDetails = lifecycleDetails; @@ -109,6 +112,21 @@ public Builder updateAction(UpdateAction updateAction) { this.__explicitlySet__.add("updateAction"); return this; } + /** The OS update mode performed using this maintenance update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private UpdateMode updateMode; + + /** + * The OS update mode performed using this maintenance update. + * + * @param updateMode the value to set + * @return this builder + */ + public Builder updateMode(UpdateMode updateMode) { + this.updateMode = updateMode; + this.__explicitlySet__.add("updateMode"); + return this; + } /** The type of VM cluster maintenance update. */ @com.fasterxml.jackson.annotation.JsonProperty("updateType") private UpdateType updateType; @@ -194,6 +212,7 @@ public VmClusterUpdateHistoryEntry build() { this.id, this.updateId, this.updateAction, + this.updateMode, this.updateType, this.lifecycleState, this.lifecycleDetails, @@ -216,6 +235,9 @@ public Builder copy(VmClusterUpdateHistoryEntry model) { if (model.wasPropertyExplicitlySet("updateAction")) { this.updateAction(model.getUpdateAction()); } + if (model.wasPropertyExplicitlySet("updateMode")) { + this.updateMode(model.getUpdateMode()); + } if (model.wasPropertyExplicitlySet("updateType")) { this.updateType(model.getUpdateType()); } @@ -338,6 +360,70 @@ public UpdateAction getUpdateAction() { return updateAction; } + /** The OS update mode performed using this maintenance update. */ + public enum UpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdatesHighcvss("PENDING_UPDATES_HIGHCVSS"), + PendingUpdatesAllcvss("PENDING_UPDATES_ALLCVSS"), + PendingAllUpdates("PENDING_ALL_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(UpdateMode.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateMode v : UpdateMode.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateMode', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The OS update mode performed using this maintenance update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private final UpdateMode updateMode; + + /** + * The OS update mode performed using this maintenance update. + * + * @return the value + */ + public UpdateMode getUpdateMode() { + return updateMode; + } + /** The type of VM cluster maintenance update. */ public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { GiUpgrade("GI_UPGRADE"), @@ -515,6 +601,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("id=").append(String.valueOf(this.id)); sb.append(", updateId=").append(String.valueOf(this.updateId)); sb.append(", updateAction=").append(String.valueOf(this.updateAction)); + sb.append(", updateMode=").append(String.valueOf(this.updateMode)); sb.append(", updateType=").append(String.valueOf(this.updateType)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); @@ -537,6 +624,7 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.updateId, other.updateId) && java.util.Objects.equals(this.updateAction, other.updateAction) + && java.util.Objects.equals(this.updateMode, other.updateMode) && java.util.Objects.equals(this.updateType, other.updateType) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) @@ -552,6 +640,7 @@ public int hashCode() { result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); result = (result * PRIME) + (this.updateId == null ? 43 : this.updateId.hashCode()); result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); + result = (result * PRIME) + (this.updateMode == null ? 43 : this.updateMode.hashCode()); result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.hashCode()); result = (result * PRIME) diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateHistoryEntrySummary.java b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateHistoryEntrySummary.java index 32a2478dbc0..3fd9c7dcacb 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateHistoryEntrySummary.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/model/VmClusterUpdateHistoryEntrySummary.java @@ -28,6 +28,7 @@ public final class VmClusterUpdateHistoryEntrySummary "id", "updateId", "updateAction", + "updateMode", "updateType", "lifecycleState", "lifecycleDetails", @@ -38,6 +39,7 @@ public VmClusterUpdateHistoryEntrySummary( String id, String updateId, UpdateAction updateAction, + UpdateMode updateMode, UpdateType updateType, LifecycleState lifecycleState, String lifecycleDetails, @@ -47,6 +49,7 @@ public VmClusterUpdateHistoryEntrySummary( this.id = id; this.updateId = updateId; this.updateAction = updateAction; + this.updateMode = updateMode; this.updateType = updateType; this.lifecycleState = lifecycleState; this.lifecycleDetails = lifecycleDetails; @@ -109,6 +112,21 @@ public Builder updateAction(UpdateAction updateAction) { this.__explicitlySet__.add("updateAction"); return this; } + /** The OS update mode performed using this maintenance update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private UpdateMode updateMode; + + /** + * The OS update mode performed using this maintenance update. + * + * @param updateMode the value to set + * @return this builder + */ + public Builder updateMode(UpdateMode updateMode) { + this.updateMode = updateMode; + this.__explicitlySet__.add("updateMode"); + return this; + } /** The type of VM cluster maintenance update. */ @com.fasterxml.jackson.annotation.JsonProperty("updateType") private UpdateType updateType; @@ -194,6 +212,7 @@ public VmClusterUpdateHistoryEntrySummary build() { this.id, this.updateId, this.updateAction, + this.updateMode, this.updateType, this.lifecycleState, this.lifecycleDetails, @@ -216,6 +235,9 @@ public Builder copy(VmClusterUpdateHistoryEntrySummary model) { if (model.wasPropertyExplicitlySet("updateAction")) { this.updateAction(model.getUpdateAction()); } + if (model.wasPropertyExplicitlySet("updateMode")) { + this.updateMode(model.getUpdateMode()); + } if (model.wasPropertyExplicitlySet("updateType")) { this.updateType(model.getUpdateType()); } @@ -338,6 +360,70 @@ public UpdateAction getUpdateAction() { return updateAction; } + /** The OS update mode performed using this maintenance update. */ + public enum UpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdatesHighcvss("PENDING_UPDATES_HIGHCVSS"), + PendingUpdatesAllcvss("PENDING_UPDATES_ALLCVSS"), + PendingAllUpdates("PENDING_ALL_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(UpdateMode.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateMode v : UpdateMode.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + UpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'UpdateMode', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The OS update mode performed using this maintenance update. */ + @com.fasterxml.jackson.annotation.JsonProperty("updateMode") + private final UpdateMode updateMode; + + /** + * The OS update mode performed using this maintenance update. + * + * @return the value + */ + public UpdateMode getUpdateMode() { + return updateMode; + } + /** The type of VM cluster maintenance update. */ public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { GiUpgrade("GI_UPGRADE"), @@ -515,6 +601,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("id=").append(String.valueOf(this.id)); sb.append(", updateId=").append(String.valueOf(this.updateId)); sb.append(", updateAction=").append(String.valueOf(this.updateAction)); + sb.append(", updateMode=").append(String.valueOf(this.updateMode)); sb.append(", updateType=").append(String.valueOf(this.updateType)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); @@ -537,6 +624,7 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.updateId, other.updateId) && java.util.Objects.equals(this.updateAction, other.updateAction) + && java.util.Objects.equals(this.updateMode, other.updateMode) && java.util.Objects.equals(this.updateType, other.updateType) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) @@ -552,6 +640,7 @@ public int hashCode() { result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); result = (result * PRIME) + (this.updateId == null ? 43 : this.updateId.hashCode()); result = (result * PRIME) + (this.updateAction == null ? 43 : this.updateAction.hashCode()); + result = (result * PRIME) + (this.updateMode == null ? 43 : this.updateMode.hashCode()); result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.hashCode()); result = (result * PRIME) 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 92d7bc2f89f..1895f864ee8 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 @@ -32,6 +32,9 @@ public final class VmClusterUpdateSummary "id", "description", "lastAction", + "lastUpdateMode", + "availableUpdateModes", + "oracleLinuxVersion", "availableActions", "updateType", "lifecycleDetails", @@ -43,6 +46,9 @@ public VmClusterUpdateSummary( String id, String description, LastAction lastAction, + LastUpdateMode lastUpdateMode, + java.util.List availableUpdateModes, + String oracleLinuxVersion, java.util.List availableActions, UpdateType updateType, String lifecycleDetails, @@ -53,6 +59,9 @@ public VmClusterUpdateSummary( this.id = id; this.description = description; this.lastAction = lastAction; + this.lastUpdateMode = lastUpdateMode; + this.availableUpdateModes = availableUpdateModes; + this.oracleLinuxVersion = oracleLinuxVersion; this.availableActions = availableActions; this.updateType = updateType; this.lifecycleDetails = lifecycleDetails; @@ -112,6 +121,60 @@ public Builder lastAction(LastAction lastAction) { this.__explicitlySet__.add("lastAction"); return this; } + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdateMode") + private LastUpdateMode lastUpdateMode; + + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + * + * @param lastUpdateMode the value to set + * @return this builder + */ + public Builder lastUpdateMode(LastUpdateMode lastUpdateMode) { + this.lastUpdateMode = lastUpdateMode; + this.__explicitlySet__.add("lastUpdateMode"); + return this; + } + /** + * The possible update options that can be performed using this maintenance update (only + * valid for OS Update). + */ + @com.fasterxml.jackson.annotation.JsonProperty("availableUpdateModes") + private java.util.List availableUpdateModes; + + /** + * The possible update options that can be performed using this maintenance update (only + * valid for OS Update). + * + * @param availableUpdateModes the value to set + * @return this builder + */ + public Builder availableUpdateModes( + java.util.List availableUpdateModes) { + this.availableUpdateModes = availableUpdateModes; + this.__explicitlySet__.add("availableUpdateModes"); + return this; + } + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @param oracleLinuxVersion the value to set + * @return this builder + */ + public Builder oracleLinuxVersion(String oracleLinuxVersion) { + this.oracleLinuxVersion = oracleLinuxVersion; + this.__explicitlySet__.add("oracleLinuxVersion"); + return this; + } /** The possible actions that can be performed using this maintenance update. */ @com.fasterxml.jackson.annotation.JsonProperty("availableActions") private java.util.List availableActions; @@ -214,6 +277,9 @@ public VmClusterUpdateSummary build() { this.id, this.description, this.lastAction, + this.lastUpdateMode, + this.availableUpdateModes, + this.oracleLinuxVersion, this.availableActions, this.updateType, this.lifecycleDetails, @@ -237,6 +303,15 @@ public Builder copy(VmClusterUpdateSummary model) { if (model.wasPropertyExplicitlySet("lastAction")) { this.lastAction(model.getLastAction()); } + if (model.wasPropertyExplicitlySet("lastUpdateMode")) { + this.lastUpdateMode(model.getLastUpdateMode()); + } + if (model.wasPropertyExplicitlySet("availableUpdateModes")) { + this.availableUpdateModes(model.getAvailableUpdateModes()); + } + if (model.wasPropertyExplicitlySet("oracleLinuxVersion")) { + this.oracleLinuxVersion(model.getOracleLinuxVersion()); + } if (model.wasPropertyExplicitlySet("availableActions")) { this.availableActions(model.getAvailableActions()); } @@ -358,6 +433,154 @@ public LastAction getLastAction() { return lastAction; } + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + */ + public enum LastUpdateMode implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(LastUpdateMode.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (LastUpdateMode v : LastUpdateMode.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + LastUpdateMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static LastUpdateMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'LastUpdateMode', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + */ + @com.fasterxml.jackson.annotation.JsonProperty("lastUpdateMode") + private final LastUpdateMode lastUpdateMode; + + /** + * The update mode performed most recently using this maintenance update (only valid for OS + * Update). + * + * @return the value + */ + public LastUpdateMode getLastUpdateMode() { + return lastUpdateMode; + } + + /** */ + public enum AvailableUpdateModes implements com.oracle.bmc.http.internal.BmcEnum { + OnlineHighcvss("ONLINE_HIGHCVSS"), + OnlineAllcvss("ONLINE_ALLCVSS"), + OnlineAllUpdates("ONLINE_ALL_UPDATES"), + PendingUpdates("PENDING_UPDATES"), + FullUpdate("FULL_UPDATE"), + + /** + * 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(AvailableUpdateModes.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (AvailableUpdateModes v : AvailableUpdateModes.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + AvailableUpdateModes(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static AvailableUpdateModes create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'AvailableUpdateModes', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** + * The possible update options that can be performed using this maintenance update (only valid + * for OS Update). + */ + @com.fasterxml.jackson.annotation.JsonProperty("availableUpdateModes") + private final java.util.List availableUpdateModes; + + /** + * The possible update options that can be performed using this maintenance update (only valid + * for OS Update). + * + * @return the value + */ + public java.util.List getAvailableUpdateModes() { + return availableUpdateModes; + } + + /** Oracle Linux version for the respective Exadata Image. */ + @com.fasterxml.jackson.annotation.JsonProperty("oracleLinuxVersion") + private final String oracleLinuxVersion; + + /** + * Oracle Linux version for the respective Exadata Image. + * + * @return the value + */ + public String getOracleLinuxVersion() { + return oracleLinuxVersion; + } + /** */ public enum AvailableActions implements com.oracle.bmc.http.internal.BmcEnum { RollingApply("ROLLING_APPLY"), @@ -596,6 +819,9 @@ public String toString(boolean includeByteArrayContents) { sb.append("id=").append(String.valueOf(this.id)); sb.append(", description=").append(String.valueOf(this.description)); sb.append(", lastAction=").append(String.valueOf(this.lastAction)); + sb.append(", lastUpdateMode=").append(String.valueOf(this.lastUpdateMode)); + sb.append(", availableUpdateModes=").append(String.valueOf(this.availableUpdateModes)); + sb.append(", oracleLinuxVersion=").append(String.valueOf(this.oracleLinuxVersion)); sb.append(", availableActions=").append(String.valueOf(this.availableActions)); sb.append(", updateType=").append(String.valueOf(this.updateType)); sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); @@ -619,6 +845,9 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.description, other.description) && java.util.Objects.equals(this.lastAction, other.lastAction) + && java.util.Objects.equals(this.lastUpdateMode, other.lastUpdateMode) + && java.util.Objects.equals(this.availableUpdateModes, other.availableUpdateModes) + && java.util.Objects.equals(this.oracleLinuxVersion, other.oracleLinuxVersion) && java.util.Objects.equals(this.availableActions, other.availableActions) && java.util.Objects.equals(this.updateType, other.updateType) && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) @@ -635,6 +864,19 @@ public int hashCode() { result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); result = (result * PRIME) + (this.lastAction == null ? 43 : this.lastAction.hashCode()); + result = + (result * PRIME) + + (this.lastUpdateMode == null ? 43 : this.lastUpdateMode.hashCode()); + result = + (result * PRIME) + + (this.availableUpdateModes == null + ? 43 + : this.availableUpdateModes.hashCode()); + result = + (result * PRIME) + + (this.oracleLinuxVersion == null + ? 43 + : this.oracleLinuxVersion.hashCode()); result = (result * PRIME) + (this.availableActions == null ? 43 : this.availableActions.hashCode()); diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/ChangeBaseccVmClusterCompartmentRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ChangeBaseccVmClusterCompartmentRequest.java new file mode 100644 index 00000000000..8a720f5bdb4 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ChangeBaseccVmClusterCompartmentRequest.java @@ -0,0 +1,372 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * ChangeBaseccVmClusterCompartmentRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ChangeBaseccVmClusterCompartmentRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.database.model.ChangeBaseccVmClusterCompartmentDetails> { + + /** Request to move the BaseDB-C@C VM cluster to a different compartment. */ + private com.oracle.bmc.database.model.ChangeBaseccVmClusterCompartmentDetails + changeBaseccVmClusterCompartmentDetails; + + /** Request to move the BaseDB-C@C VM cluster to a different compartment. */ + public com.oracle.bmc.database.model.ChangeBaseccVmClusterCompartmentDetails + getChangeBaseccVmClusterCompartmentDetails() { + return changeBaseccVmClusterCompartmentDetails; + } + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getBaseccVmClusterId() { + return baseccVmClusterId; + } + /** + * 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 may 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 may be rejected). + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.database.model.ChangeBaseccVmClusterCompartmentDetails getBody$() { + return changeBaseccVmClusterCompartmentDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ChangeBaseccVmClusterCompartmentRequest, + com.oracle.bmc.database.model.ChangeBaseccVmClusterCompartmentDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** Request to move the BaseDB-C@C VM cluster to a different compartment. */ + private com.oracle.bmc.database.model.ChangeBaseccVmClusterCompartmentDetails + changeBaseccVmClusterCompartmentDetails = null; + + /** + * Request to move the BaseDB-C@C VM cluster to a different compartment. + * + * @param changeBaseccVmClusterCompartmentDetails the value to set + * @return this builder instance + */ + public Builder changeBaseccVmClusterCompartmentDetails( + com.oracle.bmc.database.model.ChangeBaseccVmClusterCompartmentDetails + changeBaseccVmClusterCompartmentDetails) { + this.changeBaseccVmClusterCompartmentDetails = changeBaseccVmClusterCompartmentDetails; + return this; + } + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param baseccVmClusterId the value to set + * @return this builder instance + */ + public Builder baseccVmClusterId(String baseccVmClusterId) { + this.baseccVmClusterId = baseccVmClusterId; + 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 may 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 may be rejected). + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(ChangeBaseccVmClusterCompartmentRequest o) { + changeBaseccVmClusterCompartmentDetails(o.getChangeBaseccVmClusterCompartmentDetails()); + baseccVmClusterId(o.getBaseccVmClusterId()); + opcRetryToken(o.getOpcRetryToken()); + opcRequestId(o.getOpcRequestId()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ChangeBaseccVmClusterCompartmentRequest 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 ChangeBaseccVmClusterCompartmentRequest + */ + public ChangeBaseccVmClusterCompartmentRequest build() { + ChangeBaseccVmClusterCompartmentRequest 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.database.model.ChangeBaseccVmClusterCompartmentDetails body) { + changeBaseccVmClusterCompartmentDetails(body); + return this; + } + + /** + * Build the instance of ChangeBaseccVmClusterCompartmentRequest 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 ChangeBaseccVmClusterCompartmentRequest + */ + public ChangeBaseccVmClusterCompartmentRequest buildWithoutInvocationCallback() { + ChangeBaseccVmClusterCompartmentRequest request = + new ChangeBaseccVmClusterCompartmentRequest(); + request.changeBaseccVmClusterCompartmentDetails = + changeBaseccVmClusterCompartmentDetails; + request.baseccVmClusterId = baseccVmClusterId; + request.opcRetryToken = opcRetryToken; + request.opcRequestId = opcRequestId; + request.ifMatch = ifMatch; + return request; + // new ChangeBaseccVmClusterCompartmentRequest(changeBaseccVmClusterCompartmentDetails, + // baseccVmClusterId, opcRetryToken, 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() + .changeBaseccVmClusterCompartmentDetails(changeBaseccVmClusterCompartmentDetails) + .baseccVmClusterId(baseccVmClusterId) + .opcRetryToken(opcRetryToken) + .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(",changeBaseccVmClusterCompartmentDetails=") + .append(String.valueOf(this.changeBaseccVmClusterCompartmentDetails)); + sb.append(",baseccVmClusterId=").append(String.valueOf(this.baseccVmClusterId)); + sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken)); + 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 ChangeBaseccVmClusterCompartmentRequest)) { + return false; + } + + ChangeBaseccVmClusterCompartmentRequest other = (ChangeBaseccVmClusterCompartmentRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.changeBaseccVmClusterCompartmentDetails, + other.changeBaseccVmClusterCompartmentDetails) + && java.util.Objects.equals(this.baseccVmClusterId, other.baseccVmClusterId) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken) + && 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.changeBaseccVmClusterCompartmentDetails == null + ? 43 + : this.changeBaseccVmClusterCompartmentDetails.hashCode()); + result = + (result * PRIME) + + (this.baseccVmClusterId == null ? 43 : this.baseccVmClusterId.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.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-database/src/main/java/com/oracle/bmc/database/requests/CreateBaseccVmClusterRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/CreateBaseccVmClusterRequest.java new file mode 100644 index 00000000000..808e235cd05 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/CreateBaseccVmClusterRequest.java @@ -0,0 +1,291 @@ +/** + * 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.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * CreateBaseccVmClusterRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class CreateBaseccVmClusterRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.database.model.CreateBaseccVmClusterDetails> { + + /** + * Request to create a BaseDB-C@C VM cluster. Applies to Base Database Service on Cloud@Customer + * instances only. + */ + private com.oracle.bmc.database.model.CreateBaseccVmClusterDetails createBaseccVmClusterDetails; + + /** + * Request to create a BaseDB-C@C VM cluster. Applies to Base Database Service on Cloud@Customer + * instances only. + */ + public com.oracle.bmc.database.model.CreateBaseccVmClusterDetails + getCreateBaseccVmClusterDetails() { + return createBaseccVmClusterDetails; + } + /** + * 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 may 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 may be rejected). + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.database.model.CreateBaseccVmClusterDetails getBody$() { + return createBaseccVmClusterDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + CreateBaseccVmClusterRequest, + com.oracle.bmc.database.model.CreateBaseccVmClusterDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * Request to create a BaseDB-C@C VM cluster. Applies to Base Database Service on + * Cloud@Customer instances only. + */ + private com.oracle.bmc.database.model.CreateBaseccVmClusterDetails + createBaseccVmClusterDetails = null; + + /** + * Request to create a BaseDB-C@C VM cluster. Applies to Base Database Service on + * Cloud@Customer instances only. + * + * @param createBaseccVmClusterDetails the value to set + * @return this builder instance + */ + public Builder createBaseccVmClusterDetails( + com.oracle.bmc.database.model.CreateBaseccVmClusterDetails + createBaseccVmClusterDetails) { + this.createBaseccVmClusterDetails = createBaseccVmClusterDetails; + 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 may 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 may be rejected). + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @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(CreateBaseccVmClusterRequest o) { + createBaseccVmClusterDetails(o.getCreateBaseccVmClusterDetails()); + opcRetryToken(o.getOpcRetryToken()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of CreateBaseccVmClusterRequest 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 CreateBaseccVmClusterRequest + */ + public CreateBaseccVmClusterRequest build() { + CreateBaseccVmClusterRequest 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.database.model.CreateBaseccVmClusterDetails body) { + createBaseccVmClusterDetails(body); + return this; + } + + /** + * Build the instance of CreateBaseccVmClusterRequest 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 CreateBaseccVmClusterRequest + */ + public CreateBaseccVmClusterRequest buildWithoutInvocationCallback() { + CreateBaseccVmClusterRequest request = new CreateBaseccVmClusterRequest(); + request.createBaseccVmClusterDetails = createBaseccVmClusterDetails; + request.opcRetryToken = opcRetryToken; + request.opcRequestId = opcRequestId; + return request; + // new CreateBaseccVmClusterRequest(createBaseccVmClusterDetails, 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() + .createBaseccVmClusterDetails(createBaseccVmClusterDetails) + .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(",createBaseccVmClusterDetails=") + .append(String.valueOf(this.createBaseccVmClusterDetails)); + 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 CreateBaseccVmClusterRequest)) { + return false; + } + + CreateBaseccVmClusterRequest other = (CreateBaseccVmClusterRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.createBaseccVmClusterDetails, other.createBaseccVmClusterDetails) + && 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.createBaseccVmClusterDetails == null + ? 43 + : this.createBaseccVmClusterDetails.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-database/src/main/java/com/oracle/bmc/database/requests/DeleteBaseccVmClusterRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/DeleteBaseccVmClusterRequest.java new file mode 100644 index 00000000000..30e0343c78f --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/DeleteBaseccVmClusterRequest.java @@ -0,0 +1,251 @@ +/** + * 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.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * DeleteBaseccVmClusterRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class DeleteBaseccVmClusterRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getBaseccVmClusterId() { + return baseccVmClusterId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + DeleteBaseccVmClusterRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param baseccVmClusterId the value to set + * @return this builder instance + */ + public Builder baseccVmClusterId(String baseccVmClusterId) { + this.baseccVmClusterId = baseccVmClusterId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @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(DeleteBaseccVmClusterRequest o) { + baseccVmClusterId(o.getBaseccVmClusterId()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of DeleteBaseccVmClusterRequest 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 DeleteBaseccVmClusterRequest + */ + public DeleteBaseccVmClusterRequest build() { + DeleteBaseccVmClusterRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of DeleteBaseccVmClusterRequest 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 DeleteBaseccVmClusterRequest + */ + public DeleteBaseccVmClusterRequest buildWithoutInvocationCallback() { + DeleteBaseccVmClusterRequest request = new DeleteBaseccVmClusterRequest(); + request.baseccVmClusterId = baseccVmClusterId; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new DeleteBaseccVmClusterRequest(baseccVmClusterId, 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() + .baseccVmClusterId(baseccVmClusterId) + .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(",baseccVmClusterId=").append(String.valueOf(this.baseccVmClusterId)); + 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 DeleteBaseccVmClusterRequest)) { + return false; + } + + DeleteBaseccVmClusterRequest other = (DeleteBaseccVmClusterRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.baseccVmClusterId, other.baseccVmClusterId) + && 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.baseccVmClusterId == null ? 43 : this.baseccVmClusterId.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-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterRequest.java new file mode 100644 index 00000000000..7c28bf48c40 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterRequest.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.database.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use GetBaseccVmClusterRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class GetBaseccVmClusterRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getBaseccVmClusterId() { + return baseccVmClusterId; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + GetBaseccVmClusterRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param baseccVmClusterId the value to set + * @return this builder instance + */ + public Builder baseccVmClusterId(String baseccVmClusterId) { + this.baseccVmClusterId = baseccVmClusterId; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @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(GetBaseccVmClusterRequest o) { + baseccVmClusterId(o.getBaseccVmClusterId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetBaseccVmClusterRequest 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 GetBaseccVmClusterRequest + */ + public GetBaseccVmClusterRequest build() { + GetBaseccVmClusterRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetBaseccVmClusterRequest 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 GetBaseccVmClusterRequest + */ + public GetBaseccVmClusterRequest buildWithoutInvocationCallback() { + GetBaseccVmClusterRequest request = new GetBaseccVmClusterRequest(); + request.baseccVmClusterId = baseccVmClusterId; + request.opcRequestId = opcRequestId; + return request; + // new GetBaseccVmClusterRequest(baseccVmClusterId, 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().baseccVmClusterId(baseccVmClusterId).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(",baseccVmClusterId=").append(String.valueOf(this.baseccVmClusterId)); + 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 GetBaseccVmClusterRequest)) { + return false; + } + + GetBaseccVmClusterRequest other = (GetBaseccVmClusterRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.baseccVmClusterId, other.baseccVmClusterId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.baseccVmClusterId == null ? 43 : this.baseccVmClusterId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterUpdateHistoryEntryRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterUpdateHistoryEntryRequest.java new file mode 100644 index 00000000000..80261899569 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterUpdateHistoryEntryRequest.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.database.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * GetBaseccVmClusterUpdateHistoryEntryRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class GetBaseccVmClusterUpdateHistoryEntryRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getBaseccVmClusterId() { + return baseccVmClusterId; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update history entry. + */ + private String updateHistoryEntryId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update history entry. + */ + public String getUpdateHistoryEntryId() { + return updateHistoryEntryId; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + GetBaseccVmClusterUpdateHistoryEntryRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param baseccVmClusterId the value to set + * @return this builder instance + */ + public Builder baseccVmClusterId(String baseccVmClusterId) { + this.baseccVmClusterId = baseccVmClusterId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update history entry. + */ + private String updateHistoryEntryId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update history entry. + * + * @param updateHistoryEntryId the value to set + * @return this builder instance + */ + public Builder updateHistoryEntryId(String updateHistoryEntryId) { + this.updateHistoryEntryId = updateHistoryEntryId; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @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(GetBaseccVmClusterUpdateHistoryEntryRequest o) { + baseccVmClusterId(o.getBaseccVmClusterId()); + updateHistoryEntryId(o.getUpdateHistoryEntryId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetBaseccVmClusterUpdateHistoryEntryRequest 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 GetBaseccVmClusterUpdateHistoryEntryRequest + */ + public GetBaseccVmClusterUpdateHistoryEntryRequest build() { + GetBaseccVmClusterUpdateHistoryEntryRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetBaseccVmClusterUpdateHistoryEntryRequest 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 GetBaseccVmClusterUpdateHistoryEntryRequest + */ + public GetBaseccVmClusterUpdateHistoryEntryRequest buildWithoutInvocationCallback() { + GetBaseccVmClusterUpdateHistoryEntryRequest request = + new GetBaseccVmClusterUpdateHistoryEntryRequest(); + request.baseccVmClusterId = baseccVmClusterId; + request.updateHistoryEntryId = updateHistoryEntryId; + request.opcRequestId = opcRequestId; + return request; + // new GetBaseccVmClusterUpdateHistoryEntryRequest(baseccVmClusterId, + // updateHistoryEntryId, 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() + .baseccVmClusterId(baseccVmClusterId) + .updateHistoryEntryId(updateHistoryEntryId) + .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(",baseccVmClusterId=").append(String.valueOf(this.baseccVmClusterId)); + sb.append(",updateHistoryEntryId=").append(String.valueOf(this.updateHistoryEntryId)); + 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 GetBaseccVmClusterUpdateHistoryEntryRequest)) { + return false; + } + + GetBaseccVmClusterUpdateHistoryEntryRequest other = + (GetBaseccVmClusterUpdateHistoryEntryRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.baseccVmClusterId, other.baseccVmClusterId) + && java.util.Objects.equals(this.updateHistoryEntryId, other.updateHistoryEntryId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.baseccVmClusterId == null ? 43 : this.baseccVmClusterId.hashCode()); + result = + (result * PRIME) + + (this.updateHistoryEntryId == null + ? 43 + : this.updateHistoryEntryId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterUpdateRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterUpdateRequest.java new file mode 100644 index 00000000000..3cff5bbf412 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/GetBaseccVmClusterUpdateRequest.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.database.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * GetBaseccVmClusterUpdateRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class GetBaseccVmClusterUpdateRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getBaseccVmClusterId() { + return baseccVmClusterId; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + */ + private String updateId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + */ + public String getUpdateId() { + return updateId; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + GetBaseccVmClusterUpdateRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param baseccVmClusterId the value to set + * @return this builder instance + */ + public Builder baseccVmClusterId(String baseccVmClusterId) { + this.baseccVmClusterId = baseccVmClusterId; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + */ + private String updateId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * maintenance update. + * + * @param updateId the value to set + * @return this builder instance + */ + public Builder updateId(String updateId) { + this.updateId = updateId; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @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(GetBaseccVmClusterUpdateRequest o) { + baseccVmClusterId(o.getBaseccVmClusterId()); + updateId(o.getUpdateId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetBaseccVmClusterUpdateRequest 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 GetBaseccVmClusterUpdateRequest + */ + public GetBaseccVmClusterUpdateRequest build() { + GetBaseccVmClusterUpdateRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetBaseccVmClusterUpdateRequest 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 GetBaseccVmClusterUpdateRequest + */ + public GetBaseccVmClusterUpdateRequest buildWithoutInvocationCallback() { + GetBaseccVmClusterUpdateRequest request = new GetBaseccVmClusterUpdateRequest(); + request.baseccVmClusterId = baseccVmClusterId; + request.updateId = updateId; + request.opcRequestId = opcRequestId; + return request; + // new GetBaseccVmClusterUpdateRequest(baseccVmClusterId, updateId, 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() + .baseccVmClusterId(baseccVmClusterId) + .updateId(updateId) + .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(",baseccVmClusterId=").append(String.valueOf(this.baseccVmClusterId)); + sb.append(",updateId=").append(String.valueOf(this.updateId)); + 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 GetBaseccVmClusterUpdateRequest)) { + return false; + } + + GetBaseccVmClusterUpdateRequest other = (GetBaseccVmClusterUpdateRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.baseccVmClusterId, other.baseccVmClusterId) + && java.util.Objects.equals(this.updateId, other.updateId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.baseccVmClusterId == null ? 43 : this.baseccVmClusterId.hashCode()); + result = (result * PRIME) + (this.updateId == null ? 43 : this.updateId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClusterUpdateHistoryEntriesRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClusterUpdateHistoryEntriesRequest.java new file mode 100644 index 00000000000..86316a2d856 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClusterUpdateHistoryEntriesRequest.java @@ -0,0 +1,364 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * ListBaseccVmClusterUpdateHistoryEntriesRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ListBaseccVmClusterUpdateHistoryEntriesRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getBaseccVmClusterId() { + return baseccVmClusterId; + } + /** A filter to return only resources that match the given update type exactly. */ + private UpdateType updateType; + + /** A filter to return only resources that match the given update type exactly. */ + public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { + GiUpgrade("GI_UPGRADE"), + GiPatch("GI_PATCH"), + OsUpdate("OS_UPDATE"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateType v : UpdateType.values()) { + map.put(v.getValue(), v); + } + } + + UpdateType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid UpdateType: " + key); + } + }; + + /** A filter to return only resources that match the given update type exactly. */ + public UpdateType getUpdateType() { + return updateType; + } + /** A filter to return only resources that match the given lifecycle state exactly. */ + private com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary.LifecycleState + lifecycleState; + + /** A filter to return only resources that match the given lifecycle state exactly. */ + public com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary.LifecycleState + getLifecycleState() { + return lifecycleState; + } + /** The maximum number of items to return per page. */ + private Integer limit; + + /** The maximum number of items to return per page. */ + public Integer getLimit() { + return limit; + } + /** The pagination token to continue listing from. */ + private String page; + + /** The pagination token to continue listing from. */ + public String getPage() { + return page; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListBaseccVmClusterUpdateHistoryEntriesRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param baseccVmClusterId the value to set + * @return this builder instance + */ + public Builder baseccVmClusterId(String baseccVmClusterId) { + this.baseccVmClusterId = baseccVmClusterId; + return this; + } + + /** A filter to return only resources that match the given update type exactly. */ + private UpdateType updateType = null; + + /** + * A filter to return only resources that match the given update type exactly. + * + * @param updateType the value to set + * @return this builder instance + */ + public Builder updateType(UpdateType updateType) { + this.updateType = updateType; + return this; + } + + /** A filter to return only resources that match the given lifecycle state exactly. */ + private com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary + .LifecycleState + lifecycleState = null; + + /** + * A filter to return only resources that match the given lifecycle state exactly. + * + * @param lifecycleState the value to set + * @return this builder instance + */ + public Builder lifecycleState( + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary + .LifecycleState + lifecycleState) { + this.lifecycleState = lifecycleState; + return this; + } + + /** The maximum number of items to return per page. */ + private Integer limit = null; + + /** + * The maximum number of items to return per page. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** The pagination token to continue listing from. */ + private String page = null; + + /** + * The pagination token to continue listing from. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @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(ListBaseccVmClusterUpdateHistoryEntriesRequest o) { + baseccVmClusterId(o.getBaseccVmClusterId()); + updateType(o.getUpdateType()); + lifecycleState(o.getLifecycleState()); + limit(o.getLimit()); + page(o.getPage()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListBaseccVmClusterUpdateHistoryEntriesRequest 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 ListBaseccVmClusterUpdateHistoryEntriesRequest + */ + public ListBaseccVmClusterUpdateHistoryEntriesRequest build() { + ListBaseccVmClusterUpdateHistoryEntriesRequest request = + buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListBaseccVmClusterUpdateHistoryEntriesRequest 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 ListBaseccVmClusterUpdateHistoryEntriesRequest + */ + public ListBaseccVmClusterUpdateHistoryEntriesRequest buildWithoutInvocationCallback() { + ListBaseccVmClusterUpdateHistoryEntriesRequest request = + new ListBaseccVmClusterUpdateHistoryEntriesRequest(); + request.baseccVmClusterId = baseccVmClusterId; + request.updateType = updateType; + request.lifecycleState = lifecycleState; + request.limit = limit; + request.page = page; + request.opcRequestId = opcRequestId; + return request; + // new ListBaseccVmClusterUpdateHistoryEntriesRequest(baseccVmClusterId, updateType, + // lifecycleState, limit, page, 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() + .baseccVmClusterId(baseccVmClusterId) + .updateType(updateType) + .lifecycleState(lifecycleState) + .limit(limit) + .page(page) + .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(",baseccVmClusterId=").append(String.valueOf(this.baseccVmClusterId)); + sb.append(",updateType=").append(String.valueOf(this.updateType)); + 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(",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 ListBaseccVmClusterUpdateHistoryEntriesRequest)) { + return false; + } + + ListBaseccVmClusterUpdateHistoryEntriesRequest other = + (ListBaseccVmClusterUpdateHistoryEntriesRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.baseccVmClusterId, other.baseccVmClusterId) + && java.util.Objects.equals(this.updateType, other.updateType) + && 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.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.baseccVmClusterId == null ? 43 : this.baseccVmClusterId.hashCode()); + result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.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.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClusterUpdatesRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClusterUpdatesRequest.java new file mode 100644 index 00000000000..6e72262d320 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClusterUpdatesRequest.java @@ -0,0 +1,357 @@ +/** + * 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.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * ListBaseccVmClusterUpdatesRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ListBaseccVmClusterUpdatesRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getBaseccVmClusterId() { + return baseccVmClusterId; + } + /** A filter to return only resources that match the given update type exactly. */ + private UpdateType updateType; + + /** A filter to return only resources that match the given update type exactly. */ + public enum UpdateType implements com.oracle.bmc.http.internal.BmcEnum { + GiUpgrade("GI_UPGRADE"), + GiPatch("GI_PATCH"), + OsUpdate("OS_UPDATE"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (UpdateType v : UpdateType.values()) { + map.put(v.getValue(), v); + } + } + + UpdateType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static UpdateType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid UpdateType: " + key); + } + }; + + /** A filter to return only resources that match the given update type exactly. */ + public UpdateType getUpdateType() { + return updateType; + } + /** A filter to return only resources that match the given lifecycle state exactly. */ + private com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary.LifecycleState + lifecycleState; + + /** A filter to return only resources that match the given lifecycle state exactly. */ + public com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary.LifecycleState + getLifecycleState() { + return lifecycleState; + } + /** The maximum number of items to return per page. */ + private Integer limit; + + /** The maximum number of items to return per page. */ + public Integer getLimit() { + return limit; + } + /** The pagination token to continue listing from. */ + private String page; + + /** The pagination token to continue listing from. */ + public String getPage() { + return page; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListBaseccVmClusterUpdatesRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param baseccVmClusterId the value to set + * @return this builder instance + */ + public Builder baseccVmClusterId(String baseccVmClusterId) { + this.baseccVmClusterId = baseccVmClusterId; + return this; + } + + /** A filter to return only resources that match the given update type exactly. */ + private UpdateType updateType = null; + + /** + * A filter to return only resources that match the given update type exactly. + * + * @param updateType the value to set + * @return this builder instance + */ + public Builder updateType(UpdateType updateType) { + this.updateType = updateType; + return this; + } + + /** A filter to return only resources that match the given lifecycle state exactly. */ + private com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary.LifecycleState + lifecycleState = null; + + /** + * A filter to return only resources that match the given lifecycle state exactly. + * + * @param lifecycleState the value to set + * @return this builder instance + */ + public Builder lifecycleState( + com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary.LifecycleState + lifecycleState) { + this.lifecycleState = lifecycleState; + return this; + } + + /** The maximum number of items to return per page. */ + private Integer limit = null; + + /** + * The maximum number of items to return per page. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** The pagination token to continue listing from. */ + private String page = null; + + /** + * The pagination token to continue listing from. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @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(ListBaseccVmClusterUpdatesRequest o) { + baseccVmClusterId(o.getBaseccVmClusterId()); + updateType(o.getUpdateType()); + lifecycleState(o.getLifecycleState()); + limit(o.getLimit()); + page(o.getPage()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListBaseccVmClusterUpdatesRequest 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 ListBaseccVmClusterUpdatesRequest + */ + public ListBaseccVmClusterUpdatesRequest build() { + ListBaseccVmClusterUpdatesRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListBaseccVmClusterUpdatesRequest 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 ListBaseccVmClusterUpdatesRequest + */ + public ListBaseccVmClusterUpdatesRequest buildWithoutInvocationCallback() { + ListBaseccVmClusterUpdatesRequest request = new ListBaseccVmClusterUpdatesRequest(); + request.baseccVmClusterId = baseccVmClusterId; + request.updateType = updateType; + request.lifecycleState = lifecycleState; + request.limit = limit; + request.page = page; + request.opcRequestId = opcRequestId; + return request; + // new ListBaseccVmClusterUpdatesRequest(baseccVmClusterId, updateType, lifecycleState, + // limit, page, 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() + .baseccVmClusterId(baseccVmClusterId) + .updateType(updateType) + .lifecycleState(lifecycleState) + .limit(limit) + .page(page) + .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(",baseccVmClusterId=").append(String.valueOf(this.baseccVmClusterId)); + sb.append(",updateType=").append(String.valueOf(this.updateType)); + 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(",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 ListBaseccVmClusterUpdatesRequest)) { + return false; + } + + ListBaseccVmClusterUpdatesRequest other = (ListBaseccVmClusterUpdatesRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.baseccVmClusterId, other.baseccVmClusterId) + && java.util.Objects.equals(this.updateType, other.updateType) + && 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.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.baseccVmClusterId == null ? 43 : this.baseccVmClusterId.hashCode()); + result = (result * PRIME) + (this.updateType == null ? 43 : this.updateType.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.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClustersRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClustersRequest.java new file mode 100644 index 00000000000..174c80df49d --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListBaseccVmClustersRequest.java @@ -0,0 +1,573 @@ +/** + * 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.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use ListBaseccVmClustersRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ListBaseccVmClustersRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String compartmentId; + + /** + * The compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getCompartmentId() { + return compartmentId; + } + /** If provided, filters the results for the given Oracle Data Cloud@Customer Infrastructure. */ + private String baseInfrastructureId; + + /** If provided, filters the results for the given Oracle Data Cloud@Customer Infrastructure. */ + public String getBaseInfrastructureId() { + return baseInfrastructureId; + } + /** The maximum number of items to return per page. */ + private Integer limit; + + /** The maximum number of items to return per page. */ + public Integer getLimit() { + return limit; + } + /** The pagination token to continue listing from. */ + private String page; + + /** The pagination token to continue listing from. */ + public String getPage() { + return page; + } + /** + * The field to sort by. You can provide one sort order ({@code sortOrder}). Default order for + * TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort + * order is case sensitive. + */ + private SortBy sortBy; + + /** + * The field to sort by. You can provide one sort order ({@code sortOrder}). Default order for + * TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort + * order is case sensitive. + */ + 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. You can provide one sort order ({@code sortOrder}). Default order for + * TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort + * order is case sensitive. + */ + public SortBy getSortBy() { + return sortBy; + } + /** The sort order to use, either ascending ({@code ASC}) or descending ({@code DESC}). */ + private SortOrder sortOrder; + + /** The sort order to use, either ascending ({@code ASC}) or descending ({@code DESC}). */ + 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, either ascending ({@code ASC}) or descending ({@code DESC}). */ + public SortOrder getSortOrder() { + return sortOrder; + } + /** A filter to return only resources that match the given lifecycle state exactly. */ + private com.oracle.bmc.database.model.BaseccVmClusterSummary.LifecycleState lifecycleState; + + /** A filter to return only resources that match the given lifecycle state exactly. */ + public com.oracle.bmc.database.model.BaseccVmClusterSummary.LifecycleState getLifecycleState() { + return lifecycleState; + } + /** A filter to return only resources that match the given availability domain exactly. */ + private String availabilityDomain; + + /** A filter to return only resources that match the given availability domain exactly. */ + public String getAvailabilityDomain() { + return availabilityDomain; + } + /** + * A filter to return only resources that match the entire display name given. The match is not + * case sensitive. + */ + private String displayName; + + /** + * A filter to return only resources that match the entire display name given. The match is not + * case sensitive. + */ + public String getDisplayName() { + return displayName; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * A filter to return only BaseDB-C@C VM clusters that match the given VM Cluster type exactly. + */ + private com.oracle.bmc.database.model.BaseccVmClusterSummary.VmClusterType vmClusterType; + + /** + * A filter to return only BaseDB-C@C VM clusters that match the given VM Cluster type exactly. + */ + public com.oracle.bmc.database.model.BaseccVmClusterSummary.VmClusterType getVmClusterType() { + return vmClusterType; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListBaseccVmClustersRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String compartmentId = null; + + /** + * The compartment + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** + * If provided, filters the results for the given Oracle Data Cloud@Customer Infrastructure. + */ + private String baseInfrastructureId = null; + + /** + * If provided, filters the results for the given Oracle Data Cloud@Customer Infrastructure. + * + * @param baseInfrastructureId the value to set + * @return this builder instance + */ + public Builder baseInfrastructureId(String baseInfrastructureId) { + this.baseInfrastructureId = baseInfrastructureId; + return this; + } + + /** The maximum number of items to return per page. */ + private Integer limit = null; + + /** + * The maximum number of items to return per page. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** The pagination token to continue listing from. */ + private String page = null; + + /** + * The pagination token to continue listing from. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** + * The field to sort by. You can provide one sort order ({@code sortOrder}). Default order + * for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The + * DISPLAYNAME sort order is case sensitive. + */ + private SortBy sortBy = null; + + /** + * The field to sort by. You can provide one sort order ({@code sortOrder}). Default order + * for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The + * DISPLAYNAME sort order is case sensitive. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(SortBy sortBy) { + this.sortBy = sortBy; + return this; + } + + /** The sort order to use, either ascending ({@code ASC}) or descending ({@code DESC}). */ + private SortOrder sortOrder = null; + + /** + * The sort order to use, either ascending ({@code ASC}) or descending ({@code DESC}). + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** A filter to return only resources that match the given lifecycle state exactly. */ + private com.oracle.bmc.database.model.BaseccVmClusterSummary.LifecycleState lifecycleState = + null; + + /** + * A filter to return only resources that match the given lifecycle state exactly. + * + * @param lifecycleState the value to set + * @return this builder instance + */ + public Builder lifecycleState( + com.oracle.bmc.database.model.BaseccVmClusterSummary.LifecycleState + lifecycleState) { + this.lifecycleState = lifecycleState; + return this; + } + + /** A filter to return only resources that match the given availability domain exactly. */ + private String availabilityDomain = null; + + /** + * A filter to return only resources that match the given availability domain exactly. + * + * @param availabilityDomain the value to set + * @return this builder instance + */ + public Builder availabilityDomain(String availabilityDomain) { + this.availabilityDomain = availabilityDomain; + return this; + } + + /** + * A filter to return only resources that match the entire display name given. The match is + * not case sensitive. + */ + private String displayName = null; + + /** + * A filter to return only resources that match the entire display name given. The match is + * not case sensitive. + * + * @param displayName the value to set + * @return this builder instance + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * A filter to return only BaseDB-C@C VM clusters that match the given VM Cluster type + * exactly. + */ + private com.oracle.bmc.database.model.BaseccVmClusterSummary.VmClusterType vmClusterType = + null; + + /** + * A filter to return only BaseDB-C@C VM clusters that match the given VM Cluster type + * exactly. + * + * @param vmClusterType the value to set + * @return this builder instance + */ + public Builder vmClusterType( + com.oracle.bmc.database.model.BaseccVmClusterSummary.VmClusterType vmClusterType) { + this.vmClusterType = vmClusterType; + 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(ListBaseccVmClustersRequest o) { + compartmentId(o.getCompartmentId()); + baseInfrastructureId(o.getBaseInfrastructureId()); + limit(o.getLimit()); + page(o.getPage()); + sortBy(o.getSortBy()); + sortOrder(o.getSortOrder()); + lifecycleState(o.getLifecycleState()); + availabilityDomain(o.getAvailabilityDomain()); + displayName(o.getDisplayName()); + opcRequestId(o.getOpcRequestId()); + vmClusterType(o.getVmClusterType()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListBaseccVmClustersRequest 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 ListBaseccVmClustersRequest + */ + public ListBaseccVmClustersRequest build() { + ListBaseccVmClustersRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListBaseccVmClustersRequest 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 ListBaseccVmClustersRequest + */ + public ListBaseccVmClustersRequest buildWithoutInvocationCallback() { + ListBaseccVmClustersRequest request = new ListBaseccVmClustersRequest(); + request.compartmentId = compartmentId; + request.baseInfrastructureId = baseInfrastructureId; + request.limit = limit; + request.page = page; + request.sortBy = sortBy; + request.sortOrder = sortOrder; + request.lifecycleState = lifecycleState; + request.availabilityDomain = availabilityDomain; + request.displayName = displayName; + request.opcRequestId = opcRequestId; + request.vmClusterType = vmClusterType; + return request; + // new ListBaseccVmClustersRequest(compartmentId, baseInfrastructureId, limit, page, + // sortBy, sortOrder, lifecycleState, availabilityDomain, displayName, opcRequestId, + // vmClusterType); + } + } + + /** + * 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) + .baseInfrastructureId(baseInfrastructureId) + .limit(limit) + .page(page) + .sortBy(sortBy) + .sortOrder(sortOrder) + .lifecycleState(lifecycleState) + .availabilityDomain(availabilityDomain) + .displayName(displayName) + .opcRequestId(opcRequestId) + .vmClusterType(vmClusterType); + } + + /** + * 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(",baseInfrastructureId=").append(String.valueOf(this.baseInfrastructureId)); + sb.append(",limit=").append(String.valueOf(this.limit)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(",availabilityDomain=").append(String.valueOf(this.availabilityDomain)); + sb.append(",displayName=").append(String.valueOf(this.displayName)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",vmClusterType=").append(String.valueOf(this.vmClusterType)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListBaseccVmClustersRequest)) { + return false; + } + + ListBaseccVmClustersRequest other = (ListBaseccVmClustersRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.baseInfrastructureId, other.baseInfrastructureId) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.availabilityDomain, other.availabilityDomain) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.vmClusterType, other.vmClusterType); + } + + @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.baseInfrastructureId == null + ? 43 + : this.baseInfrastructureId.hashCode()); + result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.availabilityDomain == null + ? 43 + : this.availabilityDomain.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.vmClusterType == null ? 43 : this.vmClusterType.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListGiVersionMinorVersionsRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListGiVersionMinorVersionsRequest.java index 987b39bdb53..c1cef58cd9b 100644 --- a/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListGiVersionMinorVersionsRequest.java +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/ListGiVersionMinorVersionsRequest.java @@ -49,6 +49,13 @@ public String getCompartmentId() { public String getOpcRequestId() { return opcRequestId; } + /** If provided, filters the results for the given Exadata Infrastructure. */ + private String exadataInfrastructureId; + + /** If provided, filters the results for the given Exadata Infrastructure. */ + public String getExadataInfrastructureId() { + return exadataInfrastructureId; + } /** * If provided, filters the results to the set of database versions which are supported for the * given shape family. @@ -283,6 +290,20 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** If provided, filters the results for the given Exadata Infrastructure. */ + private String exadataInfrastructureId = null; + + /** + * If provided, filters the results for the given Exadata Infrastructure. + * + * @param exadataInfrastructureId the value to set + * @return this builder instance + */ + public Builder exadataInfrastructureId(String exadataInfrastructureId) { + this.exadataInfrastructureId = exadataInfrastructureId; + return this; + } + /** * If provided, filters the results to the set of database versions which are supported for * the given shape family. @@ -423,6 +444,7 @@ public Builder copy(ListGiVersionMinorVersionsRequest o) { availabilityDomain(o.getAvailabilityDomain()); compartmentId(o.getCompartmentId()); opcRequestId(o.getOpcRequestId()); + exadataInfrastructureId(o.getExadataInfrastructureId()); shapeFamily(o.getShapeFamily()); isGiVersionForProvisioning(o.getIsGiVersionForProvisioning()); shape(o.getShape()); @@ -468,6 +490,7 @@ public ListGiVersionMinorVersionsRequest buildWithoutInvocationCallback() { request.availabilityDomain = availabilityDomain; request.compartmentId = compartmentId; request.opcRequestId = opcRequestId; + request.exadataInfrastructureId = exadataInfrastructureId; request.shapeFamily = shapeFamily; request.isGiVersionForProvisioning = isGiVersionForProvisioning; request.shape = shape; @@ -477,8 +500,8 @@ public ListGiVersionMinorVersionsRequest buildWithoutInvocationCallback() { request.page = page; return request; // new ListGiVersionMinorVersionsRequest(version, availabilityDomain, compartmentId, - // opcRequestId, shapeFamily, isGiVersionForProvisioning, shape, sortBy, sortOrder, - // limit, page); + // opcRequestId, exadataInfrastructureId, shapeFamily, isGiVersionForProvisioning, + // shape, sortBy, sortOrder, limit, page); } } @@ -493,6 +516,7 @@ public Builder toBuilder() { .availabilityDomain(availabilityDomain) .compartmentId(compartmentId) .opcRequestId(opcRequestId) + .exadataInfrastructureId(exadataInfrastructureId) .shapeFamily(shapeFamily) .isGiVersionForProvisioning(isGiVersionForProvisioning) .shape(shape) @@ -520,6 +544,7 @@ public String toString() { sb.append(",availabilityDomain=").append(String.valueOf(this.availabilityDomain)); sb.append(",compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",exadataInfrastructureId=").append(String.valueOf(this.exadataInfrastructureId)); sb.append(",shapeFamily=").append(String.valueOf(this.shapeFamily)); sb.append(",isGiVersionForProvisioning=") .append(String.valueOf(this.isGiVersionForProvisioning)); @@ -547,6 +572,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.availabilityDomain, other.availabilityDomain) && java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals( + this.exadataInfrastructureId, other.exadataInfrastructureId) && java.util.Objects.equals(this.shapeFamily, other.shapeFamily) && java.util.Objects.equals( this.isGiVersionForProvisioning, other.isGiVersionForProvisioning) @@ -571,6 +598,11 @@ public int hashCode() { (result * PRIME) + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.exadataInfrastructureId == null + ? 43 + : this.exadataInfrastructureId.hashCode()); result = (result * PRIME) + (this.shapeFamily == null ? 43 : this.shapeFamily.hashCode()); result = (result * PRIME) diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/requests/RegisterExadbVmClusterPkcsRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/RegisterExadbVmClusterPkcsRequest.java new file mode 100644 index 00000000000..9d1446b496b --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/RegisterExadbVmClusterPkcsRequest.java @@ -0,0 +1,371 @@ +/** + * 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.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * RegisterExadbVmClusterPkcsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class RegisterExadbVmClusterPkcsRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails> { + + /** + * The Exadata VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) on Exascale + * Infrastructure. + */ + private String exadbVmClusterId; + + /** + * The Exadata VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) on Exascale + * Infrastructure. + */ + public String getExadbVmClusterId() { + return exadbVmClusterId; + } + /** Details of registering PKCS11 driver. */ + private com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails + registerExadbVmClusterPkcsDetails; + + /** Details of registering PKCS11 driver. */ + public com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails + getRegisterExadbVmClusterPkcsDetails() { + return registerExadbVmClusterPkcsDetails; + } + /** + * 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 may 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 may be rejected). + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails getBody$() { + return registerExadbVmClusterPkcsDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + RegisterExadbVmClusterPkcsRequest, + com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The Exadata VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) on Exascale + * Infrastructure. + */ + private String exadbVmClusterId = null; + + /** + * The Exadata VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) on Exascale + * Infrastructure. + * + * @param exadbVmClusterId the value to set + * @return this builder instance + */ + public Builder exadbVmClusterId(String exadbVmClusterId) { + this.exadbVmClusterId = exadbVmClusterId; + return this; + } + + /** Details of registering PKCS11 driver. */ + private com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails + registerExadbVmClusterPkcsDetails = null; + + /** + * Details of registering PKCS11 driver. + * + * @param registerExadbVmClusterPkcsDetails the value to set + * @return this builder instance + */ + public Builder registerExadbVmClusterPkcsDetails( + com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails + registerExadbVmClusterPkcsDetails) { + this.registerExadbVmClusterPkcsDetails = registerExadbVmClusterPkcsDetails; + 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 may 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 may be rejected). + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(RegisterExadbVmClusterPkcsRequest o) { + exadbVmClusterId(o.getExadbVmClusterId()); + registerExadbVmClusterPkcsDetails(o.getRegisterExadbVmClusterPkcsDetails()); + opcRetryToken(o.getOpcRetryToken()); + opcRequestId(o.getOpcRequestId()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of RegisterExadbVmClusterPkcsRequest 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 RegisterExadbVmClusterPkcsRequest + */ + public RegisterExadbVmClusterPkcsRequest build() { + RegisterExadbVmClusterPkcsRequest 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.database.model.RegisterExadbVmClusterPkcsDetails body) { + registerExadbVmClusterPkcsDetails(body); + return this; + } + + /** + * Build the instance of RegisterExadbVmClusterPkcsRequest 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 RegisterExadbVmClusterPkcsRequest + */ + public RegisterExadbVmClusterPkcsRequest buildWithoutInvocationCallback() { + RegisterExadbVmClusterPkcsRequest request = new RegisterExadbVmClusterPkcsRequest(); + request.exadbVmClusterId = exadbVmClusterId; + request.registerExadbVmClusterPkcsDetails = registerExadbVmClusterPkcsDetails; + request.opcRetryToken = opcRetryToken; + request.opcRequestId = opcRequestId; + request.ifMatch = ifMatch; + return request; + // new RegisterExadbVmClusterPkcsRequest(exadbVmClusterId, + // registerExadbVmClusterPkcsDetails, opcRetryToken, 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() + .exadbVmClusterId(exadbVmClusterId) + .registerExadbVmClusterPkcsDetails(registerExadbVmClusterPkcsDetails) + .opcRetryToken(opcRetryToken) + .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(",exadbVmClusterId=").append(String.valueOf(this.exadbVmClusterId)); + sb.append(",registerExadbVmClusterPkcsDetails=") + .append(String.valueOf(this.registerExadbVmClusterPkcsDetails)); + sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken)); + 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 RegisterExadbVmClusterPkcsRequest)) { + return false; + } + + RegisterExadbVmClusterPkcsRequest other = (RegisterExadbVmClusterPkcsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.exadbVmClusterId, other.exadbVmClusterId) + && java.util.Objects.equals( + this.registerExadbVmClusterPkcsDetails, + other.registerExadbVmClusterPkcsDetails) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken) + && 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.exadbVmClusterId == null ? 43 : this.exadbVmClusterId.hashCode()); + result = + (result * PRIME) + + (this.registerExadbVmClusterPkcsDetails == null + ? 43 + : this.registerExadbVmClusterPkcsDetails.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.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-database/src/main/java/com/oracle/bmc/database/requests/UnregisterExadbVmClusterPkcsRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/UnregisterExadbVmClusterPkcsRequest.java new file mode 100644 index 00000000000..885bc105c41 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/UnregisterExadbVmClusterPkcsRequest.java @@ -0,0 +1,372 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * UnregisterExadbVmClusterPkcsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class UnregisterExadbVmClusterPkcsRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails> { + + /** + * The Exadata VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) on Exascale + * Infrastructure. + */ + private String exadbVmClusterId; + + /** + * The Exadata VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) on Exascale + * Infrastructure. + */ + public String getExadbVmClusterId() { + return exadbVmClusterId; + } + /** Details of unregistering PKCS11 driver. */ + private com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails + unregisterExadbVmClusterPkcsDetails; + + /** Details of unregistering PKCS11 driver. */ + public com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails + getUnregisterExadbVmClusterPkcsDetails() { + return unregisterExadbVmClusterPkcsDetails; + } + /** + * 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 may 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 may be rejected). + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails getBody$() { + return unregisterExadbVmClusterPkcsDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + UnregisterExadbVmClusterPkcsRequest, + com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The Exadata VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) on Exascale + * Infrastructure. + */ + private String exadbVmClusterId = null; + + /** + * The Exadata VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) on Exascale + * Infrastructure. + * + * @param exadbVmClusterId the value to set + * @return this builder instance + */ + public Builder exadbVmClusterId(String exadbVmClusterId) { + this.exadbVmClusterId = exadbVmClusterId; + return this; + } + + /** Details of unregistering PKCS11 driver. */ + private com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails + unregisterExadbVmClusterPkcsDetails = null; + + /** + * Details of unregistering PKCS11 driver. + * + * @param unregisterExadbVmClusterPkcsDetails the value to set + * @return this builder instance + */ + public Builder unregisterExadbVmClusterPkcsDetails( + com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails + unregisterExadbVmClusterPkcsDetails) { + this.unregisterExadbVmClusterPkcsDetails = unregisterExadbVmClusterPkcsDetails; + 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 may 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 may be rejected). + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(UnregisterExadbVmClusterPkcsRequest o) { + exadbVmClusterId(o.getExadbVmClusterId()); + unregisterExadbVmClusterPkcsDetails(o.getUnregisterExadbVmClusterPkcsDetails()); + opcRetryToken(o.getOpcRetryToken()); + opcRequestId(o.getOpcRequestId()); + ifMatch(o.getIfMatch()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of UnregisterExadbVmClusterPkcsRequest 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 UnregisterExadbVmClusterPkcsRequest + */ + public UnregisterExadbVmClusterPkcsRequest build() { + UnregisterExadbVmClusterPkcsRequest 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.database.model.UnregisterExadbVmClusterPkcsDetails body) { + unregisterExadbVmClusterPkcsDetails(body); + return this; + } + + /** + * Build the instance of UnregisterExadbVmClusterPkcsRequest 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 UnregisterExadbVmClusterPkcsRequest + */ + public UnregisterExadbVmClusterPkcsRequest buildWithoutInvocationCallback() { + UnregisterExadbVmClusterPkcsRequest request = new UnregisterExadbVmClusterPkcsRequest(); + request.exadbVmClusterId = exadbVmClusterId; + request.unregisterExadbVmClusterPkcsDetails = unregisterExadbVmClusterPkcsDetails; + request.opcRetryToken = opcRetryToken; + request.opcRequestId = opcRequestId; + request.ifMatch = ifMatch; + return request; + // new UnregisterExadbVmClusterPkcsRequest(exadbVmClusterId, + // unregisterExadbVmClusterPkcsDetails, opcRetryToken, 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() + .exadbVmClusterId(exadbVmClusterId) + .unregisterExadbVmClusterPkcsDetails(unregisterExadbVmClusterPkcsDetails) + .opcRetryToken(opcRetryToken) + .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(",exadbVmClusterId=").append(String.valueOf(this.exadbVmClusterId)); + sb.append(",unregisterExadbVmClusterPkcsDetails=") + .append(String.valueOf(this.unregisterExadbVmClusterPkcsDetails)); + sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken)); + 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 UnregisterExadbVmClusterPkcsRequest)) { + return false; + } + + UnregisterExadbVmClusterPkcsRequest other = (UnregisterExadbVmClusterPkcsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.exadbVmClusterId, other.exadbVmClusterId) + && java.util.Objects.equals( + this.unregisterExadbVmClusterPkcsDetails, + other.unregisterExadbVmClusterPkcsDetails) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken) + && 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.exadbVmClusterId == null ? 43 : this.exadbVmClusterId.hashCode()); + result = + (result * PRIME) + + (this.unregisterExadbVmClusterPkcsDetails == null + ? 43 + : this.unregisterExadbVmClusterPkcsDetails.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.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-database/src/main/java/com/oracle/bmc/database/requests/UpdateBaseccVmClusterRequest.java b/bmc-database/src/main/java/com/oracle/bmc/database/requests/UpdateBaseccVmClusterRequest.java new file mode 100644 index 00000000000..9f5d3696059 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/requests/UpdateBaseccVmClusterRequest.java @@ -0,0 +1,314 @@ +/** + * 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.requests; + +import com.oracle.bmc.database.model.*; +/** + * Example: Click here to see how to use + * UpdateBaseccVmClusterRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class UpdateBaseccVmClusterRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails> { + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + public String getBaseccVmClusterId() { + return baseccVmClusterId; + } + /** Request to update the attributes of a BaseDB-C@C VM cluster. */ + private com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails updateBaseccVmClusterDetails; + + /** Request to update the attributes of a BaseDB-C@C VM cluster. */ + public com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails + getUpdateBaseccVmClusterDetails() { + return updateBaseccVmClusterDetails; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + /** Unique identifier for the request. */ + private String opcRequestId; + + /** Unique identifier for the request. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails getBody$() { + return updateBaseccVmClusterDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + UpdateBaseccVmClusterRequest, + com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + */ + private String baseccVmClusterId = null; + + /** + * The BaseDB-C@C VM cluster + * [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + * + * @param baseccVmClusterId the value to set + * @return this builder instance + */ + public Builder baseccVmClusterId(String baseccVmClusterId) { + this.baseccVmClusterId = baseccVmClusterId; + return this; + } + + /** Request to update the attributes of a BaseDB-C@C VM cluster. */ + private com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails + updateBaseccVmClusterDetails = null; + + /** + * Request to update the attributes of a BaseDB-C@C VM cluster. + * + * @param updateBaseccVmClusterDetails the value to set + * @return this builder instance + */ + public Builder updateBaseccVmClusterDetails( + com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails + updateBaseccVmClusterDetails) { + this.updateBaseccVmClusterDetails = updateBaseccVmClusterDetails; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** Unique identifier for the request. */ + private String opcRequestId = null; + + /** + * Unique identifier for the request. + * + * @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(UpdateBaseccVmClusterRequest o) { + baseccVmClusterId(o.getBaseccVmClusterId()); + updateBaseccVmClusterDetails(o.getUpdateBaseccVmClusterDetails()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of UpdateBaseccVmClusterRequest 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 UpdateBaseccVmClusterRequest + */ + public UpdateBaseccVmClusterRequest build() { + UpdateBaseccVmClusterRequest 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.database.model.UpdateBaseccVmClusterDetails body) { + updateBaseccVmClusterDetails(body); + return this; + } + + /** + * Build the instance of UpdateBaseccVmClusterRequest 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 UpdateBaseccVmClusterRequest + */ + public UpdateBaseccVmClusterRequest buildWithoutInvocationCallback() { + UpdateBaseccVmClusterRequest request = new UpdateBaseccVmClusterRequest(); + request.baseccVmClusterId = baseccVmClusterId; + request.updateBaseccVmClusterDetails = updateBaseccVmClusterDetails; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new UpdateBaseccVmClusterRequest(baseccVmClusterId, updateBaseccVmClusterDetails, + // 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() + .baseccVmClusterId(baseccVmClusterId) + .updateBaseccVmClusterDetails(updateBaseccVmClusterDetails) + .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(",baseccVmClusterId=").append(String.valueOf(this.baseccVmClusterId)); + sb.append(",updateBaseccVmClusterDetails=") + .append(String.valueOf(this.updateBaseccVmClusterDetails)); + 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 UpdateBaseccVmClusterRequest)) { + return false; + } + + UpdateBaseccVmClusterRequest other = (UpdateBaseccVmClusterRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.baseccVmClusterId, other.baseccVmClusterId) + && java.util.Objects.equals( + this.updateBaseccVmClusterDetails, other.updateBaseccVmClusterDetails) + && 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.baseccVmClusterId == null ? 43 : this.baseccVmClusterId.hashCode()); + result = + (result * PRIME) + + (this.updateBaseccVmClusterDetails == null + ? 43 + : this.updateBaseccVmClusterDetails.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-database/src/main/java/com/oracle/bmc/database/responses/ChangeBaseccVmClusterCompartmentResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/ChangeBaseccVmClusterCompartmentResponse.java new file mode 100644 index 00000000000..522b448c01f --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/ChangeBaseccVmClusterCompartmentResponse.java @@ -0,0 +1,179 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ChangeBaseccVmClusterCompartmentResponse extends com.oracle.bmc.responses.BmcResponse { + /** Unique Oracle-assigned identifier of the work request. */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier of the work 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 ChangeBaseccVmClusterCompartmentResponse( + 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< + ChangeBaseccVmClusterCompartmentResponse> { + 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 of the work request. */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier of the work 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(ChangeBaseccVmClusterCompartmentResponse 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 ChangeBaseccVmClusterCompartmentResponse build() { + return new ChangeBaseccVmClusterCompartmentResponse( + __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 ChangeBaseccVmClusterCompartmentResponse)) { + return false; + } + + ChangeBaseccVmClusterCompartmentResponse other = + (ChangeBaseccVmClusterCompartmentResponse) 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-database/src/main/java/com/oracle/bmc/database/responses/CreateBaseccVmClusterResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/CreateBaseccVmClusterResponse.java new file mode 100644 index 00000000000..f2b0df45fab --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/CreateBaseccVmClusterResponse.java @@ -0,0 +1,267 @@ +/** + * 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.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class CreateBaseccVmClusterResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the + * status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the + * status of the request. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + /** 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 BaseccVmCluster} instance. */ + private com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster; + + /** + * The returned {@code BaseccVmCluster} instance. + * + * @return the value + */ + public com.oracle.bmc.database.model.BaseccVmCluster getBaseccVmCluster() { + return baseccVmCluster; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcWorkRequestId", + "etag", + "opcRequestId", + "baseccVmCluster" + }) + private CreateBaseccVmClusterResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcWorkRequestId, + String etag, + String opcRequestId, + com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster) { + super(__httpStatusCode__, headers); + this.opcWorkRequestId = opcWorkRequestId; + this.etag = etag; + this.opcRequestId = opcRequestId; + this.baseccVmCluster = baseccVmCluster; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track + * the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID 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; + } + + /** 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 BaseccVmCluster} instance. */ + private com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster; + + /** + * The returned {@code BaseccVmCluster} instance. + * + * @param baseccVmCluster the value to set + * @return this builder + */ + public Builder baseccVmCluster( + com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster) { + this.baseccVmCluster = baseccVmCluster; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(CreateBaseccVmClusterResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcWorkRequestId(o.getOpcWorkRequestId()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + baseccVmCluster(o.getBaseccVmCluster()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public CreateBaseccVmClusterResponse build() { + return new CreateBaseccVmClusterResponse( + __httpStatusCode__, + headers, + opcWorkRequestId, + etag, + opcRequestId, + baseccVmCluster); + } + } + + /** + * 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(",etag=").append(String.valueOf(etag)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",baseccVmCluster=").append(String.valueOf(baseccVmCluster)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateBaseccVmClusterResponse)) { + return false; + } + + CreateBaseccVmClusterResponse other = (CreateBaseccVmClusterResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.baseccVmCluster, other.baseccVmCluster); + } + + @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.etag == null ? 43 : this.etag.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.baseccVmCluster == null ? 43 : this.baseccVmCluster.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/responses/DeleteBaseccVmClusterResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/DeleteBaseccVmClusterResponse.java new file mode 100644 index 00000000000..39c208f5c3a --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/DeleteBaseccVmClusterResponse.java @@ -0,0 +1,193 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class DeleteBaseccVmClusterResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the + * status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID 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 DeleteBaseccVmClusterResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcWorkRequestId, + String opcRequestId) { + super(__httpStatusCode__, headers); + this.opcWorkRequestId = opcWorkRequestId; + this.opcRequestId = opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track + * the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID 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(DeleteBaseccVmClusterResponse 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 DeleteBaseccVmClusterResponse build() { + return new DeleteBaseccVmClusterResponse( + __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 DeleteBaseccVmClusterResponse)) { + return false; + } + + DeleteBaseccVmClusterResponse other = (DeleteBaseccVmClusterResponse) 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-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterResponse.java new file mode 100644 index 00000000000..31152a9af83 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterResponse.java @@ -0,0 +1,211 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class GetBaseccVmClusterResponse 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 BaseccVmCluster} instance. */ + private com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster; + + /** + * The returned {@code BaseccVmCluster} instance. + * + * @return the value + */ + public com.oracle.bmc.database.model.BaseccVmCluster getBaseccVmCluster() { + return baseccVmCluster; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "etag", + "opcRequestId", + "baseccVmCluster" + }) + private GetBaseccVmClusterResponse( + int __httpStatusCode__, + java.util.Map> headers, + String etag, + String opcRequestId, + com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster) { + super(__httpStatusCode__, headers); + this.etag = etag; + this.opcRequestId = opcRequestId; + this.baseccVmCluster = baseccVmCluster; + } + + 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 BaseccVmCluster} instance. */ + private com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster; + + /** + * The returned {@code BaseccVmCluster} instance. + * + * @param baseccVmCluster the value to set + * @return this builder + */ + public Builder baseccVmCluster( + com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster) { + this.baseccVmCluster = baseccVmCluster; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetBaseccVmClusterResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + baseccVmCluster(o.getBaseccVmCluster()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetBaseccVmClusterResponse build() { + return new GetBaseccVmClusterResponse( + __httpStatusCode__, headers, etag, opcRequestId, baseccVmCluster); + } + } + + /** + * 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(",baseccVmCluster=").append(String.valueOf(baseccVmCluster)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetBaseccVmClusterResponse)) { + return false; + } + + GetBaseccVmClusterResponse other = (GetBaseccVmClusterResponse) 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.baseccVmCluster, other.baseccVmCluster); + } + + @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.baseccVmCluster == null ? 43 : this.baseccVmCluster.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterUpdateHistoryEntryResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterUpdateHistoryEntryResponse.java new file mode 100644 index 00000000000..4271cd4f5c9 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterUpdateHistoryEntryResponse.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.database.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class GetBaseccVmClusterUpdateHistoryEntryResponse + 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 BaseccVmClusterUpdateHistoryEntry} instance. */ + private com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry + baseccVmClusterUpdateHistoryEntry; + + /** + * The returned {@code BaseccVmClusterUpdateHistoryEntry} instance. + * + * @return the value + */ + public com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry + getBaseccVmClusterUpdateHistoryEntry() { + return baseccVmClusterUpdateHistoryEntry; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "etag", + "opcRequestId", + "baseccVmClusterUpdateHistoryEntry" + }) + private GetBaseccVmClusterUpdateHistoryEntryResponse( + int __httpStatusCode__, + java.util.Map> headers, + String etag, + String opcRequestId, + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry + baseccVmClusterUpdateHistoryEntry) { + super(__httpStatusCode__, headers); + this.etag = etag; + this.opcRequestId = opcRequestId; + this.baseccVmClusterUpdateHistoryEntry = baseccVmClusterUpdateHistoryEntry; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + GetBaseccVmClusterUpdateHistoryEntryResponse> { + 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 BaseccVmClusterUpdateHistoryEntry} instance. */ + private com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry + baseccVmClusterUpdateHistoryEntry; + + /** + * The returned {@code BaseccVmClusterUpdateHistoryEntry} instance. + * + * @param baseccVmClusterUpdateHistoryEntry the value to set + * @return this builder + */ + public Builder baseccVmClusterUpdateHistoryEntry( + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry + baseccVmClusterUpdateHistoryEntry) { + this.baseccVmClusterUpdateHistoryEntry = baseccVmClusterUpdateHistoryEntry; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetBaseccVmClusterUpdateHistoryEntryResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + baseccVmClusterUpdateHistoryEntry(o.getBaseccVmClusterUpdateHistoryEntry()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetBaseccVmClusterUpdateHistoryEntryResponse build() { + return new GetBaseccVmClusterUpdateHistoryEntryResponse( + __httpStatusCode__, + headers, + etag, + opcRequestId, + baseccVmClusterUpdateHistoryEntry); + } + } + + /** + * 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(",baseccVmClusterUpdateHistoryEntry=") + .append(String.valueOf(baseccVmClusterUpdateHistoryEntry)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetBaseccVmClusterUpdateHistoryEntryResponse)) { + return false; + } + + GetBaseccVmClusterUpdateHistoryEntryResponse other = + (GetBaseccVmClusterUpdateHistoryEntryResponse) 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.baseccVmClusterUpdateHistoryEntry, + other.baseccVmClusterUpdateHistoryEntry); + } + + @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.baseccVmClusterUpdateHistoryEntry == null + ? 43 + : this.baseccVmClusterUpdateHistoryEntry.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterUpdateResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterUpdateResponse.java new file mode 100644 index 00000000000..039bcde6f26 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/GetBaseccVmClusterUpdateResponse.java @@ -0,0 +1,182 @@ +/** + * 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.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class GetBaseccVmClusterUpdateResponse 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 returned {@code BaseccVmClusterUpdate} instance. */ + private com.oracle.bmc.database.model.BaseccVmClusterUpdate baseccVmClusterUpdate; + + /** + * The returned {@code BaseccVmClusterUpdate} instance. + * + * @return the value + */ + public com.oracle.bmc.database.model.BaseccVmClusterUpdate getBaseccVmClusterUpdate() { + return baseccVmClusterUpdate; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "baseccVmClusterUpdate" + }) + private GetBaseccVmClusterUpdateResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + com.oracle.bmc.database.model.BaseccVmClusterUpdate baseccVmClusterUpdate) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.baseccVmClusterUpdate = baseccVmClusterUpdate; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + GetBaseccVmClusterUpdateResponse> { + 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 returned {@code BaseccVmClusterUpdate} instance. */ + private com.oracle.bmc.database.model.BaseccVmClusterUpdate baseccVmClusterUpdate; + + /** + * The returned {@code BaseccVmClusterUpdate} instance. + * + * @param baseccVmClusterUpdate the value to set + * @return this builder + */ + public Builder baseccVmClusterUpdate( + com.oracle.bmc.database.model.BaseccVmClusterUpdate baseccVmClusterUpdate) { + this.baseccVmClusterUpdate = baseccVmClusterUpdate; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetBaseccVmClusterUpdateResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + baseccVmClusterUpdate(o.getBaseccVmClusterUpdate()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetBaseccVmClusterUpdateResponse build() { + return new GetBaseccVmClusterUpdateResponse( + __httpStatusCode__, headers, opcRequestId, baseccVmClusterUpdate); + } + } + + /** + * 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(",baseccVmClusterUpdate=").append(String.valueOf(baseccVmClusterUpdate)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetBaseccVmClusterUpdateResponse)) { + return false; + } + + GetBaseccVmClusterUpdateResponse other = (GetBaseccVmClusterUpdateResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals( + this.baseccVmClusterUpdate, other.baseccVmClusterUpdate); + } + + @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.baseccVmClusterUpdate == null + ? 43 + : this.baseccVmClusterUpdate.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClusterUpdateHistoryEntriesResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClusterUpdateHistoryEntriesResponse.java new file mode 100644 index 00000000000..ebc09bd7bd8 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClusterUpdateHistoryEntriesResponse.java @@ -0,0 +1,246 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ListBaseccVmClusterUpdateHistoryEntriesResponse + 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 there are additional items still to get. Include this value as the {@code + * page} parameter for the subsequent GET request. For information about pagination, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the + * response, then there are additional items still to get. Include this value as the {@code + * page} parameter for the subsequent GET request. For information about pagination, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** + * A list of {@code com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary} + * instances. + */ + private java.util.List + items; + + /** + * A list of {@code com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary} + * instances. + * + * @return the value + */ + public java.util.List + getItems() { + return items; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "items" + }) + private ListBaseccVmClusterUpdateHistoryEntriesResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + java.util.List + items) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.items = items; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ListBaseccVmClusterUpdateHistoryEntriesResponse> { + 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 there are additional items still to get. Include this value as the + * {@code page} parameter for the subsequent GET request. For information about pagination, + * see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in + * the response, then there are additional items still to get. Include this value as the + * {@code page} parameter for the subsequent GET request. For information about pagination, + * 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; + } + + /** + * A list of {@code com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary} + * instances. + */ + private java.util.List< + com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary> + items; + + /** + * A list of {@code com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary} + * instances. + * + * @param items the value to set + * @return this builder + */ + public Builder items( + java.util.List< + com.oracle.bmc.database.model + .BaseccVmClusterUpdateHistoryEntrySummary> + 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(ListBaseccVmClusterUpdateHistoryEntriesResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + items(o.getItems()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListBaseccVmClusterUpdateHistoryEntriesResponse build() { + return new ListBaseccVmClusterUpdateHistoryEntriesResponse( + __httpStatusCode__, headers, opcRequestId, opcNextPage, 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(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + 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 ListBaseccVmClusterUpdateHistoryEntriesResponse)) { + return false; + } + + ListBaseccVmClusterUpdateHistoryEntriesResponse other = + (ListBaseccVmClusterUpdateHistoryEntriesResponse) 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.items, other.items); + } + + @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.items == null ? 43 : this.items.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClusterUpdatesResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClusterUpdatesResponse.java new file mode 100644 index 00000000000..876fd69f72b --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClusterUpdatesResponse.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.database.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ListBaseccVmClusterUpdatesResponse 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 there are additional items still to get. Include this value as the {@code + * page} parameter for the subsequent GET request. For information about pagination, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the + * response, then there are additional items still to get. Include this value as the {@code + * page} parameter for the subsequent GET request. For information about pagination, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** A list of {@code com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary} instances. */ + private java.util.List items; + + /** + * A list of {@code com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary} instances. + * + * @return the value + */ + public java.util.List getItems() { + return items; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "items" + }) + private ListBaseccVmClusterUpdatesResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + java.util.List items) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.items = items; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ListBaseccVmClusterUpdatesResponse> { + 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 there are additional items still to get. Include this value as the + * {@code page} parameter for the subsequent GET request. For information about pagination, + * see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in + * the response, then there are additional items still to get. Include this value as the + * {@code page} parameter for the subsequent GET request. For information about pagination, + * 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; + } + + /** + * A list of {@code com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary} instances. + */ + private java.util.List items; + + /** + * A list of {@code com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary} 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(ListBaseccVmClusterUpdatesResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + items(o.getItems()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListBaseccVmClusterUpdatesResponse build() { + return new ListBaseccVmClusterUpdatesResponse( + __httpStatusCode__, headers, opcRequestId, opcNextPage, 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(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + 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 ListBaseccVmClusterUpdatesResponse)) { + return false; + } + + ListBaseccVmClusterUpdatesResponse other = (ListBaseccVmClusterUpdatesResponse) 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.items, other.items); + } + + @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.items == null ? 43 : this.items.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClustersResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClustersResponse.java new file mode 100644 index 00000000000..2768225fe47 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/ListBaseccVmClustersResponse.java @@ -0,0 +1,227 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class ListBaseccVmClustersResponse 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 there are additional items still to get. Include this value as the {@code + * page} parameter for the subsequent GET request. For information about pagination, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the + * response, then there are additional items still to get. Include this value as the {@code + * page} parameter for the subsequent GET request. For information about pagination, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** A list of {@code com.oracle.bmc.database.model.BaseccVmClusterSummary} instances. */ + private java.util.List items; + + /** + * A list of {@code com.oracle.bmc.database.model.BaseccVmClusterSummary} instances. + * + * @return the value + */ + public java.util.List getItems() { + return items; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "items" + }) + private ListBaseccVmClustersResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + java.util.List items) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.items = items; + } + + 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 there are additional items still to get. Include this value as the + * {@code page} parameter for the subsequent GET request. For information about pagination, + * see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in + * the response, then there are additional items still to get. Include this value as the + * {@code page} parameter for the subsequent GET request. For information about pagination, + * 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; + } + + /** A list of {@code com.oracle.bmc.database.model.BaseccVmClusterSummary} instances. */ + private java.util.List items; + + /** + * A list of {@code com.oracle.bmc.database.model.BaseccVmClusterSummary} 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(ListBaseccVmClustersResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + items(o.getItems()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListBaseccVmClustersResponse build() { + return new ListBaseccVmClustersResponse( + __httpStatusCode__, headers, opcRequestId, opcNextPage, 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(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + 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 ListBaseccVmClustersResponse)) { + return false; + } + + ListBaseccVmClustersResponse other = (ListBaseccVmClustersResponse) 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.items, other.items); + } + + @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.items == null ? 43 : this.items.hashCode()); + return result; + } +} diff --git a/bmc-database/src/main/java/com/oracle/bmc/database/responses/RegisterExadbVmClusterPkcsResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/RegisterExadbVmClusterPkcsResponse.java new file mode 100644 index 00000000000..d7ed103b9bb --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/RegisterExadbVmClusterPkcsResponse.java @@ -0,0 +1,194 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class RegisterExadbVmClusterPkcsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the + * status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID 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 RegisterExadbVmClusterPkcsResponse( + 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< + RegisterExadbVmClusterPkcsResponse> { + 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 + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track + * the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID 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(RegisterExadbVmClusterPkcsResponse 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 RegisterExadbVmClusterPkcsResponse build() { + return new RegisterExadbVmClusterPkcsResponse( + __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 RegisterExadbVmClusterPkcsResponse)) { + return false; + } + + RegisterExadbVmClusterPkcsResponse other = (RegisterExadbVmClusterPkcsResponse) 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-database/src/main/java/com/oracle/bmc/database/responses/UnregisterExadbVmClusterPkcsResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/UnregisterExadbVmClusterPkcsResponse.java new file mode 100644 index 00000000000..e91c998f195 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/UnregisterExadbVmClusterPkcsResponse.java @@ -0,0 +1,194 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.database.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class UnregisterExadbVmClusterPkcsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the + * status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID 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 UnregisterExadbVmClusterPkcsResponse( + 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< + UnregisterExadbVmClusterPkcsResponse> { + 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 + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track + * the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID 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(UnregisterExadbVmClusterPkcsResponse 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 UnregisterExadbVmClusterPkcsResponse build() { + return new UnregisterExadbVmClusterPkcsResponse( + __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 UnregisterExadbVmClusterPkcsResponse)) { + return false; + } + + UnregisterExadbVmClusterPkcsResponse other = (UnregisterExadbVmClusterPkcsResponse) 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-database/src/main/java/com/oracle/bmc/database/responses/UpdateBaseccVmClusterResponse.java b/bmc-database/src/main/java/com/oracle/bmc/database/responses/UpdateBaseccVmClusterResponse.java new file mode 100644 index 00000000000..9a77b5dc8d7 --- /dev/null +++ b/bmc-database/src/main/java/com/oracle/bmc/database/responses/UpdateBaseccVmClusterResponse.java @@ -0,0 +1,267 @@ +/** + * 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.responses; + +import com.oracle.bmc.database.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") +public class UpdateBaseccVmClusterResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the + * status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track the + * status of the request. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + /** 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 BaseccVmCluster} instance. */ + private com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster; + + /** + * The returned {@code BaseccVmCluster} instance. + * + * @return the value + */ + public com.oracle.bmc.database.model.BaseccVmCluster getBaseccVmCluster() { + return baseccVmCluster; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcWorkRequestId", + "etag", + "opcRequestId", + "baseccVmCluster" + }) + private UpdateBaseccVmClusterResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcWorkRequestId, + String etag, + String opcRequestId, + com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster) { + super(__httpStatusCode__, headers); + this.opcWorkRequestId = opcWorkRequestId; + this.etag = etag; + this.opcRequestId = opcRequestId; + this.baseccVmCluster = baseccVmCluster; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID to track + * the status of the request. + */ + private String opcWorkRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. Multiple OCID values are returned in a comma-separated list. Use {@link + * #getWorkRequest(GetWorkRequestRequest) getWorkRequest} with a work request OCID 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; + } + + /** 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 BaseccVmCluster} instance. */ + private com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster; + + /** + * The returned {@code BaseccVmCluster} instance. + * + * @param baseccVmCluster the value to set + * @return this builder + */ + public Builder baseccVmCluster( + com.oracle.bmc.database.model.BaseccVmCluster baseccVmCluster) { + this.baseccVmCluster = baseccVmCluster; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(UpdateBaseccVmClusterResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcWorkRequestId(o.getOpcWorkRequestId()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + baseccVmCluster(o.getBaseccVmCluster()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public UpdateBaseccVmClusterResponse build() { + return new UpdateBaseccVmClusterResponse( + __httpStatusCode__, + headers, + opcWorkRequestId, + etag, + opcRequestId, + baseccVmCluster); + } + } + + /** + * 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(",etag=").append(String.valueOf(etag)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",baseccVmCluster=").append(String.valueOf(baseccVmCluster)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateBaseccVmClusterResponse)) { + return false; + } + + UpdateBaseccVmClusterResponse other = (UpdateBaseccVmClusterResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.baseccVmCluster, other.baseccVmCluster); + } + + @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.etag == null ? 43 : this.etag.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.baseccVmCluster == null ? 43 : this.baseccVmCluster.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 86349ed6256..0971f0505b8 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 @@ -2124,6 +2124,242 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmCluster", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmCluster$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmCluster$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmCluster$DatabaseEdition", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmCluster$LicenseModel", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmCluster$VmClusterType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterSummary$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterSummary$DatabaseEdition", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterSummary$LicenseModel", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterSummary$VmClusterType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdate", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdate$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdate$LastAction", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdate$AvailableActions", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdate$UpdateType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdate$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateDetails$UpdateAction", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry$UpdateAction", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry$UpdateType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntry$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary$UpdateAction", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary$UpdateType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateHistoryEntrySummary$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary$LastAction", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary$AvailableActions", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary$UpdateType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.BaseccVmClusterUpdateSummary$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.CancelExecutionWindowDetails", @@ -2180,6 +2416,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.ChangeBaseccVmClusterCompartmentDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.ChangeBaseccVmClusterCompartmentDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.ChangeCloudAutonomousVmClusterCompartmentDetails", @@ -3532,6 +3782,38 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.CreateBaseccVmClusterDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.CreateBaseccVmClusterDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.CreateBaseccVmClusterDetails$DatabaseEdition", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.CreateBaseccVmClusterDetails$LicenseModel", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.CreateBaseccVmClusterDetails$VmClusterType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.CreateCloudAutonomousVmClusterDetails", @@ -6744,6 +7026,26 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.ExadataLiveImageVersionDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.ExadataLiveImageVersionDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.ExadataLiveImageVersionDetails$UpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.ExadbVmCluster", @@ -6782,6 +7084,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.ExadbVmCluster$TdeKeyStoreType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.ExadbVmClusterStorageDetails", @@ -6834,6 +7142,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.ExadbVmClusterSummary$TdeKeyStoreType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.ExadbVmClusterUpdate", @@ -9235,6 +9549,26 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.RegisterExadbVmClusterPkcsDetails$TdeKeyStoreType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.ReinstateDataGuardAssociationDetails", @@ -10172,6 +10506,26 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UnregisterExadbVmClusterPkcsDetails$TdeKeyStoreType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.Update", @@ -10198,6 +10552,18 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.Update$LastUpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.Update$AvailableUpdateModes", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.Update$UpdateType", @@ -10454,6 +10820,26 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UpdateBaseccVmClusterDetails$LicenseModel", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.UpdateCloudAutonomousVmClusterDetails", @@ -10716,6 +11102,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UpdateDetails$UpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.UpdateExadataInfrastructureDetails", @@ -10907,6 +11299,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UpdateHistoryEntry$UpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.UpdateHistoryEntry$UpdateType", @@ -10939,6 +11337,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UpdateHistoryEntrySummary$UpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.UpdateHistoryEntrySummary$UpdateType", @@ -11087,6 +11491,18 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UpdateSummary$LastUpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.UpdateSummary$AvailableUpdateModes", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.UpdateSummary$UpdateType", @@ -11412,6 +11828,18 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.VmClusterUpdate$LastUpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.VmClusterUpdate$AvailableUpdateModes", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.VmClusterUpdate$AvailableActions", @@ -11444,6 +11872,12 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.VmClusterUpdateDetails$UpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.VmClusterUpdateDetails$UpdateAction", @@ -11470,6 +11904,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.VmClusterUpdateHistoryEntry$UpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.VmClusterUpdateHistoryEntry$UpdateType", @@ -11502,6 +11942,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.VmClusterUpdateHistoryEntrySummary$UpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.VmClusterUpdateHistoryEntrySummary$UpdateType", @@ -11534,6 +11980,18 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.VmClusterUpdateSummary$LastUpdateMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.database.model.VmClusterUpdateSummary$AvailableUpdateModes", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.database.model.VmClusterUpdateSummary$AvailableActions", diff --git a/bmc-databasemanagement/pom.xml b/bmc-databasemanagement/pom.xml index 7869f74e716..8c1e9de3432 100644 --- a/bmc-databasemanagement/pom.xml +++ b/bmc-databasemanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-databasemanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-databasemigration/pom.xml b/bmc-databasemigration/pom.xml index 5827ad26f48..39e15f2f1bb 100644 --- a/bmc-databasemigration/pom.xml +++ b/bmc-databasemigration/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-databasemigration @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-databasetools/pom.xml b/bmc-databasetools/pom.xml index ac4f48e8ef6..bf969df40a0 100644 --- a/bmc-databasetools/pom.xml +++ b/bmc-databasetools/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-databasetools @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-databasetoolsruntime/pom.xml b/bmc-databasetoolsruntime/pom.xml index 9df41e448f6..7d988827e91 100644 --- a/bmc-databasetoolsruntime/pom.xml +++ b/bmc-databasetoolsruntime/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-databasetoolsruntime @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-datacatalog/pom.xml b/bmc-datacatalog/pom.xml index bff166cbaa9..71134ef7823 100644 --- a/bmc-datacatalog/pom.xml +++ b/bmc-datacatalog/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-datacatalog @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-datacc/pom.xml b/bmc-datacc/pom.xml index 2120ff065e7..2715c584c02 100644 --- a/bmc-datacc/pom.xml +++ b/bmc-datacc/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-datacc @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-dataflow/pom.xml b/bmc-dataflow/pom.xml index 94b32e737e5..3b0f9afc9d9 100644 --- a/bmc-dataflow/pom.xml +++ b/bmc-dataflow/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-dataflow @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-dataintegration/pom.xml b/bmc-dataintegration/pom.xml index d4aad4368e4..42eb37bd054 100644 --- a/bmc-dataintegration/pom.xml +++ b/bmc-dataintegration/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-dataintegration @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-datalabelingservice/pom.xml b/bmc-datalabelingservice/pom.xml index 663ef095eeb..3a54ac37752 100644 --- a/bmc-datalabelingservice/pom.xml +++ b/bmc-datalabelingservice/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-datalabelingservice @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-datalabelingservicedataplane/pom.xml b/bmc-datalabelingservicedataplane/pom.xml index 6b4b30cf15f..65c8d056784 100644 --- a/bmc-datalabelingservicedataplane/pom.xml +++ b/bmc-datalabelingservicedataplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-datalabelingservicedataplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-datasafe/pom.xml b/bmc-datasafe/pom.xml index 116e9447355..c25beabf04b 100644 --- a/bmc-datasafe/pom.xml +++ b/bmc-datasafe/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-datasafe @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-datascience/pom.xml b/bmc-datascience/pom.xml index 6e3874926a1..0cd0cd4b2ba 100644 --- a/bmc-datascience/pom.xml +++ b/bmc-datascience/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-datascience @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-dblm/pom.xml b/bmc-dblm/pom.xml index 015473a17b7..8acb80b0d65 100644 --- a/bmc-dblm/pom.xml +++ b/bmc-dblm/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-dblm @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-dbmulticloud/pom.xml b/bmc-dbmulticloud/pom.xml index e35ac84af6c..62af747a38d 100644 --- a/bmc-dbmulticloud/pom.xml +++ b/bmc-dbmulticloud/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-dbmulticloud @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-delegateaccesscontrol/pom.xml b/bmc-delegateaccesscontrol/pom.xml index e6d74035a80..95ac1717355 100644 --- a/bmc-delegateaccesscontrol/pom.xml +++ b/bmc-delegateaccesscontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-delegateaccesscontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-demandsignal/pom.xml b/bmc-demandsignal/pom.xml index 2db7648f3d3..67f7df06427 100644 --- a/bmc-demandsignal/pom.xml +++ b/bmc-demandsignal/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-demandsignal @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-desktops/pom.xml b/bmc-desktops/pom.xml index 36e77271bf1..d15ba0d634f 100644 --- a/bmc-desktops/pom.xml +++ b/bmc-desktops/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-desktops @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-devops/pom.xml b/bmc-devops/pom.xml index 096254423d1..0dfe4b62867 100644 --- a/bmc-devops/pom.xml +++ b/bmc-devops/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-devops @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-dif/pom.xml b/bmc-dif/pom.xml index 17a955c805a..25115f1fedc 100644 --- a/bmc-dif/pom.xml +++ b/bmc-dif/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-dif @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-disasterrecovery/pom.xml b/bmc-disasterrecovery/pom.xml index 0cf63d4b861..cece53b867b 100644 --- a/bmc-disasterrecovery/pom.xml +++ b/bmc-disasterrecovery/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-disasterrecovery @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-distributeddatabase/pom.xml b/bmc-distributeddatabase/pom.xml index 74659da4aea..d8c7079d4e0 100644 --- a/bmc-distributeddatabase/pom.xml +++ b/bmc-distributeddatabase/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-distributeddatabase @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-dns/pom.xml b/bmc-dns/pom.xml index 65730f1d482..947867ec31d 100644 --- a/bmc-dns/pom.xml +++ b/bmc-dns/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.92.1 + 3.93.0 diff --git a/bmc-email/pom.xml b/bmc-email/pom.xml index 2b72cd60d2d..1a39bb653f0 100644 --- a/bmc-email/pom.xml +++ b/bmc-email/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 diff --git a/bmc-emaildataplane/pom.xml b/bmc-emaildataplane/pom.xml index 98414889f18..e66618d8e45 100644 --- a/bmc-emaildataplane/pom.xml +++ b/bmc-emaildataplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-emaildataplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-emwarehouse/pom.xml b/bmc-emwarehouse/pom.xml index 791f355be00..8aef1cba854 100644 --- a/bmc-emwarehouse/pom.xml +++ b/bmc-emwarehouse/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-emwarehouse @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-encryption/pom.xml b/bmc-encryption/pom.xml index b1040a9494e..8c18e880ce3 100644 --- a/bmc-encryption/pom.xml +++ b/bmc-encryption/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,17 +18,17 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-keymanagement - 3.92.1 + 3.93.0 com.fasterxml.jackson.core @@ -48,7 +48,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.92.1 + 3.93.0 test diff --git a/bmc-enforcer-rules/pom.xml b/bmc-enforcer-rules/pom.xml index 394cf51f1fd..7ee72f570fc 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.92.1 + 3.93.0 oci-java-sdk-enforcer-rules diff --git a/bmc-events/pom.xml b/bmc-events/pom.xml index a339c2f1450..26ecb39ce73 100644 --- a/bmc-events/pom.xml +++ b/bmc-events/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-events @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-examples/pom.xml b/bmc-examples/pom.xml index f292078a731..7b2525ade8e 100644 --- a/bmc-examples/pom.xml +++ b/bmc-examples/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-examples @@ -71,14 +71,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.92.1 + 3.93.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.92.1 + 3.93.0 pom import diff --git a/bmc-examples/src/main/java/InstancePrincipalsMetadataConfiguratorExample.java b/bmc-examples/src/main/java/InstancePrincipalsMetadataConfiguratorExample.java new file mode 100644 index 00000000000..5c54c51cc73 --- /dev/null +++ b/bmc-examples/src/main/java/InstancePrincipalsMetadataConfiguratorExample.java @@ -0,0 +1,100 @@ +/** + * 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. + */ +import com.oracle.bmc.auth.InstancePrincipalsAuthenticationDetailsProvider; +import com.oracle.bmc.http.ClientConfigurator; +import com.oracle.bmc.http.client.ProxyConfiguration; +import com.oracle.bmc.http.client.StandardClientProperties; +import com.oracle.bmc.identity.IdentityClient; +import com.oracle.bmc.identity.requests.ListRegionsRequest; +import com.oracle.bmc.identity.responses.ListRegionsResponse; + +import java.net.ConnectException; +import java.net.InetSocketAddress; +import java.net.Proxy; +import java.net.SocketTimeoutException; + +/** + * Demonstrates how to configure the metadata-service HTTP client used by instance principals. + * + *

{@code federationClientMetadataConfigurator(...)} is used for IMDS calls made while building + * the instance-principals provider, including region discovery and certificate/key retrieval. It + * does not configure the OCI Auth service token request or later service-client calls, so this + * example wires the same proxy configurator into those clients as well. + * + *

Set {@code OCI_METADATA_PROXY_URI} to enable the example proxy, and optionally {@code + * OCI_METADATA_PROXY_USERNAME} and {@code OCI_METADATA_PROXY_PASSWORD}, before running this example + * if the metadata, auth, and service calls must go through a proxy. + */ +public class InstancePrincipalsMetadataConfiguratorExample { + private static final String PROXY_URI_ENV_VAR = "OCI_METADATA_PROXY_URI"; + private static final String PROXY_USERNAME_ENV_VAR = "OCI_METADATA_PROXY_USERNAME"; + private static final String PROXY_PASSWORD_ENV_VAR = "OCI_METADATA_PROXY_PASSWORD"; + private static final String PROXY_HOST = "localhost"; + private static final int PROXY_PORT = 8889; + + public static void main(final String[] args) { + final ClientConfigurator proxyConfigurator = createProxyConfiguratorFromEnvironment(); + + final InstancePrincipalsAuthenticationDetailsProvider provider; + try { + provider = + InstancePrincipalsAuthenticationDetailsProvider.builder() + .federationClientMetadataConfigurator(proxyConfigurator) + .federationClientConfigurator(proxyConfigurator) + .build(); + } catch (Exception e) { + if (e.getCause() instanceof SocketTimeoutException + || e.getCause() instanceof ConnectException) { + System.out.println( + "This sample only works when running on an OCI instance. For more info see: https://docs.oracle.com/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm"); + return; + } + throw e; + } + + final IdentityClient identityClient = + IdentityClient.builder().clientConfigurator(proxyConfigurator).build(provider); + try { + System.out.println("Querying for list of regions via the Identity service"); + final ListRegionsResponse response = + identityClient.listRegions(ListRegionsRequest.builder().build()); + System.out.println("List of regions: " + response.getItems()); + } finally { + identityClient.close(); + } + } + + private static ClientConfigurator createProxyConfiguratorFromEnvironment() { + final String proxyUri = System.getenv(PROXY_URI_ENV_VAR); + if (isBlank(proxyUri)) { + return builder -> {}; + } + + final ProxyConfiguration proxyConfiguration = + ProxyConfiguration.builder() + .proxy(createHttpProxy()) + .username(emptyToNull(System.getenv(PROXY_USERNAME_ENV_VAR))) + .password(emptyToNullCharArray(System.getenv(PROXY_PASSWORD_ENV_VAR))) + .build(); + + return builder -> builder.property(StandardClientProperties.PROXY, proxyConfiguration); + } + + private static Proxy createHttpProxy() { + return new Proxy(Proxy.Type.HTTP, new InetSocketAddress(PROXY_HOST, PROXY_PORT)); + } + + private static String emptyToNull(final String value) { + return isBlank(value) ? null : value; + } + + private static char[] emptyToNullCharArray(final String value) { + return isBlank(value) ? null : value.toCharArray(); + } + + private static boolean isBlank(final String value) { + return value == null || value.trim().isEmpty(); + } +} diff --git a/bmc-filestorage/pom.xml b/bmc-filestorage/pom.xml index 9e0b208ec13..c490c7d9f41 100644 --- a/bmc-filestorage/pom.xml +++ b/bmc-filestorage/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 diff --git a/bmc-fleetappsmanagement/pom.xml b/bmc-fleetappsmanagement/pom.xml index 7adc09a3a5c..9a18ef2eeee 100644 --- a/bmc-fleetappsmanagement/pom.xml +++ b/bmc-fleetappsmanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-fleetappsmanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-fleetsoftwareupdate/pom.xml b/bmc-fleetsoftwareupdate/pom.xml index c56e469bd79..c6acba0e607 100644 --- a/bmc-fleetsoftwareupdate/pom.xml +++ b/bmc-fleetsoftwareupdate/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-fleetsoftwareupdate @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-full/pom.xml b/bmc-full/pom.xml index cd061b6e933..8e1c402c3b2 100644 --- a/bmc-full/pom.xml +++ b/bmc-full/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-full @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.92.1 + 3.93.0 pom import diff --git a/bmc-functions/pom.xml b/bmc-functions/pom.xml index 3675874422e..ff4154526d8 100644 --- a/bmc-functions/pom.xml +++ b/bmc-functions/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-functions @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-fusionapps/pom.xml b/bmc-fusionapps/pom.xml index ca524bf4f98..feda258b9d6 100644 --- a/bmc-fusionapps/pom.xml +++ b/bmc-fusionapps/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-fusionapps @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-gdp/pom.xml b/bmc-gdp/pom.xml index e093e07a9fb..87650aa90f4 100644 --- a/bmc-gdp/pom.xml +++ b/bmc-gdp/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-gdp @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-generativeai/pom.xml b/bmc-generativeai/pom.xml index f57c3ebf73d..2eac3734585 100644 --- a/bmc-generativeai/pom.xml +++ b/bmc-generativeai/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-generativeai @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-generativeai/src/main/java/com/oracle/bmc/generativeai/model/CreateDedicatedAiClusterDetails.java b/bmc-generativeai/src/main/java/com/oracle/bmc/generativeai/model/CreateDedicatedAiClusterDetails.java index f5e53bf6755..b07e84e638d 100644 --- a/bmc-generativeai/src/main/java/com/oracle/bmc/generativeai/model/CreateDedicatedAiClusterDetails.java +++ b/bmc-generativeai/src/main/java/com/oracle/bmc/generativeai/model/CreateDedicatedAiClusterDetails.java @@ -147,15 +147,16 @@ public Builder unitCount(Integer unitCount) { * LARGE_GENERIC_4 - SMALL_GENERIC_V2 - LARGE_GENERIC_2 - LARGE_GENERIC_V3 - LARGE_COHERE_V3 * - RERANK_COHERE - SMALL_GENERIC_V1 - MEDIUM_GENERIC_V1 - LARGE_GENERIC_V1 - A10_X1 - * A10_X2 - A10_X4 - A100_40G_X1 - A100_40G_X2 - A100_40G_X4 - A100_40G_X8 - A100_80G_X1 - - * A100_80G_X2 - A100_80G_X4 - A100_80G_X8 - H100_X1 - H100_X2 - H100_X4 - H100_X8 - H200_X1 - * - H200_X2 - H200_X4 - H200_X8 + * A100_80G_X2 - A100_80G_X4 - A100_80G_X8 - H100_X1 - H100_X2 - H100_X4 - H100_X8 - + * H100_X16 - H100_X32 - H200_X1 - H200_X2 - H200_X4 - H200_X8 * *

The following shapes can only be used to deploy imported models: - A10_X1, A10_X2, * A10_X4 - A100_40G_X1, A100_40G_X2, A100_40G_X4, A100_40G_X8 - A100_80G_X1, A100_80G_X2, - * A100_80G_X4, A100_80G_X8 - H100_X1, H100_X2, H100_X4, H100_X8 - H200_X1, H200_X2, - * H200_X4, H200_X8 - OAI_A10_X2 - OAI_H100_X1 - OAI_H100_X2 - OAI_H200_X1 - OAI_A100_80G_X1 - * - OAI_A100_80G_X2 - OAI_A100_40G_X1 - OAI_A100_40G_X4 - B200_X1 - B200_X2 - B200_X4 - - * B200_X8 - OAI_B200_X1 - OAI_B200_X2 - OAI_B200_X4 - OAI_B200_X8 - SB_B200_X1 + * A100_80G_X4, A100_80G_X8 - H100_X1, H100_X2, H100_X4, H100_X8 - H100_X16, H100_X32 - + * H200_X1, H200_X2, H200_X4, H200_X8 - OAI_A10_X2 - OAI_H100_X1 - OAI_H100_X2 - OAI_H200_X1 + * - OAI_A100_80G_X1 - OAI_A100_80G_X2 - OAI_A100_40G_X1 - OAI_A100_40G_X4 - B200_X1 - + * B200_X2 - B200_X4 - B200_X8 - OAI_B200_X1 - OAI_B200_X2 - OAI_B200_X4 - OAI_B200_X8 - + * SB_B200_X1 */ @com.fasterxml.jackson.annotation.JsonProperty("unitShape") private DedicatedAiCluster.UnitShape unitShape; @@ -169,15 +170,16 @@ public Builder unitCount(Integer unitCount) { * LARGE_GENERIC_4 - SMALL_GENERIC_V2 - LARGE_GENERIC_2 - LARGE_GENERIC_V3 - LARGE_COHERE_V3 * - RERANK_COHERE - SMALL_GENERIC_V1 - MEDIUM_GENERIC_V1 - LARGE_GENERIC_V1 - A10_X1 - * A10_X2 - A10_X4 - A100_40G_X1 - A100_40G_X2 - A100_40G_X4 - A100_40G_X8 - A100_80G_X1 - - * A100_80G_X2 - A100_80G_X4 - A100_80G_X8 - H100_X1 - H100_X2 - H100_X4 - H100_X8 - H200_X1 - * - H200_X2 - H200_X4 - H200_X8 + * A100_80G_X2 - A100_80G_X4 - A100_80G_X8 - H100_X1 - H100_X2 - H100_X4 - H100_X8 - + * H100_X16 - H100_X32 - H200_X1 - H200_X2 - H200_X4 - H200_X8 * *

The following shapes can only be used to deploy imported models: - A10_X1, A10_X2, * A10_X4 - A100_40G_X1, A100_40G_X2, A100_40G_X4, A100_40G_X8 - A100_80G_X1, A100_80G_X2, - * A100_80G_X4, A100_80G_X8 - H100_X1, H100_X2, H100_X4, H100_X8 - H200_X1, H200_X2, - * H200_X4, H200_X8 - OAI_A10_X2 - OAI_H100_X1 - OAI_H100_X2 - OAI_H200_X1 - OAI_A100_80G_X1 - * - OAI_A100_80G_X2 - OAI_A100_40G_X1 - OAI_A100_40G_X4 - B200_X1 - B200_X2 - B200_X4 - - * B200_X8 - OAI_B200_X1 - OAI_B200_X2 - OAI_B200_X4 - OAI_B200_X8 - SB_B200_X1 + * A100_80G_X4, A100_80G_X8 - H100_X1, H100_X2, H100_X4, H100_X8 - H100_X16, H100_X32 - + * H200_X1, H200_X2, H200_X4, H200_X8 - OAI_A10_X2 - OAI_H100_X1 - OAI_H100_X2 - OAI_H200_X1 + * - OAI_A100_80G_X1 - OAI_A100_80G_X2 - OAI_A100_40G_X1 - OAI_A100_40G_X4 - B200_X1 - + * B200_X2 - B200_X4 - B200_X8 - OAI_B200_X1 - OAI_B200_X2 - OAI_B200_X4 - OAI_B200_X8 - + * SB_B200_X1 * * @param unitShape the value to set * @return this builder @@ -380,15 +382,15 @@ public Integer getUnitCount() { * LARGE_GENERIC_4 - SMALL_GENERIC_V2 - LARGE_GENERIC_2 - LARGE_GENERIC_V3 - LARGE_COHERE_V3 - * RERANK_COHERE - SMALL_GENERIC_V1 - MEDIUM_GENERIC_V1 - LARGE_GENERIC_V1 - A10_X1 - A10_X2 - * A10_X4 - A100_40G_X1 - A100_40G_X2 - A100_40G_X4 - A100_40G_X8 - A100_80G_X1 - A100_80G_X2 - - * A100_80G_X4 - A100_80G_X8 - H100_X1 - H100_X2 - H100_X4 - H100_X8 - H200_X1 - H200_X2 - - * H200_X4 - H200_X8 + * A100_80G_X4 - A100_80G_X8 - H100_X1 - H100_X2 - H100_X4 - H100_X8 - H100_X16 - H100_X32 - + * H200_X1 - H200_X2 - H200_X4 - H200_X8 * *

The following shapes can only be used to deploy imported models: - A10_X1, A10_X2, A10_X4 * - A100_40G_X1, A100_40G_X2, A100_40G_X4, A100_40G_X8 - A100_80G_X1, A100_80G_X2, A100_80G_X4, - * A100_80G_X8 - H100_X1, H100_X2, H100_X4, H100_X8 - H200_X1, H200_X2, H200_X4, H200_X8 - - * OAI_A10_X2 - OAI_H100_X1 - OAI_H100_X2 - OAI_H200_X1 - OAI_A100_80G_X1 - OAI_A100_80G_X2 - - * OAI_A100_40G_X1 - OAI_A100_40G_X4 - B200_X1 - B200_X2 - B200_X4 - B200_X8 - OAI_B200_X1 - - * OAI_B200_X2 - OAI_B200_X4 - OAI_B200_X8 - SB_B200_X1 + * A100_80G_X8 - H100_X1, H100_X2, H100_X4, H100_X8 - H100_X16, H100_X32 - H200_X1, H200_X2, + * H200_X4, H200_X8 - OAI_A10_X2 - OAI_H100_X1 - OAI_H100_X2 - OAI_H200_X1 - OAI_A100_80G_X1 - + * OAI_A100_80G_X2 - OAI_A100_40G_X1 - OAI_A100_40G_X4 - B200_X1 - B200_X2 - B200_X4 - B200_X8 - + * OAI_B200_X1 - OAI_B200_X2 - OAI_B200_X4 - OAI_B200_X8 - SB_B200_X1 */ @com.fasterxml.jackson.annotation.JsonProperty("unitShape") private final DedicatedAiCluster.UnitShape unitShape; @@ -402,15 +404,15 @@ public Integer getUnitCount() { * LARGE_GENERIC_4 - SMALL_GENERIC_V2 - LARGE_GENERIC_2 - LARGE_GENERIC_V3 - LARGE_COHERE_V3 - * RERANK_COHERE - SMALL_GENERIC_V1 - MEDIUM_GENERIC_V1 - LARGE_GENERIC_V1 - A10_X1 - A10_X2 - * A10_X4 - A100_40G_X1 - A100_40G_X2 - A100_40G_X4 - A100_40G_X8 - A100_80G_X1 - A100_80G_X2 - - * A100_80G_X4 - A100_80G_X8 - H100_X1 - H100_X2 - H100_X4 - H100_X8 - H200_X1 - H200_X2 - - * H200_X4 - H200_X8 + * A100_80G_X4 - A100_80G_X8 - H100_X1 - H100_X2 - H100_X4 - H100_X8 - H100_X16 - H100_X32 - + * H200_X1 - H200_X2 - H200_X4 - H200_X8 * *

The following shapes can only be used to deploy imported models: - A10_X1, A10_X2, A10_X4 * - A100_40G_X1, A100_40G_X2, A100_40G_X4, A100_40G_X8 - A100_80G_X1, A100_80G_X2, A100_80G_X4, - * A100_80G_X8 - H100_X1, H100_X2, H100_X4, H100_X8 - H200_X1, H200_X2, H200_X4, H200_X8 - - * OAI_A10_X2 - OAI_H100_X1 - OAI_H100_X2 - OAI_H200_X1 - OAI_A100_80G_X1 - OAI_A100_80G_X2 - - * OAI_A100_40G_X1 - OAI_A100_40G_X4 - B200_X1 - B200_X2 - B200_X4 - B200_X8 - OAI_B200_X1 - - * OAI_B200_X2 - OAI_B200_X4 - OAI_B200_X8 - SB_B200_X1 + * A100_80G_X8 - H100_X1, H100_X2, H100_X4, H100_X8 - H100_X16, H100_X32 - H200_X1, H200_X2, + * H200_X4, H200_X8 - OAI_A10_X2 - OAI_H100_X1 - OAI_H100_X2 - OAI_H200_X1 - OAI_A100_80G_X1 - + * OAI_A100_80G_X2 - OAI_A100_40G_X1 - OAI_A100_40G_X4 - B200_X1 - B200_X2 - B200_X4 - B200_X8 - + * OAI_B200_X1 - OAI_B200_X2 - OAI_B200_X4 - OAI_B200_X8 - SB_B200_X1 * * @return the value */ diff --git a/bmc-generativeai/src/main/java/com/oracle/bmc/generativeai/model/DedicatedAiCluster.java b/bmc-generativeai/src/main/java/com/oracle/bmc/generativeai/model/DedicatedAiCluster.java index 0ccbbe8b592..bf242eac23e 100644 --- a/bmc-generativeai/src/main/java/com/oracle/bmc/generativeai/model/DedicatedAiCluster.java +++ b/bmc-generativeai/src/main/java/com/oracle/bmc/generativeai/model/DedicatedAiCluster.java @@ -775,6 +775,8 @@ public enum UnitShape implements com.oracle.bmc.http.internal.BmcEnum { H100X2("H100_X2"), H100X4("H100_X4"), H100X8("H100_X8"), + H100X16("H100_X16"), + H100X32("H100_X32"), H200X1("H200_X1"), H200X2("H200_X2"), H200X4("H200_X4"), diff --git a/bmc-generativeaiagent/pom.xml b/bmc-generativeaiagent/pom.xml index 5fa2b9e86ce..7a8dabdad62 100644 --- a/bmc-generativeaiagent/pom.xml +++ b/bmc-generativeaiagent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-generativeaiagent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-generativeaiagentruntime/pom.xml b/bmc-generativeaiagentruntime/pom.xml index 33c711ebc61..63702a30668 100644 --- a/bmc-generativeaiagentruntime/pom.xml +++ b/bmc-generativeaiagentruntime/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-generativeaiagentruntime @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-generativeaidata/pom.xml b/bmc-generativeaidata/pom.xml index d4f76e5c274..0114baeecc4 100644 --- a/bmc-generativeaidata/pom.xml +++ b/bmc-generativeaidata/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-generativeaidata @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-generativeaiinference/pom.xml b/bmc-generativeaiinference/pom.xml index 71c643f645f..0a6cf710a96 100644 --- a/bmc-generativeaiinference/pom.xml +++ b/bmc-generativeaiinference/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-generativeaiinference @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-genericartifactscontent/pom.xml b/bmc-genericartifactscontent/pom.xml index fd4dfd09660..f4152bd9577 100644 --- a/bmc-genericartifactscontent/pom.xml +++ b/bmc-genericartifactscontent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-genericartifactscontent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-goldengate/pom.xml b/bmc-goldengate/pom.xml index fd6a3c9efe1..b847ca7a3eb 100644 --- a/bmc-goldengate/pom.xml +++ b/bmc-goldengate/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-goldengate @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGate.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGate.java index 1142be08728..6b6d3d8f976 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGate.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGate.java @@ -850,6 +850,38 @@ GetDisasterRecoveryPrecheckReportResponse getDisasterRecoveryPrecheckReport( */ ImportDeploymentWalletResponse importDeploymentWallet(ImportDeploymentWalletRequest request); + /** + * Returns the list of AI models for the specified provider. If the provider requires additional + * context to resolve its supported models, that context must be supplied in the request. + * + * @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 ListAiModels API. + */ + ListAiModelsResponse listAiModels(ListAiModelsRequest request); + + /** + * Returns the list of AI providers along with their supported models. + * + * @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 ListAiProviders + * API. + */ + ListAiProvidersResponse listAiProviders(ListAiProvidersRequest request); + /** * Returns a list of certificates from truststore. * diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateAsync.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateAsync.java index 874e4358924..84d7a88307b 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateAsync.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateAsync.java @@ -836,6 +836,37 @@ java.util.concurrent.Future importDeploymentWall ImportDeploymentWalletRequest, ImportDeploymentWalletResponse> handler); + /** + * Returns the list of AI models for the specified provider. If the provider requires additional + * context to resolve its supported models, that context must be supplied in the request. + * + * @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 listAiModels( + ListAiModelsRequest request, + com.oracle.bmc.responses.AsyncHandler + handler); + + /** + * Returns the list of AI providers along with their supported models. + * + * @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 listAiProviders( + ListAiProvidersRequest request, + com.oracle.bmc.responses.AsyncHandler + handler); + /** * Returns a list of certificates from truststore. * diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateAsyncClient.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateAsyncClient.java index 56f9adcd586..5e93d67a6cc 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateAsyncClient.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateAsyncClient.java @@ -1812,6 +1812,68 @@ public java.util.concurrent.Future importDeploym .callAsync(handler); } + @Override + public java.util.concurrent.Future listAiModels( + ListAiModelsRequest request, + final com.oracle.bmc.responses.AsyncHandler + handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + Objects.requireNonNull(request.getProviderType(), "providerType is required"); + + return clientCall(request, ListAiModelsResponse::builder) + .logger(LOG, "listAiModels") + .serviceDetails( + "GoldenGate", + "ListAiModels", + "https://docs.oracle.com/iaas/api/#/en/goldengate/20200407/AiModelCollection/ListAiModels") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListAiModelsRequest::builder) + .basePath("/20200407") + .appendPathParam("aiModels") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendEnumQueryParam("providerType", request.getProviderType()) + .appendQueryParam("region", request.getRegion()) + .appendQueryParam("tenancyId", request.getTenancyId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.goldengate.model.AiModelCollection.class, + ListAiModelsResponse.Builder::aiModelCollection) + .handleResponseHeaderString( + "opc-request-id", ListAiModelsResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future listAiProviders( + ListAiProvidersRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListAiProvidersRequest, ListAiProvidersResponse> + handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListAiProvidersResponse::builder) + .logger(LOG, "listAiProviders") + .serviceDetails( + "GoldenGate", + "ListAiProviders", + "https://docs.oracle.com/iaas/api/#/en/goldengate/20200407/AiProviderCollection/ListAiProviders") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListAiProvidersRequest::builder) + .basePath("/20200407") + .appendPathParam("aiProviders") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.goldengate.model.AiProviderCollection.class, + ListAiProvidersResponse.Builder::aiProviderCollection) + .handleResponseHeaderString( + "opc-request-id", ListAiProvidersResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future listCertificates( ListCertificatesRequest request, @@ -1871,6 +1933,14 @@ public java.util.concurrent.Future listConnec .appendQueryParam("compartmentId", request.getCompartmentId()) .appendQueryParam("deploymentId", request.getDeploymentId()) .appendQueryParam("connectionId", request.getConnectionId()) + .appendListQueryParam( + "connectionType", + request.getConnectionType(), + com.oracle.bmc.util.internal.CollectionFormatType.Multi) + .appendListQueryParam( + "connectionTypeNotEqualTo", + request.getConnectionTypeNotEqualTo(), + com.oracle.bmc.util.internal.CollectionFormatType.Multi) .appendQueryParam("name", request.getName()) .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) .appendQueryParam("limit", request.getLimit()) @@ -1916,6 +1986,10 @@ public java.util.concurrent.Future listConnections( "connectionType", request.getConnectionType(), com.oracle.bmc.util.internal.CollectionFormatType.Multi) + .appendListQueryParam( + "connectionTypeNotEqualTo", + request.getConnectionTypeNotEqualTo(), + com.oracle.bmc.util.internal.CollectionFormatType.Multi) .appendQueryParam("assignedDeploymentId", request.getAssignedDeploymentId()) .appendQueryParam("assignableDeploymentId", request.getAssignableDeploymentId()) .appendEnumQueryParam( diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateClient.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateClient.java index 0147a47260c..ef807d0a73b 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateClient.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/GoldenGateClient.java @@ -1702,6 +1702,63 @@ public ImportDeploymentWalletResponse importDeploymentWallet( .callSync(); } + @Override + public ListAiModelsResponse listAiModels(ListAiModelsRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + Objects.requireNonNull(request.getProviderType(), "providerType is required"); + + return clientCall(request, ListAiModelsResponse::builder) + .logger(LOG, "listAiModels") + .serviceDetails( + "GoldenGate", + "ListAiModels", + "https://docs.oracle.com/iaas/api/#/en/goldengate/20200407/AiModelCollection/ListAiModels") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListAiModelsRequest::builder) + .basePath("/20200407") + .appendPathParam("aiModels") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendEnumQueryParam("providerType", request.getProviderType()) + .appendQueryParam("region", request.getRegion()) + .appendQueryParam("tenancyId", request.getTenancyId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.goldengate.model.AiModelCollection.class, + ListAiModelsResponse.Builder::aiModelCollection) + .handleResponseHeaderString( + "opc-request-id", ListAiModelsResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public ListAiProvidersResponse listAiProviders(ListAiProvidersRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListAiProvidersResponse::builder) + .logger(LOG, "listAiProviders") + .serviceDetails( + "GoldenGate", + "ListAiProviders", + "https://docs.oracle.com/iaas/api/#/en/goldengate/20200407/AiProviderCollection/ListAiProviders") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListAiProvidersRequest::builder) + .basePath("/20200407") + .appendPathParam("aiProviders") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.goldengate.model.AiProviderCollection.class, + ListAiProvidersResponse.Builder::aiProviderCollection) + .handleResponseHeaderString( + "opc-request-id", ListAiProvidersResponse.Builder::opcRequestId) + .callSync(); + } + @Override public ListCertificatesResponse listCertificates(ListCertificatesRequest request) { @@ -1755,6 +1812,14 @@ public ListConnectionAssignmentsResponse listConnectionAssignments( .appendQueryParam("compartmentId", request.getCompartmentId()) .appendQueryParam("deploymentId", request.getDeploymentId()) .appendQueryParam("connectionId", request.getConnectionId()) + .appendListQueryParam( + "connectionType", + request.getConnectionType(), + com.oracle.bmc.util.internal.CollectionFormatType.Multi) + .appendListQueryParam( + "connectionTypeNotEqualTo", + request.getConnectionTypeNotEqualTo(), + com.oracle.bmc.util.internal.CollectionFormatType.Multi) .appendQueryParam("name", request.getName()) .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) .appendQueryParam("limit", request.getLimit()) @@ -1797,6 +1862,10 @@ public ListConnectionsResponse listConnections(ListConnectionsRequest request) { "connectionType", request.getConnectionType(), com.oracle.bmc.util.internal.CollectionFormatType.Multi) + .appendListQueryParam( + "connectionTypeNotEqualTo", + request.getConnectionTypeNotEqualTo(), + com.oracle.bmc.util.internal.CollectionFormatType.Multi) .appendQueryParam("assignedDeploymentId", request.getAssignedDeploymentId()) .appendQueryParam("assignableDeploymentId", request.getAssignableDeploymentId()) .appendEnumQueryParam( diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthDetails.java new file mode 100644 index 00000000000..8fb3aac84b8 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthDetails.java @@ -0,0 +1,80 @@ +/** + * 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.goldengate.model; + +/** + * Represents authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType", + defaultImpl = AiModelAuthDetails.class) +@com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = OciGenAiModelAuthDetails.class, + name = "OCI_GEN_AI"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = ApiKeyAiModelAuthDetails.class, + name = "API_KEY") +}) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public class AiModelAuthDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({}) + protected AiModelAuthDetails() { + 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("AiModelAuthDetails("); + 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 AiModelAuthDetails)) { + return false; + } + + AiModelAuthDetails other = (AiModelAuthDetails) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthDetailsSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthDetailsSummary.java new file mode 100644 index 00000000000..1de2112aaaf --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthDetailsSummary.java @@ -0,0 +1,81 @@ +/** + * 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.goldengate.model; + +/** + * Summary of authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType", + defaultImpl = AiModelAuthDetailsSummary.class) +@com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = ApiKeyAiModelAuthDetailsSummary.class, + name = "API_KEY"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = OciGenAiModelAuthDetailsSummary.class, + name = "OCI_GEN_AI") +}) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public class AiModelAuthDetailsSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({}) + protected AiModelAuthDetailsSummary() { + 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("AiModelAuthDetailsSummary("); + 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 AiModelAuthDetailsSummary)) { + return false; + } + + AiModelAuthDetailsSummary other = (AiModelAuthDetailsSummary) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthType.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthType.java new file mode 100644 index 00000000000..8a4ae1dd630 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelAuthType.java @@ -0,0 +1,53 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.goldengate.model; + +/** Authentication type used by the AI model connection. */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20200407") +public enum AiModelAuthType implements com.oracle.bmc.http.internal.BmcEnum { + OciGenAi("OCI_GEN_AI"), + ApiKey("API_KEY"), + + /** + * 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(AiModelAuthType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (AiModelAuthType v : AiModelAuthType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + AiModelAuthType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static AiModelAuthType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'AiModelAuthType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelCollection.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelCollection.java new file mode 100644 index 00000000000..c4b14a61494 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelCollection.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.goldengate.model; + +/** + * Collection of AI models currently known by GoldenGate for the specified provider.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = AiModelCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class AiModelCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public AiModelCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** An array of AI models. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * An array of AI models. + * + * @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 AiModelCollection build() { + AiModelCollection model = new AiModelCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(AiModelCollection 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); + } + + /** An array of AI models. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * An array of AI models. + * + * @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("AiModelCollection("); + 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 AiModelCollection)) { + return false; + } + + AiModelCollection other = (AiModelCollection) 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-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelConnection.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelConnection.java new file mode 100644 index 00000000000..84abbedd8ca --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelConnection.java @@ -0,0 +1,702 @@ +/** + * 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.goldengate.model; + +/** + * Represents the metadata of an AI Model Connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = AiModelConnection.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "connectionType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class AiModelConnection extends Connection { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private String lifecycleDetails; + + public Builder lifecycleDetails(String lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + public Builder timeUpdated(java.util.Date timeUpdated) { + this.timeUpdated = timeUpdated; + this.__explicitlySet__.add("timeUpdated"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("locks") + private java.util.List locks; + + public Builder locks(java.util.List locks) { + this.locks = locks; + this.__explicitlySet__.add("locks"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") + private String vaultId; + + public Builder vaultId(String vaultId) { + this.vaultId = vaultId; + this.__explicitlySet__.add("vaultId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("keyId") + private String keyId; + + public Builder keyId(String keyId) { + this.keyId = keyId; + this.__explicitlySet__.add("keyId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("ingressIps") + private java.util.List ingressIps; + + public Builder ingressIps(java.util.List ingressIps) { + this.ingressIps = ingressIps; + this.__explicitlySet__.add("ingressIps"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") + private java.util.List nsgIds; + + public Builder nsgIds(java.util.List nsgIds) { + this.nsgIds = nsgIds; + this.__explicitlySet__.add("nsgIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") + private String subnetId; + + public Builder subnetId(String subnetId) { + this.subnetId = subnetId; + this.__explicitlySet__.add("subnetId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + private RoutingMethod routingMethod; + + public Builder routingMethod(RoutingMethod routingMethod) { + this.routingMethod = routingMethod; + this.__explicitlySet__.add("routingMethod"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + private Boolean doesUseSecretIds; + + public Builder doesUseSecretIds(Boolean doesUseSecretIds) { + this.doesUseSecretIds = doesUseSecretIds; + this.__explicitlySet__.add("doesUseSecretIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private String subscriptionId; + + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + this.__explicitlySet__.add("subscriptionId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("clusterPlacementGroupId") + private String clusterPlacementGroupId; + + public Builder clusterPlacementGroupId(String clusterPlacementGroupId) { + this.clusterPlacementGroupId = clusterPlacementGroupId; + this.__explicitlySet__.add("clusterPlacementGroupId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + private java.util.Map> securityAttributes; + + public Builder securityAttributes( + java.util.Map> securityAttributes) { + this.securityAttributes = securityAttributes; + this.__explicitlySet__.add("securityAttributes"); + return this; + } + /** The AI Model technology type. */ + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + private TechnologyType technologyType; + + /** + * The AI Model technology type. + * + * @param technologyType the value to set + * @return this builder + */ + public Builder technologyType(TechnologyType technologyType) { + this.technologyType = technologyType; + this.__explicitlySet__.add("technologyType"); + return this; + } + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @param providerType the value to set + * @return this builder + */ + public Builder providerType(ProviderType providerType) { + this.providerType = providerType; + this.__explicitlySet__.add("providerType"); + return this; + } + /** AI model identifier. */ + @com.fasterxml.jackson.annotation.JsonProperty("modelKey") + private String modelKey; + + /** + * AI model identifier. + * + * @param modelKey the value to set + * @return this builder + */ + public Builder modelKey(String modelKey) { + this.modelKey = modelKey; + this.__explicitlySet__.add("modelKey"); + return this; + } + /** Maximum number of input characters supported by this AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("maxInputChars") + private Integer maxInputChars; + + /** + * Maximum number of input characters supported by this AI model connection. + * + * @param maxInputChars the value to set + * @return this builder + */ + public Builder maxInputChars(Integer maxInputChars) { + this.maxInputChars = maxInputChars; + this.__explicitlySet__.add("maxInputChars"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("authDetails") + private AiModelAuthDetails authDetails; + + public Builder authDetails(AiModelAuthDetails authDetails) { + this.authDetails = authDetails; + this.__explicitlySet__.add("authDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public AiModelConnection build() { + AiModelConnection model = + new AiModelConnection( + this.id, + this.displayName, + this.description, + this.compartmentId, + this.freeformTags, + this.definedTags, + this.systemTags, + this.lifecycleState, + this.lifecycleDetails, + this.timeCreated, + this.timeUpdated, + this.locks, + this.vaultId, + this.keyId, + this.ingressIps, + this.nsgIds, + this.subnetId, + this.routingMethod, + this.doesUseSecretIds, + this.subscriptionId, + this.clusterPlacementGroupId, + this.securityAttributes, + this.technologyType, + this.providerType, + this.modelKey, + this.maxInputChars, + this.authDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(AiModelConnection model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + 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("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("locks")) { + this.locks(model.getLocks()); + } + if (model.wasPropertyExplicitlySet("vaultId")) { + this.vaultId(model.getVaultId()); + } + if (model.wasPropertyExplicitlySet("keyId")) { + this.keyId(model.getKeyId()); + } + if (model.wasPropertyExplicitlySet("ingressIps")) { + this.ingressIps(model.getIngressIps()); + } + if (model.wasPropertyExplicitlySet("nsgIds")) { + this.nsgIds(model.getNsgIds()); + } + if (model.wasPropertyExplicitlySet("subnetId")) { + this.subnetId(model.getSubnetId()); + } + if (model.wasPropertyExplicitlySet("routingMethod")) { + this.routingMethod(model.getRoutingMethod()); + } + if (model.wasPropertyExplicitlySet("doesUseSecretIds")) { + this.doesUseSecretIds(model.getDoesUseSecretIds()); + } + if (model.wasPropertyExplicitlySet("subscriptionId")) { + this.subscriptionId(model.getSubscriptionId()); + } + if (model.wasPropertyExplicitlySet("clusterPlacementGroupId")) { + this.clusterPlacementGroupId(model.getClusterPlacementGroupId()); + } + if (model.wasPropertyExplicitlySet("securityAttributes")) { + this.securityAttributes(model.getSecurityAttributes()); + } + if (model.wasPropertyExplicitlySet("technologyType")) { + this.technologyType(model.getTechnologyType()); + } + if (model.wasPropertyExplicitlySet("providerType")) { + this.providerType(model.getProviderType()); + } + if (model.wasPropertyExplicitlySet("modelKey")) { + this.modelKey(model.getModelKey()); + } + if (model.wasPropertyExplicitlySet("maxInputChars")) { + this.maxInputChars(model.getMaxInputChars()); + } + if (model.wasPropertyExplicitlySet("authDetails")) { + this.authDetails(model.getAuthDetails()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public AiModelConnection( + String id, + String displayName, + String description, + String compartmentId, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags, + LifecycleState lifecycleState, + String lifecycleDetails, + java.util.Date timeCreated, + java.util.Date timeUpdated, + java.util.List locks, + String vaultId, + String keyId, + java.util.List ingressIps, + java.util.List nsgIds, + String subnetId, + RoutingMethod routingMethod, + Boolean doesUseSecretIds, + String subscriptionId, + String clusterPlacementGroupId, + java.util.Map> securityAttributes, + TechnologyType technologyType, + ProviderType providerType, + String modelKey, + Integer maxInputChars, + AiModelAuthDetails authDetails) { + super( + id, + displayName, + description, + compartmentId, + freeformTags, + definedTags, + systemTags, + lifecycleState, + lifecycleDetails, + timeCreated, + timeUpdated, + locks, + vaultId, + keyId, + ingressIps, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + subscriptionId, + clusterPlacementGroupId, + securityAttributes); + this.technologyType = technologyType; + this.providerType = providerType; + this.modelKey = modelKey; + this.maxInputChars = maxInputChars; + this.authDetails = authDetails; + } + + /** The AI Model technology type. */ + public enum TechnologyType implements com.oracle.bmc.http.internal.BmcEnum { + AiModel("AI_MODEL"), + + /** + * 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(TechnologyType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (TechnologyType v : TechnologyType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + TechnologyType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static TechnologyType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'TechnologyType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The AI Model technology type. */ + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + private final TechnologyType technologyType; + + /** + * The AI Model technology type. + * + * @return the value + */ + public TechnologyType getTechnologyType() { + return technologyType; + } + + /** AI Provider type used by the AI Model Connection. */ + public enum ProviderType implements com.oracle.bmc.http.internal.BmcEnum { + OciGenerativeAi("OCI_GENERATIVE_AI"), + Gemini("GEMINI"), + OpenAi("OPEN_AI"), + VoyageAi("VOYAGE_AI"), + + /** + * 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(ProviderType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (ProviderType v : ProviderType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + ProviderType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static ProviderType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'ProviderType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private final ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @return the value + */ + public ProviderType getProviderType() { + return providerType; + } + + /** AI model identifier. */ + @com.fasterxml.jackson.annotation.JsonProperty("modelKey") + private final String modelKey; + + /** + * AI model identifier. + * + * @return the value + */ + public String getModelKey() { + return modelKey; + } + + /** Maximum number of input characters supported by this AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("maxInputChars") + private final Integer maxInputChars; + + /** + * Maximum number of input characters supported by this AI model connection. + * + * @return the value + */ + public Integer getMaxInputChars() { + return maxInputChars; + } + + @com.fasterxml.jackson.annotation.JsonProperty("authDetails") + private final AiModelAuthDetails authDetails; + + public AiModelAuthDetails getAuthDetails() { + return authDetails; + } + + @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("AiModelConnection("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", technologyType=").append(String.valueOf(this.technologyType)); + sb.append(", providerType=").append(String.valueOf(this.providerType)); + sb.append(", modelKey=").append(String.valueOf(this.modelKey)); + sb.append(", maxInputChars=").append(String.valueOf(this.maxInputChars)); + sb.append(", authDetails=").append(String.valueOf(this.authDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AiModelConnection)) { + return false; + } + + AiModelConnection other = (AiModelConnection) o; + return java.util.Objects.equals(this.technologyType, other.technologyType) + && java.util.Objects.equals(this.providerType, other.providerType) + && java.util.Objects.equals(this.modelKey, other.modelKey) + && java.util.Objects.equals(this.maxInputChars, other.maxInputChars) + && java.util.Objects.equals(this.authDetails, other.authDetails) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.technologyType == null ? 43 : this.technologyType.hashCode()); + result = (result * PRIME) + (this.providerType == null ? 43 : this.providerType.hashCode()); + result = (result * PRIME) + (this.modelKey == null ? 43 : this.modelKey.hashCode()); + result = + (result * PRIME) + + (this.maxInputChars == null ? 43 : this.maxInputChars.hashCode()); + result = (result * PRIME) + (this.authDetails == null ? 43 : this.authDetails.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelConnectionSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelConnectionSummary.java new file mode 100644 index 00000000000..1d8014e665e --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelConnectionSummary.java @@ -0,0 +1,657 @@ +/** + * 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.goldengate.model; + +/** + * Summary of the AI Model Connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = AiModelConnectionSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "connectionType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class AiModelConnectionSummary extends ConnectionSummary { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private Connection.LifecycleState lifecycleState; + + public Builder lifecycleState(Connection.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private String lifecycleDetails; + + public Builder lifecycleDetails(String lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + public Builder timeCreated(java.util.Date timeCreated) { + this.timeCreated = timeCreated; + this.__explicitlySet__.add("timeCreated"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + public Builder timeUpdated(java.util.Date timeUpdated) { + this.timeUpdated = timeUpdated; + this.__explicitlySet__.add("timeUpdated"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") + private String vaultId; + + public Builder vaultId(String vaultId) { + this.vaultId = vaultId; + this.__explicitlySet__.add("vaultId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("keyId") + private String keyId; + + public Builder keyId(String keyId) { + this.keyId = keyId; + this.__explicitlySet__.add("keyId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("ingressIps") + private java.util.List ingressIps; + + public Builder ingressIps(java.util.List ingressIps) { + this.ingressIps = ingressIps; + this.__explicitlySet__.add("ingressIps"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") + private java.util.List nsgIds; + + public Builder nsgIds(java.util.List nsgIds) { + this.nsgIds = nsgIds; + this.__explicitlySet__.add("nsgIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") + private String subnetId; + + public Builder subnetId(String subnetId) { + this.subnetId = subnetId; + this.__explicitlySet__.add("subnetId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + private RoutingMethod routingMethod; + + public Builder routingMethod(RoutingMethod routingMethod) { + this.routingMethod = routingMethod; + this.__explicitlySet__.add("routingMethod"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("locks") + private java.util.List locks; + + public Builder locks(java.util.List locks) { + this.locks = locks; + this.__explicitlySet__.add("locks"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + private Boolean doesUseSecretIds; + + public Builder doesUseSecretIds(Boolean doesUseSecretIds) { + this.doesUseSecretIds = doesUseSecretIds; + this.__explicitlySet__.add("doesUseSecretIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private String subscriptionId; + + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + this.__explicitlySet__.add("subscriptionId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("clusterPlacementGroupId") + private String clusterPlacementGroupId; + + public Builder clusterPlacementGroupId(String clusterPlacementGroupId) { + this.clusterPlacementGroupId = clusterPlacementGroupId; + this.__explicitlySet__.add("clusterPlacementGroupId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + private java.util.Map> securityAttributes; + + public Builder securityAttributes( + java.util.Map> securityAttributes) { + this.securityAttributes = securityAttributes; + this.__explicitlySet__.add("securityAttributes"); + return this; + } + /** The AI Model technology type. */ + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + private AiModelConnection.TechnologyType technologyType; + + /** + * The AI Model technology type. + * + * @param technologyType the value to set + * @return this builder + */ + public Builder technologyType(AiModelConnection.TechnologyType technologyType) { + this.technologyType = technologyType; + this.__explicitlySet__.add("technologyType"); + return this; + } + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @param providerType the value to set + * @return this builder + */ + public Builder providerType(ProviderType providerType) { + this.providerType = providerType; + this.__explicitlySet__.add("providerType"); + return this; + } + /** AI model identifier. */ + @com.fasterxml.jackson.annotation.JsonProperty("modelKey") + private String modelKey; + + /** + * AI model identifier. + * + * @param modelKey the value to set + * @return this builder + */ + public Builder modelKey(String modelKey) { + this.modelKey = modelKey; + this.__explicitlySet__.add("modelKey"); + return this; + } + /** Maximum number of input characters supported by this AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("maxInputChars") + private Integer maxInputChars; + + /** + * Maximum number of input characters supported by this AI model connection. + * + * @param maxInputChars the value to set + * @return this builder + */ + public Builder maxInputChars(Integer maxInputChars) { + this.maxInputChars = maxInputChars; + this.__explicitlySet__.add("maxInputChars"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("authDetails") + private AiModelAuthDetailsSummary authDetails; + + public Builder authDetails(AiModelAuthDetailsSummary authDetails) { + this.authDetails = authDetails; + this.__explicitlySet__.add("authDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public AiModelConnectionSummary build() { + AiModelConnectionSummary model = + new AiModelConnectionSummary( + this.id, + this.displayName, + this.description, + this.compartmentId, + this.freeformTags, + this.definedTags, + this.systemTags, + this.lifecycleState, + this.lifecycleDetails, + this.timeCreated, + this.timeUpdated, + this.vaultId, + this.keyId, + this.ingressIps, + this.nsgIds, + this.subnetId, + this.routingMethod, + this.locks, + this.doesUseSecretIds, + this.subscriptionId, + this.clusterPlacementGroupId, + this.securityAttributes, + this.technologyType, + this.providerType, + this.modelKey, + this.maxInputChars, + this.authDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(AiModelConnectionSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + 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("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("vaultId")) { + this.vaultId(model.getVaultId()); + } + if (model.wasPropertyExplicitlySet("keyId")) { + this.keyId(model.getKeyId()); + } + if (model.wasPropertyExplicitlySet("ingressIps")) { + this.ingressIps(model.getIngressIps()); + } + if (model.wasPropertyExplicitlySet("nsgIds")) { + this.nsgIds(model.getNsgIds()); + } + if (model.wasPropertyExplicitlySet("subnetId")) { + this.subnetId(model.getSubnetId()); + } + if (model.wasPropertyExplicitlySet("routingMethod")) { + this.routingMethod(model.getRoutingMethod()); + } + if (model.wasPropertyExplicitlySet("locks")) { + this.locks(model.getLocks()); + } + if (model.wasPropertyExplicitlySet("doesUseSecretIds")) { + this.doesUseSecretIds(model.getDoesUseSecretIds()); + } + if (model.wasPropertyExplicitlySet("subscriptionId")) { + this.subscriptionId(model.getSubscriptionId()); + } + if (model.wasPropertyExplicitlySet("clusterPlacementGroupId")) { + this.clusterPlacementGroupId(model.getClusterPlacementGroupId()); + } + if (model.wasPropertyExplicitlySet("securityAttributes")) { + this.securityAttributes(model.getSecurityAttributes()); + } + if (model.wasPropertyExplicitlySet("technologyType")) { + this.technologyType(model.getTechnologyType()); + } + if (model.wasPropertyExplicitlySet("providerType")) { + this.providerType(model.getProviderType()); + } + if (model.wasPropertyExplicitlySet("modelKey")) { + this.modelKey(model.getModelKey()); + } + if (model.wasPropertyExplicitlySet("maxInputChars")) { + this.maxInputChars(model.getMaxInputChars()); + } + if (model.wasPropertyExplicitlySet("authDetails")) { + this.authDetails(model.getAuthDetails()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public AiModelConnectionSummary( + String id, + String displayName, + String description, + String compartmentId, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.Map> systemTags, + Connection.LifecycleState lifecycleState, + String lifecycleDetails, + java.util.Date timeCreated, + java.util.Date timeUpdated, + String vaultId, + String keyId, + java.util.List ingressIps, + java.util.List nsgIds, + String subnetId, + RoutingMethod routingMethod, + java.util.List locks, + Boolean doesUseSecretIds, + String subscriptionId, + String clusterPlacementGroupId, + java.util.Map> securityAttributes, + AiModelConnection.TechnologyType technologyType, + ProviderType providerType, + String modelKey, + Integer maxInputChars, + AiModelAuthDetailsSummary authDetails) { + super( + id, + displayName, + description, + compartmentId, + freeformTags, + definedTags, + systemTags, + lifecycleState, + lifecycleDetails, + timeCreated, + timeUpdated, + vaultId, + keyId, + ingressIps, + nsgIds, + subnetId, + routingMethod, + locks, + doesUseSecretIds, + subscriptionId, + clusterPlacementGroupId, + securityAttributes); + this.technologyType = technologyType; + this.providerType = providerType; + this.modelKey = modelKey; + this.maxInputChars = maxInputChars; + this.authDetails = authDetails; + } + + /** The AI Model technology type. */ + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + private final AiModelConnection.TechnologyType technologyType; + + /** + * The AI Model technology type. + * + * @return the value + */ + public AiModelConnection.TechnologyType getTechnologyType() { + return technologyType; + } + + /** AI Provider type used by the AI Model Connection. */ + public enum ProviderType implements com.oracle.bmc.http.internal.BmcEnum { + OciGenerativeAi("OCI_GENERATIVE_AI"), + Gemini("GEMINI"), + OpenAi("OPEN_AI"), + VoyageAi("VOYAGE_AI"), + + /** + * 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(ProviderType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (ProviderType v : ProviderType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + ProviderType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static ProviderType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'ProviderType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private final ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @return the value + */ + public ProviderType getProviderType() { + return providerType; + } + + /** AI model identifier. */ + @com.fasterxml.jackson.annotation.JsonProperty("modelKey") + private final String modelKey; + + /** + * AI model identifier. + * + * @return the value + */ + public String getModelKey() { + return modelKey; + } + + /** Maximum number of input characters supported by this AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("maxInputChars") + private final Integer maxInputChars; + + /** + * Maximum number of input characters supported by this AI model connection. + * + * @return the value + */ + public Integer getMaxInputChars() { + return maxInputChars; + } + + @com.fasterxml.jackson.annotation.JsonProperty("authDetails") + private final AiModelAuthDetailsSummary authDetails; + + public AiModelAuthDetailsSummary getAuthDetails() { + return authDetails; + } + + @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("AiModelConnectionSummary("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", technologyType=").append(String.valueOf(this.technologyType)); + sb.append(", providerType=").append(String.valueOf(this.providerType)); + sb.append(", modelKey=").append(String.valueOf(this.modelKey)); + sb.append(", maxInputChars=").append(String.valueOf(this.maxInputChars)); + sb.append(", authDetails=").append(String.valueOf(this.authDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AiModelConnectionSummary)) { + return false; + } + + AiModelConnectionSummary other = (AiModelConnectionSummary) o; + return java.util.Objects.equals(this.technologyType, other.technologyType) + && java.util.Objects.equals(this.providerType, other.providerType) + && java.util.Objects.equals(this.modelKey, other.modelKey) + && java.util.Objects.equals(this.maxInputChars, other.maxInputChars) + && java.util.Objects.equals(this.authDetails, other.authDetails) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.technologyType == null ? 43 : this.technologyType.hashCode()); + result = (result * PRIME) + (this.providerType == null ? 43 : this.providerType.hashCode()); + result = (result * PRIME) + (this.modelKey == null ? 43 : this.modelKey.hashCode()); + result = + (result * PRIME) + + (this.maxInputChars == null ? 43 : this.maxInputChars.hashCode()); + result = (result * PRIME) + (this.authDetails == null ? 43 : this.authDetails.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelSummary.java new file mode 100644 index 00000000000..214db58ed9e --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiModelSummary.java @@ -0,0 +1,289 @@ +/** + * 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.goldengate.model; + +/** + * Summary details of an AI model supported by a provider.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = AiModelSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class AiModelSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"key", "providerType", "displayName", "description"}) + public AiModelSummary( + String key, ProviderType providerType, String displayName, String description) { + super(); + this.key = key; + this.providerType = providerType; + this.displayName = displayName; + this.description = description; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The identifier of the AI model offered by a provider. */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + private String key; + + /** + * The identifier of the AI model offered by a provider. + * + * @param key the value to set + * @return this builder + */ + public Builder key(String key) { + this.key = key; + this.__explicitlySet__.add("key"); + return this; + } + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @param providerType the value to set + * @return this builder + */ + public Builder providerType(ProviderType providerType) { + this.providerType = providerType; + this.__explicitlySet__.add("providerType"); + return this; + } + /** An object's Display Name. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * An object's Display Name. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** Metadata about this specific object. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * Metadata about this specific object. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public AiModelSummary build() { + AiModelSummary model = + new AiModelSummary( + this.key, this.providerType, this.displayName, this.description); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(AiModelSummary model) { + if (model.wasPropertyExplicitlySet("key")) { + this.key(model.getKey()); + } + if (model.wasPropertyExplicitlySet("providerType")) { + this.providerType(model.getProviderType()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The identifier of the AI model offered by a provider. */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + private final String key; + + /** + * The identifier of the AI model offered by a provider. + * + * @return the value + */ + public String getKey() { + return key; + } + + /** AI Provider type used by the AI Model Connection. */ + public enum ProviderType implements com.oracle.bmc.http.internal.BmcEnum { + OciGenerativeAi("OCI_GENERATIVE_AI"), + Gemini("GEMINI"), + OpenAi("OPEN_AI"), + VoyageAi("VOYAGE_AI"), + + /** + * 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(ProviderType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (ProviderType v : ProviderType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + ProviderType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static ProviderType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'ProviderType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private final ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @return the value + */ + public ProviderType getProviderType() { + return providerType; + } + + /** An object's Display Name. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * An object's Display Name. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** Metadata about this specific object. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * Metadata about this specific object. + * + * @return the value + */ + public String getDescription() { + return description; + } + + @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("AiModelSummary("); + sb.append("super=").append(super.toString()); + sb.append("key=").append(String.valueOf(this.key)); + sb.append(", providerType=").append(String.valueOf(this.providerType)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AiModelSummary)) { + return false; + } + + AiModelSummary other = (AiModelSummary) o; + return java.util.Objects.equals(this.key, other.key) + && java.util.Objects.equals(this.providerType, other.providerType) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.description, other.description) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.key == null ? 43 : this.key.hashCode()); + result = (result * PRIME) + (this.providerType == null ? 43 : this.providerType.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiProviderCollection.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiProviderCollection.java new file mode 100644 index 00000000000..f133256fcad --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiProviderCollection.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.goldengate.model; + +/** + * Collection of AI providers supported by GoldenGate.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = AiProviderCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class AiProviderCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public AiProviderCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** An array of AI providers. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * An array of AI providers. + * + * @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 AiProviderCollection build() { + AiProviderCollection model = new AiProviderCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(AiProviderCollection 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); + } + + /** An array of AI providers. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * An array of AI providers. + * + * @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("AiProviderCollection("); + 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 AiProviderCollection)) { + return false; + } + + AiProviderCollection other = (AiProviderCollection) 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-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiProviderSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiProviderSummary.java new file mode 100644 index 00000000000..a4c5be0e854 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AiProviderSummary.java @@ -0,0 +1,391 @@ +/** + * 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.goldengate.model; + +/** + * Summary details of an AI provider and its supported models.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = AiProviderSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class AiProviderSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "providerType", + "displayName", + "description", + "authType", + "defaultBaseUrl", + "models" + }) + public AiProviderSummary( + ProviderType providerType, + String displayName, + String description, + java.util.List authType, + String defaultBaseUrl, + java.util.List models) { + super(); + this.providerType = providerType; + this.displayName = displayName; + this.description = description; + this.authType = authType; + this.defaultBaseUrl = defaultBaseUrl; + this.models = models; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @param providerType the value to set + * @return this builder + */ + public Builder providerType(ProviderType providerType) { + this.providerType = providerType; + this.__explicitlySet__.add("providerType"); + return this; + } + /** An object's Display Name. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + /** + * An object's Display Name. + * + * @param displayName the value to set + * @return this builder + */ + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + /** Metadata about this specific object. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * Metadata about this specific object. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** Authentication types supported by the AI provider. */ + @com.fasterxml.jackson.annotation.JsonProperty("authType") + private java.util.List authType; + + /** + * Authentication types supported by the AI provider. + * + * @param authType the value to set + * @return this builder + */ + public Builder authType(java.util.List authType) { + this.authType = authType; + this.__explicitlySet__.add("authType"); + return this; + } + /** Default base URL for the AI provider. */ + @com.fasterxml.jackson.annotation.JsonProperty("defaultBaseUrl") + private String defaultBaseUrl; + + /** + * Default base URL for the AI provider. + * + * @param defaultBaseUrl the value to set + * @return this builder + */ + public Builder defaultBaseUrl(String defaultBaseUrl) { + this.defaultBaseUrl = defaultBaseUrl; + this.__explicitlySet__.add("defaultBaseUrl"); + return this; + } + /** + * List of AI models supported by this provider, when available. This field is null when the + * provider's models can be retrieved only after supplying additional context. For example, + * OCI_GENERATIVE_AI model availability may vary by region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("models") + private java.util.List models; + + /** + * List of AI models supported by this provider, when available. This field is null when the + * provider's models can be retrieved only after supplying additional context. For example, + * OCI_GENERATIVE_AI model availability may vary by region. + * + * @param models the value to set + * @return this builder + */ + public Builder models(java.util.List models) { + this.models = models; + this.__explicitlySet__.add("models"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public AiProviderSummary build() { + AiProviderSummary model = + new AiProviderSummary( + this.providerType, + this.displayName, + this.description, + this.authType, + this.defaultBaseUrl, + this.models); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(AiProviderSummary model) { + if (model.wasPropertyExplicitlySet("providerType")) { + this.providerType(model.getProviderType()); + } + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("authType")) { + this.authType(model.getAuthType()); + } + if (model.wasPropertyExplicitlySet("defaultBaseUrl")) { + this.defaultBaseUrl(model.getDefaultBaseUrl()); + } + if (model.wasPropertyExplicitlySet("models")) { + this.models(model.getModels()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** AI Provider type used by the AI Model Connection. */ + public enum ProviderType implements com.oracle.bmc.http.internal.BmcEnum { + OciGenerativeAi("OCI_GENERATIVE_AI"), + Gemini("GEMINI"), + OpenAi("OPEN_AI"), + VoyageAi("VOYAGE_AI"), + + /** + * 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(ProviderType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (ProviderType v : ProviderType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + ProviderType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static ProviderType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'ProviderType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private final ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @return the value + */ + public ProviderType getProviderType() { + return providerType; + } + + /** An object's Display Name. */ + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private final String displayName; + + /** + * An object's Display Name. + * + * @return the value + */ + public String getDisplayName() { + return displayName; + } + + /** Metadata about this specific object. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * Metadata about this specific object. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** Authentication types supported by the AI provider. */ + @com.fasterxml.jackson.annotation.JsonProperty("authType") + private final java.util.List authType; + + /** + * Authentication types supported by the AI provider. + * + * @return the value + */ + public java.util.List getAuthType() { + return authType; + } + + /** Default base URL for the AI provider. */ + @com.fasterxml.jackson.annotation.JsonProperty("defaultBaseUrl") + private final String defaultBaseUrl; + + /** + * Default base URL for the AI provider. + * + * @return the value + */ + public String getDefaultBaseUrl() { + return defaultBaseUrl; + } + + /** + * List of AI models supported by this provider, when available. This field is null when the + * provider's models can be retrieved only after supplying additional context. For example, + * OCI_GENERATIVE_AI model availability may vary by region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("models") + private final java.util.List models; + + /** + * List of AI models supported by this provider, when available. This field is null when the + * provider's models can be retrieved only after supplying additional context. For example, + * OCI_GENERATIVE_AI model availability may vary by region. + * + * @return the value + */ + public java.util.List getModels() { + return models; + } + + @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("AiProviderSummary("); + sb.append("super=").append(super.toString()); + sb.append("providerType=").append(String.valueOf(this.providerType)); + sb.append(", displayName=").append(String.valueOf(this.displayName)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", authType=").append(String.valueOf(this.authType)); + sb.append(", defaultBaseUrl=").append(String.valueOf(this.defaultBaseUrl)); + sb.append(", models=").append(String.valueOf(this.models)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AiProviderSummary)) { + return false; + } + + AiProviderSummary other = (AiProviderSummary) o; + return java.util.Objects.equals(this.providerType, other.providerType) + && java.util.Objects.equals(this.displayName, other.displayName) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.authType, other.authType) + && java.util.Objects.equals(this.defaultBaseUrl, other.defaultBaseUrl) + && java.util.Objects.equals(this.models, other.models) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.providerType == null ? 43 : this.providerType.hashCode()); + result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + (this.authType == null ? 43 : this.authType.hashCode()); + result = + (result * PRIME) + + (this.defaultBaseUrl == null ? 43 : this.defaultBaseUrl.hashCode()); + result = (result * PRIME) + (this.models == null ? 43 : this.models.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonKinesisConnection.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonKinesisConnection.java index 01142dce47e..051b95183e5 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonKinesisConnection.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonKinesisConnection.java @@ -241,12 +241,16 @@ public Builder technologyType(TechnologyType technologyType) { this.__explicitlySet__.add("technologyType"); return this; } - /** Access key ID to access the Amazon Kinesis. */ + /** + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon Kinesis. + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -570,12 +574,16 @@ public TechnologyType getTechnologyType() { return technologyType; } - /** Access key ID to access the Amazon Kinesis. */ + /** + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is not + * an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon Kinesis. + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is not + * an OCI OCID. * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonKinesisConnectionSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonKinesisConnectionSummary.java index 5bca4371bce..4a8cb8fd4e0 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonKinesisConnectionSummary.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonKinesisConnectionSummary.java @@ -241,12 +241,16 @@ public Builder technologyType(AmazonKinesisConnection.TechnologyType technologyT this.__explicitlySet__.add("technologyType"); return this; } - /** Access key ID to access the Amazon Kinesis. */ + /** + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon Kinesis. + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -525,12 +529,16 @@ public AmazonKinesisConnection.TechnologyType getTechnologyType() { return technologyType; } - /** Access key ID to access the Amazon Kinesis. */ + /** + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is not + * an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon Kinesis. + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is not + * an OCI OCID. * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3Connection.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3Connection.java index 37f8b04dee3..1dba4bcdeec 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3Connection.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3Connection.java @@ -241,12 +241,16 @@ public Builder technologyType(TechnologyType technologyType) { this.__explicitlySet__.add("technologyType"); return this; } - /** Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -568,12 +572,16 @@ public TechnologyType getTechnologyType() { return technologyType; } - /** Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3ConnectionSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3ConnectionSummary.java index 4babe3acc87..cf2ee3e6cfc 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3ConnectionSummary.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3ConnectionSummary.java @@ -241,12 +241,16 @@ public Builder technologyType(AmazonS3Connection.TechnologyType technologyType) this.__explicitlySet__.add("technologyType"); return this; } - /** Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -523,12 +527,16 @@ public AmazonS3Connection.TechnologyType getTechnologyType() { return technologyType; } - /** Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3IcebergStorage.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3IcebergStorage.java index 055ba7b80c3..a8358f108a5 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3IcebergStorage.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3IcebergStorage.java @@ -57,12 +57,16 @@ public Builder endpoint(String endpoint) { this.__explicitlySet__.add("endpoint"); return this; } - /** Access key ID to access the Amazon S3 bucket. */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -262,12 +266,16 @@ public String getEndpoint() { return endpoint; } - /** Access key ID to access the Amazon S3 bucket. */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3IcebergStorageSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3IcebergStorageSummary.java index cad0c83eb06..c89ace0450d 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3IcebergStorageSummary.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/AmazonS3IcebergStorageSummary.java @@ -57,12 +57,16 @@ public Builder endpoint(String endpoint) { this.__explicitlySet__.add("endpoint"); return this; } - /** Access key ID to access the Amazon S3 bucket. */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -216,12 +220,16 @@ public String getEndpoint() { return endpoint; } - /** Access key ID to access the Amazon S3 bucket. */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ApiKeyAiModelAuthDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ApiKeyAiModelAuthDetails.java new file mode 100644 index 00000000000..bfd3698d7aa --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ApiKeyAiModelAuthDetails.java @@ -0,0 +1,267 @@ +/** + * 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.goldengate.model; + +/** + * API key authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = ApiKeyAiModelAuthDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ApiKeyAiModelAuthDetails extends AiModelAuthDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the + * selected AI provider will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") + private String baseUrl; + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the + * selected AI provider will be used. + * + * @param baseUrl the value to set + * @return this builder + */ + public Builder baseUrl(String baseUrl) { + this.baseUrl = baseUrl; + this.__explicitlySet__.add("baseUrl"); + return this; + } + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @param apiKey the value to set + * @return this builder + */ + public Builder apiKey(char[] apiKey) { + this.apiKey = apiKey; + this.__explicitlySet__.add("apiKey"); + return this; + } + + public Builder apiKey(String apiKey) { + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.__explicitlySet__.add("apiKey"); + return this; + } + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @param apiKeySecretId the value to set + * @return this builder + */ + public Builder apiKeySecretId(String apiKeySecretId) { + this.apiKeySecretId = apiKeySecretId; + this.__explicitlySet__.add("apiKeySecretId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ApiKeyAiModelAuthDetails build() { + ApiKeyAiModelAuthDetails model = + new ApiKeyAiModelAuthDetails(this.baseUrl, this.apiKey, this.apiKeySecretId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ApiKeyAiModelAuthDetails model) { + if (model.wasPropertyExplicitlySet("baseUrl")) { + this.baseUrl(model.getBaseUrl()); + } + if (model.wasPropertyExplicitlySet("apiKey")) { + this.apiKey(model.getApiKey()); + } + if (model.wasPropertyExplicitlySet("apiKeySecretId")) { + this.apiKeySecretId(model.getApiKeySecretId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public ApiKeyAiModelAuthDetails(String baseUrl, String apiKey, String apiKeySecretId) { + super(); + this.baseUrl = baseUrl; + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.apiKeySecretId = apiKeySecretId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public ApiKeyAiModelAuthDetails( + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") String baseUrl, + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") char[] apiKey, + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + String apiKeySecretId) { + super(); + this.baseUrl = baseUrl; + this.apiKey = apiKey; + this.apiKeySecretId = apiKeySecretId; + } + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the selected AI + * provider will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") + private final String baseUrl; + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the selected AI + * provider will be used. + * + * @return the value + */ + public String getBaseUrl() { + return baseUrl; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private final char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getApiKey__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getApiKey() { + return apiKey != null ? new String(apiKey) : null; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + public char[] getApiKey__AsCharArray() { + return apiKey; + } + + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private final String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @return the value + */ + public String getApiKeySecretId() { + return apiKeySecretId; + } + + @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("ApiKeyAiModelAuthDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", baseUrl=").append(String.valueOf(this.baseUrl)); + sb.append(", apiKey=").append(""); + sb.append(", apiKeySecretId=").append(String.valueOf(this.apiKeySecretId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ApiKeyAiModelAuthDetails)) { + return false; + } + + ApiKeyAiModelAuthDetails other = (ApiKeyAiModelAuthDetails) o; + return java.util.Objects.equals(this.baseUrl, other.baseUrl) + && java.util.Objects.equals(this.apiKey, other.apiKey) + && java.util.Objects.equals(this.apiKeySecretId, other.apiKeySecretId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.baseUrl == null ? 43 : this.baseUrl.hashCode()); + result = (result * PRIME) + (this.apiKey == null ? 43 : this.apiKey.hashCode()); + result = + (result * PRIME) + + (this.apiKeySecretId == null ? 43 : this.apiKeySecretId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ApiKeyAiModelAuthDetailsSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ApiKeyAiModelAuthDetailsSummary.java new file mode 100644 index 00000000000..d674ce29eab --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ApiKeyAiModelAuthDetailsSummary.java @@ -0,0 +1,181 @@ +/** + * 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.goldengate.model; + +/** + * Summary of API key authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = ApiKeyAiModelAuthDetailsSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class ApiKeyAiModelAuthDetailsSummary extends AiModelAuthDetailsSummary { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the + * selected AI provider will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") + private String baseUrl; + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the + * selected AI provider will be used. + * + * @param baseUrl the value to set + * @return this builder + */ + public Builder baseUrl(String baseUrl) { + this.baseUrl = baseUrl; + this.__explicitlySet__.add("baseUrl"); + return this; + } + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @param apiKeySecretId the value to set + * @return this builder + */ + public Builder apiKeySecretId(String apiKeySecretId) { + this.apiKeySecretId = apiKeySecretId; + this.__explicitlySet__.add("apiKeySecretId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public ApiKeyAiModelAuthDetailsSummary build() { + ApiKeyAiModelAuthDetailsSummary model = + new ApiKeyAiModelAuthDetailsSummary(this.baseUrl, this.apiKeySecretId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(ApiKeyAiModelAuthDetailsSummary model) { + if (model.wasPropertyExplicitlySet("baseUrl")) { + this.baseUrl(model.getBaseUrl()); + } + if (model.wasPropertyExplicitlySet("apiKeySecretId")) { + this.apiKeySecretId(model.getApiKeySecretId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public ApiKeyAiModelAuthDetailsSummary(String baseUrl, String apiKeySecretId) { + super(); + this.baseUrl = baseUrl; + this.apiKeySecretId = apiKeySecretId; + } + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the selected AI + * provider will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") + private final String baseUrl; + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the selected AI + * provider will be used. + * + * @return the value + */ + public String getBaseUrl() { + return baseUrl; + } + + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private final String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @return the value + */ + public String getApiKeySecretId() { + return apiKeySecretId; + } + + @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("ApiKeyAiModelAuthDetailsSummary("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", baseUrl=").append(String.valueOf(this.baseUrl)); + sb.append(", apiKeySecretId=").append(String.valueOf(this.apiKeySecretId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ApiKeyAiModelAuthDetailsSummary)) { + return false; + } + + ApiKeyAiModelAuthDetailsSummary other = (ApiKeyAiModelAuthDetailsSummary) o; + return java.util.Objects.equals(this.baseUrl, other.baseUrl) + && java.util.Objects.equals(this.apiKeySecretId, other.apiKeySecretId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.baseUrl == null ? 43 : this.baseUrl.hashCode()); + result = + (result * PRIME) + + (this.apiKeySecretId == null ? 43 : this.apiKeySecretId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/Connection.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/Connection.java index 251f5f3cbe1..4b160c060aa 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/Connection.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/Connection.java @@ -36,6 +36,9 @@ @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = AmazonRedshiftConnection.class, name = "AMAZON_REDSHIFT"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = AiModelConnection.class, + name = "AI_MODEL"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = AmazonS3Connection.class, name = "AMAZON_S3"), @@ -318,6 +321,7 @@ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { Deleting("DELETING"), Deleted("DELETED"), Failed("FAILED"), + NeedsAttention("NEEDS_ATTENTION"), /** * This value is used if a service returns a value for this enum that is not recognized by @@ -438,17 +442,35 @@ public java.util.List getLocks() { } /** - * Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can - * manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained - * within this vault. + * References the OCI Vault that contains the customer-managed encryption key identified by + * {@code keyId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

This field is applicable only when {@code doesUseSecretIds} is set to {@code false}. If + * {@code vaultId} is provided, {@code keyId} must also be provided. */ @com.fasterxml.jackson.annotation.JsonProperty("vaultId") private final String vaultId; /** - * Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can - * manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained - * within this vault. + * References the OCI Vault that contains the customer-managed encryption key identified by + * {@code keyId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

This field is applicable only when {@code doesUseSecretIds} is set to {@code false}. If + * {@code vaultId} is provided, {@code keyId} must also be provided. * * @return the value */ @@ -457,15 +479,41 @@ public String getVaultId() { } /** - * Refers to the customer's master key OCID. If provided, it references a key to manage secrets. - * Customers must add policies to permit GoldenGate to use this key. + * References the OCI Vault key in the OCI Vault identified by {@code vaultId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

The GoldenGate service uses this key to encrypt sensitive information (for example, {@code + * password}) that is provided in plain-text connection attributes through the API. This field + * is applicable only when {@code doesUseSecretIds} is set to {@code false}. If both {@code + * vaultId} and {@code keyId} are provided, the GoldenGate service uses the specified + * customer-managed key to encrypt the sensitive data. If neither {@code vaultId} nor {@code + * keyId} is provided, the GoldenGate service uses Oracle-managed encryption keys. */ @com.fasterxml.jackson.annotation.JsonProperty("keyId") private final String keyId; /** - * Refers to the customer's master key OCID. If provided, it references a key to manage secrets. - * Customers must add policies to permit GoldenGate to use this key. + * References the OCI Vault key in the OCI Vault identified by {@code vaultId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

The GoldenGate service uses this key to encrypt sensitive information (for example, {@code + * password}) that is provided in plain-text connection attributes through the API. This field + * is applicable only when {@code doesUseSecretIds} is set to {@code false}. If both {@code + * vaultId} and {@code keyId} are provided, the GoldenGate service uses the specified + * customer-managed key to encrypt the sensitive data. If neither {@code vaultId} nor {@code + * keyId} is provided, the GoldenGate service uses Oracle-managed encryption keys. * * @return the value */ @@ -527,23 +575,33 @@ public String getSubnetId() { } /** - * Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows - * through the Goldengate Service's network to public hosts. Cannot be used for private targets. - * SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private - * endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is - * created in the target VCN subnet for the connection. The subnetId is required when - * DEDICATED_ENDPOINT networking is selected. + * Controls the network traffic direction to the target: SHARED_DEPLOYMENT_ENDPOINT: Network + * traffic flows from the assigned deployment's private endpoint through the deployment's + * subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet + * for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected. + * SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public + * hosts. Cannot be used for private targets. + * + *

Deprecated: SHARED_SERVICE_ENDPOINT is deprecated. Use another supported routingMethod + * value, or update existing connections to use a supported routing method. This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") private final RoutingMethod routingMethod; /** - * Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows - * through the Goldengate Service's network to public hosts. Cannot be used for private targets. - * SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private - * endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is - * created in the target VCN subnet for the connection. The subnetId is required when - * DEDICATED_ENDPOINT networking is selected. + * Controls the network traffic direction to the target: SHARED_DEPLOYMENT_ENDPOINT: Network + * traffic flows from the assigned deployment's private endpoint through the deployment's + * subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet + * for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected. + * SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public + * hosts. Cannot be used for private targets. + * + *

Deprecated: SHARED_SERVICE_ENDPOINT is deprecated. Use another supported routingMethod + * value, or update existing connections to use a supported routing method. This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -551,13 +609,57 @@ public RoutingMethod getRoutingMethod() { return routingMethod; } - /** Indicates that sensitive attributes are provided via Secrets. */ + /** + * Indicates that sensitive attributes are provided via Secrets. + * + *

Deprecated: This field is deprecated. Sensitive attributes should be provided using the + * corresponding Secret OCID attributes of the connection (for example, {@code + * passwordSecretId}) instead of plain-text attributes. This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

When set to {@code true}, all sensitive information must be provided as OCI Vault secrets + * using the corresponding {@code *SecretId} attributes of the connection (for example, {@code + * passwordSecretId}). Plain-text sensitive attributes (for example, {@code password}) must not + * be used. This ensures that sensitive information remains stored and managed in the customer's + * OCI Vault rather than by the GoldenGate service. + * + *

When set to false, sensitive information must be provided in the corresponding plain-text + * attributes (for example, {@code password}) rather than in secret OCID attributes. In this + * mode, the sensitive information is stored by the GoldenGate service. If {@code vaultId} and + * {@code keyId} are not specified, the GoldenGate service uses Oracle-managed encryption keys + * to encrypt the stored data. + * + *

If {@code vaultId} and {@code keyId} are provided, the specified customer-managed key is + * used. + */ @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") private final Boolean doesUseSecretIds; /** * Indicates that sensitive attributes are provided via Secrets. * + *

Deprecated: This field is deprecated. Sensitive attributes should be provided using the + * corresponding Secret OCID attributes of the connection (for example, {@code + * passwordSecretId}) instead of plain-text attributes. This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

When set to {@code true}, all sensitive information must be provided as OCI Vault secrets + * using the corresponding {@code *SecretId} attributes of the connection (for example, {@code + * passwordSecretId}). Plain-text sensitive attributes (for example, {@code password}) must not + * be used. This ensures that sensitive information remains stored and managed in the customer's + * OCI Vault rather than by the GoldenGate service. + * + *

When set to false, sensitive information must be provided in the corresponding plain-text + * attributes (for example, {@code password}) rather than in secret OCID attributes. In this + * mode, the sensitive information is stored by the GoldenGate service. If {@code vaultId} and + * {@code keyId} are not specified, the GoldenGate service uses Oracle-managed encryption keys + * to encrypt the stored data. + * + *

If {@code vaultId} and {@code keyId} are provided, the specified customer-managed key is + * used. + * * @return the value */ public Boolean getDoesUseSecretIds() { diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionAssignment.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionAssignment.java index 0882d7c1b1f..16b344e2d1b 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionAssignment.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionAssignment.java @@ -27,6 +27,7 @@ public final class ConnectionAssignment @java.beans.ConstructorProperties({ "id", "connectionId", + "connectionType", "deploymentId", "aliasName", "compartmentId", @@ -37,6 +38,7 @@ public final class ConnectionAssignment public ConnectionAssignment( String id, String connectionId, + ConnectionType connectionType, String deploymentId, String aliasName, String compartmentId, @@ -46,6 +48,7 @@ public ConnectionAssignment( super(); this.id = id; this.connectionId = connectionId; + this.connectionType = connectionType; this.deploymentId = deploymentId; this.aliasName = aliasName; this.compartmentId = compartmentId; @@ -94,6 +97,21 @@ public Builder connectionId(String connectionId) { this.__explicitlySet__.add("connectionId"); return this; } + /** The connection type. */ + @com.fasterxml.jackson.annotation.JsonProperty("connectionType") + private ConnectionType connectionType; + + /** + * The connection type. + * + * @param connectionType the value to set + * @return this builder + */ + public Builder connectionType(ConnectionType connectionType) { + this.connectionType = connectionType; + this.__explicitlySet__.add("connectionType"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * deployment being referenced. @@ -209,6 +227,7 @@ public ConnectionAssignment build() { new ConnectionAssignment( this.id, this.connectionId, + this.connectionType, this.deploymentId, this.aliasName, this.compartmentId, @@ -229,6 +248,9 @@ public Builder copy(ConnectionAssignment model) { if (model.wasPropertyExplicitlySet("connectionId")) { this.connectionId(model.getConnectionId()); } + if (model.wasPropertyExplicitlySet("connectionType")) { + this.connectionType(model.getConnectionType()); + } if (model.wasPropertyExplicitlySet("deploymentId")) { this.deploymentId(model.getDeploymentId()); } @@ -294,6 +316,19 @@ public String getConnectionId() { return connectionId; } + /** The connection type. */ + @com.fasterxml.jackson.annotation.JsonProperty("connectionType") + private final ConnectionType connectionType; + + /** + * The connection type. + * + * @return the value + */ + public ConnectionType getConnectionType() { + return connectionType; + } + /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * deployment being referenced. @@ -454,6 +489,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("id=").append(String.valueOf(this.id)); sb.append(", connectionId=").append(String.valueOf(this.connectionId)); + sb.append(", connectionType=").append(String.valueOf(this.connectionType)); sb.append(", deploymentId=").append(String.valueOf(this.deploymentId)); sb.append(", aliasName=").append(String.valueOf(this.aliasName)); sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); @@ -476,6 +512,7 @@ public boolean equals(Object o) { ConnectionAssignment other = (ConnectionAssignment) o; return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.connectionId, other.connectionId) + && java.util.Objects.equals(this.connectionType, other.connectionType) && java.util.Objects.equals(this.deploymentId, other.deploymentId) && java.util.Objects.equals(this.aliasName, other.aliasName) && java.util.Objects.equals(this.compartmentId, other.compartmentId) @@ -491,6 +528,9 @@ public int hashCode() { int result = 1; result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); result = (result * PRIME) + (this.connectionId == null ? 43 : this.connectionId.hashCode()); + result = + (result * PRIME) + + (this.connectionType == null ? 43 : this.connectionType.hashCode()); result = (result * PRIME) + (this.deploymentId == null ? 43 : this.deploymentId.hashCode()); result = (result * PRIME) + (this.aliasName == null ? 43 : this.aliasName.hashCode()); result = diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionAssignmentSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionAssignmentSummary.java index 77f3a4f4789..cad30c84dd4 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionAssignmentSummary.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionAssignmentSummary.java @@ -27,6 +27,7 @@ public final class ConnectionAssignmentSummary "id", "compartmentId", "connectionId", + "connectionType", "deploymentId", "aliasName", "lifecycleState", @@ -37,6 +38,7 @@ public ConnectionAssignmentSummary( String id, String compartmentId, String connectionId, + ConnectionType connectionType, String deploymentId, String aliasName, ConnectionAssignment.LifecycleState lifecycleState, @@ -46,6 +48,7 @@ public ConnectionAssignmentSummary( this.id = id; this.compartmentId = compartmentId; this.connectionId = connectionId; + this.connectionType = connectionType; this.deploymentId = deploymentId; this.aliasName = aliasName; this.lifecycleState = lifecycleState; @@ -112,6 +115,21 @@ public Builder connectionId(String connectionId) { this.__explicitlySet__.add("connectionId"); return this; } + /** The connection type. */ + @com.fasterxml.jackson.annotation.JsonProperty("connectionType") + private ConnectionType connectionType; + + /** + * The connection type. + * + * @param connectionType the value to set + * @return this builder + */ + public Builder connectionType(ConnectionType connectionType) { + this.connectionType = connectionType; + this.__explicitlySet__.add("connectionType"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * deployment being referenced. @@ -209,6 +227,7 @@ public ConnectionAssignmentSummary build() { this.id, this.compartmentId, this.connectionId, + this.connectionType, this.deploymentId, this.aliasName, this.lifecycleState, @@ -231,6 +250,9 @@ public Builder copy(ConnectionAssignmentSummary model) { if (model.wasPropertyExplicitlySet("connectionId")) { this.connectionId(model.getConnectionId()); } + if (model.wasPropertyExplicitlySet("connectionType")) { + this.connectionType(model.getConnectionType()); + } if (model.wasPropertyExplicitlySet("deploymentId")) { this.deploymentId(model.getDeploymentId()); } @@ -310,6 +332,19 @@ public String getConnectionId() { return connectionId; } + /** The connection type. */ + @com.fasterxml.jackson.annotation.JsonProperty("connectionType") + private final ConnectionType connectionType; + + /** + * The connection type. + * + * @return the value + */ + public ConnectionType getConnectionType() { + return connectionType; + } + /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * deployment being referenced. @@ -405,6 +440,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("id=").append(String.valueOf(this.id)); sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(", connectionId=").append(String.valueOf(this.connectionId)); + sb.append(", connectionType=").append(String.valueOf(this.connectionType)); sb.append(", deploymentId=").append(String.valueOf(this.deploymentId)); sb.append(", aliasName=").append(String.valueOf(this.aliasName)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); @@ -427,6 +463,7 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.connectionId, other.connectionId) + && java.util.Objects.equals(this.connectionType, other.connectionType) && java.util.Objects.equals(this.deploymentId, other.deploymentId) && java.util.Objects.equals(this.aliasName, other.aliasName) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) @@ -444,6 +481,9 @@ public int hashCode() { (result * PRIME) + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); result = (result * PRIME) + (this.connectionId == null ? 43 : this.connectionId.hashCode()); + result = + (result * PRIME) + + (this.connectionType == null ? 43 : this.connectionType.hashCode()); result = (result * PRIME) + (this.deploymentId == null ? 43 : this.deploymentId.hashCode()); result = (result * PRIME) + (this.aliasName == null ? 43 : this.aliasName.hashCode()); result = diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionSummary.java index 511a4803b21..01efd89a23e 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionSummary.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionSummary.java @@ -97,6 +97,9 @@ @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = KafkaConnectionSummary.class, name = "KAFKA"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = AiModelConnectionSummary.class, + name = "AI_MODEL"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = Db2ConnectionSummary.class, name = "DB2"), @@ -376,17 +379,35 @@ public java.util.Date getTimeUpdated() { } /** - * Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can - * manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained - * within this vault. + * References the OCI Vault that contains the customer-managed encryption key identified by + * {@code keyId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

This field is applicable only when {@code doesUseSecretIds} is set to {@code false}. If + * {@code vaultId} is provided, {@code keyId} must also be provided. */ @com.fasterxml.jackson.annotation.JsonProperty("vaultId") private final String vaultId; /** - * Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can - * manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained - * within this vault. + * References the OCI Vault that contains the customer-managed encryption key identified by + * {@code keyId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

This field is applicable only when {@code doesUseSecretIds} is set to {@code false}. If + * {@code vaultId} is provided, {@code keyId} must also be provided. * * @return the value */ @@ -395,15 +416,41 @@ public String getVaultId() { } /** - * Refers to the customer's master key OCID. If provided, it references a key to manage secrets. - * Customers must add policies to permit GoldenGate to use this key. + * References the OCI Vault key in the OCI Vault identified by {@code vaultId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

The GoldenGate service uses this key to encrypt sensitive information (for example, {@code + * password}) that is provided in plain-text connection attributes through the API. This field + * is applicable only when {@code doesUseSecretIds} is set to {@code false}. If both {@code + * vaultId} and {@code keyId} are provided, the GoldenGate service uses the specified + * customer-managed key to encrypt the sensitive data. If neither {@code vaultId} nor {@code + * keyId} is provided, the GoldenGate service uses Oracle-managed encryption keys. */ @com.fasterxml.jackson.annotation.JsonProperty("keyId") private final String keyId; /** - * Refers to the customer's master key OCID. If provided, it references a key to manage secrets. - * Customers must add policies to permit GoldenGate to use this key. + * References the OCI Vault key in the OCI Vault identified by {@code vaultId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

The GoldenGate service uses this key to encrypt sensitive information (for example, {@code + * password}) that is provided in plain-text connection attributes through the API. This field + * is applicable only when {@code doesUseSecretIds} is set to {@code false}. If both {@code + * vaultId} and {@code keyId} are provided, the GoldenGate service uses the specified + * customer-managed key to encrypt the sensitive data. If neither {@code vaultId} nor {@code + * keyId} is provided, the GoldenGate service uses Oracle-managed encryption keys. * * @return the value */ @@ -465,23 +512,33 @@ public String getSubnetId() { } /** - * Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows - * through the Goldengate Service's network to public hosts. Cannot be used for private targets. - * SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private - * endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is - * created in the target VCN subnet for the connection. The subnetId is required when - * DEDICATED_ENDPOINT networking is selected. + * Controls the network traffic direction to the target: SHARED_DEPLOYMENT_ENDPOINT: Network + * traffic flows from the assigned deployment's private endpoint through the deployment's + * subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet + * for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected. + * SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public + * hosts. Cannot be used for private targets. + * + *

Deprecated: SHARED_SERVICE_ENDPOINT is deprecated. Use another supported routingMethod + * value, or update existing connections to use a supported routing method. This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") private final RoutingMethod routingMethod; /** - * Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows - * through the Goldengate Service's network to public hosts. Cannot be used for private targets. - * SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private - * endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is - * created in the target VCN subnet for the connection. The subnetId is required when - * DEDICATED_ENDPOINT networking is selected. + * Controls the network traffic direction to the target: SHARED_DEPLOYMENT_ENDPOINT: Network + * traffic flows from the assigned deployment's private endpoint through the deployment's + * subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet + * for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected. + * SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public + * hosts. Cannot be used for private targets. + * + *

Deprecated: SHARED_SERVICE_ENDPOINT is deprecated. Use another supported routingMethod + * value, or update existing connections to use a supported routing method. This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -502,13 +559,57 @@ public java.util.List getLocks() { return locks; } - /** Indicates that sensitive attributes are provided via Secrets. */ + /** + * Indicates that sensitive attributes are provided via Secrets. + * + *

Deprecated: This field is deprecated. Sensitive attributes should be provided using the + * corresponding Secret OCID attributes of the connection (for example, {@code + * passwordSecretId}) instead of plain-text attributes. This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

When set to {@code true}, all sensitive information must be provided as OCI Vault secrets + * using the corresponding {@code *SecretId} attributes of the connection (for example, {@code + * passwordSecretId}). Plain-text sensitive attributes (for example, {@code password}) must not + * be used. This ensures that sensitive information remains stored and managed in the customer's + * OCI Vault rather than by the GoldenGate service. + * + *

When set to false, sensitive information must be provided in the corresponding plain-text + * attributes (for example, {@code password}) rather than in secret OCID attributes. In this + * mode, the sensitive information is stored by the GoldenGate service. If {@code vaultId} and + * {@code keyId} are not specified, the GoldenGate service uses Oracle-managed encryption keys + * to encrypt the stored data. + * + *

If {@code vaultId} and {@code keyId} are provided, the specified customer-managed key is + * used. + */ @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") private final Boolean doesUseSecretIds; /** * Indicates that sensitive attributes are provided via Secrets. * + *

Deprecated: This field is deprecated. Sensitive attributes should be provided using the + * corresponding Secret OCID attributes of the connection (for example, {@code + * passwordSecretId}) instead of plain-text attributes. This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

When set to {@code true}, all sensitive information must be provided as OCI Vault secrets + * using the corresponding {@code *SecretId} attributes of the connection (for example, {@code + * passwordSecretId}). Plain-text sensitive attributes (for example, {@code password}) must not + * be used. This ensures that sensitive information remains stored and managed in the customer's + * OCI Vault rather than by the GoldenGate service. + * + *

When set to false, sensitive information must be provided in the corresponding plain-text + * attributes (for example, {@code password}) rather than in secret OCID attributes. In this + * mode, the sensitive information is stored by the GoldenGate service. If {@code vaultId} and + * {@code keyId} are not specified, the GoldenGate service uses Oracle-managed encryption keys + * to encrypt the stored data. + * + *

If {@code vaultId} and {@code keyId} are provided, the specified customer-managed key is + * used. + * * @return the value */ public Boolean getDoesUseSecretIds() { diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionType.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionType.java index ef12a18fd5f..b376d97ccea 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionType.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/ConnectionType.java @@ -36,6 +36,7 @@ public enum ConnectionType implements com.oracle.bmc.http.internal.BmcEnum { GooglePubsub("GOOGLE_PUBSUB"), MicrosoftFabric("MICROSOFT_FABRIC"), Iceberg("ICEBERG"), + AiModel("AI_MODEL"), /** * This value is used if a service returns a value for this enum that is not recognized by this diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAiModelAuthDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAiModelAuthDetails.java new file mode 100644 index 00000000000..4ef1fed74c6 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAiModelAuthDetails.java @@ -0,0 +1,81 @@ +/** + * 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.goldengate.model; + +/** + * The information about new authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType", + defaultImpl = CreateAiModelAuthDetails.class) +@com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = CreateApiKeyAiModelAuthDetails.class, + name = "API_KEY"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = CreateOciGenAiModelAuthDetails.class, + name = "OCI_GEN_AI") +}) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public class CreateAiModelAuthDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({}) + protected CreateAiModelAuthDetails() { + 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("CreateAiModelAuthDetails("); + 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 CreateAiModelAuthDetails)) { + return false; + } + + CreateAiModelAuthDetails other = (CreateAiModelAuthDetails) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAiModelConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAiModelConnectionDetails.java new file mode 100644 index 00000000000..5f6929f3b6d --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAiModelConnectionDetails.java @@ -0,0 +1,539 @@ +/** + * 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.goldengate.model; + +/** + * The information about a new AI Model Connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateAiModelConnectionDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "connectionType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateAiModelConnectionDetails extends CreateConnectionDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("locks") + private java.util.List locks; + + public Builder locks(java.util.List locks) { + this.locks = locks; + this.__explicitlySet__.add("locks"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") + private String vaultId; + + public Builder vaultId(String vaultId) { + this.vaultId = vaultId; + this.__explicitlySet__.add("vaultId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("keyId") + private String keyId; + + public Builder keyId(String keyId) { + this.keyId = keyId; + this.__explicitlySet__.add("keyId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") + private java.util.List nsgIds; + + public Builder nsgIds(java.util.List nsgIds) { + this.nsgIds = nsgIds; + this.__explicitlySet__.add("nsgIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") + private String subnetId; + + public Builder subnetId(String subnetId) { + this.subnetId = subnetId; + this.__explicitlySet__.add("subnetId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + private RoutingMethod routingMethod; + + public Builder routingMethod(RoutingMethod routingMethod) { + this.routingMethod = routingMethod; + this.__explicitlySet__.add("routingMethod"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + private Boolean doesUseSecretIds; + + public Builder doesUseSecretIds(Boolean doesUseSecretIds) { + this.doesUseSecretIds = doesUseSecretIds; + this.__explicitlySet__.add("doesUseSecretIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") + private String subscriptionId; + + public Builder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + this.__explicitlySet__.add("subscriptionId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("clusterPlacementGroupId") + private String clusterPlacementGroupId; + + public Builder clusterPlacementGroupId(String clusterPlacementGroupId) { + this.clusterPlacementGroupId = clusterPlacementGroupId; + this.__explicitlySet__.add("clusterPlacementGroupId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + private java.util.Map> securityAttributes; + + public Builder securityAttributes( + java.util.Map> securityAttributes) { + this.securityAttributes = securityAttributes; + this.__explicitlySet__.add("securityAttributes"); + return this; + } + /** The AI Model technology type. */ + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + private AiModelConnection.TechnologyType technologyType; + + /** + * The AI Model technology type. + * + * @param technologyType the value to set + * @return this builder + */ + public Builder technologyType(AiModelConnection.TechnologyType technologyType) { + this.technologyType = technologyType; + this.__explicitlySet__.add("technologyType"); + return this; + } + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @param providerType the value to set + * @return this builder + */ + public Builder providerType(ProviderType providerType) { + this.providerType = providerType; + this.__explicitlySet__.add("providerType"); + return this; + } + /** AI model identifier. */ + @com.fasterxml.jackson.annotation.JsonProperty("modelKey") + private String modelKey; + + /** + * AI model identifier. + * + * @param modelKey the value to set + * @return this builder + */ + public Builder modelKey(String modelKey) { + this.modelKey = modelKey; + this.__explicitlySet__.add("modelKey"); + return this; + } + /** Maximum number of input characters supported by this AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("maxInputChars") + private Integer maxInputChars; + + /** + * Maximum number of input characters supported by this AI model connection. + * + * @param maxInputChars the value to set + * @return this builder + */ + public Builder maxInputChars(Integer maxInputChars) { + this.maxInputChars = maxInputChars; + this.__explicitlySet__.add("maxInputChars"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("authDetails") + private CreateAiModelAuthDetails authDetails; + + public Builder authDetails(CreateAiModelAuthDetails authDetails) { + this.authDetails = authDetails; + this.__explicitlySet__.add("authDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateAiModelConnectionDetails build() { + CreateAiModelConnectionDetails model = + new CreateAiModelConnectionDetails( + this.displayName, + this.description, + this.compartmentId, + this.freeformTags, + this.definedTags, + this.locks, + this.vaultId, + this.keyId, + this.nsgIds, + this.subnetId, + this.routingMethod, + this.doesUseSecretIds, + this.subscriptionId, + this.clusterPlacementGroupId, + this.securityAttributes, + this.technologyType, + this.providerType, + this.modelKey, + this.maxInputChars, + this.authDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateAiModelConnectionDetails model) { + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("locks")) { + this.locks(model.getLocks()); + } + if (model.wasPropertyExplicitlySet("vaultId")) { + this.vaultId(model.getVaultId()); + } + if (model.wasPropertyExplicitlySet("keyId")) { + this.keyId(model.getKeyId()); + } + if (model.wasPropertyExplicitlySet("nsgIds")) { + this.nsgIds(model.getNsgIds()); + } + if (model.wasPropertyExplicitlySet("subnetId")) { + this.subnetId(model.getSubnetId()); + } + if (model.wasPropertyExplicitlySet("routingMethod")) { + this.routingMethod(model.getRoutingMethod()); + } + if (model.wasPropertyExplicitlySet("doesUseSecretIds")) { + this.doesUseSecretIds(model.getDoesUseSecretIds()); + } + if (model.wasPropertyExplicitlySet("subscriptionId")) { + this.subscriptionId(model.getSubscriptionId()); + } + if (model.wasPropertyExplicitlySet("clusterPlacementGroupId")) { + this.clusterPlacementGroupId(model.getClusterPlacementGroupId()); + } + if (model.wasPropertyExplicitlySet("securityAttributes")) { + this.securityAttributes(model.getSecurityAttributes()); + } + if (model.wasPropertyExplicitlySet("technologyType")) { + this.technologyType(model.getTechnologyType()); + } + if (model.wasPropertyExplicitlySet("providerType")) { + this.providerType(model.getProviderType()); + } + if (model.wasPropertyExplicitlySet("modelKey")) { + this.modelKey(model.getModelKey()); + } + if (model.wasPropertyExplicitlySet("maxInputChars")) { + this.maxInputChars(model.getMaxInputChars()); + } + if (model.wasPropertyExplicitlySet("authDetails")) { + this.authDetails(model.getAuthDetails()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public CreateAiModelConnectionDetails( + String displayName, + String description, + String compartmentId, + java.util.Map freeformTags, + java.util.Map> definedTags, + java.util.List locks, + String vaultId, + String keyId, + java.util.List nsgIds, + String subnetId, + RoutingMethod routingMethod, + Boolean doesUseSecretIds, + String subscriptionId, + String clusterPlacementGroupId, + java.util.Map> securityAttributes, + AiModelConnection.TechnologyType technologyType, + ProviderType providerType, + String modelKey, + Integer maxInputChars, + CreateAiModelAuthDetails authDetails) { + super( + displayName, + description, + compartmentId, + freeformTags, + definedTags, + locks, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + subscriptionId, + clusterPlacementGroupId, + securityAttributes); + this.technologyType = technologyType; + this.providerType = providerType; + this.modelKey = modelKey; + this.maxInputChars = maxInputChars; + this.authDetails = authDetails; + } + + /** The AI Model technology type. */ + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + private final AiModelConnection.TechnologyType technologyType; + + /** + * The AI Model technology type. + * + * @return the value + */ + public AiModelConnection.TechnologyType getTechnologyType() { + return technologyType; + } + + /** AI Provider type used by the AI Model Connection. */ + public enum ProviderType implements com.oracle.bmc.http.internal.BmcEnum { + OciGenerativeAi("OCI_GENERATIVE_AI"), + Gemini("GEMINI"), + OpenAi("OPEN_AI"), + VoyageAi("VOYAGE_AI"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (ProviderType v : ProviderType.values()) { + map.put(v.getValue(), v); + } + } + + ProviderType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static ProviderType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid ProviderType: " + key); + } + }; + /** AI Provider type used by the AI Model Connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("providerType") + private final ProviderType providerType; + + /** + * AI Provider type used by the AI Model Connection. + * + * @return the value + */ + public ProviderType getProviderType() { + return providerType; + } + + /** AI model identifier. */ + @com.fasterxml.jackson.annotation.JsonProperty("modelKey") + private final String modelKey; + + /** + * AI model identifier. + * + * @return the value + */ + public String getModelKey() { + return modelKey; + } + + /** Maximum number of input characters supported by this AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("maxInputChars") + private final Integer maxInputChars; + + /** + * Maximum number of input characters supported by this AI model connection. + * + * @return the value + */ + public Integer getMaxInputChars() { + return maxInputChars; + } + + @com.fasterxml.jackson.annotation.JsonProperty("authDetails") + private final CreateAiModelAuthDetails authDetails; + + public CreateAiModelAuthDetails getAuthDetails() { + return authDetails; + } + + @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("CreateAiModelConnectionDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", technologyType=").append(String.valueOf(this.technologyType)); + sb.append(", providerType=").append(String.valueOf(this.providerType)); + sb.append(", modelKey=").append(String.valueOf(this.modelKey)); + sb.append(", maxInputChars=").append(String.valueOf(this.maxInputChars)); + sb.append(", authDetails=").append(String.valueOf(this.authDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateAiModelConnectionDetails)) { + return false; + } + + CreateAiModelConnectionDetails other = (CreateAiModelConnectionDetails) o; + return java.util.Objects.equals(this.technologyType, other.technologyType) + && java.util.Objects.equals(this.providerType, other.providerType) + && java.util.Objects.equals(this.modelKey, other.modelKey) + && java.util.Objects.equals(this.maxInputChars, other.maxInputChars) + && java.util.Objects.equals(this.authDetails, other.authDetails) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.technologyType == null ? 43 : this.technologyType.hashCode()); + result = (result * PRIME) + (this.providerType == null ? 43 : this.providerType.hashCode()); + result = (result * PRIME) + (this.modelKey == null ? 43 : this.modelKey.hashCode()); + result = + (result * PRIME) + + (this.maxInputChars == null ? 43 : this.maxInputChars.hashCode()); + result = (result * PRIME) + (this.authDetails == null ? 43 : this.authDetails.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonKinesisConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonKinesisConnectionDetails.java index 9d0de3c1f78..bfd55dba04a 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonKinesisConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonKinesisConnectionDetails.java @@ -178,12 +178,16 @@ public Builder technologyType(AmazonKinesisConnection.TechnologyType technologyT this.__explicitlySet__.add("technologyType"); return this; } - /** Access key ID to access the Amazon Kinesis. */ + /** + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon Kinesis. + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -195,14 +199,18 @@ public Builder accessKeyId(String accessKeyId) { } /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private char[] secretAccessKey; /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param secretAccessKey the value to set * @return this builder @@ -509,12 +517,16 @@ public AmazonKinesisConnection.TechnologyType getTechnologyType() { return technologyType; } - /** Access key ID to access the Amazon Kinesis. */ + /** + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is not + * an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon Kinesis. + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is not + * an OCI OCID. * * @return the value */ @@ -524,15 +536,18 @@ public String getAccessKeyId() { /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private final char[] secretAccessKey; /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 - * 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSecretAccessKey__AsCharArray() instead. @@ -545,7 +560,9 @@ public String getSecretAccessKey() { /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonRedshiftConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonRedshiftConnectionDetails.java index ccde151cab1..2d38987f0c8 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonRedshiftConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonRedshiftConnectionDetails.java @@ -222,7 +222,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -231,7 +233,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -532,8 +536,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -542,7 +547,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -556,8 +562,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonS3ConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonS3ConnectionDetails.java index 2ee22f675d5..56e143d3bcb 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonS3ConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonS3ConnectionDetails.java @@ -178,12 +178,16 @@ public Builder technologyType(AmazonS3Connection.TechnologyType technologyType) this.__explicitlySet__.add("technologyType"); return this; } - /** Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -194,17 +198,21 @@ public Builder accessKeyId(String accessKeyId) { return this; } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This - * field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private char[] secretAccessKey; /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This - * field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param secretAccessKey the value to set * @return this builder @@ -509,12 +517,16 @@ public AmazonS3Connection.TechnologyType getTechnologyType() { return technologyType; } - /** Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @return the value */ @@ -523,17 +535,20 @@ public String getAccessKeyId() { } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" Deprecated: - * This field is deprecated and replaced by "secretAccessKeySecretId". This field will be - * removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private final char[] secretAccessKey; /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". - * This field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. <p> Deprecated: This field is + * deprecated and replaced by "secretAccessKeySecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSecretAccessKey__AsCharArray() instead. @@ -545,9 +560,11 @@ public String getSecretAccessKey() { } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" Deprecated: - * This field is deprecated and replaced by "secretAccessKeySecretId". This field will be - * removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonS3IcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonS3IcebergStorageDetails.java index 8cdd7bd0fce..957fd771257 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonS3IcebergStorageDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAmazonS3IcebergStorageDetails.java @@ -57,12 +57,16 @@ public Builder endpoint(String endpoint) { this.__explicitlySet__.add("endpoint"); return this; } - /** Access key ID to access the Amazon S3 bucket. */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -92,17 +96,21 @@ public Builder secretAccessKeySecretId(String secretAccessKeySecretId) { return this; } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This - * field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private char[] secretAccessKey; /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This - * field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param secretAccessKey the value to set * @return this builder @@ -272,12 +280,16 @@ public String getEndpoint() { return endpoint; } - /** Access key ID to access the Amazon S3 bucket. */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @return the value */ @@ -303,17 +315,20 @@ public String getSecretAccessKeySecretId() { } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" Deprecated: - * This field is deprecated and replaced by "secretAccessKeySecretId". This field will be - * removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private final char[] secretAccessKey; /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". - * This field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. <p> Deprecated: This field is + * deprecated and replaced by "secretAccessKeySecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSecretAccessKey__AsCharArray() instead. @@ -325,9 +340,11 @@ public String getSecretAccessKey() { } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" Deprecated: - * This field is deprecated and replaced by "secretAccessKeySecretId". This field will be - * removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateApiKeyAiModelAuthDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateApiKeyAiModelAuthDetails.java new file mode 100644 index 00000000000..2d64538e423 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateApiKeyAiModelAuthDetails.java @@ -0,0 +1,268 @@ +/** + * 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.goldengate.model; + +/** + * The information about new API key authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateApiKeyAiModelAuthDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateApiKeyAiModelAuthDetails extends CreateAiModelAuthDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the + * selected AI provider will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") + private String baseUrl; + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the + * selected AI provider will be used. + * + * @param baseUrl the value to set + * @return this builder + */ + public Builder baseUrl(String baseUrl) { + this.baseUrl = baseUrl; + this.__explicitlySet__.add("baseUrl"); + return this; + } + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @param apiKey the value to set + * @return this builder + */ + public Builder apiKey(char[] apiKey) { + this.apiKey = apiKey; + this.__explicitlySet__.add("apiKey"); + return this; + } + + public Builder apiKey(String apiKey) { + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.__explicitlySet__.add("apiKey"); + return this; + } + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @param apiKeySecretId the value to set + * @return this builder + */ + public Builder apiKeySecretId(String apiKeySecretId) { + this.apiKeySecretId = apiKeySecretId; + this.__explicitlySet__.add("apiKeySecretId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateApiKeyAiModelAuthDetails build() { + CreateApiKeyAiModelAuthDetails model = + new CreateApiKeyAiModelAuthDetails( + this.baseUrl, this.apiKey, this.apiKeySecretId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateApiKeyAiModelAuthDetails model) { + if (model.wasPropertyExplicitlySet("baseUrl")) { + this.baseUrl(model.getBaseUrl()); + } + if (model.wasPropertyExplicitlySet("apiKey")) { + this.apiKey(model.getApiKey()); + } + if (model.wasPropertyExplicitlySet("apiKeySecretId")) { + this.apiKeySecretId(model.getApiKeySecretId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public CreateApiKeyAiModelAuthDetails(String baseUrl, String apiKey, String apiKeySecretId) { + super(); + this.baseUrl = baseUrl; + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.apiKeySecretId = apiKeySecretId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public CreateApiKeyAiModelAuthDetails( + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") String baseUrl, + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") char[] apiKey, + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + String apiKeySecretId) { + super(); + this.baseUrl = baseUrl; + this.apiKey = apiKey; + this.apiKeySecretId = apiKeySecretId; + } + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the selected AI + * provider will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") + private final String baseUrl; + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the selected AI + * provider will be used. + * + * @return the value + */ + public String getBaseUrl() { + return baseUrl; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private final char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getApiKey__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getApiKey() { + return apiKey != null ? new String(apiKey) : null; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + public char[] getApiKey__AsCharArray() { + return apiKey; + } + + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private final String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @return the value + */ + public String getApiKeySecretId() { + return apiKeySecretId; + } + + @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("CreateApiKeyAiModelAuthDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", baseUrl=").append(String.valueOf(this.baseUrl)); + sb.append(", apiKey=").append(""); + sb.append(", apiKeySecretId=").append(String.valueOf(this.apiKeySecretId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateApiKeyAiModelAuthDetails)) { + return false; + } + + CreateApiKeyAiModelAuthDetails other = (CreateApiKeyAiModelAuthDetails) o; + return java.util.Objects.equals(this.baseUrl, other.baseUrl) + && java.util.Objects.equals(this.apiKey, other.apiKey) + && java.util.Objects.equals(this.apiKeySecretId, other.apiKeySecretId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.baseUrl == null ? 43 : this.baseUrl.hashCode()); + result = (result * PRIME) + (this.apiKey == null ? 43 : this.apiKey.hashCode()); + result = + (result * PRIME) + + (this.apiKeySecretId == null ? 43 : this.apiKeySecretId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureDataLakeStorageConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureDataLakeStorageConnectionDetails.java index a78d9ac3278..317a931fced 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureDataLakeStorageConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureDataLakeStorageConnectionDetails.java @@ -214,8 +214,9 @@ public Builder accountName(String accountName) { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("accountKey") private char[] accountKey; @@ -224,8 +225,9 @@ public Builder accountName(String accountName) { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param accountKey the value to set * @return this builder @@ -267,8 +269,9 @@ public Builder accountKeySecretId(String accountKeySecretId) { * This property is required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. * e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sasToken") private char[] sasToken; @@ -278,8 +281,9 @@ public Builder accountKeySecretId(String accountKeySecretId) { * This property is required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. * e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sasToken the value to set * @return this builder @@ -358,7 +362,9 @@ public Builder clientId(String clientId) { * Azure client secret (aka application password) for authentication. This property is * required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private char[] clientSecret; @@ -367,7 +373,9 @@ public Builder clientId(String clientId) { * Azure client secret (aka application password) for authentication. This property is * required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param clientSecret the value to set * @return this builder @@ -761,8 +769,9 @@ public String getAccountName() { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("accountKey") private final char[] accountKey; @@ -772,7 +781,8 @@ public String getAccountName() { * to 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getAccountKey__AsCharArray() instead. @@ -787,8 +797,9 @@ public String getAccountKey() { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -821,8 +832,9 @@ public String getAccountKeySecretId() { * This property is required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. * e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sasToken") private final char[] sasToken; @@ -832,8 +844,9 @@ public String getAccountKeySecretId() { * This property is required when 'authenticationType' is set to * 'SHARED_ACCESS_SIGNATURE'. e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSasToken__AsCharArray() instead. @@ -849,8 +862,9 @@ public String getSasToken() { * This property is required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. * e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -916,7 +930,9 @@ public String getClientId() { * Azure client secret (aka application password) for authentication. This property is required * when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and replaced by - * "clientSecretSecretId". This field will be removed after February 15 2026. + * "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private final char[] clientSecret; @@ -925,7 +941,9 @@ public String getClientId() { * Azure client secret (aka application password) for authentication. This property is required * when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and replaced by - * "clientSecretSecretId". This field will be removed after February 15 2026. + * "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getClientSecret__AsCharArray() instead. @@ -940,7 +958,9 @@ public String getClientSecret() { * Azure client secret (aka application password) for authentication. This property is required * when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and replaced by - * "clientSecretSecretId". This field will be removed after February 15 2026. + * "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureDataLakeStorageIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureDataLakeStorageIcebergStorageDetails.java index b6f6a926b76..8535603390c 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureDataLakeStorageIcebergStorageDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureDataLakeStorageIcebergStorageDetails.java @@ -81,8 +81,9 @@ public Builder accountKeySecretId(String accountKeySecretId) { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("accountKey") private char[] accountKey; @@ -91,8 +92,9 @@ public Builder accountKeySecretId(String accountKeySecretId) { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param accountKey the value to set * @return this builder @@ -254,8 +256,9 @@ public String getAccountKeySecretId() { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("accountKey") private final char[] accountKey; @@ -265,7 +268,8 @@ public String getAccountKeySecretId() { * to 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getAccountKey__AsCharArray() instead. @@ -280,8 +284,9 @@ public String getAccountKey() { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureSynapseConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureSynapseConnectionDetails.java index e3806e4dd1a..5c0e642508c 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureSynapseConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateAzureSynapseConnectionDetails.java @@ -222,7 +222,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -231,7 +233,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -533,8 +537,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -543,7 +548,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -557,8 +563,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateConnectionDetails.java index 58883d83c68..0d562456ba2 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateConnectionDetails.java @@ -88,6 +88,9 @@ @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = CreateElasticsearchConnectionDetails.class, name = "ELASTICSEARCH"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = CreateAiModelConnectionDetails.class, + name = "AI_MODEL"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = CreateAzureSynapseConnectionDetails.class, name = "AZURE_SYNAPSE_ANALYTICS"), @@ -263,17 +266,35 @@ public java.util.List getLocks() { } /** - * Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can - * manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained - * within this vault. + * References the OCI Vault that contains the customer-managed encryption key identified by + * {@code keyId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

This field is applicable only when {@code doesUseSecretIds} is set to {@code false}. If + * {@code vaultId} is provided, {@code keyId} must also be provided. */ @com.fasterxml.jackson.annotation.JsonProperty("vaultId") private final String vaultId; /** - * Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can - * manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained - * within this vault. + * References the OCI Vault that contains the customer-managed encryption key identified by + * {@code keyId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

This field is applicable only when {@code doesUseSecretIds} is set to {@code false}. If + * {@code vaultId} is provided, {@code keyId} must also be provided. * * @return the value */ @@ -282,15 +303,41 @@ public String getVaultId() { } /** - * Refers to the customer's master key OCID. If provided, it references a key to manage secrets. - * Customers must add policies to permit GoldenGate to use this key. + * References the OCI Vault key in the OCI Vault identified by {@code vaultId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

The GoldenGate service uses this key to encrypt sensitive information (for example, {@code + * password}) that is provided in plain-text connection attributes through the API. This field + * is applicable only when {@code doesUseSecretIds} is set to {@code false}. If both {@code + * vaultId} and {@code keyId} are provided, the GoldenGate service uses the specified + * customer-managed key to encrypt the sensitive data. If neither {@code vaultId} nor {@code + * keyId} is provided, the GoldenGate service uses Oracle-managed encryption keys. */ @com.fasterxml.jackson.annotation.JsonProperty("keyId") private final String keyId; /** - * Refers to the customer's master key OCID. If provided, it references a key to manage secrets. - * Customers must add policies to permit GoldenGate to use this key. + * References the OCI Vault key in the OCI Vault identified by {@code vaultId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

The GoldenGate service uses this key to encrypt sensitive information (for example, {@code + * password}) that is provided in plain-text connection attributes through the API. This field + * is applicable only when {@code doesUseSecretIds} is set to {@code false}. If both {@code + * vaultId} and {@code keyId} are provided, the GoldenGate service uses the specified + * customer-managed key to encrypt the sensitive data. If neither {@code vaultId} nor {@code + * keyId} is provided, the GoldenGate service uses Oracle-managed encryption keys. * * @return the value */ @@ -333,23 +380,33 @@ public String getSubnetId() { } /** - * Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows - * through the Goldengate Service's network to public hosts. Cannot be used for private targets. - * SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private - * endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is - * created in the target VCN subnet for the connection. The subnetId is required when - * DEDICATED_ENDPOINT networking is selected. + * Controls the network traffic direction to the target: SHARED_DEPLOYMENT_ENDPOINT: Network + * traffic flows from the assigned deployment's private endpoint through the deployment's + * subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet + * for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected. + * SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public + * hosts. Cannot be used for private targets. + * + *

Deprecated: SHARED_SERVICE_ENDPOINT is deprecated. Use another supported routingMethod + * value, or update existing connections to use a supported routing method. This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") private final RoutingMethod routingMethod; /** - * Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows - * through the Goldengate Service's network to public hosts. Cannot be used for private targets. - * SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private - * endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is - * created in the target VCN subnet for the connection. The subnetId is required when - * DEDICATED_ENDPOINT networking is selected. + * Controls the network traffic direction to the target: SHARED_DEPLOYMENT_ENDPOINT: Network + * traffic flows from the assigned deployment's private endpoint through the deployment's + * subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet + * for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected. + * SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public + * hosts. Cannot be used for private targets. + * + *

Deprecated: SHARED_SERVICE_ENDPOINT is deprecated. Use another supported routingMethod + * value, or update existing connections to use a supported routing method. This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -357,13 +414,57 @@ public RoutingMethod getRoutingMethod() { return routingMethod; } - /** Indicates that sensitive attributes are provided via Secrets. */ + /** + * Indicates that sensitive attributes are provided via Secrets. + * + *

Deprecated: This field is deprecated. Sensitive attributes should be provided using the + * corresponding Secret OCID attributes of the connection (for example, {@code + * passwordSecretId}) instead of plain-text attributes. This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

When set to {@code true}, all sensitive information must be provided as OCI Vault secrets + * using the corresponding {@code *SecretId} attributes of the connection (for example, {@code + * passwordSecretId}). Plain-text sensitive attributes (for example, {@code password}) must not + * be used. This ensures that sensitive information remains stored and managed in the customer's + * OCI Vault rather than by the GoldenGate service. + * + *

When set to false, sensitive information must be provided in the corresponding plain-text + * attributes (for example, {@code password}) rather than in secret OCID attributes. In this + * mode, the sensitive information is stored by the GoldenGate service. If {@code vaultId} and + * {@code keyId} are not specified, the GoldenGate service uses Oracle-managed encryption keys + * to encrypt the stored data. + * + *

If {@code vaultId} and {@code keyId} are provided, the specified customer-managed key is + * used. + */ @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") private final Boolean doesUseSecretIds; /** * Indicates that sensitive attributes are provided via Secrets. * + *

Deprecated: This field is deprecated. Sensitive attributes should be provided using the + * corresponding Secret OCID attributes of the connection (for example, {@code + * passwordSecretId}) instead of plain-text attributes. This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

When set to {@code true}, all sensitive information must be provided as OCI Vault secrets + * using the corresponding {@code *SecretId} attributes of the connection (for example, {@code + * passwordSecretId}). Plain-text sensitive attributes (for example, {@code password}) must not + * be used. This ensures that sensitive information remains stored and managed in the customer's + * OCI Vault rather than by the GoldenGate service. + * + *

When set to false, sensitive information must be provided in the corresponding plain-text + * attributes (for example, {@code password}) rather than in secret OCID attributes. In this + * mode, the sensitive information is stored by the GoldenGate service. If {@code vaultId} and + * {@code keyId} are not specified, the GoldenGate service uses Oracle-managed encryption keys + * to encrypt the stored data. + * + *

If {@code vaultId} and {@code keyId} are provided, the specified customer-managed key is + * used. + * * @return the value */ public Boolean getDoesUseSecretIds() { diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDatabaseRegistrationDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDatabaseRegistrationDetails.java index 178d7b9b73d..42099ed671c 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDatabaseRegistrationDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDatabaseRegistrationDetails.java @@ -56,7 +56,7 @@ public CreateDatabaseRegistrationDetails( this.password = password != null ? password.toCharArray() : null; this.connectionString = connectionString; this.sessionMode = sessionMode; - this.wallet = wallet; + this.wallet = wallet != null ? wallet.toCharArray() : null; this.aliasName = aliasName; this.vaultId = vaultId; this.keyId = keyId; @@ -99,7 +99,7 @@ public CreateDatabaseRegistrationDetails( char[] password, String connectionString, SessionMode sessionMode, - String wallet, + char[] wallet, String aliasName, String vaultId, String keyId, @@ -318,7 +318,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -327,7 +329,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -384,24 +388,34 @@ public Builder sessionMode(SessionMode sessionMode) { /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This * attribute is expected to be base64 encoded. Deprecated: This field is deprecated and - * replaced by "walletSecretId". This field will be removed after February 15 2026. + * replaced by "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("wallet") - private String wallet; + private char[] wallet; /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This * attribute is expected to be base64 encoded. Deprecated: This field is deprecated and - * replaced by "walletSecretId". This field will be removed after February 15 2026. + * replaced by "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param wallet the value to set * @return this builder */ - public Builder wallet(String wallet) { + public Builder wallet(char[] wallet) { this.wallet = wallet; this.__explicitlySet__.add("wallet"); return this; } + + public Builder wallet(String wallet) { + this.wallet = wallet != null ? wallet.toCharArray() : null; + this.__explicitlySet__.add("wallet"); + return this; + } /** Credential store alias. */ @com.fasterxml.jackson.annotation.JsonProperty("aliasName") private String aliasName; @@ -747,8 +761,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -757,7 +772,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -771,8 +787,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -856,19 +873,40 @@ public SessionMode getSessionMode() { /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by - * "walletSecretId". This field will be removed after February 15 2026. + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("wallet") - private final String wallet; + private final char[] wallet; /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by - * "walletSecretId". This field will be removed after February 15 2026. + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getWallet__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getWallet() { + return wallet != null ? new String(wallet) : null; + } + + /** + * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute + * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("wallet") + public char[] getWallet__AsCharArray() { return wallet; } @@ -968,7 +1006,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", password=").append(""); sb.append(", connectionString=").append(String.valueOf(this.connectionString)); sb.append(", sessionMode=").append(String.valueOf(this.sessionMode)); - sb.append(", wallet=").append(String.valueOf(this.wallet)); + sb.append(", wallet=").append(""); sb.append(", aliasName=").append(String.valueOf(this.aliasName)); sb.append(", vaultId=").append(String.valueOf(this.vaultId)); sb.append(", keyId=").append(String.valueOf(this.keyId)); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDatabricksConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDatabricksConnectionDetails.java index e497d89d7fa..bbf9b169ff3 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDatabricksConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDatabricksConnectionDetails.java @@ -216,7 +216,9 @@ public Builder connectionUrl(String connectionUrl) { /** * The password used to connect to Databricks. Only applicable for authenticationType == * PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -224,7 +226,9 @@ public Builder connectionUrl(String connectionUrl) { /** * The password used to connect to Databricks. Only applicable for authenticationType == * PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -278,16 +282,18 @@ public Builder clientId(String clientId) { } /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M Deprecated: This - * field is deprecated and replaced by "clientSecretSecretId". This field will be removed - * after February 15 2026. + * field is deprecated and replaced by "clientSecretSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private char[] clientSecret; /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M Deprecated: This - * field is deprecated and replaced by "clientSecretSecretId". This field will be removed - * after February 15 2026. + * field is deprecated and replaced by "clientSecretSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param clientSecret the value to set * @return this builder @@ -632,7 +638,9 @@ public String getConnectionUrl() { /** * The password used to connect to Databricks. Only applicable for authenticationType == * PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -640,7 +648,9 @@ public String getConnectionUrl() { /** * The password used to connect to Databricks. Only applicable for authenticationType * == PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -654,7 +664,9 @@ public String getPassword() { /** * The password used to connect to Databricks. Only applicable for authenticationType == * PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -697,8 +709,9 @@ public String getClientId() { /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M Deprecated: This - * field is deprecated and replaced by "clientSecretSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "clientSecretSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private final char[] clientSecret; @@ -706,7 +719,8 @@ public String getClientId() { /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M * Deprecated: This field is deprecated and replaced by "clientSecretSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getClientSecret__AsCharArray() instead. @@ -719,8 +733,9 @@ public String getClientSecret() { /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M Deprecated: This - * field is deprecated and replaced by "clientSecretSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "clientSecretSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDb2ConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDb2ConnectionDetails.java index 66949fed30a..53b62279afb 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDb2ConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateDb2ConnectionDetails.java @@ -244,16 +244,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: - * This field is deprecated and replaced by "passwordSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: - * This field is deprecated and replaced by "passwordSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -330,10 +332,11 @@ public Builder securityProtocol(Db2Connection.SecurityProtocol securityProtocol) * mode is not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystoredbSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredb") - private String sslClientKeystoredb; + private char[] sslClientKeystoredb; /** * The base64 encoded keystore file created at the client containing the server certificate @@ -341,16 +344,24 @@ public Builder securityProtocol(Db2Connection.SecurityProtocol securityProtocol) * mode is not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystoredbSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslClientKeystoredb the value to set * @return this builder */ - public Builder sslClientKeystoredb(String sslClientKeystoredb) { + public Builder sslClientKeystoredb(char[] sslClientKeystoredb) { this.sslClientKeystoredb = sslClientKeystoredb; this.__explicitlySet__.add("sslClientKeystoredb"); return this; } + + public Builder sslClientKeystoredb(String sslClientKeystoredb) { + this.sslClientKeystoredb = + sslClientKeystoredb != null ? sslClientKeystoredb.toCharArray() : null; + this.__explicitlySet__.add("sslClientKeystoredb"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the keystore file stored, which created at the client containing the server @@ -384,10 +395,11 @@ public Builder sslClientKeystoredbSecretId(String sslClientKeystoredbSecretId) { * not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystashSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystash") - private String sslClientKeystash; + private char[] sslClientKeystash; /** * The base64 encoded keystash file which contains the encrypted password to the key @@ -395,16 +407,24 @@ public Builder sslClientKeystoredbSecretId(String sslClientKeystoredbSecretId) { * not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystashSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslClientKeystash the value to set * @return this builder */ - public Builder sslClientKeystash(String sslClientKeystash) { + public Builder sslClientKeystash(char[] sslClientKeystash) { this.sslClientKeystash = sslClientKeystash; this.__explicitlySet__.add("sslClientKeystash"); return this; } + + public Builder sslClientKeystash(String sslClientKeystash) { + this.sslClientKeystash = + sslClientKeystash != null ? sslClientKeystash.toCharArray() : null; + this.__explicitlySet__.add("sslClientKeystash"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the keystash file is stored, which contains the encrypted password to the @@ -653,9 +673,10 @@ public CreateDb2ConnectionDetails( this.passwordSecretId = passwordSecretId; this.additionalAttributes = additionalAttributes; this.securityProtocol = securityProtocol; - this.sslClientKeystoredb = sslClientKeystoredb; + this.sslClientKeystoredb = + sslClientKeystoredb != null ? sslClientKeystoredb.toCharArray() : null; this.sslClientKeystoredbSecretId = sslClientKeystoredbSecretId; - this.sslClientKeystash = sslClientKeystash; + this.sslClientKeystash = sslClientKeystash != null ? sslClientKeystash.toCharArray() : null; this.sslClientKeystashSecretId = sslClientKeystashSecretId; this.sslServerCertificate = sslServerCertificate; } @@ -699,11 +720,11 @@ public CreateDb2ConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("securityProtocol") Db2Connection.SecurityProtocol securityProtocol, @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredb") - String sslClientKeystoredb, + char[] sslClientKeystoredb, @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredbSecretId") String sslClientKeystoredbSecretId, @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystash") - String sslClientKeystash, + char[] sslClientKeystash, @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystashSecretId") String sslClientKeystashSecretId, @com.fasterxml.jackson.annotation.JsonProperty("sslServerCertificate") @@ -811,16 +832,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed - * after February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -833,8 +856,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -898,10 +922,28 @@ public Db2Connection.SecurityProtocol getSecurityProtocol() { * available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystoredbSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredb") - private final String sslClientKeystoredb; + private final char[] sslClientKeystoredb; + + /** + * The base64 encoded keystore file created at the client containing the server certificate / CA + * root certificate. This property is not supported for IBM Db2 for i, as client TLS mode is not + * available. <p> Deprecated: This field is deprecated and replaced by + * "sslClientKeystoredbSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getSslClientKeystoredb__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getSslClientKeystoredb() { + return sslClientKeystoredb != null ? new String(sslClientKeystoredb) : null; + } /** * The base64 encoded keystore file created at the client containing the server certificate / CA @@ -909,11 +951,13 @@ public Db2Connection.SecurityProtocol getSecurityProtocol() { * available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystoredbSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ - public String getSslClientKeystoredb() { + @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredb") + public char[] getSslClientKeystoredb__AsCharArray() { return sslClientKeystoredb; } @@ -947,21 +991,41 @@ public String getSslClientKeystoredbSecretId() { * file. This property is not supported for IBM Db2 for i, as client TLS mode is not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystashSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystash") - private final String sslClientKeystash; + private final char[] sslClientKeystash; + + /** + * The base64 encoded keystash file which contains the encrypted password to the key database + * file. This property is not supported for IBM Db2 for i, as client TLS mode is not available. + * <p> Deprecated: This field is deprecated and replaced by + * "sslClientKeystashSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getSslClientKeystash__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getSslClientKeystash() { + return sslClientKeystash != null ? new String(sslClientKeystash) : null; + } /** * The base64 encoded keystash file which contains the encrypted password to the key database * file. This property is not supported for IBM Db2 for i, as client TLS mode is not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystashSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ - public String getSslClientKeystash() { + @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystash") + public char[] getSslClientKeystash__AsCharArray() { return sslClientKeystash; } @@ -1033,10 +1097,10 @@ public String toString(boolean includeByteArrayContents) { sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); sb.append(", additionalAttributes=").append(String.valueOf(this.additionalAttributes)); sb.append(", securityProtocol=").append(String.valueOf(this.securityProtocol)); - sb.append(", sslClientKeystoredb=").append(String.valueOf(this.sslClientKeystoredb)); + sb.append(", sslClientKeystoredb=").append(""); sb.append(", sslClientKeystoredbSecretId=") .append(String.valueOf(this.sslClientKeystoredbSecretId)); - sb.append(", sslClientKeystash=").append(String.valueOf(this.sslClientKeystash)); + sb.append(", sslClientKeystash=").append(""); sb.append(", sslClientKeystashSecretId=") .append(String.valueOf(this.sslClientKeystashSecretId)); sb.append(", sslServerCertificate=").append(String.valueOf(this.sslServerCertificate)); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateElasticsearchConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateElasticsearchConnectionDetails.java index 2e475414fb9..8c7fc10aeee 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateElasticsearchConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateElasticsearchConnectionDetails.java @@ -257,7 +257,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -266,7 +268,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -642,8 +646,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -652,7 +657,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -666,8 +672,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoldenGateConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoldenGateConnectionDetails.java index 34e2bac9a48..04dba7edb59 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoldenGateConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoldenGateConnectionDetails.java @@ -244,16 +244,18 @@ public Builder username(String username) { } /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -587,16 +589,18 @@ public String getUsername() { /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -609,8 +613,9 @@ public String getPassword() { /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleBigQueryConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleBigQueryConnectionDetails.java index fc967a09b5c..710540c6389 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleBigQueryConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleBigQueryConnectionDetails.java @@ -200,24 +200,35 @@ public Builder endpoint(String endpoint) { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private String serviceAccountKeyFile; + private char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param serviceAccountKeyFile the value to set * @return this builder */ - public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + public Builder serviceAccountKeyFile(char[] serviceAccountKeyFile) { this.serviceAccountKeyFile = serviceAccountKeyFile; this.__explicitlySet__.add("serviceAccountKeyFile"); return this; } + + public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.__explicitlySet__.add("serviceAccountKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the service account key file is stored, which contains the @@ -384,6 +395,61 @@ public CreateGoogleBigQueryConnectionDetails( securityAttributes); this.technologyType = technologyType; this.endpoint = endpoint; + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public CreateGoogleBigQueryConnectionDetails( + @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName, + @com.fasterxml.jackson.annotation.JsonProperty("description") String description, + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId, + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags, + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags, + @com.fasterxml.jackson.annotation.JsonProperty("locks") + java.util.List locks, + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") String vaultId, + @com.fasterxml.jackson.annotation.JsonProperty("keyId") String keyId, + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") java.util.List nsgIds, + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") String subnetId, + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + RoutingMethod routingMethod, + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + Boolean doesUseSecretIds, + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") String subscriptionId, + @com.fasterxml.jackson.annotation.JsonProperty("clusterPlacementGroupId") + String clusterPlacementGroupId, + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + java.util.Map> securityAttributes, + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + GoogleBigQueryConnection.TechnologyType technologyType, + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + char[] serviceAccountKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFileSecretId") + String serviceAccountKeyFileSecretId) { + super( + displayName, + description, + compartmentId, + freeformTags, + definedTags, + locks, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + subscriptionId, + clusterPlacementGroupId, + securityAttributes); + this.technologyType = technologyType; + this.endpoint = endpoint; this.serviceAccountKeyFile = serviceAccountKeyFile; this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; } @@ -421,19 +487,40 @@ public String getEndpoint() { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private final String serviceAccountKeyFile; + private final char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getServiceAccountKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getServiceAccountKeyFile() { + return serviceAccountKeyFile != null ? new String(serviceAccountKeyFile) : null; + } + + /** + * The base64 encoded content of the service account key file containing the credentials + * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + public char[] getServiceAccountKeyFile__AsCharArray() { return serviceAccountKeyFile; } @@ -475,7 +562,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", technologyType=").append(String.valueOf(this.technologyType)); sb.append(", endpoint=").append(String.valueOf(this.endpoint)); - sb.append(", serviceAccountKeyFile=").append(String.valueOf(this.serviceAccountKeyFile)); + sb.append(", serviceAccountKeyFile=").append(""); sb.append(", serviceAccountKeyFileSecretId=") .append(String.valueOf(this.serviceAccountKeyFileSecretId)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleCloudStorageConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleCloudStorageConnectionDetails.java index 1d00569d0f4..cdc7016eca7 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleCloudStorageConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleCloudStorageConnectionDetails.java @@ -200,24 +200,35 @@ public Builder endpoint(String endpoint) { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced - * by "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * by "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private String serviceAccountKeyFile; + private char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced - * by "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * by "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param serviceAccountKeyFile the value to set * @return this builder */ - public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + public Builder serviceAccountKeyFile(char[] serviceAccountKeyFile) { this.serviceAccountKeyFile = serviceAccountKeyFile; this.__explicitlySet__.add("serviceAccountKeyFile"); return this; } + + public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.__explicitlySet__.add("serviceAccountKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the service account key file is stored, which contains the @@ -384,6 +395,61 @@ public CreateGoogleCloudStorageConnectionDetails( securityAttributes); this.technologyType = technologyType; this.endpoint = endpoint; + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public CreateGoogleCloudStorageConnectionDetails( + @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName, + @com.fasterxml.jackson.annotation.JsonProperty("description") String description, + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId, + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags, + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags, + @com.fasterxml.jackson.annotation.JsonProperty("locks") + java.util.List locks, + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") String vaultId, + @com.fasterxml.jackson.annotation.JsonProperty("keyId") String keyId, + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") java.util.List nsgIds, + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") String subnetId, + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + RoutingMethod routingMethod, + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + Boolean doesUseSecretIds, + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") String subscriptionId, + @com.fasterxml.jackson.annotation.JsonProperty("clusterPlacementGroupId") + String clusterPlacementGroupId, + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + java.util.Map> securityAttributes, + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + GoogleCloudStorageConnection.TechnologyType technologyType, + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + char[] serviceAccountKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFileSecretId") + String serviceAccountKeyFileSecretId) { + super( + displayName, + description, + compartmentId, + freeformTags, + definedTags, + locks, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + subscriptionId, + clusterPlacementGroupId, + securityAttributes); + this.technologyType = technologyType; + this.endpoint = endpoint; this.serviceAccountKeyFile = serviceAccountKeyFile; this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; } @@ -421,19 +487,40 @@ public String getEndpoint() { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private final String serviceAccountKeyFile; + private final char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getServiceAccountKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getServiceAccountKeyFile() { + return serviceAccountKeyFile != null ? new String(serviceAccountKeyFile) : null; + } + + /** + * The base64 encoded content of the service account key file containing the credentials + * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + public char[] getServiceAccountKeyFile__AsCharArray() { return serviceAccountKeyFile; } @@ -475,7 +562,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", technologyType=").append(String.valueOf(this.technologyType)); sb.append(", endpoint=").append(String.valueOf(this.endpoint)); - sb.append(", serviceAccountKeyFile=").append(String.valueOf(this.serviceAccountKeyFile)); + sb.append(", serviceAccountKeyFile=").append(""); sb.append(", serviceAccountKeyFileSecretId=") .append(String.valueOf(this.serviceAccountKeyFileSecretId)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleCloudStorageIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleCloudStorageIcebergStorageDetails.java index 5bf5c81b34d..60489d6d7db 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleCloudStorageIcebergStorageDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGoogleCloudStorageIcebergStorageDetails.java @@ -82,24 +82,35 @@ public Builder serviceAccountKeyFileSecretId(String serviceAccountKeyFileSecretI /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced - * by "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * by "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private String serviceAccountKeyFile; + private char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced - * by "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * by "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param serviceAccountKeyFile the value to set * @return this builder */ - public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + public Builder serviceAccountKeyFile(char[] serviceAccountKeyFile) { this.serviceAccountKeyFile = serviceAccountKeyFile; this.__explicitlySet__.add("serviceAccountKeyFile"); return this; } + + public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.__explicitlySet__.add("serviceAccountKeyFile"); + return this; + } /** * A legal URL to connect to Google Cloud Storage including scheme, server name and port (if * not the default port). Default: https://storage.googleapis.com @@ -178,6 +189,25 @@ public CreateGoogleCloudStorageIcebergStorageDetails( this.bucket = bucket; this.projectId = projectId; this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.endpoint = endpoint; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public CreateGoogleCloudStorageIcebergStorageDetails( + @com.fasterxml.jackson.annotation.JsonProperty("bucket") String bucket, + @com.fasterxml.jackson.annotation.JsonProperty("projectId") String projectId, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFileSecretId") + String serviceAccountKeyFileSecretId, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + char[] serviceAccountKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint) { + super(); + this.bucket = bucket; + this.projectId = projectId; + this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; this.serviceAccountKeyFile = serviceAccountKeyFile; this.endpoint = endpoint; } @@ -230,19 +260,40 @@ public String getServiceAccountKeyFileSecretId() { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private final String serviceAccountKeyFile; + private final char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getServiceAccountKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getServiceAccountKeyFile() { + return serviceAccountKeyFile != null ? new String(serviceAccountKeyFile) : null; + } + + /** + * The base64 encoded content of the service account key file containing the credentials + * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + public char[] getServiceAccountKeyFile__AsCharArray() { return serviceAccountKeyFile; } @@ -282,7 +333,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", projectId=").append(String.valueOf(this.projectId)); sb.append(", serviceAccountKeyFileSecretId=") .append(String.valueOf(this.serviceAccountKeyFileSecretId)); - sb.append(", serviceAccountKeyFile=").append(String.valueOf(this.serviceAccountKeyFile)); + sb.append(", serviceAccountKeyFile=").append(""); sb.append(", endpoint=").append(String.valueOf(this.endpoint)); sb.append(")"); return sb.toString(); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGooglePubSubConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGooglePubSubConnectionDetails.java index e218f783105..ea3d7bc7edf 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGooglePubSubConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateGooglePubSubConnectionDetails.java @@ -181,24 +181,35 @@ public Builder technologyType(GooglePubSubConnection.TechnologyType technologyTy /** * The base64 encoded content of the service account key file containing the credentials * required to use Google PubSub. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private String serviceAccountKeyFile; + private char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google PubSub. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param serviceAccountKeyFile the value to set * @return this builder */ - public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + public Builder serviceAccountKeyFile(char[] serviceAccountKeyFile) { this.serviceAccountKeyFile = serviceAccountKeyFile; this.__explicitlySet__.add("serviceAccountKeyFile"); return this; } + + public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.__explicitlySet__.add("serviceAccountKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the service account key file is stored, which contains the @@ -359,6 +370,59 @@ public CreateGooglePubSubConnectionDetails( clusterPlacementGroupId, securityAttributes); this.technologyType = technologyType; + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public CreateGooglePubSubConnectionDetails( + @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName, + @com.fasterxml.jackson.annotation.JsonProperty("description") String description, + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId, + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags, + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags, + @com.fasterxml.jackson.annotation.JsonProperty("locks") + java.util.List locks, + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") String vaultId, + @com.fasterxml.jackson.annotation.JsonProperty("keyId") String keyId, + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") java.util.List nsgIds, + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") String subnetId, + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + RoutingMethod routingMethod, + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + Boolean doesUseSecretIds, + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") String subscriptionId, + @com.fasterxml.jackson.annotation.JsonProperty("clusterPlacementGroupId") + String clusterPlacementGroupId, + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + java.util.Map> securityAttributes, + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + GooglePubSubConnection.TechnologyType technologyType, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + char[] serviceAccountKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFileSecretId") + String serviceAccountKeyFileSecretId) { + super( + displayName, + description, + compartmentId, + freeformTags, + definedTags, + locks, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + subscriptionId, + clusterPlacementGroupId, + securityAttributes); + this.technologyType = technologyType; this.serviceAccountKeyFile = serviceAccountKeyFile; this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; } @@ -379,19 +443,40 @@ public GooglePubSubConnection.TechnologyType getTechnologyType() { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google PubSub. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private final String serviceAccountKeyFile; + private final char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google PubSub. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getServiceAccountKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getServiceAccountKeyFile() { + return serviceAccountKeyFile != null ? new String(serviceAccountKeyFile) : null; + } + + /** + * The base64 encoded content of the service account key file containing the credentials + * required to use Google PubSub. Deprecated: This field is deprecated and replaced by + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + public char[] getServiceAccountKeyFile__AsCharArray() { return serviceAccountKeyFile; } @@ -432,7 +517,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("CreateGooglePubSubConnectionDetails("); sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", technologyType=").append(String.valueOf(this.technologyType)); - sb.append(", serviceAccountKeyFile=").append(String.valueOf(this.serviceAccountKeyFile)); + sb.append(", serviceAccountKeyFile=").append(""); sb.append(", serviceAccountKeyFileSecretId=") .append(String.valueOf(this.serviceAccountKeyFileSecretId)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateIcebergStorageDetails.java index 6deb62677b7..1dab60894e4 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateIcebergStorageDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateIcebergStorageDetails.java @@ -25,12 +25,18 @@ @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = CreateAzureDataLakeStorageIcebergStorageDetails.class, name = "AZURE_DATA_LAKE_STORAGE"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = CreateNoIcebergStorageDetails.class, + name = "NONE"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = CreateGoogleCloudStorageIcebergStorageDetails.class, name = "GOOGLE_CLOUD_STORAGE"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = CreateAmazonS3IcebergStorageDetails.class, - name = "AMAZON_S3") + name = "AMAZON_S3"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = CreateOciObjectStorageS3ApiIcebergStorageDetails.class, + name = "OCI_OBJECT_STORAGE_S3_API") }) @com.fasterxml.jackson.annotation.JsonFilter( com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateJavaMessageServiceConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateJavaMessageServiceConnectionDetails.java index 1b3bb753a77..a440033ca94 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateJavaMessageServiceConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateJavaMessageServiceConnectionDetails.java @@ -267,16 +267,18 @@ public Builder jndiSecurityPrincipal(String jndiSecurityPrincipal) { } /** * The password associated to the principal. Deprecated: This field is deprecated and - * replaced by "jndiSecurityCredentialsSecretId". This field will be removed after February - * 15 2026. + * replaced by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("jndiSecurityCredentials") private char[] jndiSecurityCredentials; /** * The password associated to the principal. Deprecated: This field is deprecated and - * replaced by "jndiSecurityCredentialsSecretId". This field will be removed after February - * 15 2026. + * replaced by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param jndiSecurityCredentials the value to set * @return this builder @@ -373,16 +375,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -463,23 +467,33 @@ public Builder authenticationType( } /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private String trustStore; + private char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStore the value to set * @return this builder */ - public Builder trustStore(String trustStore) { + public Builder trustStore(char[] trustStore) { this.trustStore = trustStore; this.__explicitlySet__.add("trustStore"); return this; } + + public Builder trustStore(String trustStore) { + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; + this.__explicitlySet__.add("trustStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the TrustStore file is stored. Note: When provided, @@ -503,14 +517,18 @@ public Builder trustStoreSecretId(String trustStoreSecretId) { } /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStorePassword the value to set * @return this builder @@ -550,23 +568,33 @@ public Builder trustStorePasswordSecretId(String trustStorePasswordSecretId) { } /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private String keyStore; + private char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStore the value to set * @return this builder */ - public Builder keyStore(String keyStore) { + public Builder keyStore(char[] keyStore) { this.keyStore = keyStore; this.__explicitlySet__.add("keyStore"); return this; } + + public Builder keyStore(String keyStore) { + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; + this.__explicitlySet__.add("keyStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the KeyStore file is stored. Note: When provided, 'keyStore' @@ -590,14 +618,18 @@ public Builder keyStoreSecretId(String keyStoreSecretId) { } /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStorePassword the value to set * @return this builder @@ -638,7 +670,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private char[] sslKeyPassword; @@ -646,7 +680,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKeyPassword the value to set * @return this builder @@ -947,12 +983,12 @@ public CreateJavaMessageServiceConnectionDetails( this.passwordSecretId = passwordSecretId; this.securityProtocol = securityProtocol; this.authenticationType = authenticationType; - this.trustStore = trustStore; + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; this.trustStoreSecretId = trustStoreSecretId; this.trustStorePassword = trustStorePassword != null ? trustStorePassword.toCharArray() : null; this.trustStorePasswordSecretId = trustStorePasswordSecretId; - this.keyStore = keyStore; + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; this.keyStoreSecretId = keyStoreSecretId; this.keyStorePassword = keyStorePassword != null ? keyStorePassword.toCharArray() : null; this.keyStorePasswordSecretId = keyStorePasswordSecretId; @@ -1011,14 +1047,14 @@ public CreateJavaMessageServiceConnectionDetails( JavaMessageServiceConnection.SecurityProtocol securityProtocol, @com.fasterxml.jackson.annotation.JsonProperty("authenticationType") JavaMessageServiceConnection.AuthenticationType authenticationType, - @com.fasterxml.jackson.annotation.JsonProperty("trustStore") String trustStore, + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") char[] trustStore, @com.fasterxml.jackson.annotation.JsonProperty("trustStoreSecretId") String trustStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") char[] trustStorePassword, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePasswordSecretId") String trustStorePasswordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("keyStore") String keyStore, + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") char[] keyStore, @com.fasterxml.jackson.annotation.JsonProperty("keyStoreSecretId") String keyStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") @@ -1161,15 +1197,18 @@ public String getJndiSecurityPrincipal() { /** * The password associated to the principal. Deprecated: This field is deprecated and replaced - * by "jndiSecurityCredentialsSecretId". This field will be removed after February 15 2026. + * by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("jndiSecurityCredentials") private final char[] jndiSecurityCredentials; /** * The password associated to the principal. Deprecated: This field is deprecated and replaced - * by "jndiSecurityCredentialsSecretId". This field will be removed after February 15 - * 2026. + * by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getJndiSecurityCredentials__AsCharArray() instead. @@ -1182,7 +1221,9 @@ public String getJndiSecurityCredentials() { /** * The password associated to the principal. Deprecated: This field is deprecated and replaced - * by "jndiSecurityCredentialsSecretId". This field will be removed after February 15 2026. + * by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1263,16 +1304,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -1285,8 +1328,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1350,18 +1394,38 @@ public JavaMessageServiceConnection.AuthenticationType getAuthenticationType() { /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private final String trustStore; + private final char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTrustStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTrustStore() { + return trustStore != null ? new String(trustStore) : null; + } + + /** + * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") + public char[] getTrustStore__AsCharArray() { return trustStore; } @@ -1386,14 +1450,18 @@ public String getTrustStoreSecretId() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private final char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTrustStorePassword__AsCharArray() instead. @@ -1406,7 +1474,9 @@ public String getTrustStorePassword() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1436,18 +1506,38 @@ public String getTrustStorePasswordSecretId() { /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private final String keyStore; + private final char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getKeyStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKeyStore() { + return keyStore != null ? new String(keyStore) : null; + } + + /** + * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") + public char[] getKeyStore__AsCharArray() { return keyStore; } @@ -1472,14 +1562,18 @@ public String getKeyStoreSecretId() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private final char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getKeyStorePassword__AsCharArray() instead. @@ -1492,7 +1586,9 @@ public String getKeyStorePassword() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1523,7 +1619,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private final char[] sslKeyPassword; @@ -1531,7 +1629,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSslKeyPassword__AsCharArray() instead. @@ -1545,7 +1645,9 @@ public String getSslKeyPassword() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1607,12 +1709,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); sb.append(", securityProtocol=").append(String.valueOf(this.securityProtocol)); sb.append(", authenticationType=").append(String.valueOf(this.authenticationType)); - sb.append(", trustStore=").append(String.valueOf(this.trustStore)); + sb.append(", trustStore=").append(""); sb.append(", trustStoreSecretId=").append(String.valueOf(this.trustStoreSecretId)); sb.append(", trustStorePassword=").append(""); sb.append(", trustStorePasswordSecretId=") .append(String.valueOf(this.trustStorePasswordSecretId)); - sb.append(", keyStore=").append(String.valueOf(this.keyStore)); + sb.append(", keyStore=").append(""); sb.append(", keyStoreSecretId=").append(String.valueOf(this.keyStoreSecretId)); sb.append(", keyStorePassword=").append(""); sb.append(", keyStorePasswordSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateKafkaConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateKafkaConnectionDetails.java index 5f5c30d2150..0c9aa0f4d8c 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateKafkaConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateKafkaConnectionDetails.java @@ -280,7 +280,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -289,7 +291,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -332,23 +336,33 @@ public Builder passwordSecretId(String passwordSecretId) { } /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private String trustStore; + private char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStore the value to set * @return this builder */ - public Builder trustStore(String trustStore) { + public Builder trustStore(char[] trustStore) { this.trustStore = trustStore; this.__explicitlySet__.add("trustStore"); return this; } + + public Builder trustStore(String trustStore) { + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; + this.__explicitlySet__.add("trustStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the TrustStore file is stored. Note: When provided, @@ -372,14 +386,18 @@ public Builder trustStoreSecretId(String trustStoreSecretId) { } /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStorePassword the value to set * @return this builder @@ -419,23 +437,33 @@ public Builder trustStorePasswordSecretId(String trustStorePasswordSecretId) { } /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private String keyStore; + private char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStore the value to set * @return this builder */ - public Builder keyStore(String keyStore) { + public Builder keyStore(char[] keyStore) { this.keyStore = keyStore; this.__explicitlySet__.add("keyStore"); return this; } + + public Builder keyStore(String keyStore) { + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; + this.__explicitlySet__.add("keyStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the KeyStore file is stored. Note: When provided, 'keyStore' @@ -459,14 +487,18 @@ public Builder keyStoreSecretId(String keyStoreSecretId) { } /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStorePassword the value to set * @return this builder @@ -507,7 +539,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private char[] sslKeyPassword; @@ -515,7 +549,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKeyPassword the value to set * @return this builder @@ -839,12 +875,12 @@ public CreateKafkaConnectionDetails( this.username = username; this.password = password != null ? password.toCharArray() : null; this.passwordSecretId = passwordSecretId; - this.trustStore = trustStore; + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; this.trustStoreSecretId = trustStoreSecretId; this.trustStorePassword = trustStorePassword != null ? trustStorePassword.toCharArray() : null; this.trustStorePasswordSecretId = trustStorePasswordSecretId; - this.keyStore = keyStore; + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; this.keyStoreSecretId = keyStoreSecretId; this.keyStorePassword = keyStorePassword != null ? keyStorePassword.toCharArray() : null; this.keyStorePasswordSecretId = keyStorePasswordSecretId; @@ -892,14 +928,14 @@ public CreateKafkaConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("password") char[] password, @com.fasterxml.jackson.annotation.JsonProperty("passwordSecretId") String passwordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("trustStore") String trustStore, + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") char[] trustStore, @com.fasterxml.jackson.annotation.JsonProperty("trustStoreSecretId") String trustStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") char[] trustStorePassword, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePasswordSecretId") String trustStorePasswordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("keyStore") String keyStore, + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") char[] keyStore, @com.fasterxml.jackson.annotation.JsonProperty("keyStoreSecretId") String keyStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") @@ -1057,8 +1093,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -1067,7 +1104,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -1081,8 +1119,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1116,18 +1155,38 @@ public String getPasswordSecretId() { /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private final String trustStore; + private final char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTrustStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTrustStore() { + return trustStore != null ? new String(trustStore) : null; + } + + /** + * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") + public char[] getTrustStore__AsCharArray() { return trustStore; } @@ -1152,14 +1211,18 @@ public String getTrustStoreSecretId() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private final char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTrustStorePassword__AsCharArray() instead. @@ -1172,7 +1235,9 @@ public String getTrustStorePassword() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1202,18 +1267,38 @@ public String getTrustStorePasswordSecretId() { /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private final String keyStore; + private final char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getKeyStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKeyStore() { + return keyStore != null ? new String(keyStore) : null; + } + + /** + * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") + public char[] getKeyStore__AsCharArray() { return keyStore; } @@ -1238,14 +1323,18 @@ public String getKeyStoreSecretId() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private final char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getKeyStorePassword__AsCharArray() instead. @@ -1258,7 +1347,9 @@ public String getKeyStorePassword() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1289,7 +1380,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private final char[] sslKeyPassword; @@ -1297,7 +1390,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSslKeyPassword__AsCharArray() instead. @@ -1311,7 +1406,9 @@ public String getSslKeyPassword() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1409,12 +1506,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", username=").append(String.valueOf(this.username)); sb.append(", password=").append(""); sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); - sb.append(", trustStore=").append(String.valueOf(this.trustStore)); + sb.append(", trustStore=").append(""); sb.append(", trustStoreSecretId=").append(String.valueOf(this.trustStoreSecretId)); sb.append(", trustStorePassword=").append(""); sb.append(", trustStorePasswordSecretId=") .append(String.valueOf(this.trustStorePasswordSecretId)); - sb.append(", keyStore=").append(String.valueOf(this.keyStore)); + sb.append(", keyStore=").append(""); sb.append(", keyStoreSecretId=").append(String.valueOf(this.keyStoreSecretId)); sb.append(", keyStorePassword=").append(""); sb.append(", keyStorePasswordSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateKafkaSchemaRegistryConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateKafkaSchemaRegistryConnectionDetails.java index 704600bc6b6..fee86e22d22 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateKafkaSchemaRegistryConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateKafkaSchemaRegistryConnectionDetails.java @@ -231,8 +231,9 @@ public Builder username(String username) { /** * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration property. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -240,8 +241,9 @@ public Builder username(String username) { /** * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration property. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -284,23 +286,33 @@ public Builder passwordSecretId(String passwordSecretId) { } /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private String trustStore; + private char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStore the value to set * @return this builder */ - public Builder trustStore(String trustStore) { + public Builder trustStore(char[] trustStore) { this.trustStore = trustStore; this.__explicitlySet__.add("trustStore"); return this; } + + public Builder trustStore(String trustStore) { + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; + this.__explicitlySet__.add("trustStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the TrustStore file. Note: When provided, 'trustStore' @@ -324,14 +336,18 @@ public Builder trustStoreSecretId(String trustStoreSecretId) { } /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStorePassword the value to set * @return this builder @@ -371,23 +387,33 @@ public Builder trustStorePasswordSecretId(String trustStorePasswordSecretId) { } /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private String keyStore; + private char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStore the value to set * @return this builder */ - public Builder keyStore(String keyStore) { + public Builder keyStore(char[] keyStore) { this.keyStore = keyStore; this.__explicitlySet__.add("keyStore"); return this; } + + public Builder keyStore(String keyStore) { + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; + this.__explicitlySet__.add("keyStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the KeyStore file. Note: When provided, 'keyStore' @@ -411,14 +437,18 @@ public Builder keyStoreSecretId(String keyStoreSecretId) { } /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStorePassword the value to set * @return this builder @@ -459,7 +489,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private char[] sslKeyPassword; @@ -467,7 +499,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKeyPassword the value to set * @return this builder @@ -713,12 +747,12 @@ public CreateKafkaSchemaRegistryConnectionDetails( this.username = username; this.password = password != null ? password.toCharArray() : null; this.passwordSecretId = passwordSecretId; - this.trustStore = trustStore; + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; this.trustStoreSecretId = trustStoreSecretId; this.trustStorePassword = trustStorePassword != null ? trustStorePassword.toCharArray() : null; this.trustStorePasswordSecretId = trustStorePasswordSecretId; - this.keyStore = keyStore; + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; this.keyStoreSecretId = keyStoreSecretId; this.keyStorePassword = keyStorePassword != null ? keyStorePassword.toCharArray() : null; this.keyStorePasswordSecretId = keyStorePasswordSecretId; @@ -760,14 +794,14 @@ public CreateKafkaSchemaRegistryConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("password") char[] password, @com.fasterxml.jackson.annotation.JsonProperty("passwordSecretId") String passwordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("trustStore") String trustStore, + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") char[] trustStore, @com.fasterxml.jackson.annotation.JsonProperty("trustStoreSecretId") String trustStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") char[] trustStorePassword, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePasswordSecretId") String trustStorePasswordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("keyStore") String keyStore, + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") char[] keyStore, @com.fasterxml.jackson.annotation.JsonProperty("keyStoreSecretId") String keyStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") @@ -870,8 +904,9 @@ public String getUsername() { /** * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration property. Deprecated: - * This field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * This field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -880,7 +915,8 @@ public String getUsername() { * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration * property. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -894,8 +930,9 @@ public String getPassword() { /** * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration property. Deprecated: - * This field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * This field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -929,18 +966,38 @@ public String getPasswordSecretId() { /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private final String trustStore; + private final char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTrustStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTrustStore() { + return trustStore != null ? new String(trustStore) : null; + } + + /** + * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") + public char[] getTrustStore__AsCharArray() { return trustStore; } @@ -965,14 +1022,18 @@ public String getTrustStoreSecretId() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private final char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTrustStorePassword__AsCharArray() instead. @@ -985,7 +1046,9 @@ public String getTrustStorePassword() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1015,18 +1078,38 @@ public String getTrustStorePasswordSecretId() { /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private final String keyStore; + private final char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getKeyStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKeyStore() { + return keyStore != null ? new String(keyStore) : null; + } + + /** + * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") + public char[] getKeyStore__AsCharArray() { return keyStore; } @@ -1051,14 +1134,18 @@ public String getKeyStoreSecretId() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private final char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getKeyStorePassword__AsCharArray() instead. @@ -1071,7 +1158,9 @@ public String getKeyStorePassword() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1102,7 +1191,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore password, * it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private final char[] sslKeyPassword; @@ -1110,7 +1201,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore password, * it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSslKeyPassword__AsCharArray() instead. @@ -1124,7 +1217,9 @@ public String getSslKeyPassword() { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore password, * it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1175,12 +1270,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", username=").append(String.valueOf(this.username)); sb.append(", password=").append(""); sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); - sb.append(", trustStore=").append(String.valueOf(this.trustStore)); + sb.append(", trustStore=").append(""); sb.append(", trustStoreSecretId=").append(String.valueOf(this.trustStoreSecretId)); sb.append(", trustStorePassword=").append(""); sb.append(", trustStorePasswordSecretId=") .append(String.valueOf(this.trustStorePasswordSecretId)); - sb.append(", keyStore=").append(String.valueOf(this.keyStore)); + sb.append(", keyStore=").append(""); sb.append(", keyStoreSecretId=").append(String.valueOf(this.keyStoreSecretId)); sb.append(", keyStorePassword=").append(""); sb.append(", keyStorePasswordSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMicrosoftFabricConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMicrosoftFabricConnectionDetails.java index dda8b97c3af..925f7b5aecd 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMicrosoftFabricConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMicrosoftFabricConnectionDetails.java @@ -210,23 +210,33 @@ public Builder clientId(String clientId) { } /** * Client secret associated with the client id. Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") - private String clientSecret; + private char[] clientSecret; /** * Client secret associated with the client id. Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param clientSecret the value to set * @return this builder */ - public Builder clientSecret(String clientSecret) { + public Builder clientSecret(char[] clientSecret) { this.clientSecret = clientSecret; this.__explicitlySet__.add("clientSecret"); return this; } + + public Builder clientSecret(String clientSecret) { + this.clientSecret = clientSecret != null ? clientSecret.toCharArray() : null; + this.__explicitlySet__.add("clientSecret"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the client secret is stored. Note: When provided, 'clientSecret' field must @@ -421,6 +431,63 @@ public CreateMicrosoftFabricConnectionDetails( this.technologyType = technologyType; this.tenantId = tenantId; this.clientId = clientId; + this.clientSecret = clientSecret != null ? clientSecret.toCharArray() : null; + this.clientSecretSecretId = clientSecretSecretId; + this.endpoint = endpoint; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public CreateMicrosoftFabricConnectionDetails( + @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName, + @com.fasterxml.jackson.annotation.JsonProperty("description") String description, + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") String compartmentId, + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags, + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags, + @com.fasterxml.jackson.annotation.JsonProperty("locks") + java.util.List locks, + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") String vaultId, + @com.fasterxml.jackson.annotation.JsonProperty("keyId") String keyId, + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") java.util.List nsgIds, + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") String subnetId, + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + RoutingMethod routingMethod, + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + Boolean doesUseSecretIds, + @com.fasterxml.jackson.annotation.JsonProperty("subscriptionId") String subscriptionId, + @com.fasterxml.jackson.annotation.JsonProperty("clusterPlacementGroupId") + String clusterPlacementGroupId, + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + java.util.Map> securityAttributes, + @com.fasterxml.jackson.annotation.JsonProperty("technologyType") + MicrosoftFabricConnection.TechnologyType technologyType, + @com.fasterxml.jackson.annotation.JsonProperty("tenantId") String tenantId, + @com.fasterxml.jackson.annotation.JsonProperty("clientId") String clientId, + @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") char[] clientSecret, + @com.fasterxml.jackson.annotation.JsonProperty("clientSecretSecretId") + String clientSecretSecretId, + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint) { + super( + displayName, + description, + compartmentId, + freeformTags, + definedTags, + locks, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + subscriptionId, + clusterPlacementGroupId, + securityAttributes); + this.technologyType = technologyType; + this.tenantId = tenantId; + this.clientId = clientId; this.clientSecret = clientSecret; this.clientSecretSecretId = clientSecretSecretId; this.endpoint = endpoint; @@ -467,18 +534,38 @@ public String getClientId() { /** * Client secret associated with the client id. Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") - private final String clientSecret; + private final char[] clientSecret; /** * Client secret associated with the client id. Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getClientSecret__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getClientSecret() { + return clientSecret != null ? new String(clientSecret) : null; + } + + /** + * Client secret associated with the client id. Deprecated: This field is deprecated and + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") + public char[] getClientSecret__AsCharArray() { return clientSecret; } @@ -536,7 +623,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", technologyType=").append(String.valueOf(this.technologyType)); sb.append(", tenantId=").append(String.valueOf(this.tenantId)); sb.append(", clientId=").append(String.valueOf(this.clientId)); - sb.append(", clientSecret=").append(String.valueOf(this.clientSecret)); + sb.append(", clientSecret=").append(""); sb.append(", clientSecretSecretId=").append(String.valueOf(this.clientSecretSecretId)); sb.append(", endpoint=").append(String.valueOf(this.endpoint)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMicrosoftSqlserverConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMicrosoftSqlserverConnectionDetails.java index da64e3426c4..b9e3cc4d4ee 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMicrosoftSqlserverConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMicrosoftSqlserverConnectionDetails.java @@ -244,16 +244,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -691,16 +693,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -713,8 +717,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMongoDbConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMongoDbConnectionDetails.java index df4ad49f2a9..3b24cd8adaa 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMongoDbConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMongoDbConnectionDetails.java @@ -216,16 +216,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -320,24 +322,35 @@ public Builder tlsCaFile(String tlsCaFile) { /** * Client Certificate - The base64 encoded content of a .pem file, containing the client * public key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFileSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFile") - private String tlsCertificateKeyFile; + private char[] tlsCertificateKeyFile; /** * Client Certificate - The base64 encoded content of a .pem file, containing the client * public key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFileSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param tlsCertificateKeyFile the value to set * @return this builder */ - public Builder tlsCertificateKeyFile(String tlsCertificateKeyFile) { + public Builder tlsCertificateKeyFile(char[] tlsCertificateKeyFile) { this.tlsCertificateKeyFile = tlsCertificateKeyFile; this.__explicitlySet__.add("tlsCertificateKeyFile"); return this; } + + public Builder tlsCertificateKeyFile(String tlsCertificateKeyFile) { + this.tlsCertificateKeyFile = + tlsCertificateKeyFile != null ? tlsCertificateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("tlsCertificateKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the certificate key file of the mtls connection. - The content of a @@ -363,16 +376,18 @@ public Builder tlsCertificateKeyFileSecretId(String tlsCertificateKeyFileSecretI } /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced - * by "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February 15 - * 2026. + * by "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFilePassword") private char[] tlsCertificateKeyFilePassword; /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced - * by "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February 15 - * 2026. + * by "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param tlsCertificateKeyFilePassword the value to set * @return this builder @@ -603,7 +618,8 @@ public CreateMongoDbConnectionDetails( this.databaseId = databaseId; this.securityProtocol = securityProtocol; this.tlsCaFile = tlsCaFile; - this.tlsCertificateKeyFile = tlsCertificateKeyFile; + this.tlsCertificateKeyFile = + tlsCertificateKeyFile != null ? tlsCertificateKeyFile.toCharArray() : null; this.tlsCertificateKeyFileSecretId = tlsCertificateKeyFileSecretId; this.tlsCertificateKeyFilePassword = tlsCertificateKeyFilePassword != null @@ -650,7 +666,7 @@ public CreateMongoDbConnectionDetails( MongoDbConnection.SecurityProtocol securityProtocol, @com.fasterxml.jackson.annotation.JsonProperty("tlsCaFile") String tlsCaFile, @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFile") - String tlsCertificateKeyFile, + char[] tlsCertificateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFileSecretId") String tlsCertificateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFilePassword") @@ -732,16 +748,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed - * after February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -754,8 +772,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -835,19 +854,40 @@ public String getTlsCaFile() { /** * Client Certificate - The base64 encoded content of a .pem file, containing the client public * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFileSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFile") - private final String tlsCertificateKeyFile; + private final char[] tlsCertificateKeyFile; /** * Client Certificate - The base64 encoded content of a .pem file, containing the client public * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFileSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTlsCertificateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTlsCertificateKeyFile() { + return tlsCertificateKeyFile != null ? new String(tlsCertificateKeyFile) : null; + } + + /** + * Client Certificate - The base64 encoded content of a .pem file, containing the client public + * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFile") + public char[] getTlsCertificateKeyFile__AsCharArray() { return tlsCertificateKeyFile; } @@ -874,15 +914,18 @@ public String getTlsCertificateKeyFileSecretId() { /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFilePassword") private final char[] tlsCertificateKeyFilePassword; /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February - * 15 2026. + * "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTlsCertificateKeyFilePassword__AsCharArray() instead. @@ -897,7 +940,9 @@ public String getTlsCertificateKeyFilePassword() { /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -948,7 +993,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", databaseId=").append(String.valueOf(this.databaseId)); sb.append(", securityProtocol=").append(String.valueOf(this.securityProtocol)); sb.append(", tlsCaFile=").append(String.valueOf(this.tlsCaFile)); - sb.append(", tlsCertificateKeyFile=").append(String.valueOf(this.tlsCertificateKeyFile)); + sb.append(", tlsCertificateKeyFile=").append(""); sb.append(", tlsCertificateKeyFileSecretId=") .append(String.valueOf(this.tlsCertificateKeyFileSecretId)); sb.append(", tlsCertificateKeyFilePassword=").append(""); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMysqlConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMysqlConnectionDetails.java index 3f5ce5ac825..626199daa26 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMysqlConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateMysqlConnectionDetails.java @@ -203,7 +203,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -212,7 +214,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -396,24 +400,34 @@ public Builder sslCert(String sslCert) { /** * Client Key - The base64 encoded content of a .pem or .crt file containing the client * private key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "sslKeySecretId". This field will be removed after February 15 2026. + * "sslKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKey") - private String sslKey; + private char[] sslKey; /** * Client Key - The base64 encoded content of a .pem or .crt file containing the client * private key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "sslKeySecretId". This field will be removed after February 15 2026. + * "sslKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKey the value to set * @return this builder */ - public Builder sslKey(String sslKey) { + public Builder sslKey(char[] sslKey) { this.sslKey = sslKey; this.__explicitlySet__.add("sslKey"); return this; } + + public Builder sslKey(String sslKey) { + this.sslKey = sslKey != null ? sslKey.toCharArray() : null; + this.__explicitlySet__.add("sslKey"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the Client Key - The content of a .pem or .crt file containing the @@ -688,7 +702,7 @@ public CreateMysqlConnectionDetails( this.sslCa = sslCa; this.sslCrl = sslCrl; this.sslCert = sslCert; - this.sslKey = sslKey; + this.sslKey = sslKey != null ? sslKey.toCharArray() : null; this.sslKeySecretId = sslKeySecretId; this.additionalAttributes = additionalAttributes; this.dbSystemId = dbSystemId; @@ -735,7 +749,7 @@ public CreateMysqlConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("sslCa") String sslCa, @com.fasterxml.jackson.annotation.JsonProperty("sslCrl") String sslCrl, @com.fasterxml.jackson.annotation.JsonProperty("sslCert") String sslCert, - @com.fasterxml.jackson.annotation.JsonProperty("sslKey") String sslKey, + @com.fasterxml.jackson.annotation.JsonProperty("sslKey") char[] sslKey, @com.fasterxml.jackson.annotation.JsonProperty("sslKeySecretId") String sslKeySecretId, @com.fasterxml.jackson.annotation.JsonProperty("additionalAttributes") java.util.List additionalAttributes, @@ -809,8 +823,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -819,7 +834,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -833,8 +849,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -993,19 +1010,38 @@ public String getSslCert() { /** * Client Key - The base64 encoded content of a .pem or .crt file containing the client private * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by "sslKeySecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKey") - private final String sslKey; + private final char[] sslKey; /** * Client Key - The base64 encoded content of a .pem or .crt file containing the client private - * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by "sslKeySecretId". - * This field will be removed after February 15 2026. + * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by + * "sslKeySecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getSslKey__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getSslKey() { + return sslKey != null ? new String(sslKey) : null; + } + + /** + * Client Key - The base64 encoded content of a .pem or .crt file containing the client private + * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by "sslKeySecretId". + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("sslKey") + public char[] getSslKey__AsCharArray() { return sslKey; } @@ -1089,7 +1125,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", sslCa=").append(String.valueOf(this.sslCa)); sb.append(", sslCrl=").append(String.valueOf(this.sslCrl)); sb.append(", sslCert=").append(String.valueOf(this.sslCert)); - sb.append(", sslKey=").append(String.valueOf(this.sslKey)); + sb.append(", sslKey=").append(""); sb.append(", sslKeySecretId=").append(String.valueOf(this.sslKeySecretId)); sb.append(", additionalAttributes=").append(String.valueOf(this.additionalAttributes)); sb.append(", dbSystemId=").append(String.valueOf(this.dbSystemId)); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateNoIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateNoIcebergStorageDetails.java new file mode 100644 index 00000000000..1120b4b3065 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateNoIcebergStorageDetails.java @@ -0,0 +1,100 @@ +/** + * 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.goldengate.model; + +/** + * The information indicating the absence of a storage configuration in an Iceberg connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateNoIcebergStorageDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "storageType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateNoIcebergStorageDetails extends CreateIcebergStorageDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateNoIcebergStorageDetails build() { + CreateNoIcebergStorageDetails model = new CreateNoIcebergStorageDetails(); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateNoIcebergStorageDetails model) { + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public CreateNoIcebergStorageDetails() { + 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("CreateNoIcebergStorageDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateNoIcebergStorageDetails)) { + return false; + } + + CreateNoIcebergStorageDetails other = (CreateNoIcebergStorageDetails) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciGenAiModelAuthDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciGenAiModelAuthDetails.java new file mode 100644 index 00000000000..5b005e5db0c --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciGenAiModelAuthDetails.java @@ -0,0 +1,408 @@ +/** + * 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.goldengate.model; + +/** + * The information about new OCI Generative AI authentication details for an AI Model connection. + *
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateOciGenAiModelAuthDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateOciGenAiModelAuthDetails extends CreateAiModelAuthDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @param apiKey the value to set + * @return this builder + */ + public Builder apiKey(char[] apiKey) { + this.apiKey = apiKey; + this.__explicitlySet__.add("apiKey"); + return this; + } + + public Builder apiKey(String apiKey) { + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.__explicitlySet__.add("apiKey"); + return this; + } + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @param apiKeySecretId the value to set + * @return this builder + */ + public Builder apiKeySecretId(String apiKeySecretId) { + this.apiKeySecretId = apiKeySecretId; + this.__explicitlySet__.add("apiKeySecretId"); + return this; + } + /** OCI Generative AI key fingerprint. */ + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") + private String keyFingerprint; + + /** + * OCI Generative AI key fingerprint. + * + * @param keyFingerprint the value to set + * @return this builder + */ + public Builder keyFingerprint(String keyFingerprint) { + this.keyFingerprint = keyFingerprint; + this.__explicitlySet__.add("keyFingerprint"); + return this; + } + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private String region; + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + * + * @param region the value to set + * @return this builder + */ + public Builder region(String region) { + this.region = region; + this.__explicitlySet__.add("region"); + return this; + } + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") + private String tenancyId; + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + * + * @param tenancyId the value to set + * @return this builder + */ + public Builder tenancyId(String tenancyId) { + this.tenancyId = tenancyId; + this.__explicitlySet__.add("tenancyId"); + return this; + } + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("userId") + private String userId; + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the OCID of the user who is executing the operation. + * + * @param userId the value to set + * @return this builder + */ + public Builder userId(String userId) { + this.userId = userId; + this.__explicitlySet__.add("userId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateOciGenAiModelAuthDetails build() { + CreateOciGenAiModelAuthDetails model = + new CreateOciGenAiModelAuthDetails( + this.apiKey, + this.apiKeySecretId, + this.keyFingerprint, + this.region, + this.tenancyId, + this.userId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateOciGenAiModelAuthDetails model) { + if (model.wasPropertyExplicitlySet("apiKey")) { + this.apiKey(model.getApiKey()); + } + if (model.wasPropertyExplicitlySet("apiKeySecretId")) { + this.apiKeySecretId(model.getApiKeySecretId()); + } + if (model.wasPropertyExplicitlySet("keyFingerprint")) { + this.keyFingerprint(model.getKeyFingerprint()); + } + if (model.wasPropertyExplicitlySet("region")) { + this.region(model.getRegion()); + } + if (model.wasPropertyExplicitlySet("tenancyId")) { + this.tenancyId(model.getTenancyId()); + } + if (model.wasPropertyExplicitlySet("userId")) { + this.userId(model.getUserId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public CreateOciGenAiModelAuthDetails( + String apiKey, + String apiKeySecretId, + String keyFingerprint, + String region, + String tenancyId, + String userId) { + super(); + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.apiKeySecretId = apiKeySecretId; + this.keyFingerprint = keyFingerprint; + this.region = region; + this.tenancyId = tenancyId; + this.userId = userId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public CreateOciGenAiModelAuthDetails( + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") char[] apiKey, + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") String apiKeySecretId, + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") String keyFingerprint, + @com.fasterxml.jackson.annotation.JsonProperty("region") String region, + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") String tenancyId, + @com.fasterxml.jackson.annotation.JsonProperty("userId") String userId) { + super(); + this.apiKey = apiKey; + this.apiKeySecretId = apiKeySecretId; + this.keyFingerprint = keyFingerprint; + this.region = region; + this.tenancyId = tenancyId; + this.userId = userId; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private final char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getApiKey__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getApiKey() { + return apiKey != null ? new String(apiKey) : null; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + public char[] getApiKey__AsCharArray() { + return apiKey; + } + + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private final String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @return the value + */ + public String getApiKeySecretId() { + return apiKeySecretId; + } + + /** OCI Generative AI key fingerprint. */ + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") + private final String keyFingerprint; + + /** + * OCI Generative AI key fingerprint. + * + * @return the value + */ + public String getKeyFingerprint() { + return keyFingerprint; + } + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private final String region; + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + * + * @return the value + */ + public String getRegion() { + return region; + } + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") + private final String tenancyId; + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + * + * @return the value + */ + public String getTenancyId() { + return tenancyId; + } + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty value, + * it defaults to the OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("userId") + private final String userId; + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty value, + * it defaults to the OCID of the user who is executing the operation. + * + * @return the value + */ + public String getUserId() { + return userId; + } + + @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("CreateOciGenAiModelAuthDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", apiKey=").append(""); + sb.append(", apiKeySecretId=").append(String.valueOf(this.apiKeySecretId)); + sb.append(", keyFingerprint=").append(String.valueOf(this.keyFingerprint)); + sb.append(", region=").append(String.valueOf(this.region)); + sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); + sb.append(", userId=").append(String.valueOf(this.userId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateOciGenAiModelAuthDetails)) { + return false; + } + + CreateOciGenAiModelAuthDetails other = (CreateOciGenAiModelAuthDetails) o; + return java.util.Objects.equals(this.apiKey, other.apiKey) + && java.util.Objects.equals(this.apiKeySecretId, other.apiKeySecretId) + && java.util.Objects.equals(this.keyFingerprint, other.keyFingerprint) + && java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.tenancyId, other.tenancyId) + && java.util.Objects.equals(this.userId, other.userId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.apiKey == null ? 43 : this.apiKey.hashCode()); + result = + (result * PRIME) + + (this.apiKeySecretId == null ? 43 : this.apiKeySecretId.hashCode()); + result = + (result * PRIME) + + (this.keyFingerprint == null ? 43 : this.keyFingerprint.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = (result * PRIME) + (this.tenancyId == null ? 43 : this.tenancyId.hashCode()); + result = (result * PRIME) + (this.userId == null ? 43 : this.userId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciObjectStorageConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciObjectStorageConnectionDetails.java index 5afdda5b9d5..24408976c07 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciObjectStorageConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciObjectStorageConnectionDetails.java @@ -243,27 +243,35 @@ public Builder userId(String userId) { * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private String privateKeyFile; + private char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyFile the value to set * @return this builder */ - public Builder privateKeyFile(String privateKeyFile) { + public Builder privateKeyFile(char[] privateKeyFile) { this.privateKeyFile = privateKeyFile; this.__explicitlySet__.add("privateKeyFile"); return this; } + + public Builder privateKeyFile(String privateKeyFile) { + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("privateKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the private key file (PEM file) corresponding to the @@ -291,14 +299,18 @@ public Builder privateKeyFileSecretId(String privateKeyFileSecretId) { } /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyPassphrase the value to set * @return this builder @@ -549,7 +561,7 @@ public CreateOciObjectStorageConnectionDetails( this.tenancyId = tenancyId; this.region = region; this.userId = userId; - this.privateKeyFile = privateKeyFile; + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; this.privateKeyFileSecretId = privateKeyFileSecretId; this.privateKeyPassphrase = privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null; @@ -588,7 +600,7 @@ public CreateOciObjectStorageConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") String tenancyId, @com.fasterxml.jackson.annotation.JsonProperty("region") String region, @com.fasterxml.jackson.annotation.JsonProperty("userId") String userId, - @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") String privateKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") char[] privateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFileSecretId") String privateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") @@ -699,22 +711,42 @@ public String getUserId() { * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private final String privateKeyFile; + private final char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getPrivateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getPrivateKeyFile() { + return privateKeyFile != null ? new String(privateKeyFile) : null; + } + + /** + * The base64 encoded content of the private key file (PEM file) corresponding to the API key of + * the fingerprint. See documentation: + * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") + public char[] getPrivateKeyFile__AsCharArray() { return privateKeyFile; } @@ -743,14 +775,18 @@ public String getPrivateKeyFileSecretId() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private final char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPrivateKeyPassphrase__AsCharArray() instead. @@ -763,7 +799,9 @@ public String getPrivateKeyPassphrase() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -844,7 +882,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); sb.append(", region=").append(String.valueOf(this.region)); sb.append(", userId=").append(String.valueOf(this.userId)); - sb.append(", privateKeyFile=").append(String.valueOf(this.privateKeyFile)); + sb.append(", privateKeyFile=").append(""); sb.append(", privateKeyFileSecretId=").append(String.valueOf(this.privateKeyFileSecretId)); sb.append(", privateKeyPassphrase=").append(""); sb.append(", privateKeyPassphraseSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciObjectStorageS3ApiIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciObjectStorageS3ApiIcebergStorageDetails.java new file mode 100644 index 00000000000..8f5ae1b62f6 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOciObjectStorageS3ApiIcebergStorageDetails.java @@ -0,0 +1,400 @@ +/** + * 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.goldengate.model; + +/** + * The information to create the OCI Object Storage (S3 Compatibility API) configuration used by the + * Iceberg connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateOciObjectStorageS3ApiIcebergStorageDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "storageType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateOciObjectStorageS3ApiIcebergStorageDetails + extends CreateIcebergStorageDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private String endpoint; + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + * + * @param endpoint the value to set + * @return this builder + */ + public Builder endpoint(String endpoint) { + this.endpoint = endpoint; + this.__explicitlySet__.add("endpoint"); + return this; + } + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") + private String accessKeyId; + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + * + * @param accessKeyId the value to set + * @return this builder + */ + public Builder accessKeyId(String accessKeyId) { + this.accessKeyId = accessKeyId; + this.__explicitlySet__.add("accessKeyId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + private String secretAccessKeySecretId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + * + * @param secretAccessKeySecretId the value to set + * @return this builder + */ + public Builder secretAccessKeySecretId(String secretAccessKeySecretId) { + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.__explicitlySet__.add("secretAccessKeySecretId"); + return this; + } + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate + * to OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated + * and replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") + private char[] secretAccessKey; + + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate + * to OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated + * and replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @param secretAccessKey the value to set + * @return this builder + */ + public Builder secretAccessKey(char[] secretAccessKey) { + this.secretAccessKey = secretAccessKey; + this.__explicitlySet__.add("secretAccessKey"); + return this; + } + + public Builder secretAccessKey(String secretAccessKey) { + this.secretAccessKey = secretAccessKey != null ? secretAccessKey.toCharArray() : null; + this.__explicitlySet__.add("secretAccessKey"); + return this; + } + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bucket") + private String bucket; + + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + * + * @param bucket the value to set + * @return this builder + */ + public Builder bucket(String bucket) { + this.bucket = bucket; + this.__explicitlySet__.add("bucket"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateOciObjectStorageS3ApiIcebergStorageDetails build() { + CreateOciObjectStorageS3ApiIcebergStorageDetails model = + new CreateOciObjectStorageS3ApiIcebergStorageDetails( + this.endpoint, + this.accessKeyId, + this.secretAccessKeySecretId, + this.secretAccessKey, + this.bucket); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateOciObjectStorageS3ApiIcebergStorageDetails model) { + if (model.wasPropertyExplicitlySet("endpoint")) { + this.endpoint(model.getEndpoint()); + } + if (model.wasPropertyExplicitlySet("accessKeyId")) { + this.accessKeyId(model.getAccessKeyId()); + } + if (model.wasPropertyExplicitlySet("secretAccessKeySecretId")) { + this.secretAccessKeySecretId(model.getSecretAccessKeySecretId()); + } + if (model.wasPropertyExplicitlySet("secretAccessKey")) { + this.secretAccessKey(model.getSecretAccessKey()); + } + if (model.wasPropertyExplicitlySet("bucket")) { + this.bucket(model.getBucket()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public CreateOciObjectStorageS3ApiIcebergStorageDetails( + String endpoint, + String accessKeyId, + String secretAccessKeySecretId, + String secretAccessKey, + String bucket) { + super(); + this.endpoint = endpoint; + this.accessKeyId = accessKeyId; + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.secretAccessKey = secretAccessKey != null ? secretAccessKey.toCharArray() : null; + this.bucket = bucket; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public CreateOciObjectStorageS3ApiIcebergStorageDetails( + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint, + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") String accessKeyId, + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + String secretAccessKeySecretId, + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") + char[] secretAccessKey, + @com.fasterxml.jackson.annotation.JsonProperty("bucket") String bucket) { + super(); + this.endpoint = endpoint; + this.accessKeyId = accessKeyId; + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.secretAccessKey = secretAccessKey; + this.bucket = bucket; + } + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private final String endpoint; + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + * + * @return the value + */ + public String getEndpoint() { + return endpoint; + } + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to OCI + * Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") + private final String accessKeyId; + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to OCI + * Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + * + * @return the value + */ + public String getAccessKeyId() { + return accessKeyId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + private final String secretAccessKeySecretId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + * + * @return the value + */ + public String getSecretAccessKeySecretId() { + return secretAccessKeySecretId; + } + + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated and + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") + private final char[] secretAccessKey; + + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate + * to OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated and + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getSecretAccessKey__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getSecretAccessKey() { + return secretAccessKey != null ? new String(secretAccessKey) : null; + } + + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated and + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") + public char[] getSecretAccessKey__AsCharArray() { + return secretAccessKey; + } + + /** Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. */ + @com.fasterxml.jackson.annotation.JsonProperty("bucket") + private final String bucket; + + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + * + * @return the value + */ + public String getBucket() { + return bucket; + } + + @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("CreateOciObjectStorageS3ApiIcebergStorageDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", endpoint=").append(String.valueOf(this.endpoint)); + sb.append(", accessKeyId=").append(String.valueOf(this.accessKeyId)); + sb.append(", secretAccessKeySecretId=") + .append(String.valueOf(this.secretAccessKeySecretId)); + sb.append(", secretAccessKey=").append(""); + sb.append(", bucket=").append(String.valueOf(this.bucket)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateOciObjectStorageS3ApiIcebergStorageDetails)) { + return false; + } + + CreateOciObjectStorageS3ApiIcebergStorageDetails other = + (CreateOciObjectStorageS3ApiIcebergStorageDetails) o; + return java.util.Objects.equals(this.endpoint, other.endpoint) + && java.util.Objects.equals(this.accessKeyId, other.accessKeyId) + && java.util.Objects.equals( + this.secretAccessKeySecretId, other.secretAccessKeySecretId) + && java.util.Objects.equals(this.secretAccessKey, other.secretAccessKey) + && java.util.Objects.equals(this.bucket, other.bucket) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.endpoint == null ? 43 : this.endpoint.hashCode()); + result = (result * PRIME) + (this.accessKeyId == null ? 43 : this.accessKeyId.hashCode()); + result = + (result * PRIME) + + (this.secretAccessKeySecretId == null + ? 43 + : this.secretAccessKeySecretId.hashCode()); + result = + (result * PRIME) + + (this.secretAccessKey == null ? 43 : this.secretAccessKey.hashCode()); + result = (result * PRIME) + (this.bucket == null ? 43 : this.bucket.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOggDeploymentDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOggDeploymentDetails.java index eaa1ea26858..0357b700dbb 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOggDeploymentDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOggDeploymentDetails.java @@ -43,7 +43,7 @@ public CreateOggDeploymentDetails( this.adminUsername = adminUsername; this.adminPassword = adminPassword != null ? adminPassword.toCharArray() : null; this.certificate = certificate; - this.key = key; + this.key = key != null ? key.toCharArray() : null; this.keySecretId = keySecretId; this.oggVersion = oggVersion; this.groupToRolesMapping = groupToRolesMapping; @@ -72,7 +72,7 @@ public CreateOggDeploymentDetails( String adminUsername, char[] adminPassword, String certificate, - String key, + char[] key, String keySecretId, String oggVersion, GroupToRolesMappingDetails groupToRolesMapping) { @@ -227,7 +227,7 @@ public Builder certificate(String certificate) { } /** The base64 encoded content of the PEM file containing the private key. */ @com.fasterxml.jackson.annotation.JsonProperty("key") - private String key; + private char[] key; /** * The base64 encoded content of the PEM file containing the private key. @@ -235,11 +235,17 @@ public Builder certificate(String certificate) { * @param key the value to set * @return this builder */ - public Builder key(String key) { + public Builder key(char[] key) { this.key = key; this.__explicitlySet__.add("key"); return this; } + + public Builder key(String key) { + this.key = key != null ? key.toCharArray() : null; + this.__explicitlySet__.add("key"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the deployment ssl private key is stored in PEM format. @@ -486,14 +492,27 @@ public String getCertificate() { /** The base64 encoded content of the PEM file containing the private key. */ @com.fasterxml.jackson.annotation.JsonProperty("key") - private final String key; + private final char[] key; /** * The base64 encoded content of the PEM file containing the private key. * * @return the value + * @deprecated Use getKey__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKey() { + return key != null ? new String(key) : null; + } + + /** + * The base64 encoded content of the PEM file containing the private key. + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + public char[] getKey__AsCharArray() { return key; } @@ -556,7 +575,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", adminUsername=").append(String.valueOf(this.adminUsername)); sb.append(", adminPassword=").append(""); sb.append(", certificate=").append(String.valueOf(this.certificate)); - sb.append(", key=").append(String.valueOf(this.key)); + sb.append(", key=").append(""); sb.append(", keySecretId=").append(String.valueOf(this.keySecretId)); sb.append(", oggVersion=").append(String.valueOf(this.oggVersion)); sb.append(", groupToRolesMapping=").append(String.valueOf(this.groupToRolesMapping)); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleAiDataPlatformConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleAiDataPlatformConnectionDetails.java index 8013bd5ba0b..9bd5e56b0e6 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleAiDataPlatformConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleAiDataPlatformConnectionDetails.java @@ -305,37 +305,49 @@ public Builder privateKeyPassphraseSecretId(String privateKeyPassphraseSecretId) * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private String privateKeyFile; + private char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyFile the value to set * @return this builder */ - public Builder privateKeyFile(String privateKeyFile) { + public Builder privateKeyFile(char[] privateKeyFile) { this.privateKeyFile = privateKeyFile; this.__explicitlySet__.add("privateKeyFile"); return this; } + + public Builder privateKeyFile(String privateKeyFile) { + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("privateKeyFile"); + return this; + } /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyPassphrase the value to set * @return this builder @@ -573,7 +585,7 @@ public CreateOracleAiDataPlatformConnectionDetails( this.userId = userId; this.privateKeyFileSecretId = privateKeyFileSecretId; this.privateKeyPassphraseSecretId = privateKeyPassphraseSecretId; - this.privateKeyFile = privateKeyFile; + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; this.privateKeyPassphrase = privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null; this.publicKeyFingerprint = publicKeyFingerprint; @@ -615,7 +627,7 @@ public CreateOracleAiDataPlatformConnectionDetails( String privateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphraseSecretId") String privateKeyPassphraseSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") String privateKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") char[] privateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") char[] privateKeyPassphrase, @com.fasterxml.jackson.annotation.JsonProperty("publicKeyFingerprint") @@ -778,35 +790,59 @@ public String getPrivateKeyPassphraseSecretId() { * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private final String privateKeyFile; + private final char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getPrivateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getPrivateKeyFile() { + return privateKeyFile != null ? new String(privateKeyFile) : null; + } + + /** + * The base64 encoded content of the private key file (PEM file) corresponding to the API key of + * the fingerprint. See documentation: + * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") + public char[] getPrivateKeyFile__AsCharArray() { return privateKeyFile; } /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private final char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPrivateKeyPassphrase__AsCharArray() instead. @@ -819,7 +855,9 @@ public String getPrivateKeyPassphrase() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -885,7 +923,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", privateKeyFileSecretId=").append(String.valueOf(this.privateKeyFileSecretId)); sb.append(", privateKeyPassphraseSecretId=") .append(String.valueOf(this.privateKeyPassphraseSecretId)); - sb.append(", privateKeyFile=").append(String.valueOf(this.privateKeyFile)); + sb.append(", privateKeyFile=").append(""); sb.append(", privateKeyPassphrase=").append(""); sb.append(", publicKeyFingerprint=").append(String.valueOf(this.publicKeyFingerprint)); sb.append(", shouldUseResourcePrincipal=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleConnectionDetails.java index a1c02651e9e..3ec941d591b 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleConnectionDetails.java @@ -203,7 +203,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -212,7 +214,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -290,24 +294,34 @@ public Builder authenticationMode(OracleConnection.AuthenticationMode authentica /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This * attribute is expected to be base64 encoded. Deprecated: This field is deprecated and - * replaced by "walletSecretId". This field will be removed after February 15 2026. + * replaced by "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("wallet") - private String wallet; + private char[] wallet; /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This * attribute is expected to be base64 encoded. Deprecated: This field is deprecated and - * replaced by "walletSecretId". This field will be removed after February 15 2026. + * replaced by "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param wallet the value to set * @return this builder */ - public Builder wallet(String wallet) { + public Builder wallet(char[] wallet) { this.wallet = wallet; this.__explicitlySet__.add("wallet"); return this; } + + public Builder wallet(String wallet) { + this.wallet = wallet != null ? wallet.toCharArray() : null; + this.__explicitlySet__.add("wallet"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the wallet file is stored. The wallet contents Oracle GoldenGate uses to @@ -340,7 +354,7 @@ public Builder walletSecretId(String walletSecretId) { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, * 2027. */ @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") @@ -357,7 +371,7 @@ public Builder walletSecretId(String walletSecretId) { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, * 2027. * * @param sessionMode the value to set @@ -564,7 +578,7 @@ public CreateOracleConnectionDetails( this.passwordSecretId = passwordSecretId; this.connectionString = connectionString; this.authenticationMode = authenticationMode; - this.wallet = wallet; + this.wallet = wallet != null ? wallet.toCharArray() : null; this.walletSecretId = walletSecretId; this.sessionMode = sessionMode; this.databaseId = databaseId; @@ -605,7 +619,7 @@ public CreateOracleConnectionDetails( String connectionString, @com.fasterxml.jackson.annotation.JsonProperty("authenticationMode") OracleConnection.AuthenticationMode authenticationMode, - @com.fasterxml.jackson.annotation.JsonProperty("wallet") String wallet, + @com.fasterxml.jackson.annotation.JsonProperty("wallet") char[] wallet, @com.fasterxml.jackson.annotation.JsonProperty("walletSecretId") String walletSecretId, @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") OracleConnection.SessionMode sessionMode, @@ -673,8 +687,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -683,7 +698,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -697,8 +713,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -763,19 +780,40 @@ public OracleConnection.AuthenticationMode getAuthenticationMode() { /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by - * "walletSecretId". This field will be removed after February 15 2026. + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("wallet") - private final String wallet; + private final char[] wallet; /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by - * "walletSecretId". This field will be removed after February 15 2026. + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getWallet__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getWallet() { + return wallet != null ? new String(wallet) : null; + } + + /** + * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute + * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("wallet") + public char[] getWallet__AsCharArray() { return wallet; } @@ -808,7 +846,7 @@ public String getWalletSecretId() { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, 2027. + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, 2027. */ @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") private final OracleConnection.SessionMode sessionMode; @@ -823,7 +861,7 @@ public String getWalletSecretId() { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, 2027. + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, 2027. * * @return the value */ @@ -869,7 +907,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); sb.append(", connectionString=").append(String.valueOf(this.connectionString)); sb.append(", authenticationMode=").append(String.valueOf(this.authenticationMode)); - sb.append(", wallet=").append(String.valueOf(this.wallet)); + sb.append(", wallet=").append(""); sb.append(", walletSecretId=").append(String.valueOf(this.walletSecretId)); sb.append(", sessionMode=").append(String.valueOf(this.sessionMode)); sb.append(", databaseId=").append(String.valueOf(this.databaseId)); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleNosqlConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleNosqlConnectionDetails.java index 51e24a987f5..af8061ab3b2 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleNosqlConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateOracleNosqlConnectionDetails.java @@ -243,27 +243,35 @@ public Builder userId(String userId) { * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private String privateKeyFile; + private char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyFile the value to set * @return this builder */ - public Builder privateKeyFile(String privateKeyFile) { + public Builder privateKeyFile(char[] privateKeyFile) { this.privateKeyFile = privateKeyFile; this.__explicitlySet__.add("privateKeyFile"); return this; } + + public Builder privateKeyFile(String privateKeyFile) { + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("privateKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the private key file (PEM file) corresponding to the @@ -291,14 +299,18 @@ public Builder privateKeyFileSecretId(String privateKeyFileSecretId) { } /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyPassphrase the value to set * @return this builder @@ -549,7 +561,7 @@ public CreateOracleNosqlConnectionDetails( this.tenancyId = tenancyId; this.region = region; this.userId = userId; - this.privateKeyFile = privateKeyFile; + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; this.privateKeyFileSecretId = privateKeyFileSecretId; this.privateKeyPassphrase = privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null; @@ -588,7 +600,7 @@ public CreateOracleNosqlConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") String tenancyId, @com.fasterxml.jackson.annotation.JsonProperty("region") String region, @com.fasterxml.jackson.annotation.JsonProperty("userId") String userId, - @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") String privateKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") char[] privateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFileSecretId") String privateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") @@ -699,22 +711,42 @@ public String getUserId() { * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private final String privateKeyFile; + private final char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getPrivateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getPrivateKeyFile() { + return privateKeyFile != null ? new String(privateKeyFile) : null; + } + + /** + * The base64 encoded content of the private key file (PEM file) corresponding to the API key of + * the fingerprint. See documentation: + * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") + public char[] getPrivateKeyFile__AsCharArray() { return privateKeyFile; } @@ -743,14 +775,18 @@ public String getPrivateKeyFileSecretId() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private final char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPrivateKeyPassphrase__AsCharArray() instead. @@ -763,7 +799,9 @@ public String getPrivateKeyPassphrase() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -844,7 +882,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); sb.append(", region=").append(String.valueOf(this.region)); sb.append(", userId=").append(String.valueOf(this.userId)); - sb.append(", privateKeyFile=").append(String.valueOf(this.privateKeyFile)); + sb.append(", privateKeyFile=").append(""); sb.append(", privateKeyFileSecretId=").append(String.valueOf(this.privateKeyFileSecretId)); sb.append(", privateKeyPassphrase=").append(""); sb.append(", privateKeyPassphraseSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreatePostgresqlConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreatePostgresqlConnectionDetails.java index 6aa37fac641..bd80d0d6877 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreatePostgresqlConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreatePostgresqlConnectionDetails.java @@ -248,7 +248,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -257,7 +259,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -413,24 +417,32 @@ public Builder sslCert(String sslCert) { /** * The base64 encoded private key of the PostgreSQL server. The supported file formats are * .pem and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKey") - private String sslKey; + private char[] sslKey; /** * The base64 encoded private key of the PostgreSQL server. The supported file formats are * .pem and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKey the value to set * @return this builder */ - public Builder sslKey(String sslKey) { + public Builder sslKey(char[] sslKey) { this.sslKey = sslKey; this.__explicitlySet__.add("sslKey"); return this; } + + public Builder sslKey(String sslKey) { + this.sslKey = sslKey != null ? sslKey.toCharArray() : null; + this.__explicitlySet__.add("sslKey"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the private key of the PostgreSQL server. The supported file formats @@ -685,7 +697,7 @@ public CreatePostgresqlConnectionDetails( this.sslCa = sslCa; this.sslCrl = sslCrl; this.sslCert = sslCert; - this.sslKey = sslKey; + this.sslKey = sslKey != null ? sslKey.toCharArray() : null; this.sslKeySecretId = sslKeySecretId; this.dbSystemId = dbSystemId; } @@ -733,7 +745,7 @@ public CreatePostgresqlConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("sslCa") String sslCa, @com.fasterxml.jackson.annotation.JsonProperty("sslCrl") String sslCrl, @com.fasterxml.jackson.annotation.JsonProperty("sslCert") String sslCert, - @com.fasterxml.jackson.annotation.JsonProperty("sslKey") String sslKey, + @com.fasterxml.jackson.annotation.JsonProperty("sslKey") char[] sslKey, @com.fasterxml.jackson.annotation.JsonProperty("sslKeySecretId") String sslKeySecretId, @com.fasterxml.jackson.annotation.JsonProperty("dbSystemId") String dbSystemId) { super( @@ -844,8 +856,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -854,7 +867,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -868,8 +882,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1003,20 +1018,38 @@ public String getSslCert() { /** * The base64 encoded private key of the PostgreSQL server. The supported file formats are .pem - * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". This field - * will be removed after February 15 2026. + * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKey") - private final String sslKey; + private final char[] sslKey; /** * The base64 encoded private key of the PostgreSQL server. The supported file formats are .pem - * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". This field - * will be removed after February 15 2026. + * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getSslKey__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getSslKey() { + return sslKey != null ? new String(sslKey) : null; + } + + /** + * The base64 encoded private key of the PostgreSQL server. The supported file formats are .pem + * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("sslKey") + public char[] getSslKey__AsCharArray() { return sslKey; } @@ -1084,7 +1117,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", sslCa=").append(String.valueOf(this.sslCa)); sb.append(", sslCrl=").append(String.valueOf(this.sslCrl)); sb.append(", sslCert=").append(String.valueOf(this.sslCert)); - sb.append(", sslKey=").append(String.valueOf(this.sslKey)); + sb.append(", sslKey=").append(""); sb.append(", sslKeySecretId=").append(String.valueOf(this.sslKeySecretId)); sb.append(", dbSystemId=").append(String.valueOf(this.dbSystemId)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateRedisConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateRedisConnectionDetails.java index ce6d8589833..3ea4d0d408a 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateRedisConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateRedisConnectionDetails.java @@ -256,7 +256,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -265,7 +267,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -308,23 +312,33 @@ public Builder passwordSecretId(String passwordSecretId) { } /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private String trustStore; + private char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStore the value to set * @return this builder */ - public Builder trustStore(String trustStore) { + public Builder trustStore(char[] trustStore) { this.trustStore = trustStore; this.__explicitlySet__.add("trustStore"); return this; } + + public Builder trustStore(String trustStore) { + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; + this.__explicitlySet__.add("trustStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the TrustStore file. Note: When provided, 'trustStore' @@ -348,14 +362,18 @@ public Builder trustStoreSecretId(String trustStoreSecretId) { } /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStorePassword the value to set * @return this builder @@ -395,23 +413,33 @@ public Builder trustStorePasswordSecretId(String trustStorePasswordSecretId) { } /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private String keyStore; + private char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStore the value to set * @return this builder */ - public Builder keyStore(String keyStore) { + public Builder keyStore(char[] keyStore) { this.keyStore = keyStore; this.__explicitlySet__.add("keyStore"); return this; } + + public Builder keyStore(String keyStore) { + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; + this.__explicitlySet__.add("keyStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the KeyStore file. Note: When provided, 'keyStore' @@ -435,14 +463,18 @@ public Builder keyStoreSecretId(String keyStoreSecretId) { } /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStorePassword the value to set * @return this builder @@ -707,12 +739,12 @@ public CreateRedisConnectionDetails( this.username = username; this.password = password != null ? password.toCharArray() : null; this.passwordSecretId = passwordSecretId; - this.trustStore = trustStore; + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; this.trustStoreSecretId = trustStoreSecretId; this.trustStorePassword = trustStorePassword != null ? trustStorePassword.toCharArray() : null; this.trustStorePasswordSecretId = trustStorePasswordSecretId; - this.keyStore = keyStore; + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; this.keyStoreSecretId = keyStoreSecretId; this.keyStorePassword = keyStorePassword != null ? keyStorePassword.toCharArray() : null; this.keyStorePasswordSecretId = keyStorePasswordSecretId; @@ -755,14 +787,14 @@ public CreateRedisConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("password") char[] password, @com.fasterxml.jackson.annotation.JsonProperty("passwordSecretId") String passwordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("trustStore") String trustStore, + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") char[] trustStore, @com.fasterxml.jackson.annotation.JsonProperty("trustStoreSecretId") String trustStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") char[] trustStorePassword, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePasswordSecretId") String trustStorePasswordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("keyStore") String keyStore, + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") char[] keyStore, @com.fasterxml.jackson.annotation.JsonProperty("keyStoreSecretId") String keyStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") @@ -887,8 +919,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -897,7 +930,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -911,8 +945,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -946,18 +981,38 @@ public String getPasswordSecretId() { /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private final String trustStore; + private final char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTrustStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTrustStore() { + return trustStore != null ? new String(trustStore) : null; + } + + /** + * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") + public char[] getTrustStore__AsCharArray() { return trustStore; } @@ -982,14 +1037,18 @@ public String getTrustStoreSecretId() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private final char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTrustStorePassword__AsCharArray() instead. @@ -1002,7 +1061,9 @@ public String getTrustStorePassword() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1032,18 +1093,38 @@ public String getTrustStorePasswordSecretId() { /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private final String keyStore; + private final char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getKeyStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKeyStore() { + return keyStore != null ? new String(keyStore) : null; + } + + /** + * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") + public char[] getKeyStore__AsCharArray() { return keyStore; } @@ -1068,14 +1149,18 @@ public String getKeyStoreSecretId() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private final char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getKeyStorePassword__AsCharArray() instead. @@ -1088,7 +1173,9 @@ public String getKeyStorePassword() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1155,12 +1242,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", username=").append(String.valueOf(this.username)); sb.append(", password=").append(""); sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); - sb.append(", trustStore=").append(String.valueOf(this.trustStore)); + sb.append(", trustStore=").append(""); sb.append(", trustStoreSecretId=").append(String.valueOf(this.trustStoreSecretId)); sb.append(", trustStorePassword=").append(""); sb.append(", trustStorePasswordSecretId=") .append(String.valueOf(this.trustStorePasswordSecretId)); - sb.append(", keyStore=").append(String.valueOf(this.keyStore)); + sb.append(", keyStore=").append(""); sb.append(", keyStoreSecretId=").append(String.valueOf(this.keyStoreSecretId)); sb.append(", keyStorePassword=").append(""); sb.append(", keyStorePasswordSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateRestIcebergCatalogDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateRestIcebergCatalogDetails.java index 5dbff915502..f05eeede11c 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateRestIcebergCatalogDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateRestIcebergCatalogDetails.java @@ -72,7 +72,7 @@ public Builder propertiesSecretId(String propertiesSecretId) { * the REST catalog. */ @com.fasterxml.jackson.annotation.JsonProperty("properties") - private String properties; + private char[] properties; /** * The base64 encoded content of the configuration file containing additional properties for @@ -81,12 +81,18 @@ public Builder propertiesSecretId(String propertiesSecretId) { * @param properties the value to set * @return this builder */ - public Builder properties(String properties) { + public Builder properties(char[] properties) { this.properties = properties; this.__explicitlySet__.add("properties"); return this; } + public Builder properties(String properties) { + this.properties = properties != null ? properties.toCharArray() : null; + this.__explicitlySet__.add("properties"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -130,6 +136,19 @@ public CreateRestIcebergCatalogDetails( super(); this.uri = uri; this.propertiesSecretId = propertiesSecretId; + this.properties = properties != null ? properties.toCharArray() : null; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public CreateRestIcebergCatalogDetails( + @com.fasterxml.jackson.annotation.JsonProperty("uri") String uri, + @com.fasterxml.jackson.annotation.JsonProperty("propertiesSecretId") + String propertiesSecretId, + @com.fasterxml.jackson.annotation.JsonProperty("properties") char[] properties) { + super(); + this.uri = uri; + this.propertiesSecretId = propertiesSecretId; this.properties = properties; } @@ -172,15 +191,29 @@ public String getPropertiesSecretId() { * REST catalog. */ @com.fasterxml.jackson.annotation.JsonProperty("properties") - private final String properties; + private final char[] properties; /** * The base64 encoded content of the configuration file containing additional properties for the * REST catalog. * * @return the value + * @deprecated Use getProperties__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getProperties() { + return properties != null ? new String(properties) : null; + } + + /** + * The base64 encoded content of the configuration file containing additional properties for the + * REST catalog. + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("properties") + public char[] getProperties__AsCharArray() { return properties; } @@ -201,7 +234,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", uri=").append(String.valueOf(this.uri)); sb.append(", propertiesSecretId=").append(String.valueOf(this.propertiesSecretId)); - sb.append(", properties=").append(String.valueOf(this.properties)); + sb.append(", properties=").append(""); sb.append(")"); return sb.toString(); } diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateSnowflakeConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateSnowflakeConnectionDetails.java index e4ef248a523..2034aa74ecc 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateSnowflakeConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/CreateSnowflakeConnectionDetails.java @@ -234,16 +234,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -286,25 +288,33 @@ public Builder passwordSecretId(String passwordSecretId) { } /** * The base64 encoded content of private key file in PEM format. Deprecated: This field is - * deprecated and replaced by "privateKeyFileSecretId". This field will be removed after - * February 15 2026. + * deprecated and replaced by "privateKeyFileSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private String privateKeyFile; + private char[] privateKeyFile; /** * The base64 encoded content of private key file in PEM format. Deprecated: This field is - * deprecated and replaced by "privateKeyFileSecretId". This field will be removed after - * February 15 2026. + * deprecated and replaced by "privateKeyFileSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyFile the value to set * @return this builder */ - public Builder privateKeyFile(String privateKeyFile) { + public Builder privateKeyFile(char[] privateKeyFile) { this.privateKeyFile = privateKeyFile; this.__explicitlySet__.add("privateKeyFile"); return this; } + + public Builder privateKeyFile(String privateKeyFile) { + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("privateKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the private key file (PEM file) corresponding to the @@ -332,16 +342,18 @@ public Builder privateKeyFileSecretId(String privateKeyFileSecretId) { } /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after February 15 - * 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private char[] privateKeyPassphrase; /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after February 15 - * 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyPassphrase the value to set * @return this builder @@ -556,7 +568,7 @@ public CreateSnowflakeConnectionDetails( this.username = username; this.password = password != null ? password.toCharArray() : null; this.passwordSecretId = passwordSecretId; - this.privateKeyFile = privateKeyFile; + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; this.privateKeyFileSecretId = privateKeyFileSecretId; this.privateKeyPassphrase = privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null; @@ -597,7 +609,7 @@ public CreateSnowflakeConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("password") char[] password, @com.fasterxml.jackson.annotation.JsonProperty("passwordSecretId") String passwordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") String privateKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") char[] privateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFileSecretId") String privateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") @@ -694,16 +706,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This field - * is deprecated and replaced by "passwordSecretId". This field will be removed after February - * 15 2026. + * is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This field - * is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -716,8 +730,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This field - * is deprecated and replaced by "passwordSecretId". This field will be removed after February - * 15 2026. + * is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -751,20 +766,38 @@ public String getPasswordSecretId() { /** * The base64 encoded content of private key file in PEM format. Deprecated: This field is - * deprecated and replaced by "privateKeyFileSecretId". This field will be removed after - * February 15 2026. + * deprecated and replaced by "privateKeyFileSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private final String privateKeyFile; + private final char[] privateKeyFile; /** * The base64 encoded content of private key file in PEM format. Deprecated: This field is - * deprecated and replaced by "privateKeyFileSecretId". This field will be removed after - * February 15 2026. + * deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getPrivateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getPrivateKeyFile() { + return privateKeyFile != null ? new String(privateKeyFile) : null; + } + + /** + * The base64 encoded content of private key file in PEM format. Deprecated: This field is + * deprecated and replaced by "privateKeyFileSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") + public char[] getPrivateKeyFile__AsCharArray() { return privateKeyFile; } @@ -793,16 +826,18 @@ public String getPrivateKeyFileSecretId() { /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after February 15 - * 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private final char[] privateKeyPassphrase; /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after - * February 15 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPrivateKeyPassphrase__AsCharArray() instead. @@ -815,8 +850,9 @@ public String getPrivateKeyPassphrase() { /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after February 15 - * 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -865,7 +901,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", username=").append(String.valueOf(this.username)); sb.append(", password=").append(""); sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); - sb.append(", privateKeyFile=").append(String.valueOf(this.privateKeyFile)); + sb.append(", privateKeyFile=").append(""); sb.append(", privateKeyFileSecretId=").append(String.valueOf(this.privateKeyFileSecretId)); sb.append(", privateKeyPassphrase=").append(""); sb.append(", privateKeyPassphraseSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorage.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorage.java index 0dee870e020..5bbb6bd43fb 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorage.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorage.java @@ -22,12 +22,18 @@ property = "storageType", defaultImpl = IcebergStorage.class) @com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = OciObjectStorageS3ApiIcebergStorage.class, + name = "OCI_OBJECT_STORAGE_S3_API"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = AmazonS3IcebergStorage.class, name = "AMAZON_S3"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = AzureDataLakeStorageIcebergStorage.class, name = "AZURE_DATA_LAKE_STORAGE"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = NoIcebergStorage.class, + name = "NONE"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = GoogleCloudStorageIcebergStorage.class, name = "GOOGLE_CLOUD_STORAGE") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorageSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorageSummary.java index ced2d7a0f96..7c0672ab35b 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorageSummary.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorageSummary.java @@ -25,9 +25,15 @@ @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = GoogleCloudStorageIcebergStorageSummary.class, name = "GOOGLE_CLOUD_STORAGE"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = OciObjectStorageS3ApiIcebergStorageSummary.class, + name = "OCI_OBJECT_STORAGE_S3_API"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = AzureDataLakeStorageIcebergStorageSummary.class, name = "AZURE_DATA_LAKE_STORAGE"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = NoIcebergStorageSummary.class, + name = "NONE"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = AmazonS3IcebergStorageSummary.class, name = "AMAZON_S3") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorageType.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorageType.java index b647f6ffc15..f69cc3eb976 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorageType.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/IcebergStorageType.java @@ -10,6 +10,8 @@ public enum IcebergStorageType implements com.oracle.bmc.http.internal.BmcEnum { AmazonS3("AMAZON_S3"), GoogleCloudStorage("GOOGLE_CLOUD_STORAGE"), AzureDataLakeStorage("AZURE_DATA_LAKE_STORAGE"), + None("NONE"), + OciObjectStorageS3Api("OCI_OBJECT_STORAGE_S3_API"), /** * This value is used if a service returns a value for this enum that is not recognized by this diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/KafkaConnection.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/KafkaConnection.java index 140259740c6..c7e389ed2f4 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/KafkaConnection.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/KafkaConnection.java @@ -780,6 +780,7 @@ public enum TechnologyType implements com.oracle.bmc.http.internal.BmcEnum { ApacheKafka("APACHE_KAFKA"), AzureEventHubs("AZURE_EVENT_HUBS"), ConfluentKafka("CONFLUENT_KAFKA"), + GoogleCloudManagedServiceForApacheKafka("GOOGLE_CLOUD_MANAGED_SERVICE_FOR_APACHE_KAFKA"), MicrosoftFabricEventstream("MICROSOFT_FABRIC_EVENTSTREAM"), OciStreaming("OCI_STREAMING"), OciStreamingWithApacheKafka("OCI_STREAMING_WITH_APACHE_KAFKA"), diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/NoIcebergStorage.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/NoIcebergStorage.java new file mode 100644 index 00000000000..de0227354fd --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/NoIcebergStorage.java @@ -0,0 +1,99 @@ +/** + * 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.goldengate.model; + +/** + * Represents the absence of a storage configuration in an Iceberg connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = NoIcebergStorage.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "storageType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class NoIcebergStorage extends IcebergStorage { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public NoIcebergStorage build() { + NoIcebergStorage model = new NoIcebergStorage(); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(NoIcebergStorage model) { + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public NoIcebergStorage() { + 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("NoIcebergStorage("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof NoIcebergStorage)) { + return false; + } + + NoIcebergStorage other = (NoIcebergStorage) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/NoIcebergStorageSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/NoIcebergStorageSummary.java new file mode 100644 index 00000000000..daf2ff86c9c --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/NoIcebergStorageSummary.java @@ -0,0 +1,100 @@ +/** + * 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.goldengate.model; + +/** + * Summary of the absence of a storage configuration in an Iceberg connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = NoIcebergStorageSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "storageType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class NoIcebergStorageSummary extends IcebergStorageSummary { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public NoIcebergStorageSummary build() { + NoIcebergStorageSummary model = new NoIcebergStorageSummary(); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(NoIcebergStorageSummary model) { + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public NoIcebergStorageSummary() { + 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("NoIcebergStorageSummary("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof NoIcebergStorageSummary)) { + return false; + } + + NoIcebergStorageSummary other = (NoIcebergStorageSummary) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciGenAiModelAuthDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciGenAiModelAuthDetails.java new file mode 100644 index 00000000000..045bf2dd6a4 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciGenAiModelAuthDetails.java @@ -0,0 +1,407 @@ +/** + * 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.goldengate.model; + +/** + * OCI Generative AI authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = OciGenAiModelAuthDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class OciGenAiModelAuthDetails extends AiModelAuthDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @param apiKey the value to set + * @return this builder + */ + public Builder apiKey(char[] apiKey) { + this.apiKey = apiKey; + this.__explicitlySet__.add("apiKey"); + return this; + } + + public Builder apiKey(String apiKey) { + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.__explicitlySet__.add("apiKey"); + return this; + } + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @param apiKeySecretId the value to set + * @return this builder + */ + public Builder apiKeySecretId(String apiKeySecretId) { + this.apiKeySecretId = apiKeySecretId; + this.__explicitlySet__.add("apiKeySecretId"); + return this; + } + /** OCI Generative AI key fingerprint. */ + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") + private String keyFingerprint; + + /** + * OCI Generative AI key fingerprint. + * + * @param keyFingerprint the value to set + * @return this builder + */ + public Builder keyFingerprint(String keyFingerprint) { + this.keyFingerprint = keyFingerprint; + this.__explicitlySet__.add("keyFingerprint"); + return this; + } + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private String region; + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + * + * @param region the value to set + * @return this builder + */ + public Builder region(String region) { + this.region = region; + this.__explicitlySet__.add("region"); + return this; + } + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") + private String tenancyId; + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + * + * @param tenancyId the value to set + * @return this builder + */ + public Builder tenancyId(String tenancyId) { + this.tenancyId = tenancyId; + this.__explicitlySet__.add("tenancyId"); + return this; + } + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("userId") + private String userId; + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the OCID of the user who is executing the operation. + * + * @param userId the value to set + * @return this builder + */ + public Builder userId(String userId) { + this.userId = userId; + this.__explicitlySet__.add("userId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public OciGenAiModelAuthDetails build() { + OciGenAiModelAuthDetails model = + new OciGenAiModelAuthDetails( + this.apiKey, + this.apiKeySecretId, + this.keyFingerprint, + this.region, + this.tenancyId, + this.userId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(OciGenAiModelAuthDetails model) { + if (model.wasPropertyExplicitlySet("apiKey")) { + this.apiKey(model.getApiKey()); + } + if (model.wasPropertyExplicitlySet("apiKeySecretId")) { + this.apiKeySecretId(model.getApiKeySecretId()); + } + if (model.wasPropertyExplicitlySet("keyFingerprint")) { + this.keyFingerprint(model.getKeyFingerprint()); + } + if (model.wasPropertyExplicitlySet("region")) { + this.region(model.getRegion()); + } + if (model.wasPropertyExplicitlySet("tenancyId")) { + this.tenancyId(model.getTenancyId()); + } + if (model.wasPropertyExplicitlySet("userId")) { + this.userId(model.getUserId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public OciGenAiModelAuthDetails( + String apiKey, + String apiKeySecretId, + String keyFingerprint, + String region, + String tenancyId, + String userId) { + super(); + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.apiKeySecretId = apiKeySecretId; + this.keyFingerprint = keyFingerprint; + this.region = region; + this.tenancyId = tenancyId; + this.userId = userId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public OciGenAiModelAuthDetails( + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") char[] apiKey, + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") String apiKeySecretId, + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") String keyFingerprint, + @com.fasterxml.jackson.annotation.JsonProperty("region") String region, + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") String tenancyId, + @com.fasterxml.jackson.annotation.JsonProperty("userId") String userId) { + super(); + this.apiKey = apiKey; + this.apiKeySecretId = apiKeySecretId; + this.keyFingerprint = keyFingerprint; + this.region = region; + this.tenancyId = tenancyId; + this.userId = userId; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private final char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getApiKey__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getApiKey() { + return apiKey != null ? new String(apiKey) : null; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + public char[] getApiKey__AsCharArray() { + return apiKey; + } + + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private final String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @return the value + */ + public String getApiKeySecretId() { + return apiKeySecretId; + } + + /** OCI Generative AI key fingerprint. */ + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") + private final String keyFingerprint; + + /** + * OCI Generative AI key fingerprint. + * + * @return the value + */ + public String getKeyFingerprint() { + return keyFingerprint; + } + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private final String region; + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + * + * @return the value + */ + public String getRegion() { + return region; + } + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") + private final String tenancyId; + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + * + * @return the value + */ + public String getTenancyId() { + return tenancyId; + } + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty value, + * it defaults to the OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("userId") + private final String userId; + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty value, + * it defaults to the OCID of the user who is executing the operation. + * + * @return the value + */ + public String getUserId() { + return userId; + } + + @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("OciGenAiModelAuthDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", apiKey=").append(""); + sb.append(", apiKeySecretId=").append(String.valueOf(this.apiKeySecretId)); + sb.append(", keyFingerprint=").append(String.valueOf(this.keyFingerprint)); + sb.append(", region=").append(String.valueOf(this.region)); + sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); + sb.append(", userId=").append(String.valueOf(this.userId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OciGenAiModelAuthDetails)) { + return false; + } + + OciGenAiModelAuthDetails other = (OciGenAiModelAuthDetails) o; + return java.util.Objects.equals(this.apiKey, other.apiKey) + && java.util.Objects.equals(this.apiKeySecretId, other.apiKeySecretId) + && java.util.Objects.equals(this.keyFingerprint, other.keyFingerprint) + && java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.tenancyId, other.tenancyId) + && java.util.Objects.equals(this.userId, other.userId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.apiKey == null ? 43 : this.apiKey.hashCode()); + result = + (result * PRIME) + + (this.apiKeySecretId == null ? 43 : this.apiKeySecretId.hashCode()); + result = + (result * PRIME) + + (this.keyFingerprint == null ? 43 : this.keyFingerprint.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = (result * PRIME) + (this.tenancyId == null ? 43 : this.tenancyId.hashCode()); + result = (result * PRIME) + (this.userId == null ? 43 : this.userId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciGenAiModelAuthDetailsSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciGenAiModelAuthDetailsSummary.java new file mode 100644 index 00000000000..b45c11a1414 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciGenAiModelAuthDetailsSummary.java @@ -0,0 +1,314 @@ +/** + * 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.goldengate.model; + +/** + * Summary of OCI Generative AI authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = OciGenAiModelAuthDetailsSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class OciGenAiModelAuthDetailsSummary extends AiModelAuthDetailsSummary { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @param apiKeySecretId the value to set + * @return this builder + */ + public Builder apiKeySecretId(String apiKeySecretId) { + this.apiKeySecretId = apiKeySecretId; + this.__explicitlySet__.add("apiKeySecretId"); + return this; + } + /** OCI Generative AI key fingerprint. */ + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") + private String keyFingerprint; + + /** + * OCI Generative AI key fingerprint. + * + * @param keyFingerprint the value to set + * @return this builder + */ + public Builder keyFingerprint(String keyFingerprint) { + this.keyFingerprint = keyFingerprint; + this.__explicitlySet__.add("keyFingerprint"); + return this; + } + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private String region; + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + * + * @param region the value to set + * @return this builder + */ + public Builder region(String region) { + this.region = region; + this.__explicitlySet__.add("region"); + return this; + } + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") + private String tenancyId; + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + * + * @param tenancyId the value to set + * @return this builder + */ + public Builder tenancyId(String tenancyId) { + this.tenancyId = tenancyId; + this.__explicitlySet__.add("tenancyId"); + return this; + } + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("userId") + private String userId; + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the OCID of the user who is executing the operation. + * + * @param userId the value to set + * @return this builder + */ + public Builder userId(String userId) { + this.userId = userId; + this.__explicitlySet__.add("userId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public OciGenAiModelAuthDetailsSummary build() { + OciGenAiModelAuthDetailsSummary model = + new OciGenAiModelAuthDetailsSummary( + this.apiKeySecretId, + this.keyFingerprint, + this.region, + this.tenancyId, + this.userId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(OciGenAiModelAuthDetailsSummary model) { + if (model.wasPropertyExplicitlySet("apiKeySecretId")) { + this.apiKeySecretId(model.getApiKeySecretId()); + } + if (model.wasPropertyExplicitlySet("keyFingerprint")) { + this.keyFingerprint(model.getKeyFingerprint()); + } + if (model.wasPropertyExplicitlySet("region")) { + this.region(model.getRegion()); + } + if (model.wasPropertyExplicitlySet("tenancyId")) { + this.tenancyId(model.getTenancyId()); + } + if (model.wasPropertyExplicitlySet("userId")) { + this.userId(model.getUserId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public OciGenAiModelAuthDetailsSummary( + String apiKeySecretId, + String keyFingerprint, + String region, + String tenancyId, + String userId) { + super(); + this.apiKeySecretId = apiKeySecretId; + this.keyFingerprint = keyFingerprint; + this.region = region; + this.tenancyId = tenancyId; + this.userId = userId; + } + + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private final String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @return the value + */ + public String getApiKeySecretId() { + return apiKeySecretId; + } + + /** OCI Generative AI key fingerprint. */ + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") + private final String keyFingerprint; + + /** + * OCI Generative AI key fingerprint. + * + * @return the value + */ + public String getKeyFingerprint() { + return keyFingerprint; + } + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private final String region; + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + * + * @return the value + */ + public String getRegion() { + return region; + } + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") + private final String tenancyId; + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + * + * @return the value + */ + public String getTenancyId() { + return tenancyId; + } + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty value, + * it defaults to the OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("userId") + private final String userId; + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty value, + * it defaults to the OCID of the user who is executing the operation. + * + * @return the value + */ + public String getUserId() { + return userId; + } + + @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("OciGenAiModelAuthDetailsSummary("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", apiKeySecretId=").append(String.valueOf(this.apiKeySecretId)); + sb.append(", keyFingerprint=").append(String.valueOf(this.keyFingerprint)); + sb.append(", region=").append(String.valueOf(this.region)); + sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); + sb.append(", userId=").append(String.valueOf(this.userId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OciGenAiModelAuthDetailsSummary)) { + return false; + } + + OciGenAiModelAuthDetailsSummary other = (OciGenAiModelAuthDetailsSummary) o; + return java.util.Objects.equals(this.apiKeySecretId, other.apiKeySecretId) + && java.util.Objects.equals(this.keyFingerprint, other.keyFingerprint) + && java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.tenancyId, other.tenancyId) + && java.util.Objects.equals(this.userId, other.userId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.apiKeySecretId == null ? 43 : this.apiKeySecretId.hashCode()); + result = + (result * PRIME) + + (this.keyFingerprint == null ? 43 : this.keyFingerprint.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = (result * PRIME) + (this.tenancyId == null ? 43 : this.tenancyId.hashCode()); + result = (result * PRIME) + (this.userId == null ? 43 : this.userId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciObjectStorageS3ApiIcebergStorage.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciObjectStorageS3ApiIcebergStorage.java new file mode 100644 index 00000000000..8e7c19e9199 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciObjectStorageS3ApiIcebergStorage.java @@ -0,0 +1,295 @@ +/** + * 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.goldengate.model; + +/** + * Connection details of the OCI Object Storage (S3 Compatibility API) configuration used by the + * Iceberg connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = OciObjectStorageS3ApiIcebergStorage.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "storageType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class OciObjectStorageS3ApiIcebergStorage extends IcebergStorage { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private String endpoint; + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + * + * @param endpoint the value to set + * @return this builder + */ + public Builder endpoint(String endpoint) { + this.endpoint = endpoint; + this.__explicitlySet__.add("endpoint"); + return this; + } + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") + private String accessKeyId; + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + * + * @param accessKeyId the value to set + * @return this builder + */ + public Builder accessKeyId(String accessKeyId) { + this.accessKeyId = accessKeyId; + this.__explicitlySet__.add("accessKeyId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + private String secretAccessKeySecretId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + * + * @param secretAccessKeySecretId the value to set + * @return this builder + */ + public Builder secretAccessKeySecretId(String secretAccessKeySecretId) { + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.__explicitlySet__.add("secretAccessKeySecretId"); + return this; + } + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bucket") + private String bucket; + + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + * + * @param bucket the value to set + * @return this builder + */ + public Builder bucket(String bucket) { + this.bucket = bucket; + this.__explicitlySet__.add("bucket"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public OciObjectStorageS3ApiIcebergStorage build() { + OciObjectStorageS3ApiIcebergStorage model = + new OciObjectStorageS3ApiIcebergStorage( + this.endpoint, + this.accessKeyId, + this.secretAccessKeySecretId, + this.bucket); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(OciObjectStorageS3ApiIcebergStorage model) { + if (model.wasPropertyExplicitlySet("endpoint")) { + this.endpoint(model.getEndpoint()); + } + if (model.wasPropertyExplicitlySet("accessKeyId")) { + this.accessKeyId(model.getAccessKeyId()); + } + if (model.wasPropertyExplicitlySet("secretAccessKeySecretId")) { + this.secretAccessKeySecretId(model.getSecretAccessKeySecretId()); + } + if (model.wasPropertyExplicitlySet("bucket")) { + this.bucket(model.getBucket()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public OciObjectStorageS3ApiIcebergStorage( + String endpoint, String accessKeyId, String secretAccessKeySecretId, String bucket) { + super(); + this.endpoint = endpoint; + this.accessKeyId = accessKeyId; + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.bucket = bucket; + } + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private final String endpoint; + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + * + * @return the value + */ + public String getEndpoint() { + return endpoint; + } + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to OCI + * Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") + private final String accessKeyId; + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to OCI + * Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + * + * @return the value + */ + public String getAccessKeyId() { + return accessKeyId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + private final String secretAccessKeySecretId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + * + * @return the value + */ + public String getSecretAccessKeySecretId() { + return secretAccessKeySecretId; + } + + /** Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. */ + @com.fasterxml.jackson.annotation.JsonProperty("bucket") + private final String bucket; + + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + * + * @return the value + */ + public String getBucket() { + return bucket; + } + + @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("OciObjectStorageS3ApiIcebergStorage("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", endpoint=").append(String.valueOf(this.endpoint)); + sb.append(", accessKeyId=").append(String.valueOf(this.accessKeyId)); + sb.append(", secretAccessKeySecretId=") + .append(String.valueOf(this.secretAccessKeySecretId)); + sb.append(", bucket=").append(String.valueOf(this.bucket)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OciObjectStorageS3ApiIcebergStorage)) { + return false; + } + + OciObjectStorageS3ApiIcebergStorage other = (OciObjectStorageS3ApiIcebergStorage) o; + return java.util.Objects.equals(this.endpoint, other.endpoint) + && java.util.Objects.equals(this.accessKeyId, other.accessKeyId) + && java.util.Objects.equals( + this.secretAccessKeySecretId, other.secretAccessKeySecretId) + && java.util.Objects.equals(this.bucket, other.bucket) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.endpoint == null ? 43 : this.endpoint.hashCode()); + result = (result * PRIME) + (this.accessKeyId == null ? 43 : this.accessKeyId.hashCode()); + result = + (result * PRIME) + + (this.secretAccessKeySecretId == null + ? 43 + : this.secretAccessKeySecretId.hashCode()); + result = (result * PRIME) + (this.bucket == null ? 43 : this.bucket.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciObjectStorageS3ApiIcebergStorageSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciObjectStorageS3ApiIcebergStorageSummary.java new file mode 100644 index 00000000000..b062d9d7227 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OciObjectStorageS3ApiIcebergStorageSummary.java @@ -0,0 +1,296 @@ +/** + * 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.goldengate.model; + +/** + * Summary of the OCI Object Storage (S3 Compatibility API) configuration used by the Iceberg + * connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = OciObjectStorageS3ApiIcebergStorageSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "storageType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class OciObjectStorageS3ApiIcebergStorageSummary extends IcebergStorageSummary { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private String endpoint; + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + * + * @param endpoint the value to set + * @return this builder + */ + public Builder endpoint(String endpoint) { + this.endpoint = endpoint; + this.__explicitlySet__.add("endpoint"); + return this; + } + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") + private String accessKeyId; + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + * + * @param accessKeyId the value to set + * @return this builder + */ + public Builder accessKeyId(String accessKeyId) { + this.accessKeyId = accessKeyId; + this.__explicitlySet__.add("accessKeyId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + private String secretAccessKeySecretId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + * + * @param secretAccessKeySecretId the value to set + * @return this builder + */ + public Builder secretAccessKeySecretId(String secretAccessKeySecretId) { + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.__explicitlySet__.add("secretAccessKeySecretId"); + return this; + } + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bucket") + private String bucket; + + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + * + * @param bucket the value to set + * @return this builder + */ + public Builder bucket(String bucket) { + this.bucket = bucket; + this.__explicitlySet__.add("bucket"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public OciObjectStorageS3ApiIcebergStorageSummary build() { + OciObjectStorageS3ApiIcebergStorageSummary model = + new OciObjectStorageS3ApiIcebergStorageSummary( + this.endpoint, + this.accessKeyId, + this.secretAccessKeySecretId, + this.bucket); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(OciObjectStorageS3ApiIcebergStorageSummary model) { + if (model.wasPropertyExplicitlySet("endpoint")) { + this.endpoint(model.getEndpoint()); + } + if (model.wasPropertyExplicitlySet("accessKeyId")) { + this.accessKeyId(model.getAccessKeyId()); + } + if (model.wasPropertyExplicitlySet("secretAccessKeySecretId")) { + this.secretAccessKeySecretId(model.getSecretAccessKeySecretId()); + } + if (model.wasPropertyExplicitlySet("bucket")) { + this.bucket(model.getBucket()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public OciObjectStorageS3ApiIcebergStorageSummary( + String endpoint, String accessKeyId, String secretAccessKeySecretId, String bucket) { + super(); + this.endpoint = endpoint; + this.accessKeyId = accessKeyId; + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.bucket = bucket; + } + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private final String endpoint; + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + * + * @return the value + */ + public String getEndpoint() { + return endpoint; + } + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to OCI + * Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") + private final String accessKeyId; + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to OCI + * Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + * + * @return the value + */ + public String getAccessKeyId() { + return accessKeyId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + private final String secretAccessKeySecretId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + * + * @return the value + */ + public String getSecretAccessKeySecretId() { + return secretAccessKeySecretId; + } + + /** Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. */ + @com.fasterxml.jackson.annotation.JsonProperty("bucket") + private final String bucket; + + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + * + * @return the value + */ + public String getBucket() { + return bucket; + } + + @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("OciObjectStorageS3ApiIcebergStorageSummary("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", endpoint=").append(String.valueOf(this.endpoint)); + sb.append(", accessKeyId=").append(String.valueOf(this.accessKeyId)); + sb.append(", secretAccessKeySecretId=") + .append(String.valueOf(this.secretAccessKeySecretId)); + sb.append(", bucket=").append(String.valueOf(this.bucket)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OciObjectStorageS3ApiIcebergStorageSummary)) { + return false; + } + + OciObjectStorageS3ApiIcebergStorageSummary other = + (OciObjectStorageS3ApiIcebergStorageSummary) o; + return java.util.Objects.equals(this.endpoint, other.endpoint) + && java.util.Objects.equals(this.accessKeyId, other.accessKeyId) + && java.util.Objects.equals( + this.secretAccessKeySecretId, other.secretAccessKeySecretId) + && java.util.Objects.equals(this.bucket, other.bucket) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.endpoint == null ? 43 : this.endpoint.hashCode()); + result = (result * PRIME) + (this.accessKeyId == null ? 43 : this.accessKeyId.hashCode()); + result = + (result * PRIME) + + (this.secretAccessKeySecretId == null + ? 43 + : this.secretAccessKeySecretId.hashCode()); + result = (result * PRIME) + (this.bucket == null ? 43 : this.bucket.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OracleConnection.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OracleConnection.java index c5f39b51c80..6f01a90fc8f 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OracleConnection.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OracleConnection.java @@ -306,7 +306,7 @@ public Builder authenticationMode(AuthenticationMode authenticationMode) { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, * 2027. */ @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") @@ -323,7 +323,7 @@ public Builder authenticationMode(AuthenticationMode authenticationMode) { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, * 2027. * * @param sessionMode the value to set @@ -651,9 +651,12 @@ public enum TechnologyType implements com.oracle.bmc.http.internal.BmcEnum { OciAutonomousDatabase("OCI_AUTONOMOUS_DATABASE"), OracleDatabase("ORACLE_DATABASE"), OracleExadata("ORACLE_EXADATA"), + OracleExadataExascale("ORACLE_EXADATA_EXASCALE"), OracleExadataDatabaseAtAzure("ORACLE_EXADATA_DATABASE_AT_AZURE"), + OracleExadataExascaleAtAzure("ORACLE_EXADATA_EXASCALE_AT_AZURE"), OracleAutonomousDatabaseAtAzure("ORACLE_AUTONOMOUS_DATABASE_AT_AZURE"), OracleExadataDatabaseAtGoogleCloud("ORACLE_EXADATA_DATABASE_AT_GOOGLE_CLOUD"), + OracleExadataExascaleAtGoogleCloud("ORACLE_EXADATA_EXASCALE_AT_GOOGLE_CLOUD"), OracleAutonomousDatabaseAtGoogleCloud("ORACLE_AUTONOMOUS_DATABASE_AT_GOOGLE_CLOUD"), OracleExadataDatabaseAtAws("ORACLE_EXADATA_DATABASE_AT_AWS"), OracleAutonomousDatabaseAtAws("ORACLE_AUTONOMOUS_DATABASE_AT_AWS"), @@ -820,7 +823,7 @@ public AuthenticationMode getAuthenticationMode() { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, 2027. + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, 2027. */ public enum SessionMode implements com.oracle.bmc.http.internal.BmcEnum { Direct("DIRECT"), @@ -877,7 +880,7 @@ public static SessionMode create(String key) { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, 2027. + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, 2027. */ @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") private final SessionMode sessionMode; @@ -892,7 +895,7 @@ public static SessionMode create(String key) { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, 2027. + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, 2027. * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OracleConnectionSummary.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OracleConnectionSummary.java index 5473298cc29..2c4ea8203c9 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OracleConnectionSummary.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/OracleConnectionSummary.java @@ -307,7 +307,7 @@ public Builder authenticationMode(OracleConnection.AuthenticationMode authentica *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, * 2027. */ @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") @@ -324,7 +324,7 @@ public Builder authenticationMode(OracleConnection.AuthenticationMode authentica *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, * 2027. * * @param sessionMode the value to set @@ -718,7 +718,7 @@ public OracleConnection.AuthenticationMode getAuthenticationMode() { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, 2027. + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, 2027. */ @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") private final OracleConnection.SessionMode sessionMode; @@ -733,7 +733,7 @@ public OracleConnection.AuthenticationMode getAuthenticationMode() { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, 2027. + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, 2027. * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/TechnologyType.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/TechnologyType.java index 4210f192a77..885bff737dc 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/TechnologyType.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/TechnologyType.java @@ -19,10 +19,13 @@ public enum TechnologyType implements com.oracle.bmc.http.internal.BmcEnum { OciStreamingWithApacheKafka("OCI_STREAMING_WITH_APACHE_KAFKA"), OracleDatabase("ORACLE_DATABASE"), OracleExadata("ORACLE_EXADATA"), + OracleExadataExascale("ORACLE_EXADATA_EXASCALE"), OracleExadataDatabaseAtAzure("ORACLE_EXADATA_DATABASE_AT_AZURE"), + OracleExadataExascaleAtAzure("ORACLE_EXADATA_EXASCALE_AT_AZURE"), OracleAutonomousDatabaseAtAzure("ORACLE_AUTONOMOUS_DATABASE_AT_AZURE"), OracleJsonCollection("ORACLE_JSON_COLLECTION"), OracleExadataDatabaseAtGoogleCloud("ORACLE_EXADATA_DATABASE_AT_GOOGLE_CLOUD"), + OracleExadataExascaleAtGoogleCloud("ORACLE_EXADATA_EXASCALE_AT_GOOGLE_CLOUD"), OracleAutonomousDatabaseAtGoogleCloud("ORACLE_AUTONOMOUS_DATABASE_AT_GOOGLE_CLOUD"), OracleExadataDatabaseAtAws("ORACLE_EXADATA_DATABASE_AT_AWS"), OracleAutonomousDatabaseAtAws("ORACLE_AUTONOMOUS_DATABASE_AT_AWS"), @@ -61,6 +64,7 @@ public enum TechnologyType implements com.oracle.bmc.http.internal.BmcEnum { EdbPostgresAdvancedServer("EDB_POSTGRES_ADVANCED_SERVER"), GoogleAlloyDbForPostgresql("GOOGLE_ALLOY_DB_FOR_POSTGRESQL"), GoogleBigquery("GOOGLE_BIGQUERY"), + GoogleCloudManagedServiceForApacheKafka("GOOGLE_CLOUD_MANAGED_SERVICE_FOR_APACHE_KAFKA"), GoogleCloudStorage("GOOGLE_CLOUD_STORAGE"), GoogleCloudSqlMysql("GOOGLE_CLOUD_SQL_MYSQL"), GoogleCloudSqlPostgresql("GOOGLE_CLOUD_SQL_POSTGRESQL"), @@ -82,6 +86,7 @@ public enum TechnologyType implements com.oracle.bmc.http.internal.BmcEnum { SinglestoredbCloud("SINGLESTOREDB_CLOUD"), Snowflake("SNOWFLAKE"), YugabyteDb("YUGABYTE_DB"), + AiModel("AI_MODEL"), /** * This value is used if a service returns a value for this enum that is not recognized by this diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAiModelAuthDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAiModelAuthDetails.java new file mode 100644 index 00000000000..d4e184a326c --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAiModelAuthDetails.java @@ -0,0 +1,81 @@ +/** + * 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.goldengate.model; + +/** + * The information to update authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType", + defaultImpl = UpdateAiModelAuthDetails.class) +@com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = UpdateOciGenAiModelAuthDetails.class, + name = "OCI_GEN_AI"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = UpdateApiKeyAiModelAuthDetails.class, + name = "API_KEY") +}) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public class UpdateAiModelAuthDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({}) + protected UpdateAiModelAuthDetails() { + 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("UpdateAiModelAuthDetails("); + 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 UpdateAiModelAuthDetails)) { + return false; + } + + UpdateAiModelAuthDetails other = (UpdateAiModelAuthDetails) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAiModelConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAiModelConnectionDetails.java new file mode 100644 index 00000000000..485cd41a21f --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAiModelConnectionDetails.java @@ -0,0 +1,368 @@ +/** + * 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.goldengate.model; + +/** + * The information to update an AI Model Connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateAiModelConnectionDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "connectionType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateAiModelConnectionDetails extends UpdateConnectionDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + @com.fasterxml.jackson.annotation.JsonProperty("displayName") + private String displayName; + + public Builder displayName(String displayName) { + this.displayName = displayName; + this.__explicitlySet__.add("displayName"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") + private String vaultId; + + public Builder vaultId(String vaultId) { + this.vaultId = vaultId; + this.__explicitlySet__.add("vaultId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("keyId") + private String keyId; + + public Builder keyId(String keyId) { + this.keyId = keyId; + this.__explicitlySet__.add("keyId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") + private java.util.List nsgIds; + + public Builder nsgIds(java.util.List nsgIds) { + this.nsgIds = nsgIds; + this.__explicitlySet__.add("nsgIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") + private String subnetId; + + public Builder subnetId(String subnetId) { + this.subnetId = subnetId; + this.__explicitlySet__.add("subnetId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + private RoutingMethod routingMethod; + + public Builder routingMethod(RoutingMethod routingMethod) { + this.routingMethod = routingMethod; + this.__explicitlySet__.add("routingMethod"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + private Boolean doesUseSecretIds; + + public Builder doesUseSecretIds(Boolean doesUseSecretIds) { + this.doesUseSecretIds = doesUseSecretIds; + this.__explicitlySet__.add("doesUseSecretIds"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + private java.util.Map> securityAttributes; + + public Builder securityAttributes( + java.util.Map> securityAttributes) { + this.securityAttributes = securityAttributes; + this.__explicitlySet__.add("securityAttributes"); + return this; + } + /** AI model identifier. */ + @com.fasterxml.jackson.annotation.JsonProperty("modelKey") + private String modelKey; + + /** + * AI model identifier. + * + * @param modelKey the value to set + * @return this builder + */ + public Builder modelKey(String modelKey) { + this.modelKey = modelKey; + this.__explicitlySet__.add("modelKey"); + return this; + } + /** Maximum number of input characters supported by this AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("maxInputChars") + private Integer maxInputChars; + + /** + * Maximum number of input characters supported by this AI model connection. + * + * @param maxInputChars the value to set + * @return this builder + */ + public Builder maxInputChars(Integer maxInputChars) { + this.maxInputChars = maxInputChars; + this.__explicitlySet__.add("maxInputChars"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("authDetails") + private UpdateAiModelAuthDetails authDetails; + + public Builder authDetails(UpdateAiModelAuthDetails authDetails) { + this.authDetails = authDetails; + this.__explicitlySet__.add("authDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateAiModelConnectionDetails build() { + UpdateAiModelConnectionDetails model = + new UpdateAiModelConnectionDetails( + this.displayName, + this.description, + this.freeformTags, + this.definedTags, + this.vaultId, + this.keyId, + this.nsgIds, + this.subnetId, + this.routingMethod, + this.doesUseSecretIds, + this.securityAttributes, + this.modelKey, + this.maxInputChars, + this.authDetails); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateAiModelConnectionDetails model) { + if (model.wasPropertyExplicitlySet("displayName")) { + this.displayName(model.getDisplayName()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("vaultId")) { + this.vaultId(model.getVaultId()); + } + if (model.wasPropertyExplicitlySet("keyId")) { + this.keyId(model.getKeyId()); + } + if (model.wasPropertyExplicitlySet("nsgIds")) { + this.nsgIds(model.getNsgIds()); + } + if (model.wasPropertyExplicitlySet("subnetId")) { + this.subnetId(model.getSubnetId()); + } + if (model.wasPropertyExplicitlySet("routingMethod")) { + this.routingMethod(model.getRoutingMethod()); + } + if (model.wasPropertyExplicitlySet("doesUseSecretIds")) { + this.doesUseSecretIds(model.getDoesUseSecretIds()); + } + if (model.wasPropertyExplicitlySet("securityAttributes")) { + this.securityAttributes(model.getSecurityAttributes()); + } + if (model.wasPropertyExplicitlySet("modelKey")) { + this.modelKey(model.getModelKey()); + } + if (model.wasPropertyExplicitlySet("maxInputChars")) { + this.maxInputChars(model.getMaxInputChars()); + } + if (model.wasPropertyExplicitlySet("authDetails")) { + this.authDetails(model.getAuthDetails()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public UpdateAiModelConnectionDetails( + String displayName, + String description, + java.util.Map freeformTags, + java.util.Map> definedTags, + String vaultId, + String keyId, + java.util.List nsgIds, + String subnetId, + RoutingMethod routingMethod, + Boolean doesUseSecretIds, + java.util.Map> securityAttributes, + String modelKey, + Integer maxInputChars, + UpdateAiModelAuthDetails authDetails) { + super( + displayName, + description, + freeformTags, + definedTags, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + securityAttributes); + this.modelKey = modelKey; + this.maxInputChars = maxInputChars; + this.authDetails = authDetails; + } + + /** AI model identifier. */ + @com.fasterxml.jackson.annotation.JsonProperty("modelKey") + private final String modelKey; + + /** + * AI model identifier. + * + * @return the value + */ + public String getModelKey() { + return modelKey; + } + + /** Maximum number of input characters supported by this AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("maxInputChars") + private final Integer maxInputChars; + + /** + * Maximum number of input characters supported by this AI model connection. + * + * @return the value + */ + public Integer getMaxInputChars() { + return maxInputChars; + } + + @com.fasterxml.jackson.annotation.JsonProperty("authDetails") + private final UpdateAiModelAuthDetails authDetails; + + public UpdateAiModelAuthDetails getAuthDetails() { + return authDetails; + } + + @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("UpdateAiModelConnectionDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", modelKey=").append(String.valueOf(this.modelKey)); + sb.append(", maxInputChars=").append(String.valueOf(this.maxInputChars)); + sb.append(", authDetails=").append(String.valueOf(this.authDetails)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateAiModelConnectionDetails)) { + return false; + } + + UpdateAiModelConnectionDetails other = (UpdateAiModelConnectionDetails) o; + return java.util.Objects.equals(this.modelKey, other.modelKey) + && java.util.Objects.equals(this.maxInputChars, other.maxInputChars) + && java.util.Objects.equals(this.authDetails, other.authDetails) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.modelKey == null ? 43 : this.modelKey.hashCode()); + result = + (result * PRIME) + + (this.maxInputChars == null ? 43 : this.maxInputChars.hashCode()); + result = (result * PRIME) + (this.authDetails == null ? 43 : this.authDetails.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonKinesisConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonKinesisConnectionDetails.java index 883f64ce7a3..9973cf840a6 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonKinesisConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonKinesisConnectionDetails.java @@ -127,12 +127,16 @@ public Builder securityAttributes( this.__explicitlySet__.add("securityAttributes"); return this; } - /** Access key ID to access the Amazon Kinesis. */ + /** + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon Kinesis. + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -144,14 +148,18 @@ public Builder accessKeyId(String accessKeyId) { } /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private char[] secretAccessKey; /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param secretAccessKey the value to set * @return this builder @@ -402,12 +410,16 @@ public UpdateAmazonKinesisConnectionDetails( this.region = region; } - /** Access key ID to access the Amazon Kinesis. */ + /** + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is not + * an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon Kinesis. + * Access key ID to access the Amazon Kinesis. Note: Despite the "Id" suffix, this value is not + * an OCI OCID. * * @return the value */ @@ -417,15 +429,18 @@ public String getAccessKeyId() { /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private final char[] secretAccessKey; /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 - * 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSecretAccessKey__AsCharArray() instead. @@ -438,7 +453,9 @@ public String getSecretAccessKey() { /** * Secret access key to access the Amazon Kinesis. Deprecated: This field is deprecated and - * replaced by "secretAccessKeySecretId". This field will be removed after February 15 2026. + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonRedshiftConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonRedshiftConnectionDetails.java index 35b13d643cc..8a663957899 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonRedshiftConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonRedshiftConnectionDetails.java @@ -171,7 +171,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -180,7 +182,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -425,8 +429,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -435,7 +440,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -449,8 +455,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonS3ConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonS3ConnectionDetails.java index d3a4c036a5b..51197c692e3 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonS3ConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonS3ConnectionDetails.java @@ -127,12 +127,16 @@ public Builder securityAttributes( this.__explicitlySet__.add("securityAttributes"); return this; } - /** Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -143,17 +147,21 @@ public Builder accessKeyId(String accessKeyId) { return this; } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This - * field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private char[] secretAccessKey; /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This - * field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param secretAccessKey the value to set * @return this builder @@ -402,12 +410,16 @@ public UpdateAmazonS3ConnectionDetails( this.region = region; } - /** Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @return the value */ @@ -416,17 +428,20 @@ public String getAccessKeyId() { } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" Deprecated: - * This field is deprecated and replaced by "secretAccessKeySecretId". This field will be - * removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private final char[] secretAccessKey; /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". - * This field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. <p> Deprecated: This field is + * deprecated and replaced by "secretAccessKeySecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSecretAccessKey__AsCharArray() instead. @@ -438,9 +453,11 @@ public String getSecretAccessKey() { } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" Deprecated: - * This field is deprecated and replaced by "secretAccessKeySecretId". This field will be - * removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonS3IcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonS3IcebergStorageDetails.java index 1def1a273a5..b6b3cff106c 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonS3IcebergStorageDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAmazonS3IcebergStorageDetails.java @@ -57,12 +57,16 @@ public Builder endpoint(String endpoint) { this.__explicitlySet__.add("endpoint"); return this; } - /** Access key ID to access the Amazon S3 bucket. */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value + * is not an OCI OCID. * * @param accessKeyId the value to set * @return this builder @@ -92,17 +96,21 @@ public Builder secretAccessKeySecretId(String secretAccessKeySecretId) { return this; } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This - * field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private char[] secretAccessKey; /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This - * field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param secretAccessKey the value to set * @return this builder @@ -272,12 +280,16 @@ public String getEndpoint() { return endpoint; } - /** Access key ID to access the Amazon S3 bucket. */ + /** + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. + */ @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") private final String accessKeyId; /** - * Access key ID to access the Amazon S3 bucket. + * Access key ID to access the Amazon S3 bucket. Note: Despite the "Id" suffix, this value is + * not an OCI OCID. * * @return the value */ @@ -303,17 +315,20 @@ public String getSecretAccessKeySecretId() { } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" Deprecated: - * This field is deprecated and replaced by "secretAccessKeySecretId". This field will be - * removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") private final char[] secretAccessKey; /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" - * Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". - * This field will be removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. <p> Deprecated: This field is + * deprecated and replaced by "secretAccessKeySecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSecretAccessKey__AsCharArray() instead. @@ -325,9 +340,11 @@ public String getSecretAccessKey() { } /** - * Secret access key to access the Amazon S3 bucket. e.g.: "this-is-not-the-secret" Deprecated: - * This field is deprecated and replaced by "secretAccessKeySecretId". This field will be - * removed after February 15 2026. + * Secret access key to access the Amazon S3 bucket. + * + *

Deprecated: This field is deprecated and replaced by "secretAccessKeySecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateApiKeyAiModelAuthDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateApiKeyAiModelAuthDetails.java new file mode 100644 index 00000000000..87806235703 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateApiKeyAiModelAuthDetails.java @@ -0,0 +1,268 @@ +/** + * 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.goldengate.model; + +/** + * The information to update API key authentication details for an AI Model connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateApiKeyAiModelAuthDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateApiKeyAiModelAuthDetails extends UpdateAiModelAuthDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the + * selected AI provider will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") + private String baseUrl; + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the + * selected AI provider will be used. + * + * @param baseUrl the value to set + * @return this builder + */ + public Builder baseUrl(String baseUrl) { + this.baseUrl = baseUrl; + this.__explicitlySet__.add("baseUrl"); + return this; + } + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @param apiKey the value to set + * @return this builder + */ + public Builder apiKey(char[] apiKey) { + this.apiKey = apiKey; + this.__explicitlySet__.add("apiKey"); + return this; + } + + public Builder apiKey(String apiKey) { + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.__explicitlySet__.add("apiKey"); + return this; + } + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @param apiKeySecretId the value to set + * @return this builder + */ + public Builder apiKeySecretId(String apiKeySecretId) { + this.apiKeySecretId = apiKeySecretId; + this.__explicitlySet__.add("apiKeySecretId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateApiKeyAiModelAuthDetails build() { + UpdateApiKeyAiModelAuthDetails model = + new UpdateApiKeyAiModelAuthDetails( + this.baseUrl, this.apiKey, this.apiKeySecretId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateApiKeyAiModelAuthDetails model) { + if (model.wasPropertyExplicitlySet("baseUrl")) { + this.baseUrl(model.getBaseUrl()); + } + if (model.wasPropertyExplicitlySet("apiKey")) { + this.apiKey(model.getApiKey()); + } + if (model.wasPropertyExplicitlySet("apiKeySecretId")) { + this.apiKeySecretId(model.getApiKeySecretId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public UpdateApiKeyAiModelAuthDetails(String baseUrl, String apiKey, String apiKeySecretId) { + super(); + this.baseUrl = baseUrl; + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.apiKeySecretId = apiKeySecretId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public UpdateApiKeyAiModelAuthDetails( + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") String baseUrl, + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") char[] apiKey, + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + String apiKeySecretId) { + super(); + this.baseUrl = baseUrl; + this.apiKey = apiKey; + this.apiKeySecretId = apiKeySecretId; + } + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the selected AI + * provider will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("baseUrl") + private final String baseUrl; + + /** + * Base URL of the AI model endpoint. If not specified, the default base URL for the selected AI + * provider will be used. + * + * @return the value + */ + public String getBaseUrl() { + return baseUrl; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private final char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getApiKey__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getApiKey() { + return apiKey != null ? new String(apiKey) : null; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + public char[] getApiKey__AsCharArray() { + return apiKey; + } + + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private final String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @return the value + */ + public String getApiKeySecretId() { + return apiKeySecretId; + } + + @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("UpdateApiKeyAiModelAuthDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", baseUrl=").append(String.valueOf(this.baseUrl)); + sb.append(", apiKey=").append(""); + sb.append(", apiKeySecretId=").append(String.valueOf(this.apiKeySecretId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateApiKeyAiModelAuthDetails)) { + return false; + } + + UpdateApiKeyAiModelAuthDetails other = (UpdateApiKeyAiModelAuthDetails) o; + return java.util.Objects.equals(this.baseUrl, other.baseUrl) + && java.util.Objects.equals(this.apiKey, other.apiKey) + && java.util.Objects.equals(this.apiKeySecretId, other.apiKeySecretId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.baseUrl == null ? 43 : this.baseUrl.hashCode()); + result = (result * PRIME) + (this.apiKey == null ? 43 : this.apiKey.hashCode()); + result = + (result * PRIME) + + (this.apiKeySecretId == null ? 43 : this.apiKeySecretId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureDataLakeStorageConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureDataLakeStorageConnectionDetails.java index dd80223c25b..7eaba60ffa3 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureDataLakeStorageConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureDataLakeStorageConnectionDetails.java @@ -162,8 +162,9 @@ public Builder accountName(String accountName) { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("accountKey") private char[] accountKey; @@ -172,8 +173,9 @@ public Builder accountName(String accountName) { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param accountKey the value to set * @return this builder @@ -215,8 +217,9 @@ public Builder accountKeySecretId(String accountKeySecretId) { * This property is required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. * e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sasToken") private char[] sasToken; @@ -226,8 +229,9 @@ public Builder accountKeySecretId(String accountKeySecretId) { * This property is required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. * e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sasToken the value to set * @return this builder @@ -306,7 +310,9 @@ public Builder clientId(String clientId) { * Azure client secret (aka application password) for authentication. This property is * required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private char[] clientSecret; @@ -315,7 +321,9 @@ public Builder clientId(String clientId) { * Azure client secret (aka application password) for authentication. This property is * required when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param clientSecret the value to set * @return this builder @@ -653,8 +661,9 @@ public String getAccountName() { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("accountKey") private final char[] accountKey; @@ -664,7 +673,8 @@ public String getAccountName() { * to 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getAccountKey__AsCharArray() instead. @@ -679,8 +689,9 @@ public String getAccountKey() { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -713,8 +724,9 @@ public String getAccountKeySecretId() { * This property is required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. * e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sasToken") private final char[] sasToken; @@ -724,8 +736,9 @@ public String getAccountKeySecretId() { * This property is required when 'authenticationType' is set to * 'SHARED_ACCESS_SIGNATURE'. e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSasToken__AsCharArray() instead. @@ -741,8 +754,9 @@ public String getSasToken() { * This property is required when 'authenticationType' is set to 'SHARED_ACCESS_SIGNATURE'. * e.g.: * ?sv=2020-06-08&ss=bfqt&srt=sco&sp=rwdlacupyx&se=2020-09-10T20:27:28Z&st=2022-08-05T12:27:28Z&spr=https&sig=C1IgHsiLBmTSStYkXXGLTP8it0xBrArcgCqOsZbXwIQ%3D - * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "sasTokenSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -808,7 +822,9 @@ public String getClientId() { * Azure client secret (aka application password) for authentication. This property is required * when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and replaced by - * "clientSecretSecretId". This field will be removed after February 15 2026. + * "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private final char[] clientSecret; @@ -817,7 +833,9 @@ public String getClientId() { * Azure client secret (aka application password) for authentication. This property is required * when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and replaced by - * "clientSecretSecretId". This field will be removed after February 15 2026. + * "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getClientSecret__AsCharArray() instead. @@ -832,7 +850,9 @@ public String getClientSecret() { * Azure client secret (aka application password) for authentication. This property is required * when 'authenticationType' is set to 'AZURE_ACTIVE_DIRECTORY'. e.g.: * dO29Q~F5-VwnA.lZdd11xFF_t5NAXCaGwDl9NbT1 Deprecated: This field is deprecated and replaced by - * "clientSecretSecretId". This field will be removed after February 15 2026. + * "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureDataLakeStorageIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureDataLakeStorageIcebergStorageDetails.java index c13fa749c3f..774540d64be 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureDataLakeStorageIcebergStorageDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureDataLakeStorageIcebergStorageDetails.java @@ -82,8 +82,9 @@ public Builder accountKeySecretId(String accountKeySecretId) { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("accountKey") private char[] accountKey; @@ -92,8 +93,9 @@ public Builder accountKeySecretId(String accountKeySecretId) { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param accountKey the value to set * @return this builder @@ -255,8 +257,9 @@ public String getAccountKeySecretId() { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("accountKey") private final char[] accountKey; @@ -266,7 +269,8 @@ public String getAccountKeySecretId() { * to 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getAccountKey__AsCharArray() instead. @@ -281,8 +285,9 @@ public String getAccountKey() { * Azure storage account key. This property is required when 'authenticationType' is set to * 'SHARED_KEY'. e.g.: * pa3WbhVATzj56xD4DH1VjOUhApRGEGHvOo58eQJVWIzX+j8j4CUVFcTjpIqDSRaSa1Wo2LbWY5at+AStEgLOIQ== - * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "accountKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureSynapseConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureSynapseConnectionDetails.java index cffa49f2fa3..7486bc08d3f 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureSynapseConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateAzureSynapseConnectionDetails.java @@ -171,7 +171,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -180,7 +182,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -426,8 +430,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -436,7 +441,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -450,8 +456,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateConnectionDetails.java index a1f5b435cca..60762f829bd 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateConnectionDetails.java @@ -49,6 +49,9 @@ @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = UpdateOracleAiDataPlatformConnectionDetails.class, name = "ORACLE_AI_DATA_PLATFORM"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = UpdateAiModelConnectionDetails.class, + name = "AI_MODEL"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = UpdateMicrosoftFabricConnectionDetails.class, name = "MICROSOFT_FABRIC"), @@ -221,17 +224,35 @@ public java.util.Map> getDefinedTags() { } /** - * Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can - * manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained - * within this vault. + * References the OCI Vault that contains the customer-managed encryption key identified by + * {@code keyId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

This field is applicable only when {@code doesUseSecretIds} is set to {@code false}. If + * {@code vaultId} is provided, {@code keyId} must also be provided. */ @com.fasterxml.jackson.annotation.JsonProperty("vaultId") private final String vaultId; /** - * Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can - * manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained - * within this vault. + * References the OCI Vault that contains the customer-managed encryption key identified by + * {@code keyId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

This field is applicable only when {@code doesUseSecretIds} is set to {@code false}. If + * {@code vaultId} is provided, {@code keyId} must also be provided. * * @return the value */ @@ -240,15 +261,41 @@ public String getVaultId() { } /** - * Refers to the customer's master key OCID. If provided, it references a key to manage secrets. - * Customers must add policies to permit GoldenGate to use this key. + * References the OCI Vault key in the OCI Vault identified by {@code vaultId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

The GoldenGate service uses this key to encrypt sensitive information (for example, {@code + * password}) that is provided in plain-text connection attributes through the API. This field + * is applicable only when {@code doesUseSecretIds} is set to {@code false}. If both {@code + * vaultId} and {@code keyId} are provided, the GoldenGate service uses the specified + * customer-managed key to encrypt the sensitive data. If neither {@code vaultId} nor {@code + * keyId} is provided, the GoldenGate service uses Oracle-managed encryption keys. */ @com.fasterxml.jackson.annotation.JsonProperty("keyId") private final String keyId; /** - * Refers to the customer's master key OCID. If provided, it references a key to manage secrets. - * Customers must add policies to permit GoldenGate to use this key. + * References the OCI Vault key in the OCI Vault identified by {@code vaultId}. + * + *

Deprecated: This field is deprecated for GoldenGate connections. Sensitive attributes + * should be provided using the corresponding Secret OCID attributes of the connection (for + * example, {@code passwordSecretId}) instead of plain-text attributes encrypted with {@code + * vaultId} and {@code keyId}. This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

The GoldenGate service uses this key to encrypt sensitive information (for example, {@code + * password}) that is provided in plain-text connection attributes through the API. This field + * is applicable only when {@code doesUseSecretIds} is set to {@code false}. If both {@code + * vaultId} and {@code keyId} are provided, the GoldenGate service uses the specified + * customer-managed key to encrypt the sensitive data. If neither {@code vaultId} nor {@code + * keyId} is provided, the GoldenGate service uses Oracle-managed encryption keys. * * @return the value */ @@ -291,23 +338,33 @@ public String getSubnetId() { } /** - * Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows - * through the Goldengate Service's network to public hosts. Cannot be used for private targets. - * SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private - * endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is - * created in the target VCN subnet for the connection. The subnetId is required when - * DEDICATED_ENDPOINT networking is selected. + * Controls the network traffic direction to the target: SHARED_DEPLOYMENT_ENDPOINT: Network + * traffic flows from the assigned deployment's private endpoint through the deployment's + * subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet + * for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected. + * SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public + * hosts. Cannot be used for private targets. + * + *

Deprecated: SHARED_SERVICE_ENDPOINT is deprecated. Use another supported routingMethod + * value, or update existing connections to use a supported routing method. This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") private final RoutingMethod routingMethod; /** - * Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows - * through the Goldengate Service's network to public hosts. Cannot be used for private targets. - * SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private - * endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is - * created in the target VCN subnet for the connection. The subnetId is required when - * DEDICATED_ENDPOINT networking is selected. + * Controls the network traffic direction to the target: SHARED_DEPLOYMENT_ENDPOINT: Network + * traffic flows from the assigned deployment's private endpoint through the deployment's + * subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet + * for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected. + * SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public + * hosts. Cannot be used for private targets. + * + *

Deprecated: SHARED_SERVICE_ENDPOINT is deprecated. Use another supported routingMethod + * value, or update existing connections to use a supported routing method. This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -315,13 +372,57 @@ public RoutingMethod getRoutingMethod() { return routingMethod; } - /** Indicates that sensitive attributes are provided via Secrets. */ + /** + * Indicates that sensitive attributes are provided via Secrets. + * + *

Deprecated: This field is deprecated. Sensitive attributes should be provided using the + * corresponding Secret OCID attributes of the connection (for example, {@code + * passwordSecretId}) instead of plain-text attributes. This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

When set to {@code true}, all sensitive information must be provided as OCI Vault secrets + * using the corresponding {@code *SecretId} attributes of the connection (for example, {@code + * passwordSecretId}). Plain-text sensitive attributes (for example, {@code password}) must not + * be used. This ensures that sensitive information remains stored and managed in the customer's + * OCI Vault rather than by the GoldenGate service. + * + *

When set to false, sensitive information must be provided in the corresponding plain-text + * attributes (for example, {@code password}) rather than in secret OCID attributes. In this + * mode, the sensitive information is stored by the GoldenGate service. If {@code vaultId} and + * {@code keyId} are not specified, the GoldenGate service uses Oracle-managed encryption keys + * to encrypt the stored data. + * + *

If {@code vaultId} and {@code keyId} are provided, the specified customer-managed key is + * used. + */ @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") private final Boolean doesUseSecretIds; /** * Indicates that sensitive attributes are provided via Secrets. * + *

Deprecated: This field is deprecated. Sensitive attributes should be provided using the + * corresponding Secret OCID attributes of the connection (for example, {@code + * passwordSecretId}) instead of plain-text attributes. This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + *

When set to {@code true}, all sensitive information must be provided as OCI Vault secrets + * using the corresponding {@code *SecretId} attributes of the connection (for example, {@code + * passwordSecretId}). Plain-text sensitive attributes (for example, {@code password}) must not + * be used. This ensures that sensitive information remains stored and managed in the customer's + * OCI Vault rather than by the GoldenGate service. + * + *

When set to false, sensitive information must be provided in the corresponding plain-text + * attributes (for example, {@code password}) rather than in secret OCID attributes. In this + * mode, the sensitive information is stored by the GoldenGate service. If {@code vaultId} and + * {@code keyId} are not specified, the GoldenGate service uses Oracle-managed encryption keys + * to encrypt the stored data. + * + *

If {@code vaultId} and {@code keyId} are provided, the specified customer-managed key is + * used. + * * @return the value */ public Boolean getDoesUseSecretIds() { diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDatabaseRegistrationDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDatabaseRegistrationDetails.java index e48738bfb7e..e2970f64597 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDatabaseRegistrationDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDatabaseRegistrationDetails.java @@ -45,7 +45,7 @@ public UpdateDatabaseRegistrationDetails( this.password = password != null ? password.toCharArray() : null; this.connectionString = connectionString; this.sessionMode = sessionMode; - this.wallet = wallet; + this.wallet = wallet != null ? wallet.toCharArray() : null; this.aliasName = aliasName; } @@ -74,7 +74,7 @@ public UpdateDatabaseRegistrationDetails( char[] password, String connectionString, SessionMode sessionMode, - String wallet, + char[] wallet, String aliasName) { super(); this.displayName = displayName; @@ -207,7 +207,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -216,7 +218,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -273,24 +277,34 @@ public Builder sessionMode(SessionMode sessionMode) { /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This * attribute is expected to be base64 encoded. Deprecated: This field is deprecated and - * replaced by "walletSecretId". This field will be removed after February 15 2026. + * replaced by "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("wallet") - private String wallet; + private char[] wallet; /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This * attribute is expected to be base64 encoded. Deprecated: This field is deprecated and - * replaced by "walletSecretId". This field will be removed after February 15 2026. + * replaced by "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param wallet the value to set * @return this builder */ - public Builder wallet(String wallet) { + public Builder wallet(char[] wallet) { this.wallet = wallet; this.__explicitlySet__.add("wallet"); return this; } + + public Builder wallet(String wallet) { + this.wallet = wallet != null ? wallet.toCharArray() : null; + this.__explicitlySet__.add("wallet"); + return this; + } /** Credential store alias. */ @com.fasterxml.jackson.annotation.JsonProperty("aliasName") private String aliasName; @@ -479,8 +493,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -489,7 +504,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -503,8 +519,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -588,19 +605,40 @@ public SessionMode getSessionMode() { /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by - * "walletSecretId". This field will be removed after February 15 2026. + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("wallet") - private final String wallet; + private final char[] wallet; /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by - * "walletSecretId". This field will be removed after February 15 2026. + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getWallet__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getWallet() { + return wallet != null ? new String(wallet) : null; + } + + /** + * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute + * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("wallet") + public char[] getWallet__AsCharArray() { return wallet; } @@ -641,7 +679,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", password=").append(""); sb.append(", connectionString=").append(String.valueOf(this.connectionString)); sb.append(", sessionMode=").append(String.valueOf(this.sessionMode)); - sb.append(", wallet=").append(String.valueOf(this.wallet)); + sb.append(", wallet=").append(""); sb.append(", aliasName=").append(String.valueOf(this.aliasName)); sb.append(")"); return sb.toString(); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDatabricksConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDatabricksConnectionDetails.java index 8c40768629c..b079fa444ee 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDatabricksConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDatabricksConnectionDetails.java @@ -165,7 +165,9 @@ public Builder connectionUrl(String connectionUrl) { /** * The password used to connect to Databricks. Only applicable for authenticationType == * PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -173,7 +175,9 @@ public Builder connectionUrl(String connectionUrl) { /** * The password used to connect to Databricks. Only applicable for authenticationType == * PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -227,16 +231,18 @@ public Builder clientId(String clientId) { } /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M Deprecated: This - * field is deprecated and replaced by "clientSecretSecretId". This field will be removed - * after February 15 2026. + * field is deprecated and replaced by "clientSecretSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private char[] clientSecret; /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M Deprecated: This - * field is deprecated and replaced by "clientSecretSecretId". This field will be removed - * after February 15 2026. + * field is deprecated and replaced by "clientSecretSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param clientSecret the value to set * @return this builder @@ -525,7 +531,9 @@ public String getConnectionUrl() { /** * The password used to connect to Databricks. Only applicable for authenticationType == * PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -533,7 +541,9 @@ public String getConnectionUrl() { /** * The password used to connect to Databricks. Only applicable for authenticationType * == PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -547,7 +557,9 @@ public String getPassword() { /** * The password used to connect to Databricks. Only applicable for authenticationType == * PERSONAL_ACCESS_TOKEN. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -590,8 +602,9 @@ public String getClientId() { /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M Deprecated: This - * field is deprecated and replaced by "clientSecretSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "clientSecretSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") private final char[] clientSecret; @@ -599,7 +612,8 @@ public String getClientId() { /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M * Deprecated: This field is deprecated and replaced by "clientSecretSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getClientSecret__AsCharArray() instead. @@ -612,8 +626,9 @@ public String getClientSecret() { /** * OAuth client secret, only applicable for authenticationType == OAUTH_M2M Deprecated: This - * field is deprecated and replaced by "clientSecretSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "clientSecretSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDb2ConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDb2ConnectionDetails.java index 897c54d6e0c..3bdcdfff5c7 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDb2ConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateDb2ConnectionDetails.java @@ -193,16 +193,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: - * This field is deprecated and replaced by "passwordSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: - * This field is deprecated and replaced by "passwordSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -279,10 +281,11 @@ public Builder securityProtocol(Db2Connection.SecurityProtocol securityProtocol) * mode is not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystoredbSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredb") - private String sslClientKeystoredb; + private char[] sslClientKeystoredb; /** * The base64 encoded keystore file created at the client containing the server certificate @@ -290,16 +293,24 @@ public Builder securityProtocol(Db2Connection.SecurityProtocol securityProtocol) * mode is not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystoredbSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslClientKeystoredb the value to set * @return this builder */ - public Builder sslClientKeystoredb(String sslClientKeystoredb) { + public Builder sslClientKeystoredb(char[] sslClientKeystoredb) { this.sslClientKeystoredb = sslClientKeystoredb; this.__explicitlySet__.add("sslClientKeystoredb"); return this; } + + public Builder sslClientKeystoredb(String sslClientKeystoredb) { + this.sslClientKeystoredb = + sslClientKeystoredb != null ? sslClientKeystoredb.toCharArray() : null; + this.__explicitlySet__.add("sslClientKeystoredb"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the keystore file stored, which created at the client containing the server @@ -333,10 +344,11 @@ public Builder sslClientKeystoredbSecretId(String sslClientKeystoredbSecretId) { * not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystashSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystash") - private String sslClientKeystash; + private char[] sslClientKeystash; /** * The base64 encoded keystash file which contains the encrypted password to the key @@ -344,16 +356,24 @@ public Builder sslClientKeystoredbSecretId(String sslClientKeystoredbSecretId) { * not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystashSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslClientKeystash the value to set * @return this builder */ - public Builder sslClientKeystash(String sslClientKeystash) { + public Builder sslClientKeystash(char[] sslClientKeystash) { this.sslClientKeystash = sslClientKeystash; this.__explicitlySet__.add("sslClientKeystash"); return this; } + + public Builder sslClientKeystash(String sslClientKeystash) { + this.sslClientKeystash = + sslClientKeystash != null ? sslClientKeystash.toCharArray() : null; + this.__explicitlySet__.add("sslClientKeystash"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the keystash file is stored, which contains the encrypted password to the @@ -572,9 +592,10 @@ public UpdateDb2ConnectionDetails( this.passwordSecretId = passwordSecretId; this.additionalAttributes = additionalAttributes; this.securityProtocol = securityProtocol; - this.sslClientKeystoredb = sslClientKeystoredb; + this.sslClientKeystoredb = + sslClientKeystoredb != null ? sslClientKeystoredb.toCharArray() : null; this.sslClientKeystoredbSecretId = sslClientKeystoredbSecretId; - this.sslClientKeystash = sslClientKeystash; + this.sslClientKeystash = sslClientKeystash != null ? sslClientKeystash.toCharArray() : null; this.sslClientKeystashSecretId = sslClientKeystashSecretId; this.sslServerCertificate = sslServerCertificate; } @@ -610,11 +631,11 @@ public UpdateDb2ConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("securityProtocol") Db2Connection.SecurityProtocol securityProtocol, @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredb") - String sslClientKeystoredb, + char[] sslClientKeystoredb, @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredbSecretId") String sslClientKeystoredbSecretId, @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystash") - String sslClientKeystash, + char[] sslClientKeystash, @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystashSecretId") String sslClientKeystashSecretId, @com.fasterxml.jackson.annotation.JsonProperty("sslServerCertificate") @@ -704,16 +725,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed - * after February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -726,8 +749,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated DB2 database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -791,10 +815,28 @@ public Db2Connection.SecurityProtocol getSecurityProtocol() { * available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystoredbSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredb") - private final String sslClientKeystoredb; + private final char[] sslClientKeystoredb; + + /** + * The base64 encoded keystore file created at the client containing the server certificate / CA + * root certificate. This property is not supported for IBM Db2 for i, as client TLS mode is not + * available. <p> Deprecated: This field is deprecated and replaced by + * "sslClientKeystoredbSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getSslClientKeystoredb__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getSslClientKeystoredb() { + return sslClientKeystoredb != null ? new String(sslClientKeystoredb) : null; + } /** * The base64 encoded keystore file created at the client containing the server certificate / CA @@ -802,11 +844,13 @@ public Db2Connection.SecurityProtocol getSecurityProtocol() { * available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystoredbSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ - public String getSslClientKeystoredb() { + @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystoredb") + public char[] getSslClientKeystoredb__AsCharArray() { return sslClientKeystoredb; } @@ -840,21 +884,41 @@ public String getSslClientKeystoredbSecretId() { * file. This property is not supported for IBM Db2 for i, as client TLS mode is not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystashSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystash") - private final String sslClientKeystash; + private final char[] sslClientKeystash; + + /** + * The base64 encoded keystash file which contains the encrypted password to the key database + * file. This property is not supported for IBM Db2 for i, as client TLS mode is not available. + * <p> Deprecated: This field is deprecated and replaced by + * "sslClientKeystashSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getSslClientKeystash__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getSslClientKeystash() { + return sslClientKeystash != null ? new String(sslClientKeystash) : null; + } /** * The base64 encoded keystash file which contains the encrypted password to the key database * file. This property is not supported for IBM Db2 for i, as client TLS mode is not available. * *

Deprecated: This field is deprecated and replaced by "sslClientKeystashSecretId". This - * field will be removed after February 15 2026. + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ - public String getSslClientKeystash() { + @com.fasterxml.jackson.annotation.JsonProperty("sslClientKeystash") + public char[] getSslClientKeystash__AsCharArray() { return sslClientKeystash; } @@ -925,10 +989,10 @@ public String toString(boolean includeByteArrayContents) { sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); sb.append(", additionalAttributes=").append(String.valueOf(this.additionalAttributes)); sb.append(", securityProtocol=").append(String.valueOf(this.securityProtocol)); - sb.append(", sslClientKeystoredb=").append(String.valueOf(this.sslClientKeystoredb)); + sb.append(", sslClientKeystoredb=").append(""); sb.append(", sslClientKeystoredbSecretId=") .append(String.valueOf(this.sslClientKeystoredbSecretId)); - sb.append(", sslClientKeystash=").append(String.valueOf(this.sslClientKeystash)); + sb.append(", sslClientKeystash=").append(""); sb.append(", sslClientKeystashSecretId=") .append(String.valueOf(this.sslClientKeystashSecretId)); sb.append(", sslServerCertificate=").append(String.valueOf(this.sslServerCertificate)); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateElasticsearchConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateElasticsearchConnectionDetails.java index c130d77084b..b01c14bdad2 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateElasticsearchConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateElasticsearchConnectionDetails.java @@ -206,7 +206,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -215,7 +217,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -535,8 +539,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -545,7 +550,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -559,8 +565,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoldenGateConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoldenGateConnectionDetails.java index 4af9779daaf..50735ef76e4 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoldenGateConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoldenGateConnectionDetails.java @@ -193,16 +193,18 @@ public Builder username(String username) { } /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -515,16 +517,18 @@ public String getUsername() { /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -537,8 +541,9 @@ public String getPassword() { /** * The password used to connect to the Oracle GoldenGate accessed trough this connection. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleBigQueryConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleBigQueryConnectionDetails.java index 7027a4ce6e9..93b67dbb451 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleBigQueryConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleBigQueryConnectionDetails.java @@ -149,24 +149,35 @@ public Builder endpoint(String endpoint) { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private String serviceAccountKeyFile; + private char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param serviceAccountKeyFile the value to set * @return this builder */ - public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + public Builder serviceAccountKeyFile(char[] serviceAccountKeyFile) { this.serviceAccountKeyFile = serviceAccountKeyFile; this.__explicitlySet__.add("serviceAccountKeyFile"); return this; } + + public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.__explicitlySet__.add("serviceAccountKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the service account key file is stored, which contains the @@ -303,6 +314,48 @@ public UpdateGoogleBigQueryConnectionDetails( doesUseSecretIds, securityAttributes); this.endpoint = endpoint; + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public UpdateGoogleBigQueryConnectionDetails( + @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName, + @com.fasterxml.jackson.annotation.JsonProperty("description") String description, + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags, + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags, + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") String vaultId, + @com.fasterxml.jackson.annotation.JsonProperty("keyId") String keyId, + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") java.util.List nsgIds, + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") String subnetId, + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + RoutingMethod routingMethod, + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + Boolean doesUseSecretIds, + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + java.util.Map> securityAttributes, + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + char[] serviceAccountKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFileSecretId") + String serviceAccountKeyFileSecretId) { + super( + displayName, + description, + freeformTags, + definedTags, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + securityAttributes); + this.endpoint = endpoint; this.serviceAccountKeyFile = serviceAccountKeyFile; this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; } @@ -327,19 +380,40 @@ public String getEndpoint() { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private final String serviceAccountKeyFile; + private final char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getServiceAccountKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getServiceAccountKeyFile() { + return serviceAccountKeyFile != null ? new String(serviceAccountKeyFile) : null; + } + + /** + * The base64 encoded content of the service account key file containing the credentials + * required to use Google BigQuery. Deprecated: This field is deprecated and replaced by + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + public char[] getServiceAccountKeyFile__AsCharArray() { return serviceAccountKeyFile; } @@ -380,7 +454,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("UpdateGoogleBigQueryConnectionDetails("); sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", endpoint=").append(String.valueOf(this.endpoint)); - sb.append(", serviceAccountKeyFile=").append(String.valueOf(this.serviceAccountKeyFile)); + sb.append(", serviceAccountKeyFile=").append(""); sb.append(", serviceAccountKeyFileSecretId=") .append(String.valueOf(this.serviceAccountKeyFileSecretId)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleCloudStorageConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleCloudStorageConnectionDetails.java index 4cd1a186f7d..1808b752f7c 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleCloudStorageConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleCloudStorageConnectionDetails.java @@ -149,24 +149,35 @@ public Builder endpoint(String endpoint) { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced - * by "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * by "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private String serviceAccountKeyFile; + private char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced - * by "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * by "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param serviceAccountKeyFile the value to set * @return this builder */ - public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + public Builder serviceAccountKeyFile(char[] serviceAccountKeyFile) { this.serviceAccountKeyFile = serviceAccountKeyFile; this.__explicitlySet__.add("serviceAccountKeyFile"); return this; } + + public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.__explicitlySet__.add("serviceAccountKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the service account key file is stored, which contains the @@ -303,6 +314,48 @@ public UpdateGoogleCloudStorageConnectionDetails( doesUseSecretIds, securityAttributes); this.endpoint = endpoint; + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public UpdateGoogleCloudStorageConnectionDetails( + @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName, + @com.fasterxml.jackson.annotation.JsonProperty("description") String description, + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags, + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags, + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") String vaultId, + @com.fasterxml.jackson.annotation.JsonProperty("keyId") String keyId, + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") java.util.List nsgIds, + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") String subnetId, + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + RoutingMethod routingMethod, + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + Boolean doesUseSecretIds, + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + java.util.Map> securityAttributes, + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + char[] serviceAccountKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFileSecretId") + String serviceAccountKeyFileSecretId) { + super( + displayName, + description, + freeformTags, + definedTags, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + securityAttributes); + this.endpoint = endpoint; this.serviceAccountKeyFile = serviceAccountKeyFile; this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; } @@ -327,19 +380,40 @@ public String getEndpoint() { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private final String serviceAccountKeyFile; + private final char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getServiceAccountKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getServiceAccountKeyFile() { + return serviceAccountKeyFile != null ? new String(serviceAccountKeyFile) : null; + } + + /** + * The base64 encoded content of the service account key file containing the credentials + * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + public char[] getServiceAccountKeyFile__AsCharArray() { return serviceAccountKeyFile; } @@ -380,7 +454,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("UpdateGoogleCloudStorageConnectionDetails("); sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", endpoint=").append(String.valueOf(this.endpoint)); - sb.append(", serviceAccountKeyFile=").append(String.valueOf(this.serviceAccountKeyFile)); + sb.append(", serviceAccountKeyFile=").append(""); sb.append(", serviceAccountKeyFileSecretId=") .append(String.valueOf(this.serviceAccountKeyFileSecretId)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleCloudStorageIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleCloudStorageIcebergStorageDetails.java index 3ecf64962a9..4ba613e1cf2 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleCloudStorageIcebergStorageDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGoogleCloudStorageIcebergStorageDetails.java @@ -82,24 +82,35 @@ public Builder serviceAccountKeyFileSecretId(String serviceAccountKeyFileSecretI /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced - * by "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * by "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private String serviceAccountKeyFile; + private char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced - * by "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * by "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param serviceAccountKeyFile the value to set * @return this builder */ - public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + public Builder serviceAccountKeyFile(char[] serviceAccountKeyFile) { this.serviceAccountKeyFile = serviceAccountKeyFile; this.__explicitlySet__.add("serviceAccountKeyFile"); return this; } + + public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.__explicitlySet__.add("serviceAccountKeyFile"); + return this; + } /** * A legal URL to connect to Google Cloud Storage including scheme, server name and port (if * not the default port). Default: https://storage.googleapis.com @@ -178,6 +189,25 @@ public UpdateGoogleCloudStorageIcebergStorageDetails( this.bucket = bucket; this.projectId = projectId; this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.endpoint = endpoint; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public UpdateGoogleCloudStorageIcebergStorageDetails( + @com.fasterxml.jackson.annotation.JsonProperty("bucket") String bucket, + @com.fasterxml.jackson.annotation.JsonProperty("projectId") String projectId, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFileSecretId") + String serviceAccountKeyFileSecretId, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + char[] serviceAccountKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint) { + super(); + this.bucket = bucket; + this.projectId = projectId; + this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; this.serviceAccountKeyFile = serviceAccountKeyFile; this.endpoint = endpoint; } @@ -230,19 +260,40 @@ public String getServiceAccountKeyFileSecretId() { /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private final String serviceAccountKeyFile; + private final char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getServiceAccountKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getServiceAccountKeyFile() { + return serviceAccountKeyFile != null ? new String(serviceAccountKeyFile) : null; + } + + /** + * The base64 encoded content of the service account key file containing the credentials + * required to use Google Cloud Storage. Deprecated: This field is deprecated and replaced by + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + public char[] getServiceAccountKeyFile__AsCharArray() { return serviceAccountKeyFile; } @@ -282,7 +333,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", projectId=").append(String.valueOf(this.projectId)); sb.append(", serviceAccountKeyFileSecretId=") .append(String.valueOf(this.serviceAccountKeyFileSecretId)); - sb.append(", serviceAccountKeyFile=").append(String.valueOf(this.serviceAccountKeyFile)); + sb.append(", serviceAccountKeyFile=").append(""); sb.append(", endpoint=").append(String.valueOf(this.endpoint)); sb.append(")"); return sb.toString(); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGooglePubSubConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGooglePubSubConnectionDetails.java index 127ebad8a96..3102fe16a35 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGooglePubSubConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateGooglePubSubConnectionDetails.java @@ -130,24 +130,35 @@ public Builder securityAttributes( /** * The base64 encoded content of the service account key file containing the credentials * required to use Google PubSub. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private String serviceAccountKeyFile; + private char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google PubSub. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param serviceAccountKeyFile the value to set * @return this builder */ - public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + public Builder serviceAccountKeyFile(char[] serviceAccountKeyFile) { this.serviceAccountKeyFile = serviceAccountKeyFile; this.__explicitlySet__.add("serviceAccountKeyFile"); return this; } + + public Builder serviceAccountKeyFile(String serviceAccountKeyFile) { + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.__explicitlySet__.add("serviceAccountKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the service account key file is stored, which contains the @@ -278,6 +289,46 @@ public UpdateGooglePubSubConnectionDetails( routingMethod, doesUseSecretIds, securityAttributes); + this.serviceAccountKeyFile = + serviceAccountKeyFile != null ? serviceAccountKeyFile.toCharArray() : null; + this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public UpdateGooglePubSubConnectionDetails( + @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName, + @com.fasterxml.jackson.annotation.JsonProperty("description") String description, + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags, + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags, + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") String vaultId, + @com.fasterxml.jackson.annotation.JsonProperty("keyId") String keyId, + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") java.util.List nsgIds, + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") String subnetId, + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + RoutingMethod routingMethod, + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + Boolean doesUseSecretIds, + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + java.util.Map> securityAttributes, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + char[] serviceAccountKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFileSecretId") + String serviceAccountKeyFileSecretId) { + super( + displayName, + description, + freeformTags, + definedTags, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + securityAttributes); this.serviceAccountKeyFile = serviceAccountKeyFile; this.serviceAccountKeyFileSecretId = serviceAccountKeyFileSecretId; } @@ -285,19 +336,40 @@ public UpdateGooglePubSubConnectionDetails( /** * The base64 encoded content of the service account key file containing the credentials * required to use Google PubSub. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") - private final String serviceAccountKeyFile; + private final char[] serviceAccountKeyFile; /** * The base64 encoded content of the service account key file containing the credentials * required to use Google PubSub. Deprecated: This field is deprecated and replaced by - * "serviceAccountKeyFileSecretId". This field will be removed after February 15 2026. + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getServiceAccountKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getServiceAccountKeyFile() { + return serviceAccountKeyFile != null ? new String(serviceAccountKeyFile) : null; + } + + /** + * The base64 encoded content of the service account key file containing the credentials + * required to use Google PubSub. Deprecated: This field is deprecated and replaced by + * "serviceAccountKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("serviceAccountKeyFile") + public char[] getServiceAccountKeyFile__AsCharArray() { return serviceAccountKeyFile; } @@ -337,7 +409,7 @@ public String toString(boolean includeByteArrayContents) { java.lang.StringBuilder sb = new java.lang.StringBuilder(); sb.append("UpdateGooglePubSubConnectionDetails("); sb.append("super=").append(super.toString(includeByteArrayContents)); - sb.append(", serviceAccountKeyFile=").append(String.valueOf(this.serviceAccountKeyFile)); + sb.append(", serviceAccountKeyFile=").append(""); sb.append(", serviceAccountKeyFileSecretId=") .append(String.valueOf(this.serviceAccountKeyFileSecretId)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateIcebergStorageDetails.java index 99922e99e72..cb811225442 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateIcebergStorageDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateIcebergStorageDetails.java @@ -25,6 +25,12 @@ @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = UpdateAmazonS3IcebergStorageDetails.class, name = "AMAZON_S3"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = UpdateOciObjectStorageS3ApiIcebergStorageDetails.class, + name = "OCI_OBJECT_STORAGE_S3_API"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = UpdateNoIcebergStorageDetails.class, + name = "NONE"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = UpdateGoogleCloudStorageIcebergStorageDetails.class, name = "GOOGLE_CLOUD_STORAGE"), diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateJavaMessageServiceConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateJavaMessageServiceConnectionDetails.java index 34997f7248d..6503175adf4 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateJavaMessageServiceConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateJavaMessageServiceConnectionDetails.java @@ -216,16 +216,18 @@ public Builder jndiSecurityPrincipal(String jndiSecurityPrincipal) { } /** * The password associated to the principal. Deprecated: This field is deprecated and - * replaced by "jndiSecurityCredentialsSecretId". This field will be removed after February - * 15 2026. + * replaced by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("jndiSecurityCredentials") private char[] jndiSecurityCredentials; /** * The password associated to the principal. Deprecated: This field is deprecated and - * replaced by "jndiSecurityCredentialsSecretId". This field will be removed after February - * 15 2026. + * replaced by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param jndiSecurityCredentials the value to set * @return this builder @@ -322,16 +324,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -412,23 +416,33 @@ public Builder authenticationType( } /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private String trustStore; + private char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStore the value to set * @return this builder */ - public Builder trustStore(String trustStore) { + public Builder trustStore(char[] trustStore) { this.trustStore = trustStore; this.__explicitlySet__.add("trustStore"); return this; } + + public Builder trustStore(String trustStore) { + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; + this.__explicitlySet__.add("trustStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the TrustStore file is stored. Note: When provided, @@ -452,14 +466,18 @@ public Builder trustStoreSecretId(String trustStoreSecretId) { } /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStorePassword the value to set * @return this builder @@ -499,23 +517,33 @@ public Builder trustStorePasswordSecretId(String trustStorePasswordSecretId) { } /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private String keyStore; + private char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStore the value to set * @return this builder */ - public Builder keyStore(String keyStore) { + public Builder keyStore(char[] keyStore) { this.keyStore = keyStore; this.__explicitlySet__.add("keyStore"); return this; } + + public Builder keyStore(String keyStore) { + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; + this.__explicitlySet__.add("keyStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the KeyStore file is stored. Note: When provided, 'keyStore' @@ -539,14 +567,18 @@ public Builder keyStoreSecretId(String keyStoreSecretId) { } /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStorePassword the value to set * @return this builder @@ -587,7 +619,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private char[] sslKeyPassword; @@ -595,7 +629,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKeyPassword the value to set * @return this builder @@ -898,12 +934,12 @@ public UpdateJavaMessageServiceConnectionDetails( this.passwordSecretId = passwordSecretId; this.securityProtocol = securityProtocol; this.authenticationType = authenticationType; - this.trustStore = trustStore; + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; this.trustStoreSecretId = trustStoreSecretId; this.trustStorePassword = trustStorePassword != null ? trustStorePassword.toCharArray() : null; this.trustStorePasswordSecretId = trustStorePasswordSecretId; - this.keyStore = keyStore; + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; this.keyStoreSecretId = keyStoreSecretId; this.keyStorePassword = keyStorePassword != null ? keyStorePassword.toCharArray() : null; this.keyStorePasswordSecretId = keyStorePasswordSecretId; @@ -955,14 +991,14 @@ public UpdateJavaMessageServiceConnectionDetails( JavaMessageServiceConnection.SecurityProtocol securityProtocol, @com.fasterxml.jackson.annotation.JsonProperty("authenticationType") JavaMessageServiceConnection.AuthenticationType authenticationType, - @com.fasterxml.jackson.annotation.JsonProperty("trustStore") String trustStore, + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") char[] trustStore, @com.fasterxml.jackson.annotation.JsonProperty("trustStoreSecretId") String trustStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") char[] trustStorePassword, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePasswordSecretId") String trustStorePasswordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("keyStore") String keyStore, + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") char[] keyStore, @com.fasterxml.jackson.annotation.JsonProperty("keyStoreSecretId") String keyStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") @@ -1089,15 +1125,18 @@ public String getJndiSecurityPrincipal() { /** * The password associated to the principal. Deprecated: This field is deprecated and replaced - * by "jndiSecurityCredentialsSecretId". This field will be removed after February 15 2026. + * by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("jndiSecurityCredentials") private final char[] jndiSecurityCredentials; /** * The password associated to the principal. Deprecated: This field is deprecated and replaced - * by "jndiSecurityCredentialsSecretId". This field will be removed after February 15 - * 2026. + * by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getJndiSecurityCredentials__AsCharArray() instead. @@ -1110,7 +1149,9 @@ public String getJndiSecurityCredentials() { /** * The password associated to the principal. Deprecated: This field is deprecated and replaced - * by "jndiSecurityCredentialsSecretId". This field will be removed after February 15 2026. + * by "jndiSecurityCredentialsSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1191,16 +1232,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -1213,8 +1256,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated Java Message Service. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1278,18 +1322,38 @@ public JavaMessageServiceConnection.AuthenticationType getAuthenticationType() { /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private final String trustStore; + private final char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTrustStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTrustStore() { + return trustStore != null ? new String(trustStore) : null; + } + + /** + * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") + public char[] getTrustStore__AsCharArray() { return trustStore; } @@ -1314,14 +1378,18 @@ public String getTrustStoreSecretId() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private final char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTrustStorePassword__AsCharArray() instead. @@ -1334,7 +1402,9 @@ public String getTrustStorePassword() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1364,18 +1434,38 @@ public String getTrustStorePasswordSecretId() { /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private final String keyStore; + private final char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getKeyStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKeyStore() { + return keyStore != null ? new String(keyStore) : null; + } + + /** + * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") + public char[] getKeyStore__AsCharArray() { return keyStore; } @@ -1400,14 +1490,18 @@ public String getKeyStoreSecretId() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private final char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getKeyStorePassword__AsCharArray() instead. @@ -1420,7 +1514,9 @@ public String getKeyStorePassword() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1451,7 +1547,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private final char[] sslKeyPassword; @@ -1459,7 +1557,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSslKeyPassword__AsCharArray() instead. @@ -1473,7 +1573,9 @@ public String getSslKeyPassword() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1559,12 +1661,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); sb.append(", securityProtocol=").append(String.valueOf(this.securityProtocol)); sb.append(", authenticationType=").append(String.valueOf(this.authenticationType)); - sb.append(", trustStore=").append(String.valueOf(this.trustStore)); + sb.append(", trustStore=").append(""); sb.append(", trustStoreSecretId=").append(String.valueOf(this.trustStoreSecretId)); sb.append(", trustStorePassword=").append(""); sb.append(", trustStorePasswordSecretId=") .append(String.valueOf(this.trustStorePasswordSecretId)); - sb.append(", keyStore=").append(String.valueOf(this.keyStore)); + sb.append(", keyStore=").append(""); sb.append(", keyStoreSecretId=").append(String.valueOf(this.keyStoreSecretId)); sb.append(", keyStorePassword=").append(""); sb.append(", keyStorePasswordSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateKafkaConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateKafkaConnectionDetails.java index 3adf72e8a55..4a554c5f514 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateKafkaConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateKafkaConnectionDetails.java @@ -228,7 +228,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -237,7 +239,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -280,23 +284,33 @@ public Builder passwordSecretId(String passwordSecretId) { } /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private String trustStore; + private char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStore the value to set * @return this builder */ - public Builder trustStore(String trustStore) { + public Builder trustStore(char[] trustStore) { this.trustStore = trustStore; this.__explicitlySet__.add("trustStore"); return this; } + + public Builder trustStore(String trustStore) { + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; + this.__explicitlySet__.add("trustStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the TrustStore file is stored. Note: When provided, @@ -320,14 +334,18 @@ public Builder trustStoreSecretId(String trustStoreSecretId) { } /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStorePassword the value to set * @return this builder @@ -367,23 +385,33 @@ public Builder trustStorePasswordSecretId(String trustStorePasswordSecretId) { } /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private String keyStore; + private char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStore the value to set * @return this builder */ - public Builder keyStore(String keyStore) { + public Builder keyStore(char[] keyStore) { this.keyStore = keyStore; this.__explicitlySet__.add("keyStore"); return this; } + + public Builder keyStore(String keyStore) { + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; + this.__explicitlySet__.add("keyStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the content of the KeyStore file is stored. Note: When provided, 'keyStore' @@ -407,14 +435,18 @@ public Builder keyStoreSecretId(String keyStoreSecretId) { } /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStorePassword the value to set * @return this builder @@ -455,7 +487,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private char[] sslKeyPassword; @@ -463,7 +497,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKeyPassword the value to set * @return this builder @@ -757,12 +793,12 @@ public UpdateKafkaConnectionDetails( this.username = username; this.password = password != null ? password.toCharArray() : null; this.passwordSecretId = passwordSecretId; - this.trustStore = trustStore; + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; this.trustStoreSecretId = trustStoreSecretId; this.trustStorePassword = trustStorePassword != null ? trustStorePassword.toCharArray() : null; this.trustStorePasswordSecretId = trustStorePasswordSecretId; - this.keyStore = keyStore; + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; this.keyStoreSecretId = keyStoreSecretId; this.keyStorePassword = keyStorePassword != null ? keyStorePassword.toCharArray() : null; this.keyStorePasswordSecretId = keyStorePasswordSecretId; @@ -802,14 +838,14 @@ public UpdateKafkaConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("password") char[] password, @com.fasterxml.jackson.annotation.JsonProperty("passwordSecretId") String passwordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("trustStore") String trustStore, + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") char[] trustStore, @com.fasterxml.jackson.annotation.JsonProperty("trustStoreSecretId") String trustStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") char[] trustStorePassword, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePasswordSecretId") String trustStorePasswordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("keyStore") String keyStore, + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") char[] keyStore, @com.fasterxml.jackson.annotation.JsonProperty("keyStoreSecretId") String keyStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") @@ -949,8 +985,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -959,7 +996,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -973,8 +1011,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1008,18 +1047,38 @@ public String getPasswordSecretId() { /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private final String trustStore; + private final char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTrustStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTrustStore() { + return trustStore != null ? new String(trustStore) : null; + } + + /** + * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") + public char[] getTrustStore__AsCharArray() { return trustStore; } @@ -1044,14 +1103,18 @@ public String getTrustStoreSecretId() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private final char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTrustStorePassword__AsCharArray() instead. @@ -1064,7 +1127,9 @@ public String getTrustStorePassword() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1094,18 +1159,38 @@ public String getTrustStorePasswordSecretId() { /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private final String keyStore; + private final char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getKeyStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKeyStore() { + return keyStore != null ? new String(keyStore) : null; + } + + /** + * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") + public char[] getKeyStore__AsCharArray() { return keyStore; } @@ -1130,14 +1215,18 @@ public String getKeyStoreSecretId() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private final char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getKeyStorePassword__AsCharArray() instead. @@ -1150,7 +1239,9 @@ public String getKeyStorePassword() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1181,7 +1272,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private final char[] sslKeyPassword; @@ -1189,7 +1282,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSslKeyPassword__AsCharArray() instead. @@ -1203,7 +1298,9 @@ public String getSslKeyPassword() { /** * The password for the cert inside of the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1300,12 +1397,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", username=").append(String.valueOf(this.username)); sb.append(", password=").append(""); sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); - sb.append(", trustStore=").append(String.valueOf(this.trustStore)); + sb.append(", trustStore=").append(""); sb.append(", trustStoreSecretId=").append(String.valueOf(this.trustStoreSecretId)); sb.append(", trustStorePassword=").append(""); sb.append(", trustStorePasswordSecretId=") .append(String.valueOf(this.trustStorePasswordSecretId)); - sb.append(", keyStore=").append(String.valueOf(this.keyStore)); + sb.append(", keyStore=").append(""); sb.append(", keyStoreSecretId=").append(String.valueOf(this.keyStoreSecretId)); sb.append(", keyStorePassword=").append(""); sb.append(", keyStorePasswordSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateKafkaSchemaRegistryConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateKafkaSchemaRegistryConnectionDetails.java index e9597d70120..9d09cc61fae 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateKafkaSchemaRegistryConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateKafkaSchemaRegistryConnectionDetails.java @@ -180,8 +180,9 @@ public Builder username(String username) { /** * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration property. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -189,8 +190,9 @@ public Builder username(String username) { /** * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration property. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -233,23 +235,33 @@ public Builder passwordSecretId(String passwordSecretId) { } /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private String trustStore; + private char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStore the value to set * @return this builder */ - public Builder trustStore(String trustStore) { + public Builder trustStore(char[] trustStore) { this.trustStore = trustStore; this.__explicitlySet__.add("trustStore"); return this; } + + public Builder trustStore(String trustStore) { + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; + this.__explicitlySet__.add("trustStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the TrustStore file. Note: When provided, 'trustStore' @@ -273,14 +285,18 @@ public Builder trustStoreSecretId(String trustStoreSecretId) { } /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStorePassword the value to set * @return this builder @@ -320,23 +336,33 @@ public Builder trustStorePasswordSecretId(String trustStorePasswordSecretId) { } /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private String keyStore; + private char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStore the value to set * @return this builder */ - public Builder keyStore(String keyStore) { + public Builder keyStore(char[] keyStore) { this.keyStore = keyStore; this.__explicitlySet__.add("keyStore"); return this; } + + public Builder keyStore(String keyStore) { + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; + this.__explicitlySet__.add("keyStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the KeyStore file. Note: When provided, 'keyStore' @@ -360,14 +386,18 @@ public Builder keyStoreSecretId(String keyStoreSecretId) { } /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStorePassword the value to set * @return this builder @@ -408,7 +438,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private char[] sslKeyPassword; @@ -416,7 +448,9 @@ public Builder keyStorePasswordSecretId(String keyStorePasswordSecretId) { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore * password, it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKeyPassword the value to set * @return this builder @@ -664,12 +698,12 @@ public UpdateKafkaSchemaRegistryConnectionDetails( this.username = username; this.password = password != null ? password.toCharArray() : null; this.passwordSecretId = passwordSecretId; - this.trustStore = trustStore; + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; this.trustStoreSecretId = trustStoreSecretId; this.trustStorePassword = trustStorePassword != null ? trustStorePassword.toCharArray() : null; this.trustStorePasswordSecretId = trustStorePasswordSecretId; - this.keyStore = keyStore; + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; this.keyStoreSecretId = keyStoreSecretId; this.keyStorePassword = keyStorePassword != null ? keyStorePassword.toCharArray() : null; this.keyStorePasswordSecretId = keyStorePasswordSecretId; @@ -704,14 +738,14 @@ public UpdateKafkaSchemaRegistryConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("password") char[] password, @com.fasterxml.jackson.annotation.JsonProperty("passwordSecretId") String passwordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("trustStore") String trustStore, + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") char[] trustStore, @com.fasterxml.jackson.annotation.JsonProperty("trustStoreSecretId") String trustStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") char[] trustStorePassword, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePasswordSecretId") String trustStorePasswordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("keyStore") String keyStore, + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") char[] keyStore, @com.fasterxml.jackson.annotation.JsonProperty("keyStoreSecretId") String keyStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") @@ -798,8 +832,9 @@ public String getUsername() { /** * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration property. Deprecated: - * This field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * This field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -808,7 +843,8 @@ public String getUsername() { * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration * property. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -822,8 +858,9 @@ public String getPassword() { /** * The password to access Schema Registry using basic authentication. This value is injected * into 'schema.registry.basic.auth.user.info=user:password' configuration property. Deprecated: - * This field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * This field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -857,18 +894,38 @@ public String getPasswordSecretId() { /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private final String trustStore; + private final char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTrustStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTrustStore() { + return trustStore != null ? new String(trustStore) : null; + } + + /** + * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") + public char[] getTrustStore__AsCharArray() { return trustStore; } @@ -893,14 +950,18 @@ public String getTrustStoreSecretId() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private final char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTrustStorePassword__AsCharArray() instead. @@ -913,7 +974,9 @@ public String getTrustStorePassword() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -943,18 +1006,38 @@ public String getTrustStorePasswordSecretId() { /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private final String keyStore; + private final char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getKeyStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKeyStore() { + return keyStore != null ? new String(keyStore) : null; + } + + /** + * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") + public char[] getKeyStore__AsCharArray() { return keyStore; } @@ -979,14 +1062,18 @@ public String getKeyStoreSecretId() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private final char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getKeyStorePassword__AsCharArray() instead. @@ -999,7 +1086,9 @@ public String getKeyStorePassword() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1030,7 +1119,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore password, * it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKeyPassword") private final char[] sslKeyPassword; @@ -1038,7 +1129,9 @@ public String getKeyStorePasswordSecretId() { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore password, * it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getSslKeyPassword__AsCharArray() instead. @@ -1052,7 +1145,9 @@ public String getSslKeyPassword() { /** * The password for the cert inside the KeyStore. In case it differs from the KeyStore password, * it should be provided. Deprecated: This field is deprecated and replaced by - * "sslKeyPasswordSecretId". This field will be removed after February 15 2026. + * "sslKeyPasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1127,12 +1222,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", username=").append(String.valueOf(this.username)); sb.append(", password=").append(""); sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); - sb.append(", trustStore=").append(String.valueOf(this.trustStore)); + sb.append(", trustStore=").append(""); sb.append(", trustStoreSecretId=").append(String.valueOf(this.trustStoreSecretId)); sb.append(", trustStorePassword=").append(""); sb.append(", trustStorePasswordSecretId=") .append(String.valueOf(this.trustStorePasswordSecretId)); - sb.append(", keyStore=").append(String.valueOf(this.keyStore)); + sb.append(", keyStore=").append(""); sb.append(", keyStoreSecretId=").append(String.valueOf(this.keyStoreSecretId)); sb.append(", keyStorePassword=").append(""); sb.append(", keyStorePasswordSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMicrosoftFabricConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMicrosoftFabricConnectionDetails.java index c8916fe6410..51db17512ed 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMicrosoftFabricConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMicrosoftFabricConnectionDetails.java @@ -159,23 +159,33 @@ public Builder clientId(String clientId) { } /** * Client secret associated with the client id. Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") - private String clientSecret; + private char[] clientSecret; /** * Client secret associated with the client id. Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param clientSecret the value to set * @return this builder */ - public Builder clientSecret(String clientSecret) { + public Builder clientSecret(char[] clientSecret) { this.clientSecret = clientSecret; this.__explicitlySet__.add("clientSecret"); return this; } + + public Builder clientSecret(String clientSecret) { + this.clientSecret = clientSecret != null ? clientSecret.toCharArray() : null; + this.__explicitlySet__.add("clientSecret"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the client secret is stored. Note: When provided, 'clientSecret' field must @@ -340,6 +350,50 @@ public UpdateMicrosoftFabricConnectionDetails( securityAttributes); this.tenantId = tenantId; this.clientId = clientId; + this.clientSecret = clientSecret != null ? clientSecret.toCharArray() : null; + this.clientSecretSecretId = clientSecretSecretId; + this.endpoint = endpoint; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public UpdateMicrosoftFabricConnectionDetails( + @com.fasterxml.jackson.annotation.JsonProperty("displayName") String displayName, + @com.fasterxml.jackson.annotation.JsonProperty("description") String description, + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + java.util.Map freeformTags, + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + java.util.Map> definedTags, + @com.fasterxml.jackson.annotation.JsonProperty("vaultId") String vaultId, + @com.fasterxml.jackson.annotation.JsonProperty("keyId") String keyId, + @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") java.util.List nsgIds, + @com.fasterxml.jackson.annotation.JsonProperty("subnetId") String subnetId, + @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") + RoutingMethod routingMethod, + @com.fasterxml.jackson.annotation.JsonProperty("doesUseSecretIds") + Boolean doesUseSecretIds, + @com.fasterxml.jackson.annotation.JsonProperty("securityAttributes") + java.util.Map> securityAttributes, + @com.fasterxml.jackson.annotation.JsonProperty("tenantId") String tenantId, + @com.fasterxml.jackson.annotation.JsonProperty("clientId") String clientId, + @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") char[] clientSecret, + @com.fasterxml.jackson.annotation.JsonProperty("clientSecretSecretId") + String clientSecretSecretId, + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint) { + super( + displayName, + description, + freeformTags, + definedTags, + vaultId, + keyId, + nsgIds, + subnetId, + routingMethod, + doesUseSecretIds, + securityAttributes); + this.tenantId = tenantId; + this.clientId = clientId; this.clientSecret = clientSecret; this.clientSecretSecretId = clientSecretSecretId; this.endpoint = endpoint; @@ -373,18 +427,38 @@ public String getClientId() { /** * Client secret associated with the client id. Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") - private final String clientSecret; + private final char[] clientSecret; /** * Client secret associated with the client id. Deprecated: This field is deprecated and - * replaced by "clientSecretSecretId". This field will be removed after February 15 2026. + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getClientSecret__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getClientSecret() { + return clientSecret != null ? new String(clientSecret) : null; + } + + /** + * Client secret associated with the client id. Deprecated: This field is deprecated and + * replaced by "clientSecretSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("clientSecret") + public char[] getClientSecret__AsCharArray() { return clientSecret; } @@ -441,7 +515,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", tenantId=").append(String.valueOf(this.tenantId)); sb.append(", clientId=").append(String.valueOf(this.clientId)); - sb.append(", clientSecret=").append(String.valueOf(this.clientSecret)); + sb.append(", clientSecret=").append(""); sb.append(", clientSecretSecretId=").append(String.valueOf(this.clientSecretSecretId)); sb.append(", endpoint=").append(String.valueOf(this.endpoint)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMicrosoftSqlserverConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMicrosoftSqlserverConnectionDetails.java index 234c461c62a..84e9b1515ef 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMicrosoftSqlserverConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMicrosoftSqlserverConnectionDetails.java @@ -193,16 +193,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will - * be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -619,16 +621,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -641,8 +645,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated Microsoft SQL Server. - * Deprecated: This field is deprecated and replaced by "passwordSecretId". This field will be - * removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "passwordSecretId". This change follows + * the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMongoDbConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMongoDbConnectionDetails.java index 5e4838ba9c4..85b388e9516 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMongoDbConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMongoDbConnectionDetails.java @@ -165,16 +165,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -269,24 +271,35 @@ public Builder tlsCaFile(String tlsCaFile) { /** * Client Certificate - The base64 encoded content of a .pem file, containing the client * public key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFileSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFile") - private String tlsCertificateKeyFile; + private char[] tlsCertificateKeyFile; /** * Client Certificate - The base64 encoded content of a .pem file, containing the client * public key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFileSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param tlsCertificateKeyFile the value to set * @return this builder */ - public Builder tlsCertificateKeyFile(String tlsCertificateKeyFile) { + public Builder tlsCertificateKeyFile(char[] tlsCertificateKeyFile) { this.tlsCertificateKeyFile = tlsCertificateKeyFile; this.__explicitlySet__.add("tlsCertificateKeyFile"); return this; } + + public Builder tlsCertificateKeyFile(String tlsCertificateKeyFile) { + this.tlsCertificateKeyFile = + tlsCertificateKeyFile != null ? tlsCertificateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("tlsCertificateKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the certificate key file of the mtls connection. - The content of a @@ -312,16 +325,18 @@ public Builder tlsCertificateKeyFileSecretId(String tlsCertificateKeyFileSecretI } /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced - * by "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February 15 - * 2026. + * by "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFilePassword") private char[] tlsCertificateKeyFilePassword; /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced - * by "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February 15 - * 2026. + * by "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param tlsCertificateKeyFilePassword the value to set * @return this builder @@ -522,7 +537,8 @@ public UpdateMongoDbConnectionDetails( this.databaseId = databaseId; this.securityProtocol = securityProtocol; this.tlsCaFile = tlsCaFile; - this.tlsCertificateKeyFile = tlsCertificateKeyFile; + this.tlsCertificateKeyFile = + tlsCertificateKeyFile != null ? tlsCertificateKeyFile.toCharArray() : null; this.tlsCertificateKeyFileSecretId = tlsCertificateKeyFileSecretId; this.tlsCertificateKeyFilePassword = tlsCertificateKeyFilePassword != null @@ -561,7 +577,7 @@ public UpdateMongoDbConnectionDetails( MongoDbConnection.SecurityProtocol securityProtocol, @com.fasterxml.jackson.annotation.JsonProperty("tlsCaFile") String tlsCaFile, @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFile") - String tlsCertificateKeyFile, + char[] tlsCertificateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFileSecretId") String tlsCertificateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFilePassword") @@ -625,16 +641,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed - * after February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -647,8 +665,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated database. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -728,19 +747,40 @@ public String getTlsCaFile() { /** * Client Certificate - The base64 encoded content of a .pem file, containing the client public * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFileSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFile") - private final String tlsCertificateKeyFile; + private final char[] tlsCertificateKeyFile; /** * Client Certificate - The base64 encoded content of a .pem file, containing the client public * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFileSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTlsCertificateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTlsCertificateKeyFile() { + return tlsCertificateKeyFile != null ? new String(tlsCertificateKeyFile) : null; + } + + /** + * Client Certificate - The base64 encoded content of a .pem file, containing the client public + * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by + * "tlsCertificateKeyFileSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFile") + public char[] getTlsCertificateKeyFile__AsCharArray() { return tlsCertificateKeyFile; } @@ -767,15 +807,18 @@ public String getTlsCertificateKeyFileSecretId() { /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("tlsCertificateKeyFilePassword") private final char[] tlsCertificateKeyFilePassword; /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February - * 15 2026. + * "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTlsCertificateKeyFilePassword__AsCharArray() instead. @@ -790,7 +833,9 @@ public String getTlsCertificateKeyFilePassword() { /** * Client Certificate key file password. Deprecated: This field is deprecated and replaced by - * "tlsCertificateKeyFilePasswordSecretId". This field will be removed after February 15 2026. + * "tlsCertificateKeyFilePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -840,7 +885,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", databaseId=").append(String.valueOf(this.databaseId)); sb.append(", securityProtocol=").append(String.valueOf(this.securityProtocol)); sb.append(", tlsCaFile=").append(String.valueOf(this.tlsCaFile)); - sb.append(", tlsCertificateKeyFile=").append(String.valueOf(this.tlsCertificateKeyFile)); + sb.append(", tlsCertificateKeyFile=").append(""); sb.append(", tlsCertificateKeyFileSecretId=") .append(String.valueOf(this.tlsCertificateKeyFileSecretId)); sb.append(", tlsCertificateKeyFilePassword=").append(""); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMysqlConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMysqlConnectionDetails.java index b6f11d4fe35..9cadad61f87 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMysqlConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateMysqlConnectionDetails.java @@ -152,7 +152,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -161,7 +163,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -345,24 +349,34 @@ public Builder sslCert(String sslCert) { /** * Client Key - The base64 encoded content of a .pem or .crt file containing the client * private key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "sslKeySecretId". This field will be removed after February 15 2026. + * "sslKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKey") - private String sslKey; + private char[] sslKey; /** * Client Key - The base64 encoded content of a .pem or .crt file containing the client * private key (for 2-way SSL). Deprecated: This field is deprecated and replaced by - * "sslKeySecretId". This field will be removed after February 15 2026. + * "sslKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKey the value to set * @return this builder */ - public Builder sslKey(String sslKey) { + public Builder sslKey(char[] sslKey) { this.sslKey = sslKey; this.__explicitlySet__.add("sslKey"); return this; } + + public Builder sslKey(String sslKey) { + this.sslKey = sslKey != null ? sslKey.toCharArray() : null; + this.__explicitlySet__.add("sslKey"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the Client Key - The content of a .pem or .crt file containing the @@ -639,7 +653,7 @@ public UpdateMysqlConnectionDetails( this.sslCa = sslCa; this.sslCrl = sslCrl; this.sslCert = sslCert; - this.sslKey = sslKey; + this.sslKey = sslKey != null ? sslKey.toCharArray() : null; this.sslKeySecretId = sslKeySecretId; this.privateIp = privateIp; this.additionalAttributes = additionalAttributes; @@ -679,7 +693,7 @@ public UpdateMysqlConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("sslCa") String sslCa, @com.fasterxml.jackson.annotation.JsonProperty("sslCrl") String sslCrl, @com.fasterxml.jackson.annotation.JsonProperty("sslCert") String sslCert, - @com.fasterxml.jackson.annotation.JsonProperty("sslKey") String sslKey, + @com.fasterxml.jackson.annotation.JsonProperty("sslKey") char[] sslKey, @com.fasterxml.jackson.annotation.JsonProperty("sslKeySecretId") String sslKeySecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateIp") String privateIp, @com.fasterxml.jackson.annotation.JsonProperty("additionalAttributes") @@ -737,8 +751,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -747,7 +762,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -761,8 +777,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -921,19 +938,38 @@ public String getSslCert() { /** * Client Key - The base64 encoded content of a .pem or .crt file containing the client private * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by "sslKeySecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKey") - private final String sslKey; + private final char[] sslKey; /** * Client Key - The base64 encoded content of a .pem or .crt file containing the client private - * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by "sslKeySecretId". - * This field will be removed after February 15 2026. + * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by + * "sslKeySecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getSslKey__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getSslKey() { + return sslKey != null ? new String(sslKey) : null; + } + + /** + * Client Key - The base64 encoded content of a .pem or .crt file containing the client private + * key (for 2-way SSL). Deprecated: This field is deprecated and replaced by "sslKeySecretId". + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("sslKey") + public char[] getSslKey__AsCharArray() { return sslKey; } @@ -1041,7 +1077,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", sslCa=").append(String.valueOf(this.sslCa)); sb.append(", sslCrl=").append(String.valueOf(this.sslCrl)); sb.append(", sslCert=").append(String.valueOf(this.sslCert)); - sb.append(", sslKey=").append(String.valueOf(this.sslKey)); + sb.append(", sslKey=").append(""); sb.append(", sslKeySecretId=").append(String.valueOf(this.sslKeySecretId)); sb.append(", privateIp=").append(String.valueOf(this.privateIp)); sb.append(", additionalAttributes=").append(String.valueOf(this.additionalAttributes)); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateNoIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateNoIcebergStorageDetails.java new file mode 100644 index 00000000000..c33998a71b4 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateNoIcebergStorageDetails.java @@ -0,0 +1,100 @@ +/** + * 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.goldengate.model; + +/** + * The information to update the absence of a storage configuration in an Iceberg connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateNoIcebergStorageDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "storageType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateNoIcebergStorageDetails extends UpdateIcebergStorageDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateNoIcebergStorageDetails build() { + UpdateNoIcebergStorageDetails model = new UpdateNoIcebergStorageDetails(); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateNoIcebergStorageDetails model) { + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public UpdateNoIcebergStorageDetails() { + 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("UpdateNoIcebergStorageDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateNoIcebergStorageDetails)) { + return false; + } + + UpdateNoIcebergStorageDetails other = (UpdateNoIcebergStorageDetails) o; + return super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciGenAiModelAuthDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciGenAiModelAuthDetails.java new file mode 100644 index 00000000000..08f67dc4626 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciGenAiModelAuthDetails.java @@ -0,0 +1,408 @@ +/** + * 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.goldengate.model; + +/** + * The information to update OCI Generative AI authentication details for an AI Model connection. + *
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateOciGenAiModelAuthDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "authType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateOciGenAiModelAuthDetails extends UpdateAiModelAuthDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @param apiKey the value to set + * @return this builder + */ + public Builder apiKey(char[] apiKey) { + this.apiKey = apiKey; + this.__explicitlySet__.add("apiKey"); + return this; + } + + public Builder apiKey(String apiKey) { + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.__explicitlySet__.add("apiKey"); + return this; + } + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @param apiKeySecretId the value to set + * @return this builder + */ + public Builder apiKeySecretId(String apiKeySecretId) { + this.apiKeySecretId = apiKeySecretId; + this.__explicitlySet__.add("apiKeySecretId"); + return this; + } + /** OCI Generative AI key fingerprint. */ + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") + private String keyFingerprint; + + /** + * OCI Generative AI key fingerprint. + * + * @param keyFingerprint the value to set + * @return this builder + */ + public Builder keyFingerprint(String keyFingerprint) { + this.keyFingerprint = keyFingerprint; + this.__explicitlySet__.add("keyFingerprint"); + return this; + } + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private String region; + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + * + * @param region the value to set + * @return this builder + */ + public Builder region(String region) { + this.region = region; + this.__explicitlySet__.add("region"); + return this; + } + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") + private String tenancyId; + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + * + * @param tenancyId the value to set + * @return this builder + */ + public Builder tenancyId(String tenancyId) { + this.tenancyId = tenancyId; + this.__explicitlySet__.add("tenancyId"); + return this; + } + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("userId") + private String userId; + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the OCID of the user who is executing the operation. + * + * @param userId the value to set + * @return this builder + */ + public Builder userId(String userId) { + this.userId = userId; + this.__explicitlySet__.add("userId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateOciGenAiModelAuthDetails build() { + UpdateOciGenAiModelAuthDetails model = + new UpdateOciGenAiModelAuthDetails( + this.apiKey, + this.apiKeySecretId, + this.keyFingerprint, + this.region, + this.tenancyId, + this.userId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateOciGenAiModelAuthDetails model) { + if (model.wasPropertyExplicitlySet("apiKey")) { + this.apiKey(model.getApiKey()); + } + if (model.wasPropertyExplicitlySet("apiKeySecretId")) { + this.apiKeySecretId(model.getApiKeySecretId()); + } + if (model.wasPropertyExplicitlySet("keyFingerprint")) { + this.keyFingerprint(model.getKeyFingerprint()); + } + if (model.wasPropertyExplicitlySet("region")) { + this.region(model.getRegion()); + } + if (model.wasPropertyExplicitlySet("tenancyId")) { + this.tenancyId(model.getTenancyId()); + } + if (model.wasPropertyExplicitlySet("userId")) { + this.userId(model.getUserId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public UpdateOciGenAiModelAuthDetails( + String apiKey, + String apiKeySecretId, + String keyFingerprint, + String region, + String tenancyId, + String userId) { + super(); + this.apiKey = apiKey != null ? apiKey.toCharArray() : null; + this.apiKeySecretId = apiKeySecretId; + this.keyFingerprint = keyFingerprint; + this.region = region; + this.tenancyId = tenancyId; + this.userId = userId; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public UpdateOciGenAiModelAuthDetails( + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") char[] apiKey, + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") String apiKeySecretId, + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") String keyFingerprint, + @com.fasterxml.jackson.annotation.JsonProperty("region") String region, + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") String tenancyId, + @com.fasterxml.jackson.annotation.JsonProperty("userId") String userId) { + super(); + this.apiKey = apiKey; + this.apiKeySecretId = apiKeySecretId; + this.keyFingerprint = keyFingerprint; + this.region = region; + this.tenancyId = tenancyId; + this.userId = userId; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + private final char[] apiKey; + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getApiKey__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getApiKey() { + return apiKey != null ? new String(apiKey) : null; + } + + /** + * API key for the AI model connection. Deprecated: This field is deprecated and replaced by + * "apiKeySecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKey") + public char[] getApiKey__AsCharArray() { + return apiKey; + } + + /** API key secret OCID for the AI model connection. */ + @com.fasterxml.jackson.annotation.JsonProperty("apiKeySecretId") + private final String apiKeySecretId; + + /** + * API key secret OCID for the AI model connection. + * + * @return the value + */ + public String getApiKeySecretId() { + return apiKeySecretId; + } + + /** OCI Generative AI key fingerprint. */ + @com.fasterxml.jackson.annotation.JsonProperty("keyFingerprint") + private final String keyFingerprint; + + /** + * OCI Generative AI key fingerprint. + * + * @return the value + */ + public String getKeyFingerprint() { + return keyFingerprint; + } + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private final String region; + + /** + * The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will + * default to the default region. + * + * @return the value + */ + public String getRegion() { + return region; + } + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") + private final String tenancyId; + + /** + * OCI Generative AI tenancy OCID. If this value is not provided, or is updated to an empty + * value, it defaults to the tenancy OCID of the user who is executing the operation. + * + * @return the value + */ + public String getTenancyId() { + return tenancyId; + } + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty value, + * it defaults to the OCID of the user who is executing the operation. + */ + @com.fasterxml.jackson.annotation.JsonProperty("userId") + private final String userId; + + /** + * OCI Generative AI user OCID. If this value is not provided, or is updated to an empty value, + * it defaults to the OCID of the user who is executing the operation. + * + * @return the value + */ + public String getUserId() { + return userId; + } + + @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("UpdateOciGenAiModelAuthDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", apiKey=").append(""); + sb.append(", apiKeySecretId=").append(String.valueOf(this.apiKeySecretId)); + sb.append(", keyFingerprint=").append(String.valueOf(this.keyFingerprint)); + sb.append(", region=").append(String.valueOf(this.region)); + sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); + sb.append(", userId=").append(String.valueOf(this.userId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateOciGenAiModelAuthDetails)) { + return false; + } + + UpdateOciGenAiModelAuthDetails other = (UpdateOciGenAiModelAuthDetails) o; + return java.util.Objects.equals(this.apiKey, other.apiKey) + && java.util.Objects.equals(this.apiKeySecretId, other.apiKeySecretId) + && java.util.Objects.equals(this.keyFingerprint, other.keyFingerprint) + && java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.tenancyId, other.tenancyId) + && java.util.Objects.equals(this.userId, other.userId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.apiKey == null ? 43 : this.apiKey.hashCode()); + result = + (result * PRIME) + + (this.apiKeySecretId == null ? 43 : this.apiKeySecretId.hashCode()); + result = + (result * PRIME) + + (this.keyFingerprint == null ? 43 : this.keyFingerprint.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = (result * PRIME) + (this.tenancyId == null ? 43 : this.tenancyId.hashCode()); + result = (result * PRIME) + (this.userId == null ? 43 : this.userId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciObjectStorageConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciObjectStorageConnectionDetails.java index 9138785d4e5..29f8343bed4 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciObjectStorageConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciObjectStorageConnectionDetails.java @@ -192,27 +192,35 @@ public Builder userId(String userId) { * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private String privateKeyFile; + private char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyFile the value to set * @return this builder */ - public Builder privateKeyFile(String privateKeyFile) { + public Builder privateKeyFile(char[] privateKeyFile) { this.privateKeyFile = privateKeyFile; this.__explicitlySet__.add("privateKeyFile"); return this; } + + public Builder privateKeyFile(String privateKeyFile) { + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("privateKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the private key file (PEM file) corresponding to the @@ -240,14 +248,18 @@ public Builder privateKeyFileSecretId(String privateKeyFileSecretId) { } /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyPassphrase the value to set * @return this builder @@ -468,7 +480,7 @@ public UpdateOciObjectStorageConnectionDetails( this.tenancyId = tenancyId; this.region = region; this.userId = userId; - this.privateKeyFile = privateKeyFile; + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; this.privateKeyFileSecretId = privateKeyFileSecretId; this.privateKeyPassphrase = privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null; @@ -499,7 +511,7 @@ public UpdateOciObjectStorageConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") String tenancyId, @com.fasterxml.jackson.annotation.JsonProperty("region") String region, @com.fasterxml.jackson.annotation.JsonProperty("userId") String userId, - @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") String privateKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") char[] privateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFileSecretId") String privateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") @@ -592,22 +604,42 @@ public String getUserId() { * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private final String privateKeyFile; + private final char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getPrivateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getPrivateKeyFile() { + return privateKeyFile != null ? new String(privateKeyFile) : null; + } + + /** + * The base64 encoded content of the private key file (PEM file) corresponding to the API key of + * the fingerprint. See documentation: + * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") + public char[] getPrivateKeyFile__AsCharArray() { return privateKeyFile; } @@ -636,14 +668,18 @@ public String getPrivateKeyFileSecretId() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private final char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPrivateKeyPassphrase__AsCharArray() instead. @@ -656,7 +692,9 @@ public String getPrivateKeyPassphrase() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -736,7 +774,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); sb.append(", region=").append(String.valueOf(this.region)); sb.append(", userId=").append(String.valueOf(this.userId)); - sb.append(", privateKeyFile=").append(String.valueOf(this.privateKeyFile)); + sb.append(", privateKeyFile=").append(""); sb.append(", privateKeyFileSecretId=").append(String.valueOf(this.privateKeyFileSecretId)); sb.append(", privateKeyPassphrase=").append(""); sb.append(", privateKeyPassphraseSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciObjectStorageS3ApiIcebergStorageDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciObjectStorageS3ApiIcebergStorageDetails.java new file mode 100644 index 00000000000..676e1af0f4f --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOciObjectStorageS3ApiIcebergStorageDetails.java @@ -0,0 +1,400 @@ +/** + * 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.goldengate.model; + +/** + * The information to update the OCI Object Storage (S3 Compatibility API) configuration used by the + * Iceberg connection.
+ * 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: 20200407") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateOciObjectStorageS3ApiIcebergStorageDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "storageType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateOciObjectStorageS3ApiIcebergStorageDetails + extends UpdateIcebergStorageDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private String endpoint; + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + * + * @param endpoint the value to set + * @return this builder + */ + public Builder endpoint(String endpoint) { + this.endpoint = endpoint; + this.__explicitlySet__.add("endpoint"); + return this; + } + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") + private String accessKeyId; + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + * + * @param accessKeyId the value to set + * @return this builder + */ + public Builder accessKeyId(String accessKeyId) { + this.accessKeyId = accessKeyId; + this.__explicitlySet__.add("accessKeyId"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + private String secretAccessKeySecretId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + * + * @param secretAccessKeySecretId the value to set + * @return this builder + */ + public Builder secretAccessKeySecretId(String secretAccessKeySecretId) { + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.__explicitlySet__.add("secretAccessKeySecretId"); + return this; + } + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate + * to OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated + * and replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") + private char[] secretAccessKey; + + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate + * to OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated + * and replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @param secretAccessKey the value to set + * @return this builder + */ + public Builder secretAccessKey(char[] secretAccessKey) { + this.secretAccessKey = secretAccessKey; + this.__explicitlySet__.add("secretAccessKey"); + return this; + } + + public Builder secretAccessKey(String secretAccessKey) { + this.secretAccessKey = secretAccessKey != null ? secretAccessKey.toCharArray() : null; + this.__explicitlySet__.add("secretAccessKey"); + return this; + } + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + */ + @com.fasterxml.jackson.annotation.JsonProperty("bucket") + private String bucket; + + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + * + * @param bucket the value to set + * @return this builder + */ + public Builder bucket(String bucket) { + this.bucket = bucket; + this.__explicitlySet__.add("bucket"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateOciObjectStorageS3ApiIcebergStorageDetails build() { + UpdateOciObjectStorageS3ApiIcebergStorageDetails model = + new UpdateOciObjectStorageS3ApiIcebergStorageDetails( + this.endpoint, + this.accessKeyId, + this.secretAccessKeySecretId, + this.secretAccessKey, + this.bucket); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateOciObjectStorageS3ApiIcebergStorageDetails model) { + if (model.wasPropertyExplicitlySet("endpoint")) { + this.endpoint(model.getEndpoint()); + } + if (model.wasPropertyExplicitlySet("accessKeyId")) { + this.accessKeyId(model.getAccessKeyId()); + } + if (model.wasPropertyExplicitlySet("secretAccessKeySecretId")) { + this.secretAccessKeySecretId(model.getSecretAccessKeySecretId()); + } + if (model.wasPropertyExplicitlySet("secretAccessKey")) { + this.secretAccessKey(model.getSecretAccessKey()); + } + if (model.wasPropertyExplicitlySet("bucket")) { + this.bucket(model.getBucket()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public UpdateOciObjectStorageS3ApiIcebergStorageDetails( + String endpoint, + String accessKeyId, + String secretAccessKeySecretId, + String secretAccessKey, + String bucket) { + super(); + this.endpoint = endpoint; + this.accessKeyId = accessKeyId; + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.secretAccessKey = secretAccessKey != null ? secretAccessKey.toCharArray() : null; + this.bucket = bucket; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public UpdateOciObjectStorageS3ApiIcebergStorageDetails( + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") String endpoint, + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") String accessKeyId, + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + String secretAccessKeySecretId, + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") + char[] secretAccessKey, + @com.fasterxml.jackson.annotation.JsonProperty("bucket") String bucket) { + super(); + this.endpoint = endpoint; + this.accessKeyId = accessKeyId; + this.secretAccessKeySecretId = secretAccessKeySecretId; + this.secretAccessKey = secretAccessKey; + this.bucket = bucket; + } + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + */ + @com.fasterxml.jackson.annotation.JsonProperty("endpoint") + private final String endpoint; + + /** + * OCI Object Storage S3 Compatibility API endpoint URL. Format: + * "https://.compat.objectstorage.." Example: + * "https://mynamespace.compat.objectstorage.us-ashburn-1.oraclecloud.com" + * + * @return the value + */ + public String getEndpoint() { + return endpoint; + } + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to OCI + * Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + */ + @com.fasterxml.jackson.annotation.JsonProperty("accessKeyId") + private final String accessKeyId; + + /** + * Access Key ID from the OCI IAM user's Customer Secret Key pair used to authenticate to OCI + * Object Storage via the S3 Compatibility API. + * + *

Note: Despite the "Id" suffix, this value is not an OCI OCID. + * + * @return the value + */ + public String getAccessKeyId() { + return accessKeyId; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKeySecretId") + private final String secretAccessKeySecretId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * Secret where the Secret Access Key used for OCI Object Storage S3 Compatibility + * authentication. + * + * @return the value + */ + public String getSecretAccessKeySecretId() { + return secretAccessKeySecretId; + } + + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated and + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") + private final char[] secretAccessKey; + + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate + * to OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated and + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + * @deprecated Use getSecretAccessKey__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getSecretAccessKey() { + return secretAccessKey != null ? new String(secretAccessKey) : null; + } + + /** + * Secret Access Key from the OCI IAM user's Customer Secret Key pair used to authenticate to + * OCI Object Storage via the S3 Compatibility API. Deprecated: This field is deprecated and + * replaced by "secretAccessKeySecretId". This change follows the GoldenGate "Plain Text Fields + * in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("secretAccessKey") + public char[] getSecretAccessKey__AsCharArray() { + return secretAccessKey; + } + + /** Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. */ + @com.fasterxml.jackson.annotation.JsonProperty("bucket") + private final String bucket; + + /** + * Target OCI Object Storage bucket name where Iceberg stores table metadata and data files. + * + * @return the value + */ + public String getBucket() { + return bucket; + } + + @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("UpdateOciObjectStorageS3ApiIcebergStorageDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", endpoint=").append(String.valueOf(this.endpoint)); + sb.append(", accessKeyId=").append(String.valueOf(this.accessKeyId)); + sb.append(", secretAccessKeySecretId=") + .append(String.valueOf(this.secretAccessKeySecretId)); + sb.append(", secretAccessKey=").append(""); + sb.append(", bucket=").append(String.valueOf(this.bucket)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateOciObjectStorageS3ApiIcebergStorageDetails)) { + return false; + } + + UpdateOciObjectStorageS3ApiIcebergStorageDetails other = + (UpdateOciObjectStorageS3ApiIcebergStorageDetails) o; + return java.util.Objects.equals(this.endpoint, other.endpoint) + && java.util.Objects.equals(this.accessKeyId, other.accessKeyId) + && java.util.Objects.equals( + this.secretAccessKeySecretId, other.secretAccessKeySecretId) + && java.util.Objects.equals(this.secretAccessKey, other.secretAccessKey) + && java.util.Objects.equals(this.bucket, other.bucket) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.endpoint == null ? 43 : this.endpoint.hashCode()); + result = (result * PRIME) + (this.accessKeyId == null ? 43 : this.accessKeyId.hashCode()); + result = + (result * PRIME) + + (this.secretAccessKeySecretId == null + ? 43 + : this.secretAccessKeySecretId.hashCode()); + result = + (result * PRIME) + + (this.secretAccessKey == null ? 43 : this.secretAccessKey.hashCode()); + result = (result * PRIME) + (this.bucket == null ? 43 : this.bucket.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOggDeploymentDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOggDeploymentDetails.java index 1aac8b62432..2a64fef1e3e 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOggDeploymentDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOggDeploymentDetails.java @@ -40,7 +40,7 @@ public UpdateOggDeploymentDetails( this.adminUsername = adminUsername; this.adminPassword = adminPassword != null ? adminPassword.toCharArray() : null; this.certificate = certificate; - this.key = key; + this.key = key != null ? key.toCharArray() : null; this.keySecretId = keySecretId; this.groupToRolesMapping = groupToRolesMapping; } @@ -65,7 +65,7 @@ public UpdateOggDeploymentDetails( String adminUsername, char[] adminPassword, String certificate, - String key, + char[] key, String keySecretId, UpdateGroupToRolesMappingDetails groupToRolesMapping) { super(); @@ -196,7 +196,7 @@ public Builder certificate(String certificate) { } /** The base64 encoded content of the PEM file containing the private key. */ @com.fasterxml.jackson.annotation.JsonProperty("key") - private String key; + private char[] key; /** * The base64 encoded content of the PEM file containing the private key. @@ -204,11 +204,17 @@ public Builder certificate(String certificate) { * @param key the value to set * @return this builder */ - public Builder key(String key) { + public Builder key(char[] key) { this.key = key; this.__explicitlySet__.add("key"); return this; } + + public Builder key(String key) { + this.key = key != null ? key.toCharArray() : null; + this.__explicitlySet__.add("key"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the deployment ssl private key is stored in PEM format. @@ -413,14 +419,27 @@ public String getCertificate() { /** The base64 encoded content of the PEM file containing the private key. */ @com.fasterxml.jackson.annotation.JsonProperty("key") - private final String key; + private final char[] key; /** * The base64 encoded content of the PEM file containing the private key. * * @return the value + * @deprecated Use getKey__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKey() { + return key != null ? new String(key) : null; + } + + /** + * The base64 encoded content of the PEM file containing the private key. + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + public char[] getKey__AsCharArray() { return key; } @@ -469,7 +488,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", adminUsername=").append(String.valueOf(this.adminUsername)); sb.append(", adminPassword=").append(""); sb.append(", certificate=").append(String.valueOf(this.certificate)); - sb.append(", key=").append(String.valueOf(this.key)); + sb.append(", key=").append(""); sb.append(", keySecretId=").append(String.valueOf(this.keySecretId)); sb.append(", groupToRolesMapping=").append(String.valueOf(this.groupToRolesMapping)); sb.append(")"); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleAiDataPlatformConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleAiDataPlatformConnectionDetails.java index 83debf4d453..99b19c17d59 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleAiDataPlatformConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleAiDataPlatformConnectionDetails.java @@ -253,37 +253,49 @@ public Builder privateKeyPassphraseSecretId(String privateKeyPassphraseSecretId) * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private String privateKeyFile; + private char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyFile the value to set * @return this builder */ - public Builder privateKeyFile(String privateKeyFile) { + public Builder privateKeyFile(char[] privateKeyFile) { this.privateKeyFile = privateKeyFile; this.__explicitlySet__.add("privateKeyFile"); return this; } + + public Builder privateKeyFile(String privateKeyFile) { + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("privateKeyFile"); + return this; + } /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyPassphrase the value to set * @return this builder @@ -491,7 +503,7 @@ public UpdateOracleAiDataPlatformConnectionDetails( this.userId = userId; this.privateKeyFileSecretId = privateKeyFileSecretId; this.privateKeyPassphraseSecretId = privateKeyPassphraseSecretId; - this.privateKeyFile = privateKeyFile; + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; this.privateKeyPassphrase = privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null; this.publicKeyFingerprint = publicKeyFingerprint; @@ -525,7 +537,7 @@ public UpdateOracleAiDataPlatformConnectionDetails( String privateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphraseSecretId") String privateKeyPassphraseSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") String privateKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") char[] privateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") char[] privateKeyPassphrase, @com.fasterxml.jackson.annotation.JsonProperty("publicKeyFingerprint") @@ -670,35 +682,59 @@ public String getPrivateKeyPassphraseSecretId() { * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private final String privateKeyFile; + private final char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getPrivateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getPrivateKeyFile() { + return privateKeyFile != null ? new String(privateKeyFile) : null; + } + + /** + * The base64 encoded content of the private key file (PEM file) corresponding to the API key of + * the fingerprint. See documentation: + * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") + public char[] getPrivateKeyFile__AsCharArray() { return privateKeyFile; } /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private final char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPrivateKeyPassphrase__AsCharArray() instead. @@ -711,7 +747,9 @@ public String getPrivateKeyPassphrase() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -776,7 +814,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", privateKeyFileSecretId=").append(String.valueOf(this.privateKeyFileSecretId)); sb.append(", privateKeyPassphraseSecretId=") .append(String.valueOf(this.privateKeyPassphraseSecretId)); - sb.append(", privateKeyFile=").append(String.valueOf(this.privateKeyFile)); + sb.append(", privateKeyFile=").append(""); sb.append(", privateKeyPassphrase=").append(""); sb.append(", publicKeyFingerprint=").append(String.valueOf(this.publicKeyFingerprint)); sb.append(", shouldUseResourcePrincipal=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleConnectionDetails.java index 8eded2f42d9..1887532b297 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleConnectionDetails.java @@ -152,7 +152,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -161,7 +163,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -239,24 +243,34 @@ public Builder authenticationMode(OracleConnection.AuthenticationMode authentica /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This * attribute is expected to be base64 encoded. Deprecated: This field is deprecated and - * replaced by "walletSecretId". This field will be removed after February 15 2026. + * replaced by "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("wallet") - private String wallet; + private char[] wallet; /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This * attribute is expected to be base64 encoded. Deprecated: This field is deprecated and - * replaced by "walletSecretId". This field will be removed after February 15 2026. + * replaced by "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param wallet the value to set * @return this builder */ - public Builder wallet(String wallet) { + public Builder wallet(char[] wallet) { this.wallet = wallet; this.__explicitlySet__.add("wallet"); return this; } + + public Builder wallet(String wallet) { + this.wallet = wallet != null ? wallet.toCharArray() : null; + this.__explicitlySet__.add("wallet"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret where the wallet file is stored. The wallet contents Oracle GoldenGate uses to @@ -289,7 +303,7 @@ public Builder walletSecretId(String walletSecretId) { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, * 2027. */ @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") @@ -306,7 +320,7 @@ public Builder walletSecretId(String walletSecretId) { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, * 2027. * * @param sessionMode the value to set @@ -515,7 +529,7 @@ public UpdateOracleConnectionDetails( this.passwordSecretId = passwordSecretId; this.connectionString = connectionString; this.authenticationMode = authenticationMode; - this.wallet = wallet; + this.wallet = wallet != null ? wallet.toCharArray() : null; this.walletSecretId = walletSecretId; this.sessionMode = sessionMode; this.privateIp = privateIp; @@ -549,7 +563,7 @@ public UpdateOracleConnectionDetails( String connectionString, @com.fasterxml.jackson.annotation.JsonProperty("authenticationMode") OracleConnection.AuthenticationMode authenticationMode, - @com.fasterxml.jackson.annotation.JsonProperty("wallet") String wallet, + @com.fasterxml.jackson.annotation.JsonProperty("wallet") char[] wallet, @com.fasterxml.jackson.annotation.JsonProperty("walletSecretId") String walletSecretId, @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") OracleConnection.SessionMode sessionMode, @@ -601,8 +615,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -611,7 +626,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -625,8 +641,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -691,19 +708,40 @@ public OracleConnection.AuthenticationMode getAuthenticationMode() { /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by - * "walletSecretId". This field will be removed after February 15 2026. + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("wallet") - private final String wallet; + private final char[] wallet; /** * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by - * "walletSecretId". This field will be removed after February 15 2026. + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getWallet__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getWallet() { + return wallet != null ? new String(wallet) : null; + } + + /** + * The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute + * is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by + * "walletSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("wallet") + public char[] getWallet__AsCharArray() { return wallet; } @@ -736,7 +774,7 @@ public String getWalletSecretId() { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, 2027. + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, 2027. */ @com.fasterxml.jackson.annotation.JsonProperty("sessionMode") private final OracleConnection.SessionMode sessionMode; @@ -751,7 +789,7 @@ public String getWalletSecretId() { *

The default is DIRECT, except when databaseId is provided and the discovered database * relies on the SCAN listener. In this case, the default is REDIRECT. * - *

Deprecated: Defaulting to the REDIRECT session mode will be removed after March 1, 2027. + *

Deprecated: Defaulting to the REDIRECT session mode will be removed after April 21, 2027. * * @return the value */ @@ -821,7 +859,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); sb.append(", connectionString=").append(String.valueOf(this.connectionString)); sb.append(", authenticationMode=").append(String.valueOf(this.authenticationMode)); - sb.append(", wallet=").append(String.valueOf(this.wallet)); + sb.append(", wallet=").append(""); sb.append(", walletSecretId=").append(String.valueOf(this.walletSecretId)); sb.append(", sessionMode=").append(String.valueOf(this.sessionMode)); sb.append(", privateIp=").append(String.valueOf(this.privateIp)); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleNosqlConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleNosqlConnectionDetails.java index 19776deb0ba..ea77101e77f 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleNosqlConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateOracleNosqlConnectionDetails.java @@ -192,27 +192,35 @@ public Builder userId(String userId) { * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private String privateKeyFile; + private char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API * key of the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm - * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This field - * will be removed after February 15 2026. + * Deprecated: This field is deprecated and replaced by "privateKeyFileSecretId". This + * change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyFile the value to set * @return this builder */ - public Builder privateKeyFile(String privateKeyFile) { + public Builder privateKeyFile(char[] privateKeyFile) { this.privateKeyFile = privateKeyFile; this.__explicitlySet__.add("privateKeyFile"); return this; } + + public Builder privateKeyFile(String privateKeyFile) { + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("privateKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the private key file (PEM file) corresponding to the @@ -240,14 +248,18 @@ public Builder privateKeyFileSecretId(String privateKeyFileSecretId) { } /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyPassphrase the value to set * @return this builder @@ -468,7 +480,7 @@ public UpdateOracleNosqlConnectionDetails( this.tenancyId = tenancyId; this.region = region; this.userId = userId; - this.privateKeyFile = privateKeyFile; + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; this.privateKeyFileSecretId = privateKeyFileSecretId; this.privateKeyPassphrase = privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null; @@ -499,7 +511,7 @@ public UpdateOracleNosqlConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("tenancyId") String tenancyId, @com.fasterxml.jackson.annotation.JsonProperty("region") String region, @com.fasterxml.jackson.annotation.JsonProperty("userId") String userId, - @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") String privateKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") char[] privateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFileSecretId") String privateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") @@ -592,22 +604,42 @@ public String getUserId() { * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private final String privateKeyFile; + private final char[] privateKeyFile; /** * The base64 encoded content of the private key file (PEM file) corresponding to the API key of * the fingerprint. See documentation: * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: - * This field is deprecated and replaced by "privateKeyFileSecretId". This field will be removed - * after February 15 2026. + * This field is deprecated and replaced by "privateKeyFileSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getPrivateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getPrivateKeyFile() { + return privateKeyFile != null ? new String(privateKeyFile) : null; + } + + /** + * The base64 encoded content of the private key file (PEM file) corresponding to the API key of + * the fingerprint. See documentation: + * https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: + * This field is deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") + public char[] getPrivateKeyFile__AsCharArray() { return privateKeyFile; } @@ -636,14 +668,18 @@ public String getPrivateKeyFileSecretId() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private final char[] privateKeyPassphrase; /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPrivateKeyPassphrase__AsCharArray() instead. @@ -656,7 +692,9 @@ public String getPrivateKeyPassphrase() { /** * The passphrase of the private key. Deprecated: This field is deprecated and replaced by - * "privateKeyPassphraseSecretId". This field will be removed after February 15 2026. + * "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -736,7 +774,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); sb.append(", region=").append(String.valueOf(this.region)); sb.append(", userId=").append(String.valueOf(this.userId)); - sb.append(", privateKeyFile=").append(String.valueOf(this.privateKeyFile)); + sb.append(", privateKeyFile=").append(""); sb.append(", privateKeyFileSecretId=").append(String.valueOf(this.privateKeyFileSecretId)); sb.append(", privateKeyPassphrase=").append(""); sb.append(", privateKeyPassphraseSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdatePostgresqlConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdatePostgresqlConnectionDetails.java index e90a4974d3f..c174e969f9f 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdatePostgresqlConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdatePostgresqlConnectionDetails.java @@ -197,7 +197,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -206,7 +208,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -362,24 +366,32 @@ public Builder sslCert(String sslCert) { /** * The base64 encoded private key of the PostgreSQL server. The supported file formats are * .pem and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKey") - private String sslKey; + private char[] sslKey; /** * The base64 encoded private key of the PostgreSQL server. The supported file formats are * .pem and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param sslKey the value to set * @return this builder */ - public Builder sslKey(String sslKey) { + public Builder sslKey(char[] sslKey) { this.sslKey = sslKey; this.__explicitlySet__.add("sslKey"); return this; } + + public Builder sslKey(String sslKey) { + this.sslKey = sslKey != null ? sslKey.toCharArray() : null; + this.__explicitlySet__.add("sslKey"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the private key of the PostgreSQL server. The supported file formats @@ -636,7 +648,7 @@ public UpdatePostgresqlConnectionDetails( this.sslCa = sslCa; this.sslCrl = sslCrl; this.sslCert = sslCert; - this.sslKey = sslKey; + this.sslKey = sslKey != null ? sslKey.toCharArray() : null; this.sslKeySecretId = sslKeySecretId; this.privateIp = privateIp; this.dbSystemId = dbSystemId; @@ -677,7 +689,7 @@ public UpdatePostgresqlConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("sslCa") String sslCa, @com.fasterxml.jackson.annotation.JsonProperty("sslCrl") String sslCrl, @com.fasterxml.jackson.annotation.JsonProperty("sslCert") String sslCert, - @com.fasterxml.jackson.annotation.JsonProperty("sslKey") String sslKey, + @com.fasterxml.jackson.annotation.JsonProperty("sslKey") char[] sslKey, @com.fasterxml.jackson.annotation.JsonProperty("sslKeySecretId") String sslKeySecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateIp") String privateIp, @com.fasterxml.jackson.annotation.JsonProperty("dbSystemId") String dbSystemId) { @@ -772,8 +784,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -782,7 +795,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -796,8 +810,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -931,20 +946,38 @@ public String getSslCert() { /** * The base64 encoded private key of the PostgreSQL server. The supported file formats are .pem - * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". This field - * will be removed after February 15 2026. + * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("sslKey") - private final String sslKey; + private final char[] sslKey; /** * The base64 encoded private key of the PostgreSQL server. The supported file formats are .pem - * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". This field - * will be removed after February 15 2026. + * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getSslKey__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getSslKey() { + return sslKey != null ? new String(sslKey) : null; + } + + /** + * The base64 encoded private key of the PostgreSQL server. The supported file formats are .pem + * and .crt. Deprecated: This field is deprecated and replaced by "sslKeySecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("sslKey") + public char[] getSslKey__AsCharArray() { return sslKey; } @@ -1036,7 +1069,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", sslCa=").append(String.valueOf(this.sslCa)); sb.append(", sslCrl=").append(String.valueOf(this.sslCrl)); sb.append(", sslCert=").append(String.valueOf(this.sslCert)); - sb.append(", sslKey=").append(String.valueOf(this.sslKey)); + sb.append(", sslKey=").append(""); sb.append(", sslKeySecretId=").append(String.valueOf(this.sslKeySecretId)); sb.append(", privateIp=").append(String.valueOf(this.privateIp)); sb.append(", dbSystemId=").append(String.valueOf(this.dbSystemId)); diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateRedisConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateRedisConnectionDetails.java index 641becad43c..9f9ce481c6e 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateRedisConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateRedisConnectionDetails.java @@ -205,7 +205,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; @@ -214,7 +216,9 @@ public Builder username(String username) { * The password Oracle GoldenGate uses to connect the associated system of the given * technology. It must conform to the specific security requirements including length, case * sensitivity, and so on. Deprecated: This field is deprecated and replaced by - * "passwordSecretId". This field will be removed after February 15 2026. + * "passwordSecretId". This change follows the GoldenGate "Plain Text Fields in Connections" + * deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -257,23 +261,33 @@ public Builder passwordSecretId(String passwordSecretId) { } /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private String trustStore; + private char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated - * and replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * and replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStore the value to set * @return this builder */ - public Builder trustStore(String trustStore) { + public Builder trustStore(char[] trustStore) { this.trustStore = trustStore; this.__explicitlySet__.add("trustStore"); return this; } + + public Builder trustStore(String trustStore) { + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; + this.__explicitlySet__.add("trustStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the TrustStore file. Note: When provided, 'trustStore' @@ -297,14 +311,18 @@ public Builder trustStoreSecretId(String trustStoreSecretId) { } /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param trustStorePassword the value to set * @return this builder @@ -344,23 +362,33 @@ public Builder trustStorePasswordSecretId(String trustStorePasswordSecretId) { } /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private String keyStore; + private char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStore the value to set * @return this builder */ - public Builder keyStore(String keyStore) { + public Builder keyStore(char[] keyStore) { this.keyStore = keyStore; this.__explicitlySet__.add("keyStore"); return this; } + + public Builder keyStore(String keyStore) { + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; + this.__explicitlySet__.add("keyStore"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the KeyStore file. Note: When provided, 'keyStore' @@ -384,14 +412,18 @@ public Builder keyStoreSecretId(String keyStoreSecretId) { } /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param keyStorePassword the value to set * @return this builder @@ -626,12 +658,12 @@ public UpdateRedisConnectionDetails( this.username = username; this.password = password != null ? password.toCharArray() : null; this.passwordSecretId = passwordSecretId; - this.trustStore = trustStore; + this.trustStore = trustStore != null ? trustStore.toCharArray() : null; this.trustStoreSecretId = trustStoreSecretId; this.trustStorePassword = trustStorePassword != null ? trustStorePassword.toCharArray() : null; this.trustStorePasswordSecretId = trustStorePasswordSecretId; - this.keyStore = keyStore; + this.keyStore = keyStore != null ? keyStore.toCharArray() : null; this.keyStoreSecretId = keyStoreSecretId; this.keyStorePassword = keyStorePassword != null ? keyStorePassword.toCharArray() : null; this.keyStorePasswordSecretId = keyStorePasswordSecretId; @@ -666,14 +698,14 @@ public UpdateRedisConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("password") char[] password, @com.fasterxml.jackson.annotation.JsonProperty("passwordSecretId") String passwordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("trustStore") String trustStore, + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") char[] trustStore, @com.fasterxml.jackson.annotation.JsonProperty("trustStoreSecretId") String trustStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") char[] trustStorePassword, @com.fasterxml.jackson.annotation.JsonProperty("trustStorePasswordSecretId") String trustStorePasswordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("keyStore") String keyStore, + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") char[] keyStore, @com.fasterxml.jackson.annotation.JsonProperty("keyStoreSecretId") String keyStoreSecretId, @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") @@ -780,8 +812,9 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; @@ -790,7 +823,8 @@ public String getUsername() { * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". - * This field will be removed after February 15 2026. + * This change follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -804,8 +838,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect the associated system of the given technology. * It must conform to the specific security requirements including length, case sensitivity, and - * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This field - * will be removed after February 15 2026. + * so on. Deprecated: This field is deprecated and replaced by "passwordSecretId". This change + * follows the GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -839,18 +874,38 @@ public String getPasswordSecretId() { /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStore") - private final String trustStore; + private final char[] trustStore; /** * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and - * replaced by "trustStoreSecretId". This field will be removed after February 15 2026. + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getTrustStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getTrustStore() { + return trustStore != null ? new String(trustStore) : null; + } + + /** + * The base64 encoded content of the TrustStore file. Deprecated: This field is deprecated and + * replaced by "trustStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("trustStore") + public char[] getTrustStore__AsCharArray() { return trustStore; } @@ -875,14 +930,18 @@ public String getTrustStoreSecretId() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("trustStorePassword") private final char[] trustStorePassword; /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getTrustStorePassword__AsCharArray() instead. @@ -895,7 +954,9 @@ public String getTrustStorePassword() { /** * The TrustStore password. Deprecated: This field is deprecated and replaced by - * "trustStorePasswordSecretId". This field will be removed after February 15 2026. + * "trustStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -925,18 +986,38 @@ public String getTrustStorePasswordSecretId() { /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStore") - private final String keyStore; + private final char[] keyStore; /** * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and - * replaced by "keyStoreSecretId". This field will be removed after February 15 2026. + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getKeyStore__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getKeyStore() { + return keyStore != null ? new String(keyStore) : null; + } + + /** + * The base64 encoded content of the KeyStore file. Deprecated: This field is deprecated and + * replaced by "keyStoreSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("keyStore") + public char[] getKeyStore__AsCharArray() { return keyStore; } @@ -961,14 +1042,18 @@ public String getKeyStoreSecretId() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("keyStorePassword") private final char[] keyStorePassword; /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getKeyStorePassword__AsCharArray() instead. @@ -981,7 +1066,9 @@ public String getKeyStorePassword() { /** * The KeyStore password. Deprecated: This field is deprecated and replaced by - * "keyStorePasswordSecretId". This field will be removed after February 15 2026. + * "keyStorePasswordSecretId". This change follows the GoldenGate "Plain Text Fields in + * Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -1047,12 +1134,12 @@ public String toString(boolean includeByteArrayContents) { sb.append(", username=").append(String.valueOf(this.username)); sb.append(", password=").append(""); sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); - sb.append(", trustStore=").append(String.valueOf(this.trustStore)); + sb.append(", trustStore=").append(""); sb.append(", trustStoreSecretId=").append(String.valueOf(this.trustStoreSecretId)); sb.append(", trustStorePassword=").append(""); sb.append(", trustStorePasswordSecretId=") .append(String.valueOf(this.trustStorePasswordSecretId)); - sb.append(", keyStore=").append(String.valueOf(this.keyStore)); + sb.append(", keyStore=").append(""); sb.append(", keyStoreSecretId=").append(String.valueOf(this.keyStoreSecretId)); sb.append(", keyStorePassword=").append(""); sb.append(", keyStorePasswordSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateRestIcebergCatalogDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateRestIcebergCatalogDetails.java index 20676a80a74..eb6ca1f1c04 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateRestIcebergCatalogDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateRestIcebergCatalogDetails.java @@ -72,7 +72,7 @@ public Builder propertiesSecretId(String propertiesSecretId) { * the REST catalog. */ @com.fasterxml.jackson.annotation.JsonProperty("properties") - private String properties; + private char[] properties; /** * The base64 encoded content of the configuration file containing additional properties for @@ -81,12 +81,18 @@ public Builder propertiesSecretId(String propertiesSecretId) { * @param properties the value to set * @return this builder */ - public Builder properties(String properties) { + public Builder properties(char[] properties) { this.properties = properties; this.__explicitlySet__.add("properties"); return this; } + public Builder properties(String properties) { + this.properties = properties != null ? properties.toCharArray() : null; + this.__explicitlySet__.add("properties"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -130,6 +136,19 @@ public UpdateRestIcebergCatalogDetails( super(); this.uri = uri; this.propertiesSecretId = propertiesSecretId; + this.properties = properties != null ? properties.toCharArray() : null; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + public UpdateRestIcebergCatalogDetails( + @com.fasterxml.jackson.annotation.JsonProperty("uri") String uri, + @com.fasterxml.jackson.annotation.JsonProperty("propertiesSecretId") + String propertiesSecretId, + @com.fasterxml.jackson.annotation.JsonProperty("properties") char[] properties) { + super(); + this.uri = uri; + this.propertiesSecretId = propertiesSecretId; this.properties = properties; } @@ -172,15 +191,29 @@ public String getPropertiesSecretId() { * REST catalog. */ @com.fasterxml.jackson.annotation.JsonProperty("properties") - private final String properties; + private final char[] properties; /** * The base64 encoded content of the configuration file containing additional properties for the * REST catalog. * * @return the value + * @deprecated Use getProperties__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getProperties() { + return properties != null ? new String(properties) : null; + } + + /** + * The base64 encoded content of the configuration file containing additional properties for the + * REST catalog. + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("properties") + public char[] getProperties__AsCharArray() { return properties; } @@ -201,7 +234,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", uri=").append(String.valueOf(this.uri)); sb.append(", propertiesSecretId=").append(String.valueOf(this.propertiesSecretId)); - sb.append(", properties=").append(String.valueOf(this.properties)); + sb.append(", properties=").append(""); sb.append(")"); return sb.toString(); } diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateSnowflakeConnectionDetails.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateSnowflakeConnectionDetails.java index a0b4c326fc2..2b67e7a7179 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateSnowflakeConnectionDetails.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/model/UpdateSnowflakeConnectionDetails.java @@ -183,16 +183,18 @@ public Builder username(String username) { } /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private char[] password; /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This - * field is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * field is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param password the value to set * @return this builder @@ -231,25 +233,33 @@ public Builder passwordSecretId(String passwordSecretId) { } /** * The base64 encoded content of private key file in PEM format. Deprecated: This field is - * deprecated and replaced by "privateKeyFileSecretId". This field will be removed after - * February 15 2026. + * deprecated and replaced by "privateKeyFileSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private String privateKeyFile; + private char[] privateKeyFile; /** * The base64 encoded content of private key file in PEM format. Deprecated: This field is - * deprecated and replaced by "privateKeyFileSecretId". This field will be removed after - * February 15 2026. + * deprecated and replaced by "privateKeyFileSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyFile the value to set * @return this builder */ - public Builder privateKeyFile(String privateKeyFile) { + public Builder privateKeyFile(char[] privateKeyFile) { this.privateKeyFile = privateKeyFile; this.__explicitlySet__.add("privateKeyFile"); return this; } + + public Builder privateKeyFile(String privateKeyFile) { + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; + this.__explicitlySet__.add("privateKeyFile"); + return this; + } /** * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the * Secret that stores the content of the private key file (PEM file) corresponding to the @@ -277,16 +287,18 @@ public Builder privateKeyFileSecretId(String privateKeyFileSecretId) { } /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after February 15 - * 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private char[] privateKeyPassphrase; /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after February 15 - * 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @param privateKeyPassphrase the value to set * @return this builder @@ -471,7 +483,7 @@ public UpdateSnowflakeConnectionDetails( this.username = username; this.password = password != null ? password.toCharArray() : null; this.passwordSecretId = passwordSecretId; - this.privateKeyFile = privateKeyFile; + this.privateKeyFile = privateKeyFile != null ? privateKeyFile.toCharArray() : null; this.privateKeyFileSecretId = privateKeyFileSecretId; this.privateKeyPassphrase = privateKeyPassphrase != null ? privateKeyPassphrase.toCharArray() : null; @@ -504,7 +516,7 @@ public UpdateSnowflakeConnectionDetails( @com.fasterxml.jackson.annotation.JsonProperty("password") char[] password, @com.fasterxml.jackson.annotation.JsonProperty("passwordSecretId") String passwordSecretId, - @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") String privateKeyFile, + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") char[] privateKeyFile, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFileSecretId") String privateKeyFileSecretId, @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") @@ -583,16 +595,18 @@ public String getUsername() { /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This field - * is deprecated and replaced by "passwordSecretId". This field will be removed after February - * 15 2026. + * is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("password") private final char[] password; /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This field - * is deprecated and replaced by "passwordSecretId". This field will be removed after - * February 15 2026. + * is deprecated and replaced by "passwordSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPassword__AsCharArray() instead. @@ -605,8 +619,9 @@ public String getPassword() { /** * The password Oracle GoldenGate uses to connect to Snowflake platform. Deprecated: This field - * is deprecated and replaced by "passwordSecretId". This field will be removed after February - * 15 2026. + * is deprecated and replaced by "passwordSecretId". This change follows the GoldenGate "Plain + * Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -636,20 +651,38 @@ public String getPasswordSecretId() { /** * The base64 encoded content of private key file in PEM format. Deprecated: This field is - * deprecated and replaced by "privateKeyFileSecretId". This field will be removed after - * February 15 2026. + * deprecated and replaced by "privateKeyFileSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") - private final String privateKeyFile; + private final char[] privateKeyFile; /** * The base64 encoded content of private key file in PEM format. Deprecated: This field is - * deprecated and replaced by "privateKeyFileSecretId". This field will be removed after - * February 15 2026. + * deprecated and replaced by "privateKeyFileSecretId". This change follows the + * GoldenGate "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value + * @deprecated Use getPrivateKeyFile__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getPrivateKeyFile() { + return privateKeyFile != null ? new String(privateKeyFile) : null; + } + + /** + * The base64 encoded content of private key file in PEM format. Deprecated: This field is + * deprecated and replaced by "privateKeyFileSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("privateKeyFile") + public char[] getPrivateKeyFile__AsCharArray() { return privateKeyFile; } @@ -678,16 +711,18 @@ public String getPrivateKeyFileSecretId() { /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after February 15 - * 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKeyPassphrase") private final char[] privateKeyPassphrase; /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after - * February 15 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate + * "Plain Text Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value * @deprecated Use getPrivateKeyPassphrase__AsCharArray() instead. @@ -700,8 +735,9 @@ public String getPrivateKeyPassphrase() { /** * Password if the private key file is encrypted. Deprecated: This field is deprecated and - * replaced by "privateKeyPassphraseSecretId". This field will be removed after February 15 - * 2026. + * replaced by "privateKeyPassphraseSecretId". This change follows the GoldenGate "Plain Text + * Fields in Connections" deprecation: + * https://docs.oracle.com/en-us/iaas/Content/servicechanges.htm#servicechanges_topic-GoldenGate * * @return the value */ @@ -749,7 +785,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", username=").append(String.valueOf(this.username)); sb.append(", password=").append(""); sb.append(", passwordSecretId=").append(String.valueOf(this.passwordSecretId)); - sb.append(", privateKeyFile=").append(String.valueOf(this.privateKeyFile)); + sb.append(", privateKeyFile=").append(""); sb.append(", privateKeyFileSecretId=").append(String.valueOf(this.privateKeyFileSecretId)); sb.append(", privateKeyPassphrase=").append(""); sb.append(", privateKeyPassphraseSecretId=") diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListAiModelsRequest.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListAiModelsRequest.java new file mode 100644 index 00000000000..688a5190411 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListAiModelsRequest.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.goldengate.requests; + +import com.oracle.bmc.goldengate.model.*; +/** + * Example: Click here to see how to use ListAiModelsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20200407") +public class ListAiModelsRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The OCID of the compartment that contains the work request. Work requests should be scoped to + * the same compartment as the resource the work request affects. If the work request concerns + * multiple resources, and those resources are not in the same compartment, it is up to the + * service team to pick the primary resource whose compartment should be used. + */ + private String compartmentId; + + /** + * The OCID of the compartment that contains the work request. Work requests should be scoped to + * the same compartment as the resource the work request affects. If the work request concerns + * multiple resources, and those resources are not in the same compartment, it is up to the + * service team to pick the primary resource whose compartment should be used. + */ + public String getCompartmentId() { + return compartmentId; + } + /** The AI provider type for which model information is requested. */ + private com.oracle.bmc.goldengate.model.AiProviderSummary.ProviderType providerType; + + /** The AI provider type for which model information is requested. */ + public com.oracle.bmc.goldengate.model.AiProviderSummary.ProviderType getProviderType() { + return providerType; + } + /** OCI region identifier, for example us-ashburn-1. */ + private String region; + + /** OCI region identifier, for example us-ashburn-1. */ + public String getRegion() { + return region; + } + /** + * OCI tenancy OCID to use when resolving provider models, for example for OCI Generative AI + * model discovery across a specific tenancy. + */ + private String tenancyId; + + /** + * OCI tenancy OCID to use when resolving provider models, for example for OCI Generative AI + * model discovery across a specific tenancy. + */ + public String getTenancyId() { + return tenancyId; + } + /** 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< + ListAiModelsRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The OCID of the compartment that contains the work request. Work requests should be + * scoped to the same compartment as the resource the work request affects. If the work + * request concerns multiple resources, and those resources are not in the same compartment, + * it is up to the service team to pick the primary resource whose compartment should be + * used. + */ + private String compartmentId = null; + + /** + * The OCID of the compartment that contains the work request. Work requests should be + * scoped to the same compartment as the resource the work request affects. If the work + * request concerns multiple resources, and those resources are not in the same compartment, + * it is up to the service team to pick the primary resource whose compartment should be + * used. + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** The AI provider type for which model information is requested. */ + private com.oracle.bmc.goldengate.model.AiProviderSummary.ProviderType providerType = null; + + /** + * The AI provider type for which model information is requested. + * + * @param providerType the value to set + * @return this builder instance + */ + public Builder providerType( + com.oracle.bmc.goldengate.model.AiProviderSummary.ProviderType providerType) { + this.providerType = providerType; + return this; + } + + /** OCI region identifier, for example us-ashburn-1. */ + private String region = null; + + /** + * OCI region identifier, for example us-ashburn-1. + * + * @param region the value to set + * @return this builder instance + */ + public Builder region(String region) { + this.region = region; + return this; + } + + /** + * OCI tenancy OCID to use when resolving provider models, for example for OCI Generative AI + * model discovery across a specific tenancy. + */ + private String tenancyId = null; + + /** + * OCI tenancy OCID to use when resolving provider models, for example for OCI Generative AI + * model discovery across a specific tenancy. + * + * @param tenancyId the value to set + * @return this builder instance + */ + public Builder tenancyId(String tenancyId) { + this.tenancyId = tenancyId; + 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(ListAiModelsRequest o) { + compartmentId(o.getCompartmentId()); + providerType(o.getProviderType()); + region(o.getRegion()); + tenancyId(o.getTenancyId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListAiModelsRequest 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 ListAiModelsRequest + */ + public ListAiModelsRequest build() { + ListAiModelsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListAiModelsRequest 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 ListAiModelsRequest + */ + public ListAiModelsRequest buildWithoutInvocationCallback() { + ListAiModelsRequest request = new ListAiModelsRequest(); + request.compartmentId = compartmentId; + request.providerType = providerType; + request.region = region; + request.tenancyId = tenancyId; + request.opcRequestId = opcRequestId; + return request; + // new ListAiModelsRequest(compartmentId, providerType, region, tenancyId, + // 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) + .providerType(providerType) + .region(region) + .tenancyId(tenancyId) + .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(",providerType=").append(String.valueOf(this.providerType)); + sb.append(",region=").append(String.valueOf(this.region)); + sb.append(",tenancyId=").append(String.valueOf(this.tenancyId)); + 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 ListAiModelsRequest)) { + return false; + } + + ListAiModelsRequest other = (ListAiModelsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.providerType, other.providerType) + && java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.tenancyId, other.tenancyId) + && 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.providerType == null ? 43 : this.providerType.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = (result * PRIME) + (this.tenancyId == null ? 43 : this.tenancyId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListAiProvidersRequest.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListAiProvidersRequest.java new file mode 100644 index 00000000000..3c62444f45d --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListAiProvidersRequest.java @@ -0,0 +1,212 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.goldengate.requests; + +import com.oracle.bmc.goldengate.model.*; +/** + * Example: Click here to see how to use ListAiProvidersRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20200407") +public class ListAiProvidersRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The OCID of the compartment that contains the work request. Work requests should be scoped to + * the same compartment as the resource the work request affects. If the work request concerns + * multiple resources, and those resources are not in the same compartment, it is up to the + * service team to pick the primary resource whose compartment should be used. + */ + private String compartmentId; + + /** + * The OCID of the compartment that contains the work request. Work requests should be scoped to + * the same compartment as the resource the work request affects. If the work request concerns + * multiple resources, and those resources are not in the same compartment, it is up to the + * service team to pick the primary resource whose compartment should be used. + */ + public String getCompartmentId() { + return compartmentId; + } + /** 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< + ListAiProvidersRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** + * The OCID of the compartment that contains the work request. Work requests should be + * scoped to the same compartment as the resource the work request affects. If the work + * request concerns multiple resources, and those resources are not in the same compartment, + * it is up to the service team to pick the primary resource whose compartment should be + * used. + */ + private String compartmentId = null; + + /** + * The OCID of the compartment that contains the work request. Work requests should be + * scoped to the same compartment as the resource the work request affects. If the work + * request concerns multiple resources, and those resources are not in the same compartment, + * it is up to the service team to pick the primary resource whose compartment should be + * used. + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + 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(ListAiProvidersRequest o) { + compartmentId(o.getCompartmentId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListAiProvidersRequest 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 ListAiProvidersRequest + */ + public ListAiProvidersRequest build() { + ListAiProvidersRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListAiProvidersRequest 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 ListAiProvidersRequest + */ + public ListAiProvidersRequest buildWithoutInvocationCallback() { + ListAiProvidersRequest request = new ListAiProvidersRequest(); + request.compartmentId = compartmentId; + request.opcRequestId = opcRequestId; + return request; + // new ListAiProvidersRequest(compartmentId, 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).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(",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 ListAiProvidersRequest)) { + return false; + } + + ListAiProvidersRequest other = (ListAiProvidersRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && 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.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListConnectionAssignmentsRequest.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListConnectionAssignmentsRequest.java index f2c03e744a5..8294f3e2a2a 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListConnectionAssignmentsRequest.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListConnectionAssignmentsRequest.java @@ -58,6 +58,21 @@ public String getDeploymentId() { public String getConnectionId() { return connectionId; } + /** The array of connection types. */ + private java.util.List connectionType; + + /** The array of connection types. */ + public java.util.List getConnectionType() { + return connectionType; + } + /** The array of connection types to exclude. */ + private java.util.List connectionTypeNotEqualTo; + + /** The array of connection types to exclude. */ + public java.util.List + getConnectionTypeNotEqualTo() { + return connectionTypeNotEqualTo; + } /** The name of the connection in the assignment (aliasName). */ private String name; @@ -226,6 +241,59 @@ public Builder connectionId(String connectionId) { return this; } + /** The array of connection types. */ + private java.util.List connectionType = + null; + + /** + * The array of connection types. + * + * @param connectionType the value to set + * @return this builder instance + */ + public Builder connectionType( + java.util.List connectionType) { + this.connectionType = connectionType; + return this; + } + + /** + * Singular setter. The array of connection types. + * + * @param singularValue the singular value to set + * @return this builder instance + */ + public Builder connectionType(ConnectionType singularValue) { + return this.connectionType(java.util.Arrays.asList(singularValue)); + } + + /** The array of connection types to exclude. */ + private java.util.List + connectionTypeNotEqualTo = null; + + /** + * The array of connection types to exclude. + * + * @param connectionTypeNotEqualTo the value to set + * @return this builder instance + */ + public Builder connectionTypeNotEqualTo( + java.util.List + connectionTypeNotEqualTo) { + this.connectionTypeNotEqualTo = connectionTypeNotEqualTo; + return this; + } + + /** + * Singular setter. The array of connection types to exclude. + * + * @param singularValue the singular value to set + * @return this builder instance + */ + public Builder connectionTypeNotEqualTo(ConnectionType singularValue) { + return this.connectionTypeNotEqualTo(java.util.Arrays.asList(singularValue)); + } + /** The name of the connection in the assignment (aliasName). */ private String name = null; @@ -370,6 +438,8 @@ public Builder copy(ListConnectionAssignmentsRequest o) { compartmentId(o.getCompartmentId()); deploymentId(o.getDeploymentId()); connectionId(o.getConnectionId()); + connectionType(o.getConnectionType()); + connectionTypeNotEqualTo(o.getConnectionTypeNotEqualTo()); name(o.getName()); lifecycleState(o.getLifecycleState()); limit(o.getLimit()); @@ -414,6 +484,8 @@ public ListConnectionAssignmentsRequest buildWithoutInvocationCallback() { request.compartmentId = compartmentId; request.deploymentId = deploymentId; request.connectionId = connectionId; + request.connectionType = connectionType; + request.connectionTypeNotEqualTo = connectionTypeNotEqualTo; request.name = name; request.lifecycleState = lifecycleState; request.limit = limit; @@ -422,8 +494,9 @@ public ListConnectionAssignmentsRequest buildWithoutInvocationCallback() { request.sortBy = sortBy; request.opcRequestId = opcRequestId; return request; - // new ListConnectionAssignmentsRequest(compartmentId, deploymentId, connectionId, name, - // lifecycleState, limit, page, sortOrder, sortBy, opcRequestId); + // new ListConnectionAssignmentsRequest(compartmentId, deploymentId, connectionId, + // connectionType, connectionTypeNotEqualTo, name, lifecycleState, limit, page, + // sortOrder, sortBy, opcRequestId); } } @@ -437,6 +510,8 @@ public Builder toBuilder() { .compartmentId(compartmentId) .deploymentId(deploymentId) .connectionId(connectionId) + .connectionType(connectionType) + .connectionTypeNotEqualTo(connectionTypeNotEqualTo) .name(name) .lifecycleState(lifecycleState) .limit(limit) @@ -463,6 +538,9 @@ public String toString() { sb.append(",compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(",deploymentId=").append(String.valueOf(this.deploymentId)); sb.append(",connectionId=").append(String.valueOf(this.connectionId)); + sb.append(",connectionType=").append(String.valueOf(this.connectionType)); + sb.append(",connectionTypeNotEqualTo=") + .append(String.valueOf(this.connectionTypeNotEqualTo)); sb.append(",name=").append(String.valueOf(this.name)); sb.append(",lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(",limit=").append(String.valueOf(this.limit)); @@ -488,6 +566,9 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.deploymentId, other.deploymentId) && java.util.Objects.equals(this.connectionId, other.connectionId) + && java.util.Objects.equals(this.connectionType, other.connectionType) + && java.util.Objects.equals( + this.connectionTypeNotEqualTo, other.connectionTypeNotEqualTo) && java.util.Objects.equals(this.name, other.name) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.limit, other.limit) @@ -506,6 +587,14 @@ public int hashCode() { + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); result = (result * PRIME) + (this.deploymentId == null ? 43 : this.deploymentId.hashCode()); result = (result * PRIME) + (this.connectionId == null ? 43 : this.connectionId.hashCode()); + result = + (result * PRIME) + + (this.connectionType == null ? 43 : this.connectionType.hashCode()); + result = + (result * PRIME) + + (this.connectionTypeNotEqualTo == null + ? 43 + : this.connectionTypeNotEqualTo.hashCode()); result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); result = (result * PRIME) diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListConnectionsRequest.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListConnectionsRequest.java index b43fe2844e9..d3d17a31171 100644 --- a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListConnectionsRequest.java +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/requests/ListConnectionsRequest.java @@ -44,6 +44,14 @@ public java.util.List getTechnol public java.util.List getConnectionType() { return connectionType; } + /** The array of connection types to exclude. */ + private java.util.List connectionTypeNotEqualTo; + + /** The array of connection types to exclude. */ + public java.util.List + getConnectionTypeNotEqualTo() { + return connectionTypeNotEqualTo; + } /** The OCID of the deployment which for the connection must be assigned. */ private String assignedDeploymentId; @@ -261,6 +269,33 @@ public Builder connectionType(ConnectionType singularValue) { return this.connectionType(java.util.Arrays.asList(singularValue)); } + /** The array of connection types to exclude. */ + private java.util.List + connectionTypeNotEqualTo = null; + + /** + * The array of connection types to exclude. + * + * @param connectionTypeNotEqualTo the value to set + * @return this builder instance + */ + public Builder connectionTypeNotEqualTo( + java.util.List + connectionTypeNotEqualTo) { + this.connectionTypeNotEqualTo = connectionTypeNotEqualTo; + return this; + } + + /** + * Singular setter. The array of connection types to exclude. + * + * @param singularValue the singular value to set + * @return this builder instance + */ + public Builder connectionTypeNotEqualTo(ConnectionType singularValue) { + return this.connectionTypeNotEqualTo(java.util.Arrays.asList(singularValue)); + } + /** The OCID of the deployment which for the connection must be assigned. */ private String assignedDeploymentId = null; @@ -454,6 +489,7 @@ public Builder copy(ListConnectionsRequest o) { compartmentId(o.getCompartmentId()); technologyType(o.getTechnologyType()); connectionType(o.getConnectionType()); + connectionTypeNotEqualTo(o.getConnectionTypeNotEqualTo()); assignedDeploymentId(o.getAssignedDeploymentId()); assignableDeploymentId(o.getAssignableDeploymentId()); assignableDeploymentType(o.getAssignableDeploymentType()); @@ -501,6 +537,7 @@ public ListConnectionsRequest buildWithoutInvocationCallback() { request.compartmentId = compartmentId; request.technologyType = technologyType; request.connectionType = connectionType; + request.connectionTypeNotEqualTo = connectionTypeNotEqualTo; request.assignedDeploymentId = assignedDeploymentId; request.assignableDeploymentId = assignableDeploymentId; request.assignableDeploymentType = assignableDeploymentType; @@ -513,8 +550,9 @@ public ListConnectionsRequest buildWithoutInvocationCallback() { request.opcRequestId = opcRequestId; return request; // new ListConnectionsRequest(compartmentId, technologyType, connectionType, - // assignedDeploymentId, assignableDeploymentId, assignableDeploymentType, - // lifecycleState, displayName, limit, page, sortOrder, sortBy, opcRequestId); + // connectionTypeNotEqualTo, assignedDeploymentId, assignableDeploymentId, + // assignableDeploymentType, lifecycleState, displayName, limit, page, sortOrder, + // sortBy, opcRequestId); } } @@ -528,6 +566,7 @@ public Builder toBuilder() { .compartmentId(compartmentId) .technologyType(technologyType) .connectionType(connectionType) + .connectionTypeNotEqualTo(connectionTypeNotEqualTo) .assignedDeploymentId(assignedDeploymentId) .assignableDeploymentId(assignableDeploymentId) .assignableDeploymentType(assignableDeploymentType) @@ -557,6 +596,8 @@ public String toString() { sb.append(",compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(",technologyType=").append(String.valueOf(this.technologyType)); sb.append(",connectionType=").append(String.valueOf(this.connectionType)); + sb.append(",connectionTypeNotEqualTo=") + .append(String.valueOf(this.connectionTypeNotEqualTo)); sb.append(",assignedDeploymentId=").append(String.valueOf(this.assignedDeploymentId)); sb.append(",assignableDeploymentId=").append(String.valueOf(this.assignableDeploymentId)); sb.append(",assignableDeploymentType=") @@ -586,6 +627,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.technologyType, other.technologyType) && java.util.Objects.equals(this.connectionType, other.connectionType) + && java.util.Objects.equals( + this.connectionTypeNotEqualTo, other.connectionTypeNotEqualTo) && java.util.Objects.equals(this.assignedDeploymentId, other.assignedDeploymentId) && java.util.Objects.equals( this.assignableDeploymentId, other.assignableDeploymentId) @@ -613,6 +656,11 @@ public int hashCode() { result = (result * PRIME) + (this.connectionType == null ? 43 : this.connectionType.hashCode()); + result = + (result * PRIME) + + (this.connectionTypeNotEqualTo == null + ? 43 + : this.connectionTypeNotEqualTo.hashCode()); result = (result * PRIME) + (this.assignedDeploymentId == null diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/responses/ListAiModelsResponse.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/responses/ListAiModelsResponse.java new file mode 100644 index 00000000000..1d28f60733b --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/responses/ListAiModelsResponse.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.goldengate.responses; + +import com.oracle.bmc.goldengate.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20200407") +public class ListAiModelsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * A unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please include the request ID. + */ + private String opcRequestId; + + /** + * A unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please include the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** The returned {@code AiModelCollection} instance. */ + private com.oracle.bmc.goldengate.model.AiModelCollection aiModelCollection; + + /** + * The returned {@code AiModelCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.goldengate.model.AiModelCollection getAiModelCollection() { + return aiModelCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "aiModelCollection" + }) + private ListAiModelsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + com.oracle.bmc.goldengate.model.AiModelCollection aiModelCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.aiModelCollection = aiModelCollection; + } + + 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; + } + + /** + * A unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please include the request ID. + */ + private String opcRequestId; + + /** + * A unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please include 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 AiModelCollection} instance. */ + private com.oracle.bmc.goldengate.model.AiModelCollection aiModelCollection; + + /** + * The returned {@code AiModelCollection} instance. + * + * @param aiModelCollection the value to set + * @return this builder + */ + public Builder aiModelCollection( + com.oracle.bmc.goldengate.model.AiModelCollection aiModelCollection) { + this.aiModelCollection = aiModelCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListAiModelsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + aiModelCollection(o.getAiModelCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListAiModelsResponse build() { + return new ListAiModelsResponse( + __httpStatusCode__, headers, opcRequestId, aiModelCollection); + } + } + + /** + * 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(",aiModelCollection=").append(String.valueOf(aiModelCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListAiModelsResponse)) { + return false; + } + + ListAiModelsResponse other = (ListAiModelsResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.aiModelCollection, other.aiModelCollection); + } + + @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.aiModelCollection == null ? 43 : this.aiModelCollection.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/responses/ListAiProvidersResponse.java b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/responses/ListAiProvidersResponse.java new file mode 100644 index 00000000000..ad74c9b5ca0 --- /dev/null +++ b/bmc-goldengate/src/main/java/com/oracle/bmc/goldengate/responses/ListAiProvidersResponse.java @@ -0,0 +1,180 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.goldengate.responses; + +import com.oracle.bmc.goldengate.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20200407") +public class ListAiProvidersResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * A unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please include the request ID. + */ + private String opcRequestId; + + /** + * A unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please include the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** The returned {@code AiProviderCollection} instance. */ + private com.oracle.bmc.goldengate.model.AiProviderCollection aiProviderCollection; + + /** + * The returned {@code AiProviderCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.goldengate.model.AiProviderCollection getAiProviderCollection() { + return aiProviderCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "aiProviderCollection" + }) + private ListAiProvidersResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + com.oracle.bmc.goldengate.model.AiProviderCollection aiProviderCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.aiProviderCollection = aiProviderCollection; + } + + 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; + } + + /** + * A unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please include the request ID. + */ + private String opcRequestId; + + /** + * A unique Oracle-assigned identifier for the request. If you need to contact Oracle about + * a particular request, please include 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 AiProviderCollection} instance. */ + private com.oracle.bmc.goldengate.model.AiProviderCollection aiProviderCollection; + + /** + * The returned {@code AiProviderCollection} instance. + * + * @param aiProviderCollection the value to set + * @return this builder + */ + public Builder aiProviderCollection( + com.oracle.bmc.goldengate.model.AiProviderCollection aiProviderCollection) { + this.aiProviderCollection = aiProviderCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListAiProvidersResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + aiProviderCollection(o.getAiProviderCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListAiProvidersResponse build() { + return new ListAiProvidersResponse( + __httpStatusCode__, headers, opcRequestId, aiProviderCollection); + } + } + + /** + * 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(",aiProviderCollection=").append(String.valueOf(aiProviderCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListAiProvidersResponse)) { + return false; + } + + ListAiProvidersResponse other = (ListAiProvidersResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.aiProviderCollection, other.aiProviderCollection); + } + + @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.aiProviderCollection == null + ? 43 + : this.aiProviderCollection.hashCode()); + return result; + } +} diff --git a/bmc-goldengate/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-goldengate/reflect-config.json b/bmc-goldengate/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-goldengate/reflect-config.json index 3598141fc9b..0f11c76c891 100644 --- a/bmc-goldengate/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-goldengate/reflect-config.json +++ b/bmc-goldengate/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-goldengate/reflect-config.json @@ -39,6 +39,140 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelAuthDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelAuthDetailsSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelAuthType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelConnection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelConnection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelConnection$TechnologyType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelConnection$ProviderType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelConnectionSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelConnectionSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelConnectionSummary$ProviderType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiModelSummary$ProviderType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiProviderCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiProviderCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiProviderSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiProviderSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.AiProviderSummary$ProviderType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.AmazonKinesisConnection", @@ -175,6 +309,34 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.ApiKeyAiModelAuthDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.ApiKeyAiModelAuthDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.ApiKeyAiModelAuthDetailsSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.ApiKeyAiModelAuthDetailsSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.AzureDataLakeStorageConnection", @@ -639,6 +801,33 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateAiModelAuthDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateAiModelConnectionDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateAiModelConnectionDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateAiModelConnectionDetails$ProviderType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.CreateAmazonKinesisConnectionDetails", @@ -695,6 +884,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateApiKeyAiModelAuthDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateApiKeyAiModelAuthDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.CreateAzureDataLakeStorageConnectionDetails", @@ -1190,6 +1393,34 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateNoIcebergStorageDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateNoIcebergStorageDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateOciGenAiModelAuthDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateOciGenAiModelAuthDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.CreateOciObjectStorageConnectionDetails", @@ -1204,6 +1435,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateOciObjectStorageS3ApiIcebergStorageDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.CreateOciObjectStorageS3ApiIcebergStorageDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.CreateOggDeploymentDetails", @@ -3206,6 +3451,62 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.NoIcebergStorage", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.NoIcebergStorage$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.NoIcebergStorageSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.NoIcebergStorageSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.OciGenAiModelAuthDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.OciGenAiModelAuthDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.OciGenAiModelAuthDetailsSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.OciGenAiModelAuthDetailsSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.OciObjectStorageConnection", @@ -3240,6 +3541,34 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.OciObjectStorageS3ApiIcebergStorage", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.OciObjectStorageS3ApiIcebergStorage$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.OciObjectStorageS3ApiIcebergStorageSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.OciObjectStorageS3ApiIcebergStorageSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.OggDeployment", @@ -4322,6 +4651,27 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateAiModelAuthDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateAiModelConnectionDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateAiModelConnectionDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.UpdateAmazonKinesisConnectionDetails", @@ -4378,6 +4728,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateApiKeyAiModelAuthDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateApiKeyAiModelAuthDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.UpdateAzureDataLakeStorageConnectionDetails", @@ -4845,6 +5209,34 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateNoIcebergStorageDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateNoIcebergStorageDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateOciGenAiModelAuthDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateOciGenAiModelAuthDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.UpdateOciObjectStorageConnectionDetails", @@ -4859,6 +5251,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateOciObjectStorageS3ApiIcebergStorageDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.goldengate.model.UpdateOciObjectStorageS3ApiIcebergStorageDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.goldengate.model.UpdateOggDeploymentDetails", diff --git a/bmc-governancerulescontrolplane/pom.xml b/bmc-governancerulescontrolplane/pom.xml index ea118f03f3f..8942b773ae6 100644 --- a/bmc-governancerulescontrolplane/pom.xml +++ b/bmc-governancerulescontrolplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-governancerulescontrolplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-healthchecks/pom.xml b/bmc-healthchecks/pom.xml index f48bee6704e..7746da07188 100644 --- a/bmc-healthchecks/pom.xml +++ b/bmc-healthchecks/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-healthchecks @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-identity/pom.xml b/bmc-identity/pom.xml index 12928ac8742..c24548c30bb 100644 --- a/bmc-identity/pom.xml +++ b/bmc-identity/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 diff --git a/bmc-identitydataplane/pom.xml b/bmc-identitydataplane/pom.xml index a51b993b51c..a185a892463 100644 --- a/bmc-identitydataplane/pom.xml +++ b/bmc-identitydataplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-identitydataplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-identitydomains/pom.xml b/bmc-identitydomains/pom.xml index 8867e13d550..6a086d01abc 100644 --- a/bmc-identitydomains/pom.xml +++ b/bmc-identitydomains/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-identitydomains @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-integration/pom.xml b/bmc-integration/pom.xml index 960d3fdbbfe..7d9f1fbd92f 100644 --- a/bmc-integration/pom.xml +++ b/bmc-integration/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-integration @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-iot/pom.xml b/bmc-iot/pom.xml index 903aee46c43..850559d2703 100644 --- a/bmc-iot/pom.xml +++ b/bmc-iot/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-iot @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-jms/pom.xml b/bmc-jms/pom.xml index 91e24dfe115..c212bd91533 100644 --- a/bmc-jms/pom.xml +++ b/bmc-jms/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-jms @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-jmsjavadownloads/pom.xml b/bmc-jmsjavadownloads/pom.xml index 4de85e088fd..cdda5dc2097 100644 --- a/bmc-jmsjavadownloads/pom.xml +++ b/bmc-jmsjavadownloads/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-jmsjavadownloads @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-jmsutils/pom.xml b/bmc-jmsutils/pom.xml index 6f609868488..cb1978899f7 100644 --- a/bmc-jmsutils/pom.xml +++ b/bmc-jmsutils/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-jmsutils @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-keymanagement/pom.xml b/bmc-keymanagement/pom.xml index a6682dea5db..325b38f918f 100644 --- a/bmc-keymanagement/pom.xml +++ b/bmc-keymanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-keymanagement @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-licensemanager/pom.xml b/bmc-licensemanager/pom.xml index 3655efb06d6..d8f4058b2d2 100644 --- a/bmc-licensemanager/pom.xml +++ b/bmc-licensemanager/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-licensemanager @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-limits/pom.xml b/bmc-limits/pom.xml index 62be4e53884..402d88782c2 100644 --- a/bmc-limits/pom.xml +++ b/bmc-limits/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-limits @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-limitsincrease/pom.xml b/bmc-limitsincrease/pom.xml index dd509f28add..a78daade9f4 100644 --- a/bmc-limitsincrease/pom.xml +++ b/bmc-limitsincrease/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-limitsincrease @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-loadbalancer/pom.xml b/bmc-loadbalancer/pom.xml index ed8ea4ed7fb..9f430bad3d2 100644 --- a/bmc-loadbalancer/pom.xml +++ b/bmc-loadbalancer/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 diff --git a/bmc-lockbox/pom.xml b/bmc-lockbox/pom.xml index 4d825ef379f..c64e01ac16a 100644 --- a/bmc-lockbox/pom.xml +++ b/bmc-lockbox/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-lockbox @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-loganalytics/pom.xml b/bmc-loganalytics/pom.xml index b18bda1b221..4db3dc79f42 100644 --- a/bmc-loganalytics/pom.xml +++ b/bmc-loganalytics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-loganalytics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-logging/pom.xml b/bmc-logging/pom.xml index 28b386462bf..b55be13e037 100644 --- a/bmc-logging/pom.xml +++ b/bmc-logging/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-logging @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-loggingingestion/pom.xml b/bmc-loggingingestion/pom.xml index dce32c0d83d..aff614d86dc 100644 --- a/bmc-loggingingestion/pom.xml +++ b/bmc-loggingingestion/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-loggingingestion @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-loggingsearch/pom.xml b/bmc-loggingsearch/pom.xml index b4dbb092209..57a6ae07c3c 100644 --- a/bmc-loggingsearch/pom.xml +++ b/bmc-loggingsearch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-loggingsearch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-lustrefilestorage/pom.xml b/bmc-lustrefilestorage/pom.xml index 4e625af04a9..b7a38a8ad4e 100644 --- a/bmc-lustrefilestorage/pom.xml +++ b/bmc-lustrefilestorage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-lustrefilestorage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-managedkafka/pom.xml b/bmc-managedkafka/pom.xml index 15bc3c6e8ad..99da1de5049 100644 --- a/bmc-managedkafka/pom.xml +++ b/bmc-managedkafka/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-managedkafka @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-managementagent/pom.xml b/bmc-managementagent/pom.xml index 692f9378c1f..ebd9f376b86 100644 --- a/bmc-managementagent/pom.xml +++ b/bmc-managementagent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-managementagent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-managementdashboard/pom.xml b/bmc-managementdashboard/pom.xml index 5c69b53ba74..d5248f52d48 100644 --- a/bmc-managementdashboard/pom.xml +++ b/bmc-managementdashboard/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-managementdashboard @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-marketplace/pom.xml b/bmc-marketplace/pom.xml index cec9c20a8aa..3aa4182d798 100644 --- a/bmc-marketplace/pom.xml +++ b/bmc-marketplace/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-marketplace @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-marketplaceprivateoffer/pom.xml b/bmc-marketplaceprivateoffer/pom.xml index bfb6d982fce..2c51d783acc 100644 --- a/bmc-marketplaceprivateoffer/pom.xml +++ b/bmc-marketplaceprivateoffer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-marketplaceprivateoffer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-marketplacepublisher/pom.xml b/bmc-marketplacepublisher/pom.xml index 91b223161bf..46ccad17722 100644 --- a/bmc-marketplacepublisher/pom.xml +++ b/bmc-marketplacepublisher/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-marketplacepublisher @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-mediaservices/pom.xml b/bmc-mediaservices/pom.xml index 47c8909233a..e1f9383e167 100644 --- a/bmc-mediaservices/pom.xml +++ b/bmc-mediaservices/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-mediaservices @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-mngdmac/pom.xml b/bmc-mngdmac/pom.xml index 20a4f30bdd9..4903e317462 100644 --- a/bmc-mngdmac/pom.xml +++ b/bmc-mngdmac/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-mngdmac @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-modeldeployment/pom.xml b/bmc-modeldeployment/pom.xml index 130688c3623..8cfd2c337d3 100644 --- a/bmc-modeldeployment/pom.xml +++ b/bmc-modeldeployment/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-modeldeployment @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-monitoring/pom.xml b/bmc-monitoring/pom.xml index b0af2a96117..01fc7e8cc0a 100644 --- a/bmc-monitoring/pom.xml +++ b/bmc-monitoring/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-monitoring @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-multicloud/pom.xml b/bmc-multicloud/pom.xml index fd50e1c5ab2..8af7f522c14 100644 --- a/bmc-multicloud/pom.xml +++ b/bmc-multicloud/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-multicloud @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-mysql/pom.xml b/bmc-mysql/pom.xml index 9ba58812e38..7789d234297 100644 --- a/bmc-mysql/pom.xml +++ b/bmc-mysql/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-mysql @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-networkfirewall/pom.xml b/bmc-networkfirewall/pom.xml index 29ff3a52cea..a2e4a13c3a5 100644 --- a/bmc-networkfirewall/pom.xml +++ b/bmc-networkfirewall/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-networkfirewall @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-networkloadbalancer/pom.xml b/bmc-networkloadbalancer/pom.xml index 3ad012f3c56..5a09bbe4aa1 100644 --- a/bmc-networkloadbalancer/pom.xml +++ b/bmc-networkloadbalancer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-networkloadbalancer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-nosql/pom.xml b/bmc-nosql/pom.xml index 0791bc92501..5f89c905686 100644 --- a/bmc-nosql/pom.xml +++ b/bmc-nosql/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-nosql @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-objectstorage/bmc-objectstorage-combined/pom.xml b/bmc-objectstorage/bmc-objectstorage-combined/pom.xml index c105a1dbc2c..97c9c2b798b 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.92.1 + 3.93.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-objectstorage-extensions - 3.92.1 + 3.93.0 diff --git a/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml b/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml index 13fb7c934d9..8730da0b399 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.92.1 + 3.93.0 ../pom.xml @@ -25,17 +25,17 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 3.92.1 + 3.93.0 org.slf4j diff --git a/bmc-objectstorage/bmc-objectstorage-generated/pom.xml b/bmc-objectstorage/bmc-objectstorage-generated/pom.xml index 96216a0cbf7..db02d8a3bdb 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.92.1 + 3.93.0 ../pom.xml @@ -19,7 +19,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 diff --git a/bmc-objectstorage/pom.xml b/bmc-objectstorage/pom.xml index 0e2fd6ce5a7..02b555041fe 100644 --- a/bmc-objectstorage/pom.xml +++ b/bmc-objectstorage/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml diff --git a/bmc-oce/pom.xml b/bmc-oce/pom.xml index 6aaf328865b..1c29f7f3efb 100644 --- a/bmc-oce/pom.xml +++ b/bmc-oce/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-oce @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-ocicontrolcenter/pom.xml b/bmc-ocicontrolcenter/pom.xml index 6bd61992b43..f45883683e3 100644 --- a/bmc-ocicontrolcenter/pom.xml +++ b/bmc-ocicontrolcenter/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-ocicontrolcenter @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-ocvp/pom.xml b/bmc-ocvp/pom.xml index 59c9e58dbcd..2eaa2698d2b 100644 --- a/bmc-ocvp/pom.xml +++ b/bmc-ocvp/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-ocvp @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-oda/pom.xml b/bmc-oda/pom.xml index 6c8149ff000..5494c83886d 100644 --- a/bmc-oda/pom.xml +++ b/bmc-oda/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-oda @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-onesubscription/pom.xml b/bmc-onesubscription/pom.xml index 53e5446e0fa..e8bf0c3f654 100644 --- a/bmc-onesubscription/pom.xml +++ b/bmc-onesubscription/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-onesubscription @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-ons/pom.xml b/bmc-ons/pom.xml index 8134193bcf8..69051ec655b 100644 --- a/bmc-ons/pom.xml +++ b/bmc-ons/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-ons @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-opa/pom.xml b/bmc-opa/pom.xml index a85a10eba2d..fc6d370b1e7 100644 --- a/bmc-opa/pom.xml +++ b/bmc-opa/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-opa @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-opensearch/pom.xml b/bmc-opensearch/pom.xml index 5811be8ddef..a9b80cf108a 100644 --- a/bmc-opensearch/pom.xml +++ b/bmc-opensearch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-opensearch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-operatoraccesscontrol/pom.xml b/bmc-operatoraccesscontrol/pom.xml index b0aa3aa96d5..1206c358d97 100644 --- a/bmc-operatoraccesscontrol/pom.xml +++ b/bmc-operatoraccesscontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-operatoraccesscontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-opsi/pom.xml b/bmc-opsi/pom.xml index bd9914ab9a9..c0829bff66d 100644 --- a/bmc-opsi/pom.xml +++ b/bmc-opsi/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-opsi @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-optimizer/pom.xml b/bmc-optimizer/pom.xml index dd05eafd053..232b995e0be 100644 --- a/bmc-optimizer/pom.xml +++ b/bmc-optimizer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-optimizer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-osmanagementhub/pom.xml b/bmc-osmanagementhub/pom.xml index 76da1ec4d1f..7efd0912969 100644 --- a/bmc-osmanagementhub/pom.xml +++ b/bmc-osmanagementhub/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-osmanagementhub @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-ospgateway/pom.xml b/bmc-ospgateway/pom.xml index f06ac99826b..bad2d060004 100644 --- a/bmc-ospgateway/pom.xml +++ b/bmc-ospgateway/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-ospgateway @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-osubbillingschedule/pom.xml b/bmc-osubbillingschedule/pom.xml index d278eba63d0..886d7a1991d 100644 --- a/bmc-osubbillingschedule/pom.xml +++ b/bmc-osubbillingschedule/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-osubbillingschedule @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-osuborganizationsubscription/pom.xml b/bmc-osuborganizationsubscription/pom.xml index e9a9bc70e23..c2b889d96ad 100644 --- a/bmc-osuborganizationsubscription/pom.xml +++ b/bmc-osuborganizationsubscription/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-osuborganizationsubscription @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-osubsubscription/pom.xml b/bmc-osubsubscription/pom.xml index d6ab8c7ec5e..c738a32348c 100644 --- a/bmc-osubsubscription/pom.xml +++ b/bmc-osubsubscription/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-osubsubscription @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-osubusage/pom.xml b/bmc-osubusage/pom.xml index edce328a167..88950e77066 100644 --- a/bmc-osubusage/pom.xml +++ b/bmc-osubusage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-osubusage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-other-examples/bmc-jersey-examples/pom.xml b/bmc-other-examples/bmc-jersey-examples/pom.xml index 63b7be2ee29..5bb36dcf03a 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.92.1 + 3.93.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.92.1 + 3.93.0 false @@ -95,14 +95,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.92.1 + 3.93.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.92.1 + 3.93.0 pom import diff --git a/bmc-other-examples/bmc-jersey-examples/src/main/java/PlainConnectionSocketFactoryExample.java b/bmc-other-examples/bmc-jersey-examples/src/main/java/PlainConnectionSocketFactoryExample.java new file mode 100644 index 00000000000..d1ef3c00e8c --- /dev/null +++ b/bmc-other-examples/bmc-jersey-examples/src/main/java/PlainConnectionSocketFactoryExample.java @@ -0,0 +1,109 @@ +/** + * Copyright (c) 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. + */ + +import com.oracle.bmc.ConfigFileReader; +import com.oracle.bmc.auth.AuthenticationDetailsProvider; +import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider; +import com.oracle.bmc.http.client.jersey.apacheconfigurator.ApacheConfigurator; +import com.oracle.bmc.http.client.jersey.apacheconfigurator.ApacheConnectorProperties; +import com.oracle.bmc.identity.Identity; +import com.oracle.bmc.identity.IdentityClient; +import org.apache.http.config.Registry; +import org.apache.http.config.RegistryBuilder; +import org.apache.http.conn.socket.ConnectionSocketFactory; +import org.apache.http.conn.socket.PlainConnectionSocketFactory; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.apache.http.ssl.SSLInitializationException; + +/** + * Demonstrates explicit plaintext transport configuration for the Apache configurator. + * + *

Use only when a trusted endpoint intentionally accepts plaintext HTTP for an {@code https} + * route, or in a controlled test environment. OCI service endpoints require TLS and must not use + * this configuration. + */ +public class PlainConnectionSocketFactoryExample { + public static void main(String[] args) throws Exception { + // Configure OCI authentication in the same way as the other client examples. + final ConfigFileReader.ConfigFile configFile = ConfigFileReader.parseDefault(); + final AuthenticationDetailsProvider provider = + new ConfigFileAuthenticationDetailsProvider(configFile); + + // WARNING: This maps https routes to plaintext. Use only with a trusted plaintext endpoint + // or in a controlled test environment. Supplying this connection manager bypasses the + // ApacheConfigurator default TLS registry. + final Identity directPlaintextClient = createPlaintextClient(provider); + + // The normal configuration fails closed. This catch preserves the previous automatic + // fallback only when the application explicitly chooses plaintext after SSL initialization + // fails. + final Identity fallbackPlaintextClient = createClientWithPlaintextFallback(provider); + } + + /** + * Builds a client that deliberately sends plaintext for both {@code http} and {@code https} + * routes. + * + *

Use when the application explicitly owns the transport decision and its endpoint is known + * to accept plaintext. This bypasses ApacheConfigurator's default TLS socket registry. + * + * @param provider the authentication provider for the client + * @return a client configured with a plaintext connection manager + */ + private static Identity createPlaintextClient(final AuthenticationDetailsProvider provider) { + // ApacheConnectorProperties gives callers ownership of the Apache connection manager. + final ApacheConnectorProperties properties = + ApacheConnectorProperties.builder() + .connectionManager(createPlaintextConnectionManager()) + .build(); + return IdentityClient.builder() + .clientConfigurator(new ApacheConfigurator(properties)) + .build(provider); + } + + /** + * Builds a normal TLS client and catches {@link SSLInitializationException} to explicitly fall + * back to plaintext only if TLS initialization fails. + * + *

Use only for applications that intentionally need the legacy fallback behavior. This + * performs the fallback that the SDK used to do itself. The Apache configurator now fails + * closed and never uses this exception to select the fallback automatically. + * + * @param provider the authentication provider for the client + * @return the TLS client when SSL initialization succeeds, otherwise a plaintext client + */ + private static Identity createClientWithPlaintextFallback( + final AuthenticationDetailsProvider provider) { + try { + // This uses ApacheConfigurator's default TLS setup and throws if it cannot initialize. + return IdentityClient.builder() + .clientConfigurator(new ApacheConfigurator()) + .build(provider); + } catch (SSLInitializationException e) { + // Perform the fallback that the SDK used to do ourselves. + return createPlaintextClient(provider); + } + } + + /** + * Creates the Apache connection manager that maps both URI schemes to a plaintext socket + * factory. + * + *

Use this only when intentionally disabling TLS. A manager supplied through + * ApacheConnectorProperties takes precedence over the configurator's default manager. + * + * @return a connection manager that uses plaintext sockets for {@code http} and {@code https} + */ + private static PoolingHttpClientConnectionManager createPlaintextConnectionManager() { + // Apache HttpClient selects a socket factory by URI scheme. Mapping https to the plain + // factory deliberately disables TLS for those routes. + final Registry registry = + RegistryBuilder.create() + .register("http", PlainConnectionSocketFactory.getSocketFactory()) + .register("https", PlainConnectionSocketFactory.getSocketFactory()) + .build(); + return new PoolingHttpClientConnectionManager(registry); + } +} diff --git a/bmc-other-examples/bmc-jersey3-examples/pom.xml b/bmc-other-examples/bmc-jersey3-examples/pom.xml index 9892d9d23bf..a1c048b77a7 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.92.1 + 3.93.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.92.1 + 3.93.0 false @@ -95,14 +95,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.92.1 + 3.93.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.92.1 + 3.93.0 pom import diff --git a/bmc-other-examples/bmc-jersey3-examples/src/main/java/PlainConnectionSocketFactoryExample.java b/bmc-other-examples/bmc-jersey3-examples/src/main/java/PlainConnectionSocketFactoryExample.java new file mode 100644 index 00000000000..30c8e218a51 --- /dev/null +++ b/bmc-other-examples/bmc-jersey3-examples/src/main/java/PlainConnectionSocketFactoryExample.java @@ -0,0 +1,109 @@ +/** + * Copyright (c) 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. + */ + +import com.oracle.bmc.ConfigFileReader; +import com.oracle.bmc.auth.AuthenticationDetailsProvider; +import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider; +import com.oracle.bmc.http.client.jersey3.apacheconfigurator.ApacheConfigurator; +import com.oracle.bmc.http.client.jersey3.apacheconfigurator.ApacheConnectorProperties; +import com.oracle.bmc.identity.Identity; +import com.oracle.bmc.identity.IdentityClient; +import org.apache.http.config.Registry; +import org.apache.http.config.RegistryBuilder; +import org.apache.http.conn.socket.ConnectionSocketFactory; +import org.apache.http.conn.socket.PlainConnectionSocketFactory; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.apache.http.ssl.SSLInitializationException; + +/** + * Demonstrates explicit plaintext transport configuration for the Apache configurator. + * + *

Use only when a trusted endpoint intentionally accepts plaintext HTTP for an {@code https} + * route, or in a controlled test environment. OCI service endpoints require TLS and must not use + * this configuration. + */ +public class PlainConnectionSocketFactoryExample { + public static void main(String[] args) throws Exception { + // Configure OCI authentication in the same way as the other client examples. + final ConfigFileReader.ConfigFile configFile = ConfigFileReader.parseDefault(); + final AuthenticationDetailsProvider provider = + new ConfigFileAuthenticationDetailsProvider(configFile); + + // WARNING: This maps https routes to plaintext. Use only with a trusted plaintext endpoint + // or in a controlled test environment. Supplying this connection manager bypasses the + // ApacheConfigurator default TLS registry. + final Identity directPlaintextClient = createPlaintextClient(provider); + + // The normal configuration fails closed. This catch preserves the previous automatic + // fallback only when the application explicitly chooses plaintext after SSL initialization + // fails. + final Identity fallbackPlaintextClient = createClientWithPlaintextFallback(provider); + } + + /** + * Builds a client that deliberately sends plaintext for both {@code http} and {@code https} + * routes. + * + *

Use when the application explicitly owns the transport decision and its endpoint is known + * to accept plaintext. This bypasses ApacheConfigurator's default TLS socket registry. + * + * @param provider the authentication provider for the client + * @return a client configured with a plaintext connection manager + */ + private static Identity createPlaintextClient(final AuthenticationDetailsProvider provider) { + // ApacheConnectorProperties gives callers ownership of the Apache connection manager. + final ApacheConnectorProperties properties = + ApacheConnectorProperties.builder() + .connectionManager(createPlaintextConnectionManager()) + .build(); + return IdentityClient.builder() + .clientConfigurator(new ApacheConfigurator(properties)) + .build(provider); + } + + /** + * Builds a normal TLS client and catches {@link SSLInitializationException} to explicitly fall + * back to plaintext only if TLS initialization fails. + * + *

Use only for applications that intentionally need the legacy fallback behavior. This + * performs the fallback that the SDK used to do itself. The Apache configurator now fails + * closed and never uses this exception to select the fallback automatically. + * + * @param provider the authentication provider for the client + * @return the TLS client when SSL initialization succeeds, otherwise a plaintext client + */ + private static Identity createClientWithPlaintextFallback( + final AuthenticationDetailsProvider provider) { + try { + // This uses ApacheConfigurator's default TLS setup and throws if it cannot initialize. + return IdentityClient.builder() + .clientConfigurator(new ApacheConfigurator()) + .build(provider); + } catch (SSLInitializationException e) { + // Perform the fallback that the SDK used to do ourselves. + return createPlaintextClient(provider); + } + } + + /** + * Creates the Apache connection manager that maps both URI schemes to a plaintext socket + * factory. + * + *

Use this only when intentionally disabling TLS. A manager supplied through + * ApacheConnectorProperties takes precedence over the configurator's default manager. + * + * @return a connection manager that uses plaintext sockets for {@code http} and {@code https} + */ + private static PoolingHttpClientConnectionManager createPlaintextConnectionManager() { + // Apache HttpClient selects a socket factory by URI scheme. Mapping https to the plain + // factory deliberately disables TLS for those routes. + final Registry registry = + RegistryBuilder.create() + .register("http", PlainConnectionSocketFactory.getSocketFactory()) + .register("https", PlainConnectionSocketFactory.getSocketFactory()) + .build(); + return new PoolingHttpClientConnectionManager(registry); + } +} diff --git a/bmc-other-examples/native-maven-example/pom.xml b/bmc-other-examples/native-maven-example/pom.xml index e33367084c9..2b4e0fc2814 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.92.1 + 3.93.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.92.1 + 3.93.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.92.1 + 3.93.0 pom import diff --git a/bmc-other-examples/pom.xml b/bmc-other-examples/pom.xml index c81a55cafb6..b7df2ad92f6 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.92.1 + 3.93.0 ../pom.xml diff --git a/bmc-psa/pom.xml b/bmc-psa/pom.xml index 047afb9bf7c..2c8256d5434 100644 --- a/bmc-psa/pom.xml +++ b/bmc-psa/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-psa @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-psql/pom.xml b/bmc-psql/pom.xml index 061b7d0c3bc..a22470cd489 100644 --- a/bmc-psql/pom.xml +++ b/bmc-psql/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-psql @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-queue/pom.xml b/bmc-queue/pom.xml index e203cdfc80c..984c90015ec 100644 --- a/bmc-queue/pom.xml +++ b/bmc-queue/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-queue @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-recovery/pom.xml b/bmc-recovery/pom.xml index 6371c148125..84079a99775 100644 --- a/bmc-recovery/pom.xml +++ b/bmc-recovery/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-recovery @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-redis/pom.xml b/bmc-redis/pom.xml index ea7b2b2dbd7..f5159a012b8 100644 --- a/bmc-redis/pom.xml +++ b/bmc-redis/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-redis @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-resourceanalytics/pom.xml b/bmc-resourceanalytics/pom.xml index 1907ca8ac97..5130eb9aaf4 100644 --- a/bmc-resourceanalytics/pom.xml +++ b/bmc-resourceanalytics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-resourceanalytics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-resourcemanager/pom.xml b/bmc-resourcemanager/pom.xml index 3a1c57a5ac2..97b6edddb8e 100644 --- a/bmc-resourcemanager/pom.xml +++ b/bmc-resourcemanager/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-resourcemanager @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-resourcescheduler/pom.xml b/bmc-resourcescheduler/pom.xml index b8706a21e11..71848971828 100644 --- a/bmc-resourcescheduler/pom.xml +++ b/bmc-resourcescheduler/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-resourcescheduler @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-resourcesearch/pom.xml b/bmc-resourcesearch/pom.xml index b969a461e50..07ecd189b24 100644 --- a/bmc-resourcesearch/pom.xml +++ b/bmc-resourcesearch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-resourcesearch @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-rover/pom.xml b/bmc-rover/pom.xml index 941643fcf52..eb5eeca7179 100644 --- a/bmc-rover/pom.xml +++ b/bmc-rover/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-rover @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-sch/pom.xml b/bmc-sch/pom.xml index 12f62845d09..d23585cf514 100644 --- a/bmc-sch/pom.xml +++ b/bmc-sch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-sch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-secrets/pom.xml b/bmc-secrets/pom.xml index c71fac8c3dc..509c08d6d64 100644 --- a/bmc-secrets/pom.xml +++ b/bmc-secrets/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-secrets @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-securityattribute/pom.xml b/bmc-securityattribute/pom.xml index 881a3a70708..ddbe8aca735 100644 --- a/bmc-securityattribute/pom.xml +++ b/bmc-securityattribute/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-securityattribute @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-self/pom.xml b/bmc-self/pom.xml index d464813fab7..e5c2d85ab87 100644 --- a/bmc-self/pom.xml +++ b/bmc-self/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-self @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-servicecatalog/pom.xml b/bmc-servicecatalog/pom.xml index b5595745724..d33dbb21548 100644 --- a/bmc-servicecatalog/pom.xml +++ b/bmc-servicecatalog/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-servicecatalog @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-servicemanagerproxy/pom.xml b/bmc-servicemanagerproxy/pom.xml index 696ceeffbd5..0ce1de71749 100644 --- a/bmc-servicemanagerproxy/pom.xml +++ b/bmc-servicemanagerproxy/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-servicemanagerproxy @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-shaded/bmc-shaded-full/pom.xml b/bmc-shaded/bmc-shaded-full/pom.xml index a8a2a12d0be..8f9121668e2 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.92.1 + 3.93.0 ../pom.xml oci-java-sdk-shaded-full diff --git a/bmc-shaded/pom.xml b/bmc-shaded/pom.xml index cd5da4cf437..f2188a2fffc 100644 --- a/bmc-shaded/pom.xml +++ b/bmc-shaded/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml diff --git a/bmc-stackmonitoring/pom.xml b/bmc-stackmonitoring/pom.xml index ff6eeae9722..c9df30a149a 100644 --- a/bmc-stackmonitoring/pom.xml +++ b/bmc-stackmonitoring/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-stackmonitoring @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-streaming/pom.xml b/bmc-streaming/pom.xml index afb9e6fffae..1cad9a8bcc9 100644 --- a/bmc-streaming/pom.xml +++ b/bmc-streaming/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-streaming @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-tenantmanagercontrolplane/pom.xml b/bmc-tenantmanagercontrolplane/pom.xml index ccdb926bd27..cceeed9afb8 100644 --- a/bmc-tenantmanagercontrolplane/pom.xml +++ b/bmc-tenantmanagercontrolplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-tenantmanagercontrolplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-threatintelligence/pom.xml b/bmc-threatintelligence/pom.xml index 4e0d4fedbf0..cbe190ea08b 100644 --- a/bmc-threatintelligence/pom.xml +++ b/bmc-threatintelligence/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-threatintelligence @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-usage/pom.xml b/bmc-usage/pom.xml index a2dafbfba2f..c94ac809d5a 100644 --- a/bmc-usage/pom.xml +++ b/bmc-usage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-usage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-usageapi/pom.xml b/bmc-usageapi/pom.xml index b551e5487dc..a5efa4c4c71 100644 --- a/bmc-usageapi/pom.xml +++ b/bmc-usageapi/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-usageapi @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-vault/pom.xml b/bmc-vault/pom.xml index 63deadee6c4..d72d244706b 100644 --- a/bmc-vault/pom.xml +++ b/bmc-vault/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-vault @@ -15,12 +15,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-vbsinst/pom.xml b/bmc-vbsinst/pom.xml index c65a7f8f4eb..7aed6840d9d 100644 --- a/bmc-vbsinst/pom.xml +++ b/bmc-vbsinst/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-vbsinst @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-visualbuilder/pom.xml b/bmc-visualbuilder/pom.xml index 196f811197b..fab7edb8264 100644 --- a/bmc-visualbuilder/pom.xml +++ b/bmc-visualbuilder/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-visualbuilder @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-vnmonitoring/pom.xml b/bmc-vnmonitoring/pom.xml index 6881c60e730..75081179a84 100644 --- a/bmc-vnmonitoring/pom.xml +++ b/bmc-vnmonitoring/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-vnmonitoring @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-vulnerabilityscanning/pom.xml b/bmc-vulnerabilityscanning/pom.xml index ebe6d82d2cf..04478ec2ec6 100644 --- a/bmc-vulnerabilityscanning/pom.xml +++ b/bmc-vulnerabilityscanning/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-vulnerabilityscanning @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-waa/pom.xml b/bmc-waa/pom.xml index d2b092074e6..a0f439c95d6 100644 --- a/bmc-waa/pom.xml +++ b/bmc-waa/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-waa @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-waas/pom.xml b/bmc-waas/pom.xml index 8d69011d75b..845923d3268 100644 --- a/bmc-waas/pom.xml +++ b/bmc-waas/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-waas @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-waf/pom.xml b/bmc-waf/pom.xml index d7fa9162fa9..6809260e87b 100644 --- a/bmc-waf/pom.xml +++ b/bmc-waf/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-waf @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-wlms/pom.xml b/bmc-wlms/pom.xml index c1dc3f2f16d..4e8671bcbbb 100644 --- a/bmc-wlms/pom.xml +++ b/bmc-wlms/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-wlms @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-workrequests/pom.xml b/bmc-workrequests/pom.xml index fa212586c41..cc7bf9b98c0 100644 --- a/bmc-workrequests/pom.xml +++ b/bmc-workrequests/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-workrequests @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/bmc-zpr/pom.xml b/bmc-zpr/pom.xml index 3a300fe63ee..e3f20273b15 100644 --- a/bmc-zpr/pom.xml +++ b/bmc-zpr/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 ../pom.xml oci-java-sdk-zpr @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.92.1 + 3.93.0 \ No newline at end of file diff --git a/pom.xml b/pom.xml index ca5f7d6a119..c74c16a897e 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk oci-java-sdk - 3.92.1 + 3.93.0 pom Oracle Cloud Infrastructure SDK This project contains the SDK used for Oracle Cloud Infrastructure