From f2a06c69ade6a258fb3428c63ad1040af78953fc Mon Sep 17 00:00:00 2001 From: OCI DEX Release Bot Automation Date: Tue, 19 May 2026 13:06:34 +0000 Subject: [PATCH] Releasing version 3.87.0 --- CHANGELOG.md | 15 + README.md | 21 + bmc-accessgovernancecp/pom.xml | 4 +- bmc-addons/bmc-adk/pom.xml | 2 +- bmc-addons/bmc-aispeech-realtime/pom.xml | 6 +- .../pom.xml | 6 +- .../pom.xml | 6 +- .../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 +- 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 +- .../model/BdsCertificateConfiguration.java | 1 + ...ateBdsCertificateConfigurationDetails.java | 125 +-- .../oracle/bmc/bds/model/HostCertDetails.java | 38 +- .../oracle/bmc/bds/model/PasswordSummary.java | 36 +- .../bmc/bds/model/ReplaceNodeDetails.java | 44 + bmc-blockchain/pom.xml | 4 +- bmc-bom/pom.xml | 378 +++---- 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 | 20 +- .../DaemonClientAsyncExecutorProvider.java | 32 + .../client/jersey/JerseyHttpClientTest.java | 69 ++ .../bmc-common-httpclient-jersey3/pom.xml | 6 +- .../jersey3/Jersey3HttpClientBuilder.java | 20 +- .../DaemonClientAsyncExecutorProvider.java | 32 + .../client/jersey3/Jersey3HttpClientTest.java | 69 ++ bmc-common-httpclient-choices/pom.xml | 2 +- bmc-common-httpclient/pom.xml | 2 +- .../com/oracle/bmc/http/client/Options.java | 78 +- .../http/client/StandardClientProperties.java | 2 + bmc-common/pom.xml | 8 +- .../com/oracle/bmc/ClientConfiguration.java | 84 +- .../oracle/bmc/http/internal/BaseClient.java | 9 + .../oracle/bmc/ClientConfigurationTest.java | 42 + 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 +- bmc-costad/pom.xml | 21 + .../java/com/oracle/bmc/costad/CostAd.java | 354 +++++++ .../com/oracle/bmc/costad/CostAdAsync.java | 326 ++++++ .../oracle/bmc/costad/CostAdAsyncClient.java | 805 +++++++++++++++ .../com/oracle/bmc/costad/CostAdClient.java | 844 ++++++++++++++++ .../oracle/bmc/costad/CostAdPaginators.java | 411 ++++++++ .../com/oracle/bmc/costad/CostAdWaiters.java | 351 +++++++ .../costad/model/CostAlertSubscription.java | 676 +++++++++++++ .../CostAlertSubscriptionCollection.java | 134 +++ .../model/CostAlertSubscriptionMap.java | 316 ++++++ .../model/CostAlertSubscriptionSummary.java | 512 ++++++++++ .../bmc/costad/model/CostAnomalyEvent.java | 946 ++++++++++++++++++ .../CostAnomalyEventAnalyticCollection.java | 135 +++ .../CostAnomalyEventAnalyticSummary.java | 213 ++++ .../model/CostAnomalyEventCollection.java | 134 +++ .../costad/model/CostAnomalyEventSummary.java | 739 ++++++++++++++ .../bmc/costad/model/CostAnomalyMonitor.java | 737 ++++++++++++++ .../model/CostAnomalyMonitorCollection.java | 134 +++ .../model/CostAnomalyMonitorSummary.java | 618 ++++++++++++ .../CreateCostAlertSubscriptionDetails.java | 373 +++++++ .../CreateCostAnomalyMonitorDetails.java | 398 ++++++++ .../oracle/bmc/costad/model/Dimension.java | 170 ++++ .../oracle/bmc/costad/model/MonitorType.java | 53 + .../bmc/costad/model/RootCauseDetail.java | 132 +++ .../bmc/costad/model/SortByForCostAd.java | 41 + .../model/SortByForCostAnomalyEvent.java | 41 + .../oracle/bmc/costad/model/SortOrder.java | 40 + .../java/com/oracle/bmc/costad/model/Tag.java | 202 ++++ .../costad/model/TargetResourceFilter.java | 292 ++++++ .../UpdateCostAlertSubscriptionDetails.java | 286 ++++++ .../model/UpdateCostAnomalyEventDetails.java | 252 +++++ .../UpdateCostAnomalyMonitorDetails.java | 288 ++++++ .../CreateCostAlertSubscriptionRequest.java | 283 ++++++ .../CreateCostAnomalyMonitorRequest.java | 282 ++++++ .../DeleteCostAlertSubscriptionRequest.java | 245 +++++ .../DeleteCostAnomalyMonitorRequest.java | 243 +++++ .../DisableCostAnomalyMonitorRequest.java | 295 ++++++ .../EnableCostAnomalyMonitorRequest.java | 295 ++++++ .../GetCostAlertSubscriptionRequest.java | 199 ++++ .../requests/GetCostAnomalyEventRequest.java | 194 ++++ .../GetCostAnomalyMonitorRequest.java | 196 ++++ .../ListCostAlertSubscriptionsRequest.java | 385 +++++++ .../ListCostAnomalyEventsRequest.java | 587 +++++++++++ .../ListCostAnomalyMonitorsRequest.java | 460 +++++++++ ...arizeCostAnomalyEventAnalyticsRequest.java | 591 +++++++++++ .../UpdateCostAlertSubscriptionRequest.java | 309 ++++++ .../UpdateCostAnomalyEventRequest.java | 306 ++++++ .../UpdateCostAnomalyMonitorRequest.java | 307 ++++++ .../CreateCostAlertSubscriptionResponse.java | 215 ++++ .../CreateCostAnomalyMonitorResponse.java | 214 ++++ .../DeleteCostAlertSubscriptionResponse.java | 138 +++ .../DeleteCostAnomalyMonitorResponse.java | 137 +++ .../DisableCostAnomalyMonitorResponse.java | 214 ++++ .../EnableCostAnomalyMonitorResponse.java | 214 ++++ .../GetCostAlertSubscriptionResponse.java | 215 ++++ .../GetCostAnomalyEventResponse.java | 211 ++++ .../GetCostAnomalyMonitorResponse.java | 213 ++++ .../ListCostAlertSubscriptionsResponse.java | 238 +++++ .../ListCostAnomalyEventsResponse.java | 231 +++++ .../ListCostAnomalyMonitorsResponse.java | 235 +++++ ...rizeCostAnomalyEventAnalyticsResponse.java | 240 +++++ .../UpdateCostAlertSubscriptionResponse.java | 215 ++++ .../UpdateCostAnomalyEventResponse.java | 212 ++++ .../UpdateCostAnomalyMonitorResponse.java | 214 ++++ .../oci-java-sdk-costad/reflect-config.json | 356 +++++++ .../com/oracle/bmc/costad/client.properties | 9 + bmc-dashboardservice/pom.xml | 4 +- bmc-database/pom.xml | 6 +- 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-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 | 10 +- bmc-filestorage/pom.xml | 4 +- bmc-fleetappsmanagement/pom.xml | 4 +- bmc-fleetsoftwareupdate/pom.xml | 4 +- bmc-full/pom.xml | 8 +- bmc-functions/pom.xml | 4 +- bmc-fusionapps/pom.xml | 4 +- bmc-gdp/pom.xml | 4 +- bmc-generativeai/pom.xml | 4 +- bmc-generativeaiagent/pom.xml | 4 +- bmc-generativeaiagentruntime/pom.xml | 4 +- bmc-generativeaidata/pom.xml | 4 +- bmc-generativeaiinference/pom.xml | 4 +- .../GenerativeAiInference.java | 36 + .../GenerativeAiInferenceAsync.java | 26 + .../GenerativeAiInferenceAsyncClient.java | 58 +- .../GenerativeAiInferenceClient.java | 65 +- .../GenerativeAiInferencePaginators.java | 169 ++++ .../model/ApplyGuardrailsDetails.java | 45 +- .../model/ApplyGuardrailsResult.java | 36 +- .../model/GuardrailVersion.java | 421 ++++++++ .../model/GuardrailVersionCollection.java | 133 +++ .../model/GuardrailVersionConfig.java | 144 +++ .../model/GuardrailVersionResponse.java | 143 +++ .../model/GuardrailVersionSummary.java | 375 +++++++ .../ListGuardrailVersionsRequest.java | 306 ++++++ .../ListGuardrailVersionsResponse.java | 236 +++++ .../reflect-config.json | 76 ++ bmc-genericartifactscontent/pom.xml | 4 +- bmc-goldengate/pom.xml | 4 +- 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 +- .../model/CreateDbSystemSourceDetails.java | 4 + ...ystemSourceFromDbSystemChannelDetails.java | 349 +++++++ ...eateDbSystemSourceFromDbSystemDetails.java | 216 ++++ .../bmc/mysql/model/DbSystemSource.java | 4 + .../model/DbSystemSourceFromDbSystem.java | 134 +++ .../com/oracle/bmc/mysql/model/SslMode.java | 42 + .../oci-java-sdk-mysql/reflect-config.json | 48 + 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 +- ...readTimeoutClientConfigurationExample.java | 65 ++ .../bmc-jersey3-examples/pom.xml | 8 +- ...readTimeoutClientConfigurationExample.java | 65 ++ .../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 +- ...reateResourceAnalyticsInstanceDetails.java | 38 + ...AnalyticsInstanceOacAttachmentDetails.java | 129 ++- .../model/TenancyAttachment.java | 256 +++++ .../TenancyAttachmentDataPopulation.java | 365 +++++++ ...nancyAttachmentMonitoredRegionSummary.java | 171 ++++ .../model/TenancyAttachmentSummary.java | 163 +++ .../reflect-config.json | 40 + 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 +- .../com/oracle/bmc/streaming/StreamAdmin.java | 63 ++ .../bmc/streaming/StreamAdminAsync.java | 62 ++ .../bmc/streaming/StreamAdminAsyncClient.java | 176 ++++ .../bmc/streaming/StreamAdminClient.java | 165 +++ .../bmc/streaming/StreamAdminPaginators.java | 356 +++++++ .../bmc/streaming/StreamAdminWaiters.java | 56 ++ .../bmc/streaming/model/ActionType.java | 56 ++ .../bmc/streaming/model/OperationStatus.java | 59 ++ .../bmc/streaming/model/OperationType.java | 60 ++ .../model/UpdateStreamPoolDetails.java | 26 +- .../bmc/streaming/model/WorkRequest.java | 498 +++++++++ .../bmc/streaming/model/WorkRequestError.java | 219 ++++ .../model/WorkRequestErrorCollection.java | 134 +++ .../streaming/model/WorkRequestLogEntry.java | 177 ++++ .../model/WorkRequestLogEntryCollection.java | 133 +++ .../streaming/model/WorkRequestResource.java | 266 +++++ .../streaming/model/WorkRequestSummary.java | 500 +++++++++ .../model/WorkRequestSummaryCollection.java | 134 +++ .../requests/GetWorkRequestRequest.java | 212 ++++ .../ListWorkRequestErrorsRequest.java | 413 ++++++++ .../requests/ListWorkRequestLogsRequest.java | 411 ++++++++ .../requests/ListWorkRequestsRequest.java | 487 +++++++++ ...angeConnectHarnessCompartmentResponse.java | 56 +- .../ChangeStreamCompartmentResponse.java | 57 +- .../ChangeStreamPoolCompartmentResponse.java | 56 +- .../CreateConnectHarnessResponse.java | 50 +- .../responses/CreateStreamPoolResponse.java | 45 +- .../responses/CreateStreamResponse.java | 45 +- .../DeleteConnectHarnessResponse.java | 57 +- .../responses/DeleteStreamPoolResponse.java | 57 +- .../responses/DeleteStreamResponse.java | 57 +- .../responses/GetWorkRequestResponse.java | 175 ++++ .../ListWorkRequestErrorsResponse.java | 280 ++++++ .../ListWorkRequestLogsResponse.java | 282 ++++++ .../responses/ListWorkRequestsResponse.java | 282 ++++++ .../UpdateConnectHarnessResponse.java | 50 +- .../responses/UpdateStreamPoolResponse.java | 45 +- .../responses/UpdateStreamResponse.java | 45 +- .../reflect-config.json | 130 +++ 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 | 3 +- 353 files changed, 31835 insertions(+), 783 deletions(-) create mode 100644 bmc-common/src/test/java/com/oracle/bmc/ClientConfigurationTest.java create mode 100644 bmc-costad/pom.xml create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/CostAd.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdAsync.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdAsyncClient.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdClient.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdPaginators.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdWaiters.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscription.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionCollection.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionMap.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionSummary.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEvent.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventAnalyticCollection.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventAnalyticSummary.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventCollection.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventSummary.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitor.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitorCollection.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitorSummary.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CreateCostAlertSubscriptionDetails.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/CreateCostAnomalyMonitorDetails.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/Dimension.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/MonitorType.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/RootCauseDetail.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortByForCostAd.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortByForCostAnomalyEvent.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortOrder.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/Tag.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/TargetResourceFilter.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAlertSubscriptionDetails.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAnomalyEventDetails.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAnomalyMonitorDetails.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/CreateCostAlertSubscriptionRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/CreateCostAnomalyMonitorRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/DeleteCostAlertSubscriptionRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/DeleteCostAnomalyMonitorRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/DisableCostAnomalyMonitorRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/EnableCostAnomalyMonitorRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAlertSubscriptionRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAnomalyEventRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAnomalyMonitorRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAlertSubscriptionsRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAnomalyEventsRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAnomalyMonitorsRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/SummarizeCostAnomalyEventAnalyticsRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAlertSubscriptionRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAnomalyEventRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAnomalyMonitorRequest.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/CreateCostAlertSubscriptionResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/CreateCostAnomalyMonitorResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DeleteCostAlertSubscriptionResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DeleteCostAnomalyMonitorResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DisableCostAnomalyMonitorResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/EnableCostAnomalyMonitorResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAlertSubscriptionResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAnomalyEventResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAnomalyMonitorResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAlertSubscriptionsResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAnomalyEventsResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAnomalyMonitorsResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/SummarizeCostAnomalyEventAnalyticsResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAlertSubscriptionResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAnomalyEventResponse.java create mode 100644 bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAnomalyMonitorResponse.java create mode 100644 bmc-costad/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-costad/reflect-config.json create mode 100644 bmc-costad/src/main/resources/com/oracle/bmc/costad/client.properties create mode 100644 bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferencePaginators.java create mode 100644 bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersion.java create mode 100644 bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionCollection.java create mode 100644 bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionConfig.java create mode 100644 bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionResponse.java create mode 100644 bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionSummary.java create mode 100644 bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/requests/ListGuardrailVersionsRequest.java create mode 100644 bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/responses/ListGuardrailVersionsResponse.java create mode 100644 bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceFromDbSystemChannelDetails.java create mode 100644 bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceFromDbSystemDetails.java create mode 100644 bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/DbSystemSourceFromDbSystem.java create mode 100644 bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/SslMode.java create mode 100644 bmc-other-examples/bmc-jersey-examples/src/main/java/AsyncCoreThreadTimeoutClientConfigurationExample.java create mode 100644 bmc-other-examples/bmc-jersey3-examples/src/main/java/AsyncCoreThreadTimeoutClientConfigurationExample.java create mode 100644 bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentDataPopulation.java create mode 100644 bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentMonitoredRegionSummary.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/ActionType.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/OperationStatus.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/OperationType.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequest.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestError.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestErrorCollection.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestLogEntry.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestLogEntryCollection.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestResource.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestSummary.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestSummaryCollection.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/GetWorkRequestRequest.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestErrorsRequest.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestLogsRequest.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestsRequest.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/GetWorkRequestResponse.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestErrorsResponse.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestLogsResponse.java create mode 100644 bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestsResponse.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f1d44b357b..e973321e835 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/). +## 3.87.0 - 2026-05-19 +### Added +- Support for the Cost Anomaly Detection service +- Support for listing OCI Generative AI Guardrails versions with accuracy and performance in the Generative AI service +- Support for guardrail versions when applying guardrails in the Generative AI service +- Support for data population status on tenancy attachment in the Resource Analytics service +- Support for compute count options in the Resource Analytics service +- Support for Cluster Placement Groups (CPG) and security groups (SG) in compute capacity reports in the Compute service +- Support for failed node replacement in the Big Data service +- Support for creating new DB systems from existing DB systems with an optional replication channels in the MySQL HeatWave service +- Support for work requests to track create, update, and delete operations for streams, stream pools, and Kafka Connect configuration resources in the Streaming service + +### Breaking Changes +- The fields `ClusterAdminPassword` and `SecretId` were removed from the model `com.oracle.bmc.bds.model.CreateBdsCertificateConfigurationDetails` in the Big Data service + ## 3.86.2 - 2026-05-12 ### Added - Support for the Database Tools Runtime service diff --git a/README.md b/README.md index fb89988a4e3..45735435709 100644 --- a/README.md +++ b/README.md @@ -267,6 +267,27 @@ To resolve this problem, you can run Maven with the following parameter: The low default value in Java will be addressed and resolved in upcoming minor Java version releases. +### Idle Jersey async executor threads + +When using the Jersey HTTP client, SDK requests are executed through Jersey's async request path. After request execution, idle `jersey-client-async-executor-*` threads may remain in a waiting state. By default, this behavior is preserved for compatibility. + +Customers who want idle core threads in the SDK-managed Jersey async executor to time out can opt in separately for sync and async SDK clients: + +``` +ClientConfiguration configuration = + ClientConfiguration.builder() + .syncRequestsAsyncCoreThreadTimeoutEnabled(true) + .asyncRequestsAsyncCoreThreadTimeoutEnabled(true) + .build(); +``` + +The same behavior can also be enabled with system properties: + +``` +-Doci.javasdk.sync.requests.async.core.thread.timeout.enabled=true +-Doci.javasdk.async.requests.async.core.thread.timeout.enabled=true +``` + ## License Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved. diff --git a/bmc-accessgovernancecp/pom.xml b/bmc-accessgovernancecp/pom.xml index 415ae5f084c..fb5467993e9 100644 --- a/bmc-accessgovernancecp/pom.xml +++ b/bmc-accessgovernancecp/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-accessgovernancecp @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-addons/bmc-adk/pom.xml b/bmc-addons/bmc-adk/pom.xml index b3e3fd02348..67f52c2cda1 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.86.2 + 3.87.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 2e200f6df72..e8bb27e6ab4 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.86.2 + 3.87.0 ../pom.xml 4.0.0 @@ -53,12 +53,12 @@ com.oracle.oci.sdk oci-java-sdk-aispeech - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.86.2 + 3.87.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 14aaa8f55be..e83a7dfa3c3 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.86.2 + 3.87.0 ../pom.xml @@ -17,14 +17,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.86.2 + 3.87.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.86.2 + 3.87.0 pom import diff --git a/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml b/bmc-addons/bmc-apache-configurator-jersey3-addon/pom.xml index 5974ff658e4..29c3f25c542 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.86.2 + 3.87.0 ../pom.xml @@ -17,14 +17,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.86.2 + 3.87.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.86.2 + 3.87.0 pom import diff --git a/bmc-addons/bmc-apache-connector-provider/pom.xml b/bmc-addons/bmc-apache-connector-provider/pom.xml index f8cd2db4981..1a5d55ee3d2 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.86.2 + 3.87.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.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 165a7301cd6..9e290b9aa43 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.86.2 + 3.87.0 4.0.0 @@ -38,25 +38,25 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 compile com.oracle.oci.sdk oci-java-sdk-core - 3.86.2 + 3.87.0 test com.oracle.oci.sdk oci-java-sdk-identity - 3.86.2 + 3.87.0 test com.oracle.oci.sdk oci-java-sdk-keymanagement - 3.86.2 + 3.87.0 test diff --git a/bmc-addons/bmc-resteasy-client-configurator/pom.xml b/bmc-addons/bmc-resteasy-client-configurator/pom.xml index a6e92f87b38..a7c1230ba16 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.86.2 + 3.87.0 ../pom.xml @@ -23,7 +23,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.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 07047432d44..c0ff05f589c 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.86.2 + 3.87.0 ../pom.xml 4.0.0 @@ -39,13 +39,13 @@ com.oracle.oci.sdk oci-java-sdk-addons-sasl - 3.86.2 + 3.87.0 compile com.oracle.oci.sdk oci-java-sdk-addons-oke-workload-identity - 3.86.2 + 3.87.0 compile diff --git a/bmc-addons/bmc-sasl/pom.xml b/bmc-addons/bmc-sasl/pom.xml index 5d060f7f76f..1372f09cdff 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.86.2 + 3.87.0 ../pom.xml @@ -61,7 +61,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 diff --git a/bmc-addons/bmc-sse-support-jersey3/pom.xml b/bmc-addons/bmc-sse-support-jersey3/pom.xml index 237a6d5b101..40fb6b278ce 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.86.2 + 3.87.0 ../pom.xml 4.0.0 @@ -150,12 +150,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-generativeaiinference - 3.86.2 + 3.87.0 test @@ -164,7 +164,7 @@ but the code in it needs it. --> com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.86.2 + 3.87.0 diff --git a/bmc-addons/bmc-sse-support/pom.xml b/bmc-addons/bmc-sse-support/pom.xml index b405d8ea3f5..9fcc0a3cc23 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.86.2 + 3.87.0 ../pom.xml 4.0.0 @@ -150,12 +150,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-generativeaiinference - 3.86.2 + 3.87.0 test @@ -164,7 +164,7 @@ but the code in it needs it. --> com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.86.2 + 3.87.0 diff --git a/bmc-addons/pom.xml b/bmc-addons/pom.xml index 173262c8ca6..5b55dec85e4 100644 --- a/bmc-addons/pom.xml +++ b/bmc-addons/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml diff --git a/bmc-adm/pom.xml b/bmc-adm/pom.xml index e6724a1aae9..6fa33f48f5b 100644 --- a/bmc-adm/pom.xml +++ b/bmc-adm/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-adm @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-aidataplatform/pom.xml b/bmc-aidataplatform/pom.xml index 6169b05c36d..f3d8bb7009f 100644 --- a/bmc-aidataplatform/pom.xml +++ b/bmc-aidataplatform/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-aidataplatform @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-aidocument/pom.xml b/bmc-aidocument/pom.xml index 491fc12fa2a..ae421c4ea97 100644 --- a/bmc-aidocument/pom.xml +++ b/bmc-aidocument/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-aidocument @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-ailanguage/pom.xml b/bmc-ailanguage/pom.xml index 92e8fdfbb0c..0fb48d677ed 100644 --- a/bmc-ailanguage/pom.xml +++ b/bmc-ailanguage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-ailanguage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-aispeech/pom.xml b/bmc-aispeech/pom.xml index 131a50b939a..dabf12bf52f 100644 --- a/bmc-aispeech/pom.xml +++ b/bmc-aispeech/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-aispeech @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-aivision/pom.xml b/bmc-aivision/pom.xml index 75c92da08d6..c2fd89a5de8 100644 --- a/bmc-aivision/pom.xml +++ b/bmc-aivision/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-aivision @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-analytics/pom.xml b/bmc-analytics/pom.xml index 4d23392ed2d..57dc19af4f5 100644 --- a/bmc-analytics/pom.xml +++ b/bmc-analytics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-analytics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-announcementsservice/pom.xml b/bmc-announcementsservice/pom.xml index a48ff43ae97..9a4a25f8aaf 100644 --- a/bmc-announcementsservice/pom.xml +++ b/bmc-announcementsservice/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-announcementsservice @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-apiaccesscontrol/pom.xml b/bmc-apiaccesscontrol/pom.xml index 1f80b6954b7..82bcf8122fa 100644 --- a/bmc-apiaccesscontrol/pom.xml +++ b/bmc-apiaccesscontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-apiaccesscontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-apigateway/pom.xml b/bmc-apigateway/pom.xml index 9b7d6de3b90..dfcdd1bedf5 100644 --- a/bmc-apigateway/pom.xml +++ b/bmc-apigateway/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-apigateway @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-apiplatform/pom.xml b/bmc-apiplatform/pom.xml index 62d0a12a6c2..7c0a45bafb3 100644 --- a/bmc-apiplatform/pom.xml +++ b/bmc-apiplatform/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-apiplatform @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-apmconfig/pom.xml b/bmc-apmconfig/pom.xml index dde86a7eb4c..9ffa03ebc4e 100644 --- a/bmc-apmconfig/pom.xml +++ b/bmc-apmconfig/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-apmconfig @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-apmcontrolplane/pom.xml b/bmc-apmcontrolplane/pom.xml index 4e46758a73d..d243296dd2e 100644 --- a/bmc-apmcontrolplane/pom.xml +++ b/bmc-apmcontrolplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-apmcontrolplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-apmsynthetics/pom.xml b/bmc-apmsynthetics/pom.xml index d493ebb8951..687f23293ca 100644 --- a/bmc-apmsynthetics/pom.xml +++ b/bmc-apmsynthetics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-apmsynthetics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-apmtraces/pom.xml b/bmc-apmtraces/pom.xml index c4737485168..2f824294405 100644 --- a/bmc-apmtraces/pom.xml +++ b/bmc-apmtraces/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-apmtraces @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-appmgmtcontrol/pom.xml b/bmc-appmgmtcontrol/pom.xml index 70f4dd08db1..4095805adbe 100644 --- a/bmc-appmgmtcontrol/pom.xml +++ b/bmc-appmgmtcontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-appmgmtcontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-artifacts/pom.xml b/bmc-artifacts/pom.xml index b42d6c5490b..0ab56901317 100644 --- a/bmc-artifacts/pom.xml +++ b/bmc-artifacts/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-artifacts @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-audit/pom.xml b/bmc-audit/pom.xml index d0db753a70c..343bf46d3d4 100644 --- a/bmc-audit/pom.xml +++ b/bmc-audit/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 diff --git a/bmc-autoscaling/pom.xml b/bmc-autoscaling/pom.xml index 236cef2ecdb..7db5350b1f7 100644 --- a/bmc-autoscaling/pom.xml +++ b/bmc-autoscaling/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-autoscaling @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-bastion/pom.xml b/bmc-bastion/pom.xml index 99772a35cf7..5b75d6f4f30 100644 --- a/bmc-bastion/pom.xml +++ b/bmc-bastion/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-bastion @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-batch/pom.xml b/bmc-batch/pom.xml index 00b4108cc29..5e4ca9eb023 100644 --- a/bmc-batch/pom.xml +++ b/bmc-batch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-batch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-bds/pom.xml b/bmc-bds/pom.xml index d3186a03b02..2ebe10ba729 100644 --- a/bmc-bds/pom.xml +++ b/bmc-bds/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-bds @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/BdsCertificateConfiguration.java b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/BdsCertificateConfiguration.java index 208ef90247a..01629ffc930 100644 --- a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/BdsCertificateConfiguration.java +++ b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/BdsCertificateConfiguration.java @@ -381,6 +381,7 @@ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { Deleting("DELETING"), Deleted("DELETED"), Failed("FAILED"), + Updating("UPDATING"), /** * This value is used if a service returns a value for this enum that is not recognized by diff --git a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/CreateBdsCertificateConfigurationDetails.java b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/CreateBdsCertificateConfigurationDetails.java index 94de3e1c7f9..3a580f3daab 100644 --- a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/CreateBdsCertificateConfigurationDetails.java +++ b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/CreateBdsCertificateConfigurationDetails.java @@ -23,47 +23,22 @@ public final class CreateBdsCertificateConfigurationDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - public CreateBdsCertificateConfigurationDetails( - String displayName, - String certificateAuthorityId, - BdsCertificateConfiguration.Type certificateType, - String compartmentId, - String clusterAdminPassword, - String secretId) { - super(); - this.displayName = displayName; - this.certificateAuthorityId = certificateAuthorityId; - this.certificateType = certificateType; - this.compartmentId = compartmentId; - this.clusterAdminPassword = - clusterAdminPassword != null ? clusterAdminPassword.toCharArray() : null; - this.secretId = secretId; - } - - @com.fasterxml.jackson.annotation.JsonCreator - @Deprecated @java.beans.ConstructorProperties({ "displayName", "certificateAuthorityId", "certificateType", - "compartmentId", - "clusterAdminPassword", - "secretId" + "compartmentId" }) public CreateBdsCertificateConfigurationDetails( String displayName, String certificateAuthorityId, BdsCertificateConfiguration.Type certificateType, - String compartmentId, - char[] clusterAdminPassword, - String secretId) { + String compartmentId) { super(); this.displayName = displayName; this.certificateAuthorityId = certificateAuthorityId; this.certificateType = certificateType; this.compartmentId = compartmentId; - this.clusterAdminPassword = clusterAdminPassword; - this.secretId = secretId; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -140,43 +115,6 @@ public Builder compartmentId(String compartmentId) { this.__explicitlySet__.add("compartmentId"); return this; } - /** Base-64 encoded password for the cluster admin user. */ - @com.fasterxml.jackson.annotation.JsonProperty("clusterAdminPassword") - private char[] clusterAdminPassword; - - /** - * Base-64 encoded password for the cluster admin user. - * - * @param clusterAdminPassword the value to set - * @return this builder - */ - public Builder clusterAdminPassword(char[] clusterAdminPassword) { - this.clusterAdminPassword = clusterAdminPassword; - this.__explicitlySet__.add("clusterAdminPassword"); - return this; - } - - public Builder clusterAdminPassword(String clusterAdminPassword) { - this.clusterAdminPassword = - clusterAdminPassword != null ? clusterAdminPassword.toCharArray() : null; - this.__explicitlySet__.add("clusterAdminPassword"); - return this; - } - /** The secretId for the clusterAdminPassword. */ - @com.fasterxml.jackson.annotation.JsonProperty("secretId") - private String secretId; - - /** - * The secretId for the clusterAdminPassword. - * - * @param secretId the value to set - * @return this builder - */ - public Builder secretId(String secretId) { - this.secretId = secretId; - this.__explicitlySet__.add("secretId"); - return this; - } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -187,9 +125,7 @@ public CreateBdsCertificateConfigurationDetails build() { this.displayName, this.certificateAuthorityId, this.certificateType, - this.compartmentId, - this.clusterAdminPassword, - this.secretId); + this.compartmentId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -210,12 +146,6 @@ public Builder copy(CreateBdsCertificateConfigurationDetails model) { if (model.wasPropertyExplicitlySet("compartmentId")) { this.compartmentId(model.getCompartmentId()); } - if (model.wasPropertyExplicitlySet("clusterAdminPassword")) { - this.clusterAdminPassword(model.getClusterAdminPassword()); - } - if (model.wasPropertyExplicitlySet("secretId")) { - this.secretId(model.getSecretId()); - } return this; } } @@ -293,45 +223,6 @@ public String getCompartmentId() { return compartmentId; } - /** Base-64 encoded password for the cluster admin user. */ - @com.fasterxml.jackson.annotation.JsonProperty("clusterAdminPassword") - private final char[] clusterAdminPassword; - - /** - * Base-64 encoded password for the cluster admin user. - * - * @return the value - * @deprecated Use getClusterAdminPassword__AsCharArray() instead. - */ - @Deprecated - @com.fasterxml.jackson.annotation.JsonIgnore - public String getClusterAdminPassword() { - return clusterAdminPassword != null ? new String(clusterAdminPassword) : null; - } - - /** - * Base-64 encoded password for the cluster admin user. - * - * @return the value - */ - @com.fasterxml.jackson.annotation.JsonProperty("clusterAdminPassword") - public char[] getClusterAdminPassword__AsCharArray() { - return clusterAdminPassword; - } - - /** The secretId for the clusterAdminPassword. */ - @com.fasterxml.jackson.annotation.JsonProperty("secretId") - private final String secretId; - - /** - * The secretId for the clusterAdminPassword. - * - * @return the value - */ - public String getSecretId() { - return secretId; - } - @Override public String toString() { return this.toString(true); @@ -351,8 +242,6 @@ public String toString(boolean includeByteArrayContents) { sb.append(", certificateAuthorityId=").append(String.valueOf(this.certificateAuthorityId)); sb.append(", certificateType=").append(String.valueOf(this.certificateType)); sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); - sb.append(", clusterAdminPassword=").append(""); - sb.append(", secretId=").append(String.valueOf(this.secretId)); sb.append(")"); return sb.toString(); } @@ -373,8 +262,6 @@ public boolean equals(Object o) { this.certificateAuthorityId, other.certificateAuthorityId) && java.util.Objects.equals(this.certificateType, other.certificateType) && java.util.Objects.equals(this.compartmentId, other.compartmentId) - && java.util.Objects.equals(this.clusterAdminPassword, other.clusterAdminPassword) - && java.util.Objects.equals(this.secretId, other.secretId) && super.equals(other); } @@ -394,12 +281,6 @@ public int hashCode() { result = (result * PRIME) + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); - result = - (result * PRIME) - + (this.clusterAdminPassword == null - ? 43 - : this.clusterAdminPassword.hashCode()); - result = (result * PRIME) + (this.secretId == null ? 43 : this.secretId.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/HostCertDetails.java b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/HostCertDetails.java index e1c77f482fc..8d1056ed490 100644 --- a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/HostCertDetails.java +++ b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/HostCertDetails.java @@ -22,8 +22,17 @@ public final class HostCertDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"hostName", "certificate", "privateKey"}) public HostCertDetails(String hostName, String certificate, String privateKey) { + super(); + this.hostName = hostName; + this.certificate = certificate; + this.privateKey = privateKey != null ? privateKey.toCharArray() : null; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + @java.beans.ConstructorProperties({"hostName", "certificate", "privateKey"}) + public HostCertDetails(String hostName, String certificate, char[] privateKey) { super(); this.hostName = hostName; this.certificate = certificate; @@ -64,7 +73,7 @@ public Builder certificate(String certificate) { } /** Private key of the provided certificate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKey") - private String privateKey; + private char[] privateKey; /** * Private key of the provided certificate @@ -72,12 +81,18 @@ public Builder certificate(String certificate) { * @param privateKey the value to set * @return this builder */ - public Builder privateKey(String privateKey) { + public Builder privateKey(char[] privateKey) { this.privateKey = privateKey; this.__explicitlySet__.add("privateKey"); return this; } + public Builder privateKey(String privateKey) { + this.privateKey = privateKey != null ? privateKey.toCharArray() : null; + this.__explicitlySet__.add("privateKey"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -142,14 +157,27 @@ public String getCertificate() { /** Private key of the provided certificate */ @com.fasterxml.jackson.annotation.JsonProperty("privateKey") - private final String privateKey; + private final char[] privateKey; /** * Private key of the provided certificate * * @return the value + * @deprecated Use getPrivateKey__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getPrivateKey() { + return privateKey != null ? new String(privateKey) : null; + } + + /** + * Private key of the provided certificate + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("privateKey") + public char[] getPrivateKey__AsCharArray() { return privateKey; } @@ -170,7 +198,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("hostName=").append(String.valueOf(this.hostName)); sb.append(", certificate=").append(String.valueOf(this.certificate)); - sb.append(", privateKey=").append(String.valueOf(this.privateKey)); + sb.append(", privateKey=").append(""); sb.append(")"); return sb.toString(); } diff --git a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/PasswordSummary.java b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/PasswordSummary.java index 0e1c5c5f496..7a9121cbc57 100644 --- a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/PasswordSummary.java +++ b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/PasswordSummary.java @@ -22,8 +22,15 @@ public final class PasswordSummary extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"adminPassword"}) public PasswordSummary(String adminPassword) { + super(); + this.adminPassword = adminPassword != null ? adminPassword.toCharArray() : null; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + @java.beans.ConstructorProperties({"adminPassword"}) + public PasswordSummary(char[] adminPassword) { super(); this.adminPassword = adminPassword; } @@ -34,7 +41,7 @@ public static class Builder { * Base-64 encoded new admin password for the requested service after the reset operation. */ @com.fasterxml.jackson.annotation.JsonProperty("adminPassword") - private String adminPassword; + private char[] adminPassword; /** * Base-64 encoded new admin password for the requested service after the reset operation. @@ -42,12 +49,18 @@ public static class Builder { * @param adminPassword the value to set * @return this builder */ - public Builder adminPassword(String adminPassword) { + public Builder adminPassword(char[] adminPassword) { this.adminPassword = adminPassword; this.__explicitlySet__.add("adminPassword"); return this; } + public Builder adminPassword(String adminPassword) { + this.adminPassword = adminPassword != null ? adminPassword.toCharArray() : null; + this.__explicitlySet__.add("adminPassword"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -79,14 +92,27 @@ public Builder toBuilder() { /** Base-64 encoded new admin password for the requested service after the reset operation. */ @com.fasterxml.jackson.annotation.JsonProperty("adminPassword") - private final String adminPassword; + private final char[] adminPassword; /** * Base-64 encoded new admin password for the requested service after the reset operation. * * @return the value + * @deprecated Use getAdminPassword__AsCharArray() instead. */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore public String getAdminPassword() { + return adminPassword != null ? new String(adminPassword) : null; + } + + /** + * Base-64 encoded new admin password for the requested service after the reset operation. + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("adminPassword") + public char[] getAdminPassword__AsCharArray() { return adminPassword; } @@ -105,7 +131,7 @@ public String toString(boolean includeByteArrayContents) { java.lang.StringBuilder sb = new java.lang.StringBuilder(); sb.append("PasswordSummary("); sb.append("super=").append(super.toString()); - sb.append("adminPassword=").append(String.valueOf(this.adminPassword)); + sb.append("adminPassword=").append(""); sb.append(")"); return sb.toString(); } diff --git a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/ReplaceNodeDetails.java b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/ReplaceNodeDetails.java index d36d502144e..e48bdc869ad 100644 --- a/bmc-bds/src/main/java/com/oracle/bmc/bds/model/ReplaceNodeDetails.java +++ b/bmc-bds/src/main/java/com/oracle/bmc/bds/model/ReplaceNodeDetails.java @@ -27,6 +27,7 @@ public ReplaceNodeDetails( String nodeHostName, String nodeBackupId, String clusterAdminPassword, + java.util.List heterogeneousShapes, String secretId, String shape) { super(); @@ -34,6 +35,7 @@ public ReplaceNodeDetails( this.nodeBackupId = nodeBackupId; this.clusterAdminPassword = clusterAdminPassword != null ? clusterAdminPassword.toCharArray() : null; + this.heterogeneousShapes = heterogeneousShapes; this.secretId = secretId; this.shape = shape; } @@ -44,6 +46,7 @@ public ReplaceNodeDetails( "nodeHostName", "nodeBackupId", "clusterAdminPassword", + "heterogeneousShapes", "secretId", "shape" }) @@ -51,12 +54,14 @@ public ReplaceNodeDetails( String nodeHostName, String nodeBackupId, char[] clusterAdminPassword, + java.util.List heterogeneousShapes, String secretId, String shape) { super(); this.nodeHostName = nodeHostName; this.nodeBackupId = nodeBackupId; this.clusterAdminPassword = clusterAdminPassword; + this.heterogeneousShapes = heterogeneousShapes; this.secretId = secretId; this.shape = shape; } @@ -117,6 +122,21 @@ public Builder clusterAdminPassword(String clusterAdminPassword) { this.__explicitlySet__.add("clusterAdminPassword"); return this; } + /** Heterogeneous shape of the node if the default shape is not available. */ + @com.fasterxml.jackson.annotation.JsonProperty("heterogeneousShapes") + private java.util.List heterogeneousShapes; + + /** + * Heterogeneous shape of the node if the default shape is not available. + * + * @param heterogeneousShapes the value to set + * @return this builder + */ + public Builder heterogeneousShapes(java.util.List heterogeneousShapes) { + this.heterogeneousShapes = heterogeneousShapes; + this.__explicitlySet__.add("heterogeneousShapes"); + return this; + } /** The secretId for the clusterAdminPassword. */ @com.fasterxml.jackson.annotation.JsonProperty("secretId") private String secretId; @@ -161,6 +181,7 @@ public ReplaceNodeDetails build() { this.nodeHostName, this.nodeBackupId, this.clusterAdminPassword, + this.heterogeneousShapes, this.secretId, this.shape); for (String explicitlySetProperty : this.__explicitlySet__) { @@ -180,6 +201,9 @@ public Builder copy(ReplaceNodeDetails model) { if (model.wasPropertyExplicitlySet("clusterAdminPassword")) { this.clusterAdminPassword(model.getClusterAdminPassword()); } + if (model.wasPropertyExplicitlySet("heterogeneousShapes")) { + this.heterogeneousShapes(model.getHeterogeneousShapes()); + } if (model.wasPropertyExplicitlySet("secretId")) { this.secretId(model.getSecretId()); } @@ -251,6 +275,19 @@ public char[] getClusterAdminPassword__AsCharArray() { return clusterAdminPassword; } + /** Heterogeneous shape of the node if the default shape is not available. */ + @com.fasterxml.jackson.annotation.JsonProperty("heterogeneousShapes") + private final java.util.List heterogeneousShapes; + + /** + * Heterogeneous shape of the node if the default shape is not available. + * + * @return the value + */ + public java.util.List getHeterogeneousShapes() { + return heterogeneousShapes; + } + /** The secretId for the clusterAdminPassword. */ @com.fasterxml.jackson.annotation.JsonProperty("secretId") private final String secretId; @@ -299,6 +336,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("nodeHostName=").append(String.valueOf(this.nodeHostName)); sb.append(", nodeBackupId=").append(String.valueOf(this.nodeBackupId)); sb.append(", clusterAdminPassword=").append(""); + sb.append(", heterogeneousShapes=").append(String.valueOf(this.heterogeneousShapes)); sb.append(", secretId=").append(String.valueOf(this.secretId)); sb.append(", shape=").append(String.valueOf(this.shape)); sb.append(")"); @@ -318,6 +356,7 @@ public boolean equals(Object o) { return java.util.Objects.equals(this.nodeHostName, other.nodeHostName) && java.util.Objects.equals(this.nodeBackupId, other.nodeBackupId) && java.util.Objects.equals(this.clusterAdminPassword, other.clusterAdminPassword) + && java.util.Objects.equals(this.heterogeneousShapes, other.heterogeneousShapes) && java.util.Objects.equals(this.secretId, other.secretId) && java.util.Objects.equals(this.shape, other.shape) && super.equals(other); @@ -334,6 +373,11 @@ public int hashCode() { + (this.clusterAdminPassword == null ? 43 : this.clusterAdminPassword.hashCode()); + result = + (result * PRIME) + + (this.heterogeneousShapes == null + ? 43 + : this.heterogeneousShapes.hashCode()); result = (result * PRIME) + (this.secretId == null ? 43 : this.secretId.hashCode()); result = (result * PRIME) + (this.shape == null ? 43 : this.shape.hashCode()); result = (result * PRIME) + super.hashCode(); diff --git a/bmc-blockchain/pom.xml b/bmc-blockchain/pom.xml index 377d9f093a8..099ba329f71 100644 --- a/bmc-blockchain/pom.xml +++ b/bmc-blockchain/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-blockchain @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-bom/pom.xml b/bmc-bom/pom.xml index 27cd18e8b81..d32e3607047 100644 --- a/bmc-bom/pom.xml +++ b/bmc-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk - 3.86.2 + 3.87.0 oci-java-sdk-bom pom Oracle Cloud Infrastructure SDK - BOM @@ -38,1105 +38,1111 @@ com.oracle.oci.sdk oci-java-sdk-circuitbreaker - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-enforcer-rules - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-shaded-full - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-audit - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-containerengine - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-core - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-database - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-dns - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-email - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-objectstorage-extensions - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-filestorage - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-identity - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-loadbalancer - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-objectstorage - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey3 - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-addons-resteasy-client-configurator - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-addons-sasl - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-addons-oke-workload-identity - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-addons-sasl-oke-workload-identity - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-addons-aispeech-realtime - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-resourcesearch - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-addons-apache - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-keymanagement - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-announcementsservice - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-healthchecks - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-waas - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-streaming - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-resourcemanager - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-monitoring - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-ons - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-autoscaling - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-budget - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-workrequests - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-limits - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-functions - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-events - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-oce - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-oda - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-analytics - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-integration - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-marketplace - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-apigateway - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-datacatalog - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-dataflow - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-datascience - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-nosql - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-secrets - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-vault - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-bds - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-encryption - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-cims - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-datasafe - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-mysql - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-dataintegration - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-ocvp - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-usageapi - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-blockchain - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-loggingingestion - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-logging - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-loganalytics - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-managementdashboard - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-sch - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-loggingsearch - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-managementagent - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-cloudguard - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-opsi - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-computeinstanceagent - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-optimizer - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-tenantmanagercontrolplane - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-rover - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-databasemanagement - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-artifacts - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-apmsynthetics - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-goldengate - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-apmcontrolplane - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-apmtraces - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-networkloadbalancer - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-vulnerabilityscanning - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-databasemigration - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-servicecatalog - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-ailanguage - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-operatoraccesscontrol - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-bastion - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-genericartifactscontent - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-jms - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-devops - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-datalabelingservice - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-datalabelingservicedataplane - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-apmconfig - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-waf - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-certificates - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-certificatesmanagement - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-usage - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-databasetools - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-servicemanagerproxy - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-appmgmtcontrol - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-ospgateway - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-identitydataplane - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-visualbuilder - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-osubusage - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-osubsubscription - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-osuborganizationsubscription - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-osubbillingschedule - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-dashboardservice - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-threatintelligence - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-aivision - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-aispeech - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-stackmonitoring - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-adm - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-licensemanager - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-onesubscription - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-governancerulescontrolplane - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-waa - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-networkfirewall - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-vnmonitoring - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-emwarehouse - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-lockbox - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-fusionapps - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-mediaservices - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-opa - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-opensearch - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-cloudmigrations - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-cloudbridge - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-disasterrecovery - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-containerinstances - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-aidocument - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-queue - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-recovery - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-vbsinst - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-identitydomains - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-accessgovernancecp - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-ocicontrolcenter - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-osmanagementhub - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-fleetsoftwareupdate - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-computecloudatcustomer - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-marketplacepublisher - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-redis - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-jmsjavadownloads - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-psql - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-generativeai - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-generativeaiinference - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-capacitymanagement - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-desktops - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-emaildataplane - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-clusterplacementgroups - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-resourcescheduler - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-demandsignal - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-fleetappsmanagement - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-delegateaccesscontrol - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-generativeaiagent - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-generativeaiagentruntime - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-securityattribute - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-zpr - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-dblm - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-mngdmac - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-lustrefilestorage - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-modeldeployment - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-distributeddatabase - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-apiaccesscontrol - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-wlms - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-addons-adk - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-dbmulticloud - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-apiplatform - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-managedkafka - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-aidataplatform - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-multicloud - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-resourceanalytics - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-jmsutils - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-iot - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-psa - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-dif - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-batch - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-marketplaceprivateoffer - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-gdp - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-limitsincrease - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-generativeaidata - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-self - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-containerregistry - 3.86.2 + 3.87.0 false com.oracle.oci.sdk oci-java-sdk-databasetoolsruntime - 3.86.2 + 3.87.0 + false + + + com.oracle.oci.sdk + oci-java-sdk-costad + 3.87.0 false diff --git a/bmc-budget/pom.xml b/bmc-budget/pom.xml index 6b61098ffa7..158327a26c0 100644 --- a/bmc-budget/pom.xml +++ b/bmc-budget/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-budget @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-capacitymanagement/pom.xml b/bmc-capacitymanagement/pom.xml index c32a5e1f632..7dcb076d6f5 100644 --- a/bmc-capacitymanagement/pom.xml +++ b/bmc-capacitymanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-capacitymanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-certificates/pom.xml b/bmc-certificates/pom.xml index 1d14496091b..ef4aac7489a 100644 --- a/bmc-certificates/pom.xml +++ b/bmc-certificates/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-certificates @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-certificatesmanagement/pom.xml b/bmc-certificatesmanagement/pom.xml index 54c06771d06..02cb88fe4f2 100644 --- a/bmc-certificatesmanagement/pom.xml +++ b/bmc-certificatesmanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-certificatesmanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-cims/pom.xml b/bmc-cims/pom.xml index 72a671b6edd..8f533ec92b2 100644 --- a/bmc-cims/pom.xml +++ b/bmc-cims/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-cims @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-circuitbreaker/pom.xml b/bmc-circuitbreaker/pom.xml index d47ddfbf7e0..65b418cb4ff 100644 --- a/bmc-circuitbreaker/pom.xml +++ b/bmc-circuitbreaker/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-circuitbreaker diff --git a/bmc-cloudbridge/pom.xml b/bmc-cloudbridge/pom.xml index 0ffc7bee8a6..0feebffaaea 100644 --- a/bmc-cloudbridge/pom.xml +++ b/bmc-cloudbridge/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-cloudbridge @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-cloudguard/pom.xml b/bmc-cloudguard/pom.xml index e91fe281ad2..a9b7969a03b 100644 --- a/bmc-cloudguard/pom.xml +++ b/bmc-cloudguard/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-cloudguard @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-cloudmigrations/pom.xml b/bmc-cloudmigrations/pom.xml index 624239e382d..130111789f0 100644 --- a/bmc-cloudmigrations/pom.xml +++ b/bmc-cloudmigrations/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-cloudmigrations @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-clusterplacementgroups/pom.xml b/bmc-clusterplacementgroups/pom.xml index 6e54212fa54..48d1e8b4112 100644 --- a/bmc-clusterplacementgroups/pom.xml +++ b/bmc-clusterplacementgroups/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-clusterplacementgroups @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.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 eae36b285f9..9d2fd772795 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.86.2 + 3.87.0 ../pom.xml @@ -93,7 +93,7 @@ com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey - 3.86.2 + 3.87.0 @@ -102,7 +102,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.86.2 + 3.87.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 1498595ff61..aacb10d8a24 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 @@ -108,6 +108,7 @@ final class JerseyHttpClientBuilder implements HttpClientBuilder { private boolean useApacheConnector = true; private ExecutorServiceProvider executorServiceProvider = null; private boolean useJerseyDefaultExecutorServiceProvider = false; + private boolean asyncThreadPoolCoreThreadTimeoutEnabled = false; private ClientBuilderDecorator decorator = SIMPLE_DECORATOR; private boolean shouldSetDefaultConnectionManagerForApacheConnector = false; @@ -175,6 +176,8 @@ public HttpClientBuilder baseUri(String uri) { public HttpClientBuilder property(ClientProperty key, T value) { if (key == StandardClientProperties.ASYNC_POOL_SIZE) { properties.put(ClientProperties.ASYNC_THREADPOOL_SIZE, value); + } else if (key == StandardClientProperties.ASYNC_POOL_CORE_THREAD_TIMEOUT_ENABLED) { + asyncThreadPoolCoreThreadTimeoutEnabled = (((Boolean) value) == Boolean.TRUE); } else if (key == StandardClientProperties.READ_TIMEOUT) { properties.put(ClientProperties.READ_TIMEOUT, (int) ((Duration) value).toMillis()); } else if (key == StandardClientProperties.CONNECT_TIMEOUT) { @@ -372,7 +375,18 @@ public org.apache.http.impl.client.HttpClientBuilder configure( // no specific ExecutorServiceProvider set if (!useJerseyDefaultExecutorServiceProvider) { // not told to use Jersey's default - client.register(DaemonClientAsyncExecutorProvider.class); + if (asyncThreadPoolCoreThreadTimeoutEnabled) { + // Registering an instance bypasses Jersey injection, so pass the pool size + // explicitly along with the SDK-specific timeout flag. + client.register( + new DaemonClientAsyncExecutorProvider( + getAsyncThreadPoolSize(), + asyncThreadPoolCoreThreadTimeoutEnabled)); + } else { + // Registering the class lets Jersey inject ClientAsyncThreadPoolSize from + // ClientProperties.ASYNC_THREADPOOL_SIZE. + client.register(DaemonClientAsyncExecutorProvider.class); + } } } @@ -415,6 +429,10 @@ private boolean shouldUseApacheConnector() { return JerseyHttpProvider.isApacheDependencyPresent && useApacheConnector; } + private int getAsyncThreadPoolSize() { + return ((Number) properties.get(ClientProperties.ASYNC_THREADPOOL_SIZE)).intValue(); + } + private static class PrioritizedValue { final int priority; final T value; diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/internal/DaemonClientAsyncExecutorProvider.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/internal/DaemonClientAsyncExecutorProvider.java index 24e4db518a1..ee82e9e70e8 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/internal/DaemonClientAsyncExecutorProvider.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey/src/main/java/com/oracle/bmc/http/client/jersey/internal/DaemonClientAsyncExecutorProvider.java @@ -13,7 +13,10 @@ import javax.inject.Inject; import javax.inject.Named; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; import java.util.logging.Logger; /** Mostly copied from jersey DefaultClientAsyncExecutorProvider, but with daemon threads */ @@ -23,11 +26,18 @@ public class DaemonClientAsyncExecutorProvider extends ThreadPoolExecutorProvide Logger.getLogger(DaemonClientAsyncExecutorProvider.class.getName()); private final LazyValue asyncThreadPoolSize; + private final boolean allowCoreThreadTimeOut; @Inject public DaemonClientAsyncExecutorProvider( @Named("ClientAsyncThreadPoolSize") final int poolSize) { + this(poolSize, false); + } + + public DaemonClientAsyncExecutorProvider( + final int poolSize, final boolean allowCoreThreadTimeOut) { super("jersey-client-async-executor"); + this.allowCoreThreadTimeOut = allowCoreThreadTimeOut; this.asyncThreadPoolSize = Values.lazy( @@ -66,6 +76,28 @@ protected int getCorePoolSize() { } } + @Override + protected ThreadPoolExecutor createExecutor( + int corePoolSize, + int maximumPoolSize, + long keepAliveTime, + BlockingQueue workQueue, + ThreadFactory threadFactory, + RejectedExecutionHandler rejectedExecutionHandler) { + ThreadPoolExecutor executor = + super.createExecutor( + corePoolSize, + maximumPoolSize, + keepAliveTime, + workQueue, + threadFactory, + rejectedExecutionHandler); + if (allowCoreThreadTimeOut) { + executor.allowCoreThreadTimeOut(true); + } + return executor; + } + @Override protected ThreadFactory getBackingThreadFactory() { return task -> { 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 d2ca88718cf..c7841def7b4 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 @@ -6,12 +6,15 @@ import com.oracle.bmc.http.client.HttpClientBuilder; import com.oracle.bmc.http.client.internal.ClientThreadFactory; +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.junit.Test; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -19,6 +22,8 @@ import static org.junit.Assert.assertTrue; 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 validateEnabledIdleConnectionMonitorThread() { @@ -53,6 +58,44 @@ public void validateDisabledIdleConnectionMonitorThread() { client.close(); } + @Test + public void validateAsyncExecutorCoreThreadTimeoutDisabledByDefault() { + DaemonClientAsyncExecutorProvider provider = new DaemonClientAsyncExecutorProvider(1); + try { + ThreadPoolExecutor executor = (ThreadPoolExecutor) provider.getExecutorService(); + assertFalse(executor.allowsCoreThreadTimeOut()); + } finally { + provider.close(); + } + } + + @Test + public void validateAsyncExecutorCoreThreadTimeoutEnabledWhenOptedIn() { + DaemonClientAsyncExecutorProvider provider = new DaemonClientAsyncExecutorProvider(1, true); + try { + ThreadPoolExecutor executor = (ThreadPoolExecutor) provider.getExecutorService(); + assertTrue(executor.allowsCoreThreadTimeOut()); + } finally { + provider.close(); + } + } + + @Test + public void validateAsyncExecutorThreadsCleanedUpAfterCoreThreadTimeout() throws Exception { + DaemonClientAsyncExecutorProvider provider = + new TestDaemonClientAsyncExecutorProvider(1, true); + try { + ThreadPoolExecutor executor = (ThreadPoolExecutor) provider.getExecutorService(); + executor.submit(() -> {}).get(); + + assertTrue( + "Expected idle core executor threads to time out", + waitForPoolSize(executor, 0, EXECUTOR_THREAD_TIMEOUT_WAIT_MILLIS)); + } finally { + provider.close(); + } + } + @Test public void validateExecutorServiceWithoutShutdown() throws InterruptedException { @@ -140,4 +183,30 @@ public void shutdown() { } } } + + private static boolean waitForPoolSize( + ThreadPoolExecutor executor, int expectedPoolSize, long timeoutMillis) + throws InterruptedException { + long deadline = System.nanoTime() + TimeUnit.MILLISECONDS.toNanos(timeoutMillis); + while (System.nanoTime() < deadline) { + if (executor.getPoolSize() == expectedPoolSize) { + return true; + } + Thread.sleep(20); + } + return executor.getPoolSize() == expectedPoolSize; + } + + private static final class TestDaemonClientAsyncExecutorProvider + extends DaemonClientAsyncExecutorProvider { + private TestDaemonClientAsyncExecutorProvider( + int poolSize, boolean allowCoreThreadTimeOut) { + super(poolSize, allowCoreThreadTimeOut); + } + + @Override + protected long getKeepAliveTime() { + return TEST_KEEP_ALIVE_SECONDS; + } + } } 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 0687c9b7f01..d27c549ce66 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.86.2 + 3.87.0 ../pom.xml @@ -93,7 +93,7 @@ com.oracle.oci.sdk oci-java-sdk-addons-apache-configurator-jersey3 - 3.86.2 + 3.87.0 @@ -102,7 +102,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.86.2 + 3.87.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 b7735627107..4b401a38855 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 @@ -108,6 +108,7 @@ final class Jersey3HttpClientBuilder implements HttpClientBuilder { private boolean useApacheConnector = true; private ExecutorServiceProvider executorServiceProvider = null; private boolean useJerseyDefaultExecutorServiceProvider = false; + private boolean asyncThreadPoolCoreThreadTimeoutEnabled = false; private ClientBuilderDecorator decorator = SIMPLE_DECORATOR; private boolean shouldSetDefaultConnectionManagerForApacheConnector = false; @@ -176,6 +177,8 @@ public HttpClientBuilder baseUri(String uri) { public HttpClientBuilder property(ClientProperty key, T value) { if (key == StandardClientProperties.ASYNC_POOL_SIZE) { properties.put(ClientProperties.ASYNC_THREADPOOL_SIZE, value); + } else if (key == StandardClientProperties.ASYNC_POOL_CORE_THREAD_TIMEOUT_ENABLED) { + asyncThreadPoolCoreThreadTimeoutEnabled = (((Boolean) value) == Boolean.TRUE); } else if (key == StandardClientProperties.READ_TIMEOUT) { properties.put(ClientProperties.READ_TIMEOUT, (int) ((Duration) value).toMillis()); } else if (key == StandardClientProperties.CONNECT_TIMEOUT) { @@ -373,7 +376,18 @@ public org.apache.http.impl.client.HttpClientBuilder configure( // no specific ExecutorServiceProvider set if (!useJerseyDefaultExecutorServiceProvider) { // not told to use Jersey's default - client.register(DaemonClientAsyncExecutorProvider.class); + if (asyncThreadPoolCoreThreadTimeoutEnabled) { + // Registering an instance bypasses Jersey injection, so pass the pool size + // explicitly along with the SDK-specific timeout flag. + client.register( + new DaemonClientAsyncExecutorProvider( + getAsyncThreadPoolSize(), + asyncThreadPoolCoreThreadTimeoutEnabled)); + } else { + // Registering the class lets Jersey inject ClientAsyncThreadPoolSize from + // ClientProperties.ASYNC_THREADPOOL_SIZE. + client.register(DaemonClientAsyncExecutorProvider.class); + } } } @@ -416,6 +430,10 @@ private boolean shouldUseApacheConnector() { return Jersey3HttpProvider.isApacheDependencyPresent && useApacheConnector; } + private int getAsyncThreadPoolSize() { + return ((Number) properties.get(ClientProperties.ASYNC_THREADPOOL_SIZE)).intValue(); + } + private static class PrioritizedValue { final int priority; final T value; diff --git a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/internal/DaemonClientAsyncExecutorProvider.java b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/internal/DaemonClientAsyncExecutorProvider.java index 252c58b6c27..4c2d9e56ddc 100644 --- a/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/internal/DaemonClientAsyncExecutorProvider.java +++ b/bmc-common-httpclient-choices/bmc-common-httpclient-jersey3/src/main/java/com/oracle/bmc/http/client/jersey3/internal/DaemonClientAsyncExecutorProvider.java @@ -13,7 +13,10 @@ import org.glassfish.jersey.internal.util.collection.Values; import org.glassfish.jersey.spi.ThreadPoolExecutorProvider; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; import java.util.logging.Logger; /** Mostly copied from jersey DefaultClientAsyncExecutorProvider, but with daemon threads */ @@ -23,11 +26,18 @@ public class DaemonClientAsyncExecutorProvider extends ThreadPoolExecutorProvide Logger.getLogger(DaemonClientAsyncExecutorProvider.class.getName()); private final LazyValue asyncThreadPoolSize; + private final boolean allowCoreThreadTimeOut; @Inject public DaemonClientAsyncExecutorProvider( @Named("ClientAsyncThreadPoolSize") final int poolSize) { + this(poolSize, false); + } + + public DaemonClientAsyncExecutorProvider( + final int poolSize, final boolean allowCoreThreadTimeOut) { super("jersey-client-async-executor"); + this.allowCoreThreadTimeOut = allowCoreThreadTimeOut; this.asyncThreadPoolSize = Values.lazy( @@ -66,6 +76,28 @@ protected int getCorePoolSize() { } } + @Override + protected ThreadPoolExecutor createExecutor( + int corePoolSize, + int maximumPoolSize, + long keepAliveTime, + BlockingQueue workQueue, + ThreadFactory threadFactory, + RejectedExecutionHandler rejectedExecutionHandler) { + ThreadPoolExecutor executor = + super.createExecutor( + corePoolSize, + maximumPoolSize, + keepAliveTime, + workQueue, + threadFactory, + rejectedExecutionHandler); + if (allowCoreThreadTimeOut) { + executor.allowCoreThreadTimeOut(true); + } + return executor; + } + @Override protected ThreadFactory getBackingThreadFactory() { return task -> { 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 08f20ce5dd2..b72b7e3dee9 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 @@ -7,6 +7,7 @@ import com.oracle.bmc.http.client.HttpClientBuilder; import com.oracle.bmc.http.client.Method; import com.oracle.bmc.http.client.internal.ClientThreadFactory; +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.junit.Test; @@ -15,6 +16,8 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertEquals; @@ -23,6 +26,8 @@ import static org.junit.Assert.assertTrue; 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 validateEnabledIdleConnectionMonitorThread() { @@ -57,6 +62,44 @@ public void validateDisabledIdleConnectionMonitorThread() { client.close(); } + @Test + public void validateAsyncExecutorCoreThreadTimeoutDisabledByDefault() { + DaemonClientAsyncExecutorProvider provider = new DaemonClientAsyncExecutorProvider(1); + try { + ThreadPoolExecutor executor = (ThreadPoolExecutor) provider.getExecutorService(); + assertFalse(executor.allowsCoreThreadTimeOut()); + } finally { + provider.close(); + } + } + + @Test + public void validateAsyncExecutorCoreThreadTimeoutEnabledWhenOptedIn() { + DaemonClientAsyncExecutorProvider provider = new DaemonClientAsyncExecutorProvider(1, true); + try { + ThreadPoolExecutor executor = (ThreadPoolExecutor) provider.getExecutorService(); + assertTrue(executor.allowsCoreThreadTimeOut()); + } finally { + provider.close(); + } + } + + @Test + public void validateAsyncExecutorThreadsCleanedUpAfterCoreThreadTimeout() throws Exception { + DaemonClientAsyncExecutorProvider provider = + new TestDaemonClientAsyncExecutorProvider(1, true); + try { + ThreadPoolExecutor executor = (ThreadPoolExecutor) provider.getExecutorService(); + executor.submit(() -> {}).get(); + + assertTrue( + "Expected idle core executor threads to time out", + waitForPoolSize(executor, 0, EXECUTOR_THREAD_TIMEOUT_WAIT_MILLIS)); + } finally { + provider.close(); + } + } + @Test public void validateExecutorServiceWithoutShutdown() throws InterruptedException { @@ -144,4 +187,30 @@ public void shutdown() { } } } + + private static boolean waitForPoolSize( + ThreadPoolExecutor executor, int expectedPoolSize, long timeoutMillis) + throws InterruptedException { + long deadline = System.nanoTime() + TimeUnit.MILLISECONDS.toNanos(timeoutMillis); + while (System.nanoTime() < deadline) { + if (executor.getPoolSize() == expectedPoolSize) { + return true; + } + Thread.sleep(20); + } + return executor.getPoolSize() == expectedPoolSize; + } + + private static final class TestDaemonClientAsyncExecutorProvider + extends DaemonClientAsyncExecutorProvider { + private TestDaemonClientAsyncExecutorProvider( + int poolSize, boolean allowCoreThreadTimeOut) { + super(poolSize, allowCoreThreadTimeOut); + } + + @Override + protected long getKeepAliveTime() { + return TEST_KEEP_ALIVE_SECONDS; + } + } } diff --git a/bmc-common-httpclient-choices/pom.xml b/bmc-common-httpclient-choices/pom.xml index 301ac485c18..05a9c5ca1ac 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.86.2 + 3.87.0 ../pom.xml diff --git a/bmc-common-httpclient/pom.xml b/bmc-common-httpclient/pom.xml index 8e323725413..94295e06efc 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.86.2 + 3.87.0 ../pom.xml diff --git a/bmc-common-httpclient/src/main/java/com/oracle/bmc/http/client/Options.java b/bmc-common-httpclient/src/main/java/com/oracle/bmc/http/client/Options.java index 0a4ede19495..9288f8fbd3d 100644 --- a/bmc-common-httpclient/src/main/java/com/oracle/bmc/http/client/Options.java +++ b/bmc-common-httpclient/src/main/java/com/oracle/bmc/http/client/Options.java @@ -20,6 +20,16 @@ public enum Options { private static final String JAVASDK_TOKEN_REFRESH_ENABLED_SYSTEM_PROPERTY = "oci.javasdk.token.refresh.enabled"; + /** The system property key for sync-request async core thread timeout enablement. */ + private static final String + JAVASDK_SYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY = + "oci.javasdk.sync.requests.async.core.thread.timeout.enabled"; + + /** The system property key for async-request async core thread timeout enablement. */ + private static final String + JAVASDK_ASYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY = + "oci.javasdk.async.requests.async.core.thread.timeout.enabled"; + /** * Flag indicating whether token refresh retries are enabled. By default, the token refresh * retries are enabled for 401s and processing exceptions. You have the flexibility to disable @@ -31,12 +41,30 @@ public enum Options { */ private static volatile boolean TOKEN_REFRESH_RETRY_ENABLED; + /** + * Flag indicating whether idle core threads in the SDK-managed async HTTP executor may time out + * for sync request execution. Default is false. + */ + private static volatile boolean SYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED; + + /** + * Flag indicating whether idle core threads in the SDK-managed async HTTP executor may time out + * for async request execution. Default is false. + */ + private static volatile boolean ASYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED; + static { /** - * Initializes token refresher. Token refresh can be managed by system property {@value - * #JAVASDK_TOKEN_REFRESH_ENABLED_SYSTEM_PROPERTY}. The default is true. + * Initializes token refresher and async core thread timeout options. Token refresh can be + * managed by system property {@value #JAVASDK_TOKEN_REFRESH_ENABLED_SYSTEM_PROPERTY}. The + * default is true. Sync and async request async core thread timeout options can be managed + * by system properties {@value + * #JAVASDK_SYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY} and {@value + * #JAVASDK_ASYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY}. The default + * is false. */ initializeTokenRefreshRetryEnabled(); + initializeAsyncCoreThreadTimeoutOptions(); } /** @@ -123,4 +151,50 @@ private static void initializeTokenRefreshRetryEnabled() { public static boolean isTokenRefreshRetrierEnabled() { return TOKEN_REFRESH_RETRY_ENABLED; } + + /** Initializes async core thread timeout enablement based on system properties. */ + private static void initializeAsyncCoreThreadTimeoutOptions() { + SYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED = + Boolean.parseBoolean( + System.getProperty( + JAVASDK_SYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY, + "false")); + ASYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED = + Boolean.parseBoolean( + System.getProperty( + JAVASDK_ASYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY, + "false")); + LOG.debug( + "Setting sync requests async core thread timeout to {} ({} set to {})", + SYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED, + JAVASDK_SYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY, + System.getProperty( + JAVASDK_SYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY)); + LOG.debug( + "Setting async requests async core thread timeout to {} ({} set to {})", + ASYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED, + JAVASDK_ASYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY, + System.getProperty( + JAVASDK_ASYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED_SYSTEM_PROPERTY)); + } + + /** + * Returns whether idle core threads in the SDK-managed async HTTP executor may time out for + * sync request execution. + * + * @return true if idle core async executor threads may time out for sync request execution + */ + public static boolean isSyncRequestsAsyncCoreThreadTimeoutEnabled() { + return SYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED; + } + + /** + * Returns whether idle core threads in the SDK-managed async HTTP executor may time out for + * async request execution. + * + * @return true if idle core async executor threads may time out for async request execution + */ + public static boolean isAsyncRequestsAsyncCoreThreadTimeoutEnabled() { + return ASYNC_REQUESTS_ASYNC_CORE_THREAD_TIMEOUT_ENABLED; + } } diff --git a/bmc-common-httpclient/src/main/java/com/oracle/bmc/http/client/StandardClientProperties.java b/bmc-common-httpclient/src/main/java/com/oracle/bmc/http/client/StandardClientProperties.java index 5fd2e0a25d0..d8214f49133 100644 --- a/bmc-common-httpclient/src/main/java/com/oracle/bmc/http/client/StandardClientProperties.java +++ b/bmc-common-httpclient/src/main/java/com/oracle/bmc/http/client/StandardClientProperties.java @@ -18,6 +18,8 @@ private StandardClientProperties() {} ClientProperty.create("connectTimeout"); public static final ClientProperty ASYNC_POOL_SIZE = ClientProperty.create("asyncPoolSize"); + public static final ClientProperty ASYNC_POOL_CORE_THREAD_TIMEOUT_ENABLED = + ClientProperty.create("asyncPoolCoreThreadTimeoutEnabled"); public static final ClientProperty BUFFER_REQUEST = ClientProperty.create("bufferRequest"); public static final ClientProperty KEY_STORE = diff --git a/bmc-common/pom.xml b/bmc-common/pom.xml index 54e289ef842..3b4f7c367ab 100644 --- a/bmc-common/pom.xml +++ b/bmc-common/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -87,12 +87,12 @@ com.oracle.oci.sdk oci-java-sdk-circuitbreaker - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.86.2 + 3.87.0 @@ -137,7 +137,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.86.2 + 3.87.0 test diff --git a/bmc-common/src/main/java/com/oracle/bmc/ClientConfiguration.java b/bmc-common/src/main/java/com/oracle/bmc/ClientConfiguration.java index 338edcfc5f4..69b1d70e9dd 100644 --- a/bmc-common/src/main/java/com/oracle/bmc/ClientConfiguration.java +++ b/bmc-common/src/main/java/com/oracle/bmc/ClientConfiguration.java @@ -6,6 +6,7 @@ import com.oracle.bmc.circuitbreaker.CircuitBreakerConfiguration; import com.oracle.bmc.circuitbreaker.OciCircuitBreaker; +import com.oracle.bmc.http.client.Options; import com.oracle.bmc.retrier.RetryConfiguration; /** This class provides configuration options for client requests. */ @@ -34,6 +35,21 @@ public class ClientConfiguration { /** The circuit-breaker to use. Default is no circuit-breaker. */ private final OciCircuitBreaker circuitBreaker; + /** + * Whether idle core threads in the SDK-managed async HTTP executor may time out. Default is + * controlled by the {@code oci.javasdk.sync.requests.async.core.thread.timeout.enabled} system + * property, or false if the property is absent. + */ + private final boolean syncRequestsAsyncCoreThreadTimeoutEnabled; + + /** + * Whether idle core threads in the SDK-managed async HTTP executor may time out for async + * request execution. Default is controlled by the {@code + * oci.javasdk.async.requests.async.core.thread.timeout.enabled} system property, or false if + * the property is absent. + */ + private final boolean asyncRequestsAsyncCoreThreadTimeoutEnabled; + // Explicit @Builder on constructor so we can enforce default values. private ClientConfiguration( Integer connectionTimeoutMillis, @@ -42,7 +58,9 @@ private ClientConfiguration( Boolean disableDataBufferingOnUpload, RetryConfiguration retryConfiguration, CircuitBreakerConfiguration circuitBreakerConfiguration, - OciCircuitBreaker circuitBreaker) { + OciCircuitBreaker circuitBreaker, + Boolean syncRequestsAsyncCoreThreadTimeoutEnabled, + Boolean asyncRequestsAsyncCoreThreadTimeoutEnabled) { this.connectionTimeoutMillis = getOrDefault(connectionTimeoutMillis, CONNECTION_TIMEOUT_MILLIS); @@ -51,6 +69,14 @@ private ClientConfiguration( this.retryConfiguration = retryConfiguration; this.circuitBreakerConfiguration = circuitBreakerConfiguration; this.circuitBreaker = circuitBreaker; + this.syncRequestsAsyncCoreThreadTimeoutEnabled = + getOrDefault( + syncRequestsAsyncCoreThreadTimeoutEnabled, + Options.isSyncRequestsAsyncCoreThreadTimeoutEnabled()); + this.asyncRequestsAsyncCoreThreadTimeoutEnabled = + getOrDefault( + asyncRequestsAsyncCoreThreadTimeoutEnabled, + Options.isAsyncRequestsAsyncCoreThreadTimeoutEnabled()); } private static T getOrDefault(T value, T defaultValue) { @@ -85,6 +111,14 @@ public OciCircuitBreaker getCircuitBreaker() { return this.circuitBreaker; } + public boolean isSyncRequestsAsyncCoreThreadTimeoutEnabled() { + return this.syncRequestsAsyncCoreThreadTimeoutEnabled; + } + + public boolean isAsyncRequestsAsyncCoreThreadTimeoutEnabled() { + return this.asyncRequestsAsyncCoreThreadTimeoutEnabled; + } + public String toString() { return "ClientConfiguration(connectionTimeoutMillis=" + this.getConnectionTimeoutMillis() @@ -98,6 +132,10 @@ public String toString() { + this.getCircuitBreakerConfiguration() + ", circuitBreaker=" + this.getCircuitBreaker() + + ", syncRequestsAsyncCoreThreadTimeoutEnabled=" + + this.isSyncRequestsAsyncCoreThreadTimeoutEnabled() + + ", asyncRequestsAsyncCoreThreadTimeoutEnabled=" + + this.isAsyncRequestsAsyncCoreThreadTimeoutEnabled() + ")"; } @@ -110,6 +148,8 @@ public static class ClientConfigurationBuilder { private CircuitBreakerConfiguration circuitBreakerConfiguration; private OciCircuitBreaker circuitBreaker; + private Boolean syncRequestsAsyncCoreThreadTimeoutEnabled; + private Boolean asyncRequestsAsyncCoreThreadTimeoutEnabled; ClientConfigurationBuilder() {} @@ -151,6 +191,40 @@ public ClientConfigurationBuilder circuitBreaker(OciCircuitBreaker circuitBreake return this; } + /** + * Opt in to allowing idle core threads in the SDK-managed async HTTP executor to time out. + * If unset, the default is controlled by the {@code + * oci.javasdk.sync.requests.async.core.thread.timeout.enabled} system property, or false if + * the property is absent. + * + * @param syncRequestsAsyncCoreThreadTimeoutEnabled whether idle core async executor threads + * may time out for sync request execution + * @return this builder + */ + public ClientConfigurationBuilder syncRequestsAsyncCoreThreadTimeoutEnabled( + Boolean syncRequestsAsyncCoreThreadTimeoutEnabled) { + this.syncRequestsAsyncCoreThreadTimeoutEnabled = + syncRequestsAsyncCoreThreadTimeoutEnabled; + return this; + } + + /** + * Opt in to allowing idle core threads in the SDK-managed async HTTP executor to time out + * for async request execution. If unset, the default is controlled by the {@code + * oci.javasdk.async.requests.async.core.thread.timeout.enabled} system property, or false + * if the property is absent. + * + * @param asyncRequestsAsyncCoreThreadTimeoutEnabled whether idle core async executor + * threads may time out for async request execution + * @return this builder + */ + public ClientConfigurationBuilder asyncRequestsAsyncCoreThreadTimeoutEnabled( + Boolean asyncRequestsAsyncCoreThreadTimeoutEnabled) { + this.asyncRequestsAsyncCoreThreadTimeoutEnabled = + asyncRequestsAsyncCoreThreadTimeoutEnabled; + return this; + } + public ClientConfiguration build() { return new ClientConfiguration( connectionTimeoutMillis, @@ -159,7 +233,9 @@ public ClientConfiguration build() { disableDataBufferingOnUpload, retryConfiguration, circuitBreakerConfiguration, - circuitBreaker); + circuitBreaker, + syncRequestsAsyncCoreThreadTimeoutEnabled, + asyncRequestsAsyncCoreThreadTimeoutEnabled); } public String toString() { @@ -177,6 +253,10 @@ public String toString() { + this.circuitBreakerConfiguration + ", circuitBreaker=" + this.circuitBreaker + + ", syncRequestsAsyncCoreThreadTimeoutEnabled=" + + this.syncRequestsAsyncCoreThreadTimeoutEnabled + + ", asyncRequestsAsyncCoreThreadTimeoutEnabled=" + + this.asyncRequestsAsyncCoreThreadTimeoutEnabled + ")"; } } diff --git a/bmc-common/src/main/java/com/oracle/bmc/http/internal/BaseClient.java b/bmc-common/src/main/java/com/oracle/bmc/http/internal/BaseClient.java index eb0334e7ff2..c51f737f85d 100644 --- a/bmc-common/src/main/java/com/oracle/bmc/http/internal/BaseClient.java +++ b/bmc-common/src/main/java/com/oracle/bmc/http/internal/BaseClient.java @@ -355,6 +355,9 @@ public final synchronized void setEndpoint(String endpoint) { .property( StandardClientProperties.ASYNC_POOL_SIZE, clientConfigurationToUse.getMaxAsyncThreads()) + .property( + StandardClientProperties.ASYNC_POOL_CORE_THREAD_TIMEOUT_ENABLED, + isAsyncThreadPoolCoreThreadTimeoutEnabled()) .registerRequestInterceptor( Priorities.AUTHENTICATION, new AuthnClientFilter(defaultRequestSigner, requestSigners)) @@ -375,6 +378,12 @@ public final synchronized void setEndpoint(String endpoint) { httpClient, circuitBreakerConfiguration); } + private boolean isAsyncThreadPoolCoreThreadTimeoutEnabled() { + return this instanceof BaseAsyncClient + ? clientConfigurationToUse.isAsyncRequestsAsyncCoreThreadTimeoutEnabled() + : clientConfigurationToUse.isSyncRequestsAsyncCoreThreadTimeoutEnabled(); + } + /** * Get the endpoint of the client. * diff --git a/bmc-common/src/test/java/com/oracle/bmc/ClientConfigurationTest.java b/bmc-common/src/test/java/com/oracle/bmc/ClientConfigurationTest.java new file mode 100644 index 00000000000..58a01c6035c --- /dev/null +++ b/bmc-common/src/test/java/com/oracle/bmc/ClientConfigurationTest.java @@ -0,0 +1,42 @@ +/** + * 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; + +import org.junit.Test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class ClientConfigurationTest { + @Test + public void asyncThreadPoolCoreThreadTimeoutControlsDisabledByDefault() { + ClientConfiguration configuration = ClientConfiguration.builder().build(); + + assertFalse(configuration.isSyncRequestsAsyncCoreThreadTimeoutEnabled()); + assertFalse(configuration.isAsyncRequestsAsyncCoreThreadTimeoutEnabled()); + } + + @Test + public void syncRequestsAsyncCoreThreadTimeoutEnabledWhenOptedIn() { + ClientConfiguration configuration = + ClientConfiguration.builder() + .syncRequestsAsyncCoreThreadTimeoutEnabled(true) + .build(); + + assertTrue(configuration.isSyncRequestsAsyncCoreThreadTimeoutEnabled()); + assertFalse(configuration.isAsyncRequestsAsyncCoreThreadTimeoutEnabled()); + } + + @Test + public void asyncRequestsAsyncCoreThreadTimeoutEnabledWhenOptedIn() { + ClientConfiguration configuration = + ClientConfiguration.builder() + .asyncRequestsAsyncCoreThreadTimeoutEnabled(true) + .build(); + + assertFalse(configuration.isSyncRequestsAsyncCoreThreadTimeoutEnabled()); + assertTrue(configuration.isAsyncRequestsAsyncCoreThreadTimeoutEnabled()); + } +} diff --git a/bmc-computecloudatcustomer/pom.xml b/bmc-computecloudatcustomer/pom.xml index 5287d44e5c0..10e2fb2246e 100644 --- a/bmc-computecloudatcustomer/pom.xml +++ b/bmc-computecloudatcustomer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-computecloudatcustomer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-computeinstanceagent/pom.xml b/bmc-computeinstanceagent/pom.xml index bd613e86828..30db1f7be7d 100644 --- a/bmc-computeinstanceagent/pom.xml +++ b/bmc-computeinstanceagent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-computeinstanceagent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-containerengine/pom.xml b/bmc-containerengine/pom.xml index e48fad07429..49e12a03b1d 100644 --- a/bmc-containerengine/pom.xml +++ b/bmc-containerengine/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 diff --git a/bmc-containerinstances/pom.xml b/bmc-containerinstances/pom.xml index b7cf231101a..0424fe0cd22 100644 --- a/bmc-containerinstances/pom.xml +++ b/bmc-containerinstances/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-containerinstances @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-containerregistry/pom.xml b/bmc-containerregistry/pom.xml index 859263e3c21..143ccbbd8a8 100644 --- a/bmc-containerregistry/pom.xml +++ b/bmc-containerregistry/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-containerregistry @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-core/pom.xml b/bmc-core/pom.xml index dffd864bfe7..6e2dd8b8e09 100644 --- a/bmc-core/pom.xml +++ b/bmc-core/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.86.2 + 3.87.0 diff --git a/bmc-costad/pom.xml b/bmc-costad/pom.xml new file mode 100644 index 00000000000..ade8c33cc1c --- /dev/null +++ b/bmc-costad/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + com.oracle.oci.sdk + oci-java-sdk + 3.87.0 + ../pom.xml + + oci-java-sdk-costad + Oracle Cloud Infrastructure SDK - Costad + This project contains the SDK used for Oracle Cloud Infrastructure Costad + https://docs.cloud.oracle.com/Content/API/SDKDocs/javasdk.htm + + + com.oracle.oci.sdk + oci-java-sdk-common + 3.87.0 + + + \ No newline at end of file diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAd.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAd.java new file mode 100644 index 00000000000..c6e5ad0faa1 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAd.java @@ -0,0 +1,354 @@ +/** + * 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.costad; + +import com.oracle.bmc.costad.requests.*; +import com.oracle.bmc.costad.responses.*; + +/** + * Use the CostAd API to manage cost monitor, cost anomaly events and subscription list. For more + * information, see [Cost Anomaly Detection + * Overview](https://docs.oracle.com/iaas/Content/Billing/Concepts/costanomalydetectionoverview.htm). + * This service client uses CircuitBreakerUtils.DEFAULT_CIRCUIT_BREAKER for all the operations by + * default if no circuit breaker configuration is defined by the user. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public interface CostAd extends AutoCloseable { + + /** Rebuilds the client from scratch. Useful to refresh certificates. */ + void refreshClient(); + + /** + * Sets the endpoint to call (ex, https://www.example.com). + * + * @param endpoint The endpoint of the service. + */ + void setEndpoint(String endpoint); + + /** Gets the set endpoint for REST call (ex, https://www.example.com) */ + String getEndpoint(); + + /** + * Sets the region to call (ex, Region.US_PHOENIX_1). + * + *

Note, this will call {@link #setEndpoint(String) setEndpoint} after resolving the + * endpoint. If the service is not available in this Region, however, an + * IllegalArgumentException will be raised. + * + * @param region The region of the service. + */ + void setRegion(com.oracle.bmc.Region region); + + /** + * Sets the region to call (ex, 'us-phoenix-1'). + * + *

Note, this will first try to map the region ID to a known Region and call {@link + * #setRegion(Region) setRegion}. + * + *

If no known Region could be determined, it will create an endpoint based on the default + * endpoint format ({@link com.oracle.bmc.Region#formatDefaultRegionEndpoint(Service, String)} + * and then call {@link #setEndpoint(String) setEndpoint}. + * + * @param regionId The public region ID. + */ + void setRegion(String regionId); + + /** + * Determines whether realm specific endpoint should be used or not. Set + * realmSpecificEndpointTemplateEnabled to "true" if the user wants to enable use of realm + * specific endpoint template, otherwise set it to "false" + * + * @param realmSpecificEndpointTemplateEnabled flag to enable the use of realm specific endpoint + * template + */ + void useRealmSpecificEndpointTemplate(boolean realmSpecificEndpointTemplateEnabled); + + /** + * Creates a new CostAlert Subscription. + * + * @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 + * CreateCostAlertSubscription API. + */ + CreateCostAlertSubscriptionResponse createCostAlertSubscription( + CreateCostAlertSubscriptionRequest request); + + /** + * Creates a new costAnomaly Monitor. + * + * @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 + * CreateCostAnomalyMonitor API. + */ + CreateCostAnomalyMonitorResponse createCostAnomalyMonitor( + CreateCostAnomalyMonitorRequest request); + + /** + * Deletes a specified CostAlertSubscription resource. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * DeleteCostAlertSubscription API. + */ + DeleteCostAlertSubscriptionResponse deleteCostAlertSubscription( + DeleteCostAlertSubscriptionRequest request); + + /** + * Deletes a specified CostAnomalyMonitor resource. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * DeleteCostAnomalyMonitor API. + */ + DeleteCostAnomalyMonitorResponse deleteCostAnomalyMonitor( + DeleteCostAnomalyMonitorRequest request); + + /** + * Disables the cost anomaly monitor. This stops cost anomaly detection for targeted + * resource(s). + * + * @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 + * DisableCostAnomalyMonitor API. + */ + DisableCostAnomalyMonitorResponse disableCostAnomalyMonitor( + DisableCostAnomalyMonitorRequest request); + + /** + * Enables the cost anomaly monitor. This (re)starts the cost anomaly detection for targeted + * resource(s). + * + * @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 + * EnableCostAnomalyMonitor API. + */ + EnableCostAnomalyMonitorResponse enableCostAnomalyMonitor( + EnableCostAnomalyMonitorRequest request); + + /** + * Gets a CostAlertSubscription by the identifier. + * + * @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 + * GetCostAlertSubscription API. + */ + GetCostAlertSubscriptionResponse getCostAlertSubscription( + GetCostAlertSubscriptionRequest request); + + /** + * Gets a CostAnomalyEvent by the identifier. + * + * @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 GetCostAnomalyEvent + * API. + */ + GetCostAnomalyEventResponse getCostAnomalyEvent(GetCostAnomalyEventRequest request); + + /** + * Gets a CostAnomalyMonitor by the identifier. + * + * @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 + * GetCostAnomalyMonitor API. + */ + GetCostAnomalyMonitorResponse getCostAnomalyMonitor(GetCostAnomalyMonitorRequest request); + + /** + * Gets a list of Cost Alert Subscription in a compartment. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ListCostAlertSubscriptions API. + */ + ListCostAlertSubscriptionsResponse listCostAlertSubscriptions( + ListCostAlertSubscriptionsRequest request); + + /** + * Gets a list of Cost Anomaly Event in a compartment. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ListCostAnomalyEvents API. + */ + ListCostAnomalyEventsResponse listCostAnomalyEvents(ListCostAnomalyEventsRequest request); + + /** + * Gets a list of Cost Anomaly Monitors in a compartment. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use + * ListCostAnomalyMonitors API. + */ + ListCostAnomalyMonitorsResponse listCostAnomalyMonitors(ListCostAnomalyMonitorsRequest request); + + /** + * Gets a list of Cost Anomaly Events analytics summary - aggregated metrics for a given time + * period. + * + * @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 + * SummarizeCostAnomalyEventAnalytics API. + */ + SummarizeCostAnomalyEventAnalyticsResponse summarizeCostAnomalyEventAnalytics( + SummarizeCostAnomalyEventAnalyticsRequest request); + + /** + * Update a CostAlertSubscription identified by the OCID. + * + * @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 + * UpdateCostAlertSubscription API. + */ + UpdateCostAlertSubscriptionResponse updateCostAlertSubscription( + UpdateCostAlertSubscriptionRequest request); + + /** + * Update a CostAnomalyEvent identified by the OCID. + * + * @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 + * UpdateCostAnomalyEvent API. + */ + UpdateCostAnomalyEventResponse updateCostAnomalyEvent(UpdateCostAnomalyEventRequest request); + + /** + * Update a CostAnomalyMonitor identified by the OCID. + * + * @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 + * UpdateCostAnomalyMonitor API. + */ + UpdateCostAnomalyMonitorResponse updateCostAnomalyMonitor( + UpdateCostAnomalyMonitorRequest request); + + /** + * Gets the pre-configured waiters available for resources for this service. + * + * @return The service waiters. + */ + CostAdWaiters getWaiters(); + + /** + * Gets the pre-configured paginators available for list operations in this service which may + * return multiple pages of data. These paginators provide an {@link java.lang.Iterable} + * interface so that service responses, or resources/records, can be iterated through without + * having to manually deal with pagination and page tokens. + * + * @return The service paginators. + */ + CostAdPaginators getPaginators(); +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdAsync.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdAsync.java new file mode 100644 index 00000000000..3fdf1f03c10 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdAsync.java @@ -0,0 +1,326 @@ +/** + * 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.costad; + +import com.oracle.bmc.costad.requests.*; +import com.oracle.bmc.costad.responses.*; + +/** + * Use the CostAd API to manage cost monitor, cost anomaly events and subscription list. For more + * information, see [Cost Anomaly Detection + * Overview](https://docs.oracle.com/iaas/Content/Billing/Concepts/costanomalydetectionoverview.htm). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public interface CostAdAsync extends AutoCloseable { + + /** Rebuilds the client from scratch. Useful to refresh certificates. */ + void refreshClient(); + + /** + * Sets the endpoint to call (ex, https://www.example.com). + * + * @param endpoint The endpoint of the serice. + */ + void setEndpoint(String endpoint); + + /** Gets the set endpoint for REST call (ex, https://www.example.com) */ + String getEndpoint(); + + /** + * Sets the region to call (ex, Region.US_PHOENIX_1). + * + *

Note, this will call {@link #setEndpoint(String) setEndpoint} after resolving the + * endpoint. If the service is not available in this region, however, an + * IllegalArgumentException will be raised. + * + * @param region The region of the service. + */ + void setRegion(com.oracle.bmc.Region region); + + /** + * Sets the region to call (ex, 'us-phoenix-1'). + * + *

Note, this will first try to map the region ID to a known Region and call {@link + * #setRegion(Region) setRegion}. + * + *

If no known Region could be determined, it will create an endpoint based on the default + * endpoint format ({@link com.oracle.bmc.Region#formatDefaultRegionEndpoint(Service, String)} + * and then call {@link #setEndpoint(String) setEndpoint}. + * + * @param regionId The public region ID. + */ + void setRegion(String regionId); + + /** + * Determines whether realm specific endpoint should be used or not. Set + * realmSpecificEndpointTemplateEnabled to "true" if the user wants to enable use of realm + * specific endpoint template, otherwise set it to "false" + * + * @param realmSpecificEndpointTemplateEnabled flag to enable the use of realm specific endpoint + * template + */ + void useRealmSpecificEndpointTemplate(boolean realmSpecificEndpointTemplateEnabled); + + /** + * Creates a new CostAlert Subscription. + * + * @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 createCostAlertSubscription( + CreateCostAlertSubscriptionRequest request, + com.oracle.bmc.responses.AsyncHandler< + CreateCostAlertSubscriptionRequest, CreateCostAlertSubscriptionResponse> + handler); + + /** + * Creates a new costAnomaly Monitor. + * + * @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 createCostAnomalyMonitor( + CreateCostAnomalyMonitorRequest request, + com.oracle.bmc.responses.AsyncHandler< + CreateCostAnomalyMonitorRequest, CreateCostAnomalyMonitorResponse> + handler); + + /** + * Deletes a specified CostAlertSubscription resource. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future deleteCostAlertSubscription( + DeleteCostAlertSubscriptionRequest request, + com.oracle.bmc.responses.AsyncHandler< + DeleteCostAlertSubscriptionRequest, DeleteCostAlertSubscriptionResponse> + handler); + + /** + * Deletes a specified CostAnomalyMonitor resource. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future deleteCostAnomalyMonitor( + DeleteCostAnomalyMonitorRequest request, + com.oracle.bmc.responses.AsyncHandler< + DeleteCostAnomalyMonitorRequest, DeleteCostAnomalyMonitorResponse> + handler); + + /** + * Disables the cost anomaly monitor. This stops cost anomaly detection for targeted + * resource(s). + * + * @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 disableCostAnomalyMonitor( + DisableCostAnomalyMonitorRequest request, + com.oracle.bmc.responses.AsyncHandler< + DisableCostAnomalyMonitorRequest, DisableCostAnomalyMonitorResponse> + handler); + + /** + * Enables the cost anomaly monitor. This (re)starts the cost anomaly detection for targeted + * resource(s). + * + * @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 enableCostAnomalyMonitor( + EnableCostAnomalyMonitorRequest request, + com.oracle.bmc.responses.AsyncHandler< + EnableCostAnomalyMonitorRequest, EnableCostAnomalyMonitorResponse> + handler); + + /** + * Gets a CostAlertSubscription by the identifier. + * + * @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 getCostAlertSubscription( + GetCostAlertSubscriptionRequest request, + com.oracle.bmc.responses.AsyncHandler< + GetCostAlertSubscriptionRequest, GetCostAlertSubscriptionResponse> + handler); + + /** + * Gets a CostAnomalyEvent by the identifier. + * + * @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 getCostAnomalyEvent( + GetCostAnomalyEventRequest request, + com.oracle.bmc.responses.AsyncHandler< + GetCostAnomalyEventRequest, GetCostAnomalyEventResponse> + handler); + + /** + * Gets a CostAnomalyMonitor by the identifier. + * + * @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 getCostAnomalyMonitor( + GetCostAnomalyMonitorRequest request, + com.oracle.bmc.responses.AsyncHandler< + GetCostAnomalyMonitorRequest, GetCostAnomalyMonitorResponse> + handler); + + /** + * Gets a list of Cost Alert Subscription in a compartment. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future listCostAlertSubscriptions( + ListCostAlertSubscriptionsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListCostAlertSubscriptionsRequest, ListCostAlertSubscriptionsResponse> + handler); + + /** + * Gets a list of Cost Anomaly Event in a compartment. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future listCostAnomalyEvents( + ListCostAnomalyEventsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListCostAnomalyEventsRequest, ListCostAnomalyEventsResponse> + handler); + + /** + * Gets a list of Cost Anomaly Monitors in a compartment. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future listCostAnomalyMonitors( + ListCostAnomalyMonitorsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListCostAnomalyMonitorsRequest, ListCostAnomalyMonitorsResponse> + handler); + + /** + * Gets a list of Cost Anomaly Events analytics summary - aggregated metrics for a given time + * period. + * + * @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 + summarizeCostAnomalyEventAnalytics( + SummarizeCostAnomalyEventAnalyticsRequest request, + com.oracle.bmc.responses.AsyncHandler< + SummarizeCostAnomalyEventAnalyticsRequest, + SummarizeCostAnomalyEventAnalyticsResponse> + handler); + + /** + * Update a CostAlertSubscription identified by the OCID. + * + * @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 updateCostAlertSubscription( + UpdateCostAlertSubscriptionRequest request, + com.oracle.bmc.responses.AsyncHandler< + UpdateCostAlertSubscriptionRequest, UpdateCostAlertSubscriptionResponse> + handler); + + /** + * Update a CostAnomalyEvent identified by the OCID. + * + * @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 updateCostAnomalyEvent( + UpdateCostAnomalyEventRequest request, + com.oracle.bmc.responses.AsyncHandler< + UpdateCostAnomalyEventRequest, UpdateCostAnomalyEventResponse> + handler); + + /** + * Update a CostAnomalyMonitor identified by the OCID. + * + * @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 updateCostAnomalyMonitor( + UpdateCostAnomalyMonitorRequest request, + com.oracle.bmc.responses.AsyncHandler< + UpdateCostAnomalyMonitorRequest, UpdateCostAnomalyMonitorResponse> + handler); +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdAsyncClient.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdAsyncClient.java new file mode 100644 index 00000000000..4fda30d001a --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdAsyncClient.java @@ -0,0 +1,805 @@ +/** + * 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.costad; + +import com.oracle.bmc.util.internal.Validate; +import com.oracle.bmc.costad.requests.*; +import com.oracle.bmc.costad.responses.*; + +import java.util.Objects; + +/** + * Async client implementation for CostAd service.
+ * There are two ways to use async client: 1. Use AsyncHandler: using AsyncHandler, if the response + * to the call is an {@link java.io.InputStream}, like getObject Api in object storage service, + * developers need to process the stream in AsyncHandler, and not anywhere else, because the stream + * will be closed right after the AsyncHandler is invoked.
+ * 2. Use Java Future: using Java Future, developers need to close the stream after they are done + * with the Java Future.
+ * Accessing the result should be done in a mutually exclusive manner, either through the Future or + * the AsyncHandler, but not both. If the Future is used, the caller should pass in null as the + * AsyncHandler. If the AsyncHandler is used, it is still safe to use the Future to determine + * whether or not the request was completed via Future.isDone/isCancelled.
+ * Please refer to + * https://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/ResteasyClientWithObjectStorageExample.java + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class CostAdAsyncClient extends com.oracle.bmc.http.internal.BaseAsyncClient + implements CostAdAsync { + /** Service instance for CostAd. */ + public static final com.oracle.bmc.Service SERVICE = + com.oracle.bmc.Services.serviceBuilder() + .serviceName(CostAdClient.class.getName()) + .serviceEndpointPrefix("") + .serviceEndpointTemplate("https://costad.{region}.oci.{secondLevelDomain}") + .build(); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(CostAdAsyncClient.class); + + CostAdAsyncClient( + com.oracle.bmc.common.ClientBuilderBase builder, + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider + authenticationDetailsProvider) { + super(builder, authenticationDetailsProvider); + } + + /** + * Create a builder for this client. + * + * @return builder + */ + public static Builder builder() { + return new Builder(SERVICE); + } + + /** + * Builder class for this client. The "authenticationDetailsProvider" is required and must be + * passed to the {@link #build(AbstractAuthenticationDetailsProvider)} method. + */ + public static class Builder + extends com.oracle.bmc.common.RegionalClientBuilder { + private Builder(com.oracle.bmc.Service service) { + super(service); + final String packageName = "costad"; + com.oracle.bmc.internal.Alloy.throwDisabledServiceExceptionIfAppropriate(packageName); + requestSignerFactory = + new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory( + com.oracle.bmc.http.signing.SigningStrategy.STANDARD); + } + + /** + * Build the client. + * + * @param authenticationDetailsProvider authentication details provider + * @return the client + */ + public CostAdAsyncClient build( + @jakarta.annotation.Nonnull + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider + authenticationDetailsProvider) { + return new CostAdAsyncClient(this, authenticationDetailsProvider); + } + } + + @Override + public void setRegion(com.oracle.bmc.Region region) { + super.setRegion(region); + } + + @Override + public void setRegion(String regionId) { + super.setRegion(regionId); + } + + @Override + public java.util.concurrent.Future + createCostAlertSubscription( + CreateCostAlertSubscriptionRequest request, + final com.oracle.bmc.responses.AsyncHandler< + CreateCostAlertSubscriptionRequest, + CreateCostAlertSubscriptionResponse> + handler) { + Objects.requireNonNull( + request.getCreateCostAlertSubscriptionDetails(), + "createCostAlertSubscriptionDetails is required"); + + return clientCall(request, CreateCostAlertSubscriptionResponse::builder) + .logger(LOG, "createCostAlertSubscription") + .serviceDetails("CostAd", "CreateCostAlertSubscription", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateCostAlertSubscriptionRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAlertSubscription.class, + CreateCostAlertSubscriptionResponse.Builder::costAlertSubscription) + .handleResponseHeaderString( + "opc-request-id", CreateCostAlertSubscriptionResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "etag", CreateCostAlertSubscriptionResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future createCostAnomalyMonitor( + CreateCostAnomalyMonitorRequest request, + final com.oracle.bmc.responses.AsyncHandler< + CreateCostAnomalyMonitorRequest, CreateCostAnomalyMonitorResponse> + handler) { + Objects.requireNonNull( + request.getCreateCostAnomalyMonitorDetails(), + "createCostAnomalyMonitorDetails is required"); + + return clientCall(request, CreateCostAnomalyMonitorResponse::builder) + .logger(LOG, "createCostAnomalyMonitor") + .serviceDetails("CostAd", "CreateCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + CreateCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString( + "opc-request-id", CreateCostAnomalyMonitorResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", CreateCostAnomalyMonitorResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future + deleteCostAlertSubscription( + DeleteCostAlertSubscriptionRequest request, + final com.oracle.bmc.responses.AsyncHandler< + DeleteCostAlertSubscriptionRequest, + DeleteCostAlertSubscriptionResponse> + handler) { + + Validate.notBlank( + request.getCostAlertSubscriptionId(), "costAlertSubscriptionId must not be blank"); + + return clientCall(request, DeleteCostAlertSubscriptionResponse::builder) + .logger(LOG, "deleteCostAlertSubscription") + .serviceDetails("CostAd", "DeleteCostAlertSubscription", "") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteCostAlertSubscriptionRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .appendPathParam(request.getCostAlertSubscriptionId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleResponseHeaderString( + "opc-request-id", DeleteCostAlertSubscriptionResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future deleteCostAnomalyMonitor( + DeleteCostAnomalyMonitorRequest request, + final com.oracle.bmc.responses.AsyncHandler< + DeleteCostAnomalyMonitorRequest, DeleteCostAnomalyMonitorResponse> + handler) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + + return clientCall(request, DeleteCostAnomalyMonitorResponse::builder) + .logger(LOG, "deleteCostAnomalyMonitor") + .serviceDetails("CostAd", "DeleteCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleResponseHeaderString( + "opc-request-id", DeleteCostAnomalyMonitorResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future disableCostAnomalyMonitor( + DisableCostAnomalyMonitorRequest request, + final com.oracle.bmc.responses.AsyncHandler< + DisableCostAnomalyMonitorRequest, DisableCostAnomalyMonitorResponse> + handler) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + + return clientCall(request, DisableCostAnomalyMonitorResponse::builder) + .logger(LOG, "disableCostAnomalyMonitor") + .serviceDetails("CostAd", "DisableCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(DisableCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .appendPathParam("actions") + .appendPathParam("disable") + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + DisableCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString("etag", DisableCostAnomalyMonitorResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", DisableCostAnomalyMonitorResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future enableCostAnomalyMonitor( + EnableCostAnomalyMonitorRequest request, + final com.oracle.bmc.responses.AsyncHandler< + EnableCostAnomalyMonitorRequest, EnableCostAnomalyMonitorResponse> + handler) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + + return clientCall(request, EnableCostAnomalyMonitorResponse::builder) + .logger(LOG, "enableCostAnomalyMonitor") + .serviceDetails("CostAd", "EnableCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(EnableCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .appendPathParam("actions") + .appendPathParam("enable") + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + EnableCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString("etag", EnableCostAnomalyMonitorResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", EnableCostAnomalyMonitorResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future getCostAlertSubscription( + GetCostAlertSubscriptionRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetCostAlertSubscriptionRequest, GetCostAlertSubscriptionResponse> + handler) { + + Validate.notBlank( + request.getCostAlertSubscriptionId(), "costAlertSubscriptionId must not be blank"); + + return clientCall(request, GetCostAlertSubscriptionResponse::builder) + .logger(LOG, "getCostAlertSubscription") + .serviceDetails("CostAd", "GetCostAlertSubscription", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCostAlertSubscriptionRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .appendPathParam(request.getCostAlertSubscriptionId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.costad.model.CostAlertSubscription.class, + GetCostAlertSubscriptionResponse.Builder::costAlertSubscription) + .handleResponseHeaderString( + "opc-request-id", GetCostAlertSubscriptionResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCostAlertSubscriptionResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future getCostAnomalyEvent( + GetCostAnomalyEventRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetCostAnomalyEventRequest, GetCostAnomalyEventResponse> + handler) { + + Validate.notBlank(request.getCostAnomalyEventId(), "costAnomalyEventId must not be blank"); + + return clientCall(request, GetCostAnomalyEventResponse::builder) + .logger(LOG, "getCostAnomalyEvent") + .serviceDetails("CostAd", "GetCostAnomalyEvent", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCostAnomalyEventRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyEvents") + .appendPathParam(request.getCostAnomalyEventId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyEvent.class, + GetCostAnomalyEventResponse.Builder::costAnomalyEvent) + .handleResponseHeaderString( + "opc-request-id", GetCostAnomalyEventResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCostAnomalyEventResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future getCostAnomalyMonitor( + GetCostAnomalyMonitorRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetCostAnomalyMonitorRequest, GetCostAnomalyMonitorResponse> + handler) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + + return clientCall(request, GetCostAnomalyMonitorResponse::builder) + .logger(LOG, "getCostAnomalyMonitor") + .serviceDetails("CostAd", "GetCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + GetCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString( + "opc-request-id", GetCostAnomalyMonitorResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCostAnomalyMonitorResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future + listCostAlertSubscriptions( + ListCostAlertSubscriptionsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListCostAlertSubscriptionsRequest, + ListCostAlertSubscriptionsResponse> + handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCostAlertSubscriptionsResponse::builder) + .logger(LOG, "listCostAlertSubscriptions") + .serviceDetails("CostAd", "ListCostAlertSubscriptions", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCostAlertSubscriptionsRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("name", request.getName()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.costad.model.CostAlertSubscriptionCollection.class, + ListCostAlertSubscriptionsResponse.Builder::costAlertSubscriptionCollection) + .handleResponseHeaderString( + "opc-request-id", ListCostAlertSubscriptionsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCostAlertSubscriptionsResponse.Builder::opcNextPage) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future listCostAnomalyEvents( + ListCostAnomalyEventsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListCostAnomalyEventsRequest, ListCostAnomalyEventsResponse> + handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCostAnomalyEventsResponse::builder) + .logger(LOG, "listCostAnomalyEvents") + .serviceDetails("CostAd", "ListCostAnomalyEvents", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCostAnomalyEventsRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyEvents") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("name", request.getName()) + .appendQueryParam("costAnomalyMonitorId", request.getCostAnomalyMonitorId()) + .appendListQueryParam( + "targetTenantId", + request.getTargetTenantId(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendQueryParam( + "timeAnomalyEventStartDate", request.getTimeAnomalyEventStartDate()) + .appendQueryParam("timeAnomalyEventEndDate", request.getTimeAnomalyEventEndDate()) + .appendListQueryParam( + "region", + request.getRegion(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendQueryParam("costImpact", request.getCostImpact()) + .appendQueryParam("costImpactPercentage", request.getCostImpactPercentage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyEventCollection.class, + ListCostAnomalyEventsResponse.Builder::costAnomalyEventCollection) + .handleResponseHeaderString( + "opc-request-id", ListCostAnomalyEventsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCostAnomalyEventsResponse.Builder::opcNextPage) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future listCostAnomalyMonitors( + ListCostAnomalyMonitorsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListCostAnomalyMonitorsRequest, ListCostAnomalyMonitorsResponse> + handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCostAnomalyMonitorsResponse::builder) + .logger(LOG, "listCostAnomalyMonitors") + .serviceDetails("CostAd", "ListCostAnomalyMonitors", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCostAnomalyMonitorsRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("name", request.getName()) + .appendListQueryParam( + "targetTenantId", + request.getTargetTenantId(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendListQueryParam( + "region", + request.getRegion(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitorCollection.class, + ListCostAnomalyMonitorsResponse.Builder::costAnomalyMonitorCollection) + .handleResponseHeaderString( + "opc-request-id", ListCostAnomalyMonitorsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCostAnomalyMonitorsResponse.Builder::opcNextPage) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future + summarizeCostAnomalyEventAnalytics( + SummarizeCostAnomalyEventAnalyticsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + SummarizeCostAnomalyEventAnalyticsRequest, + SummarizeCostAnomalyEventAnalyticsResponse> + handler) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, SummarizeCostAnomalyEventAnalyticsResponse::builder) + .logger(LOG, "summarizeCostAnomalyEventAnalytics") + .serviceDetails("CostAd", "SummarizeCostAnomalyEventAnalytics", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(SummarizeCostAnomalyEventAnalyticsRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyEventAnalytics") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("name", request.getName()) + .appendQueryParam("costAnomalyMonitorId", request.getCostAnomalyMonitorId()) + .appendListQueryParam( + "targetTenantId", + request.getTargetTenantId(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendQueryParam( + "timeAnomalyEventStartDate", request.getTimeAnomalyEventStartDate()) + .appendQueryParam("timeAnomalyEventEndDate", request.getTimeAnomalyEventEndDate()) + .appendListQueryParam( + "region", + request.getRegion(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendQueryParam("costImpact", request.getCostImpact()) + .appendQueryParam("costImpactPercentage", request.getCostImpactPercentage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyEventAnalyticCollection.class, + SummarizeCostAnomalyEventAnalyticsResponse.Builder + ::costAnomalyEventAnalyticCollection) + .handleResponseHeaderString( + "opc-request-id", + SummarizeCostAnomalyEventAnalyticsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", + SummarizeCostAnomalyEventAnalyticsResponse.Builder::opcNextPage) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future + updateCostAlertSubscription( + UpdateCostAlertSubscriptionRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UpdateCostAlertSubscriptionRequest, + UpdateCostAlertSubscriptionResponse> + handler) { + + Validate.notBlank( + request.getCostAlertSubscriptionId(), "costAlertSubscriptionId must not be blank"); + Objects.requireNonNull( + request.getUpdateCostAlertSubscriptionDetails(), + "updateCostAlertSubscriptionDetails is required"); + + return clientCall(request, UpdateCostAlertSubscriptionResponse::builder) + .logger(LOG, "updateCostAlertSubscription") + .serviceDetails("CostAd", "UpdateCostAlertSubscription", "") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateCostAlertSubscriptionRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .appendPathParam(request.getCostAlertSubscriptionId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAlertSubscription.class, + UpdateCostAlertSubscriptionResponse.Builder::costAlertSubscription) + .handleResponseHeaderString( + "opc-request-id", UpdateCostAlertSubscriptionResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "etag", UpdateCostAlertSubscriptionResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future updateCostAnomalyEvent( + UpdateCostAnomalyEventRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UpdateCostAnomalyEventRequest, UpdateCostAnomalyEventResponse> + handler) { + + Validate.notBlank(request.getCostAnomalyEventId(), "costAnomalyEventId must not be blank"); + Objects.requireNonNull( + request.getUpdateCostAnomalyEventDetails(), + "updateCostAnomalyEventDetails is required"); + + return clientCall(request, UpdateCostAnomalyEventResponse::builder) + .logger(LOG, "updateCostAnomalyEvent") + .serviceDetails("CostAd", "UpdateCostAnomalyEvent", "") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateCostAnomalyEventRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyEvents") + .appendPathParam(request.getCostAnomalyEventId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyEvent.class, + UpdateCostAnomalyEventResponse.Builder::costAnomalyEvent) + .handleResponseHeaderString( + "opc-request-id", UpdateCostAnomalyEventResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", UpdateCostAnomalyEventResponse.Builder::etag) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future updateCostAnomalyMonitor( + UpdateCostAnomalyMonitorRequest request, + final com.oracle.bmc.responses.AsyncHandler< + UpdateCostAnomalyMonitorRequest, UpdateCostAnomalyMonitorResponse> + handler) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + Objects.requireNonNull( + request.getUpdateCostAnomalyMonitorDetails(), + "updateCostAnomalyMonitorDetails is required"); + + return clientCall(request, UpdateCostAnomalyMonitorResponse::builder) + .logger(LOG, "updateCostAnomalyMonitor") + .serviceDetails("CostAd", "UpdateCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + UpdateCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString( + "opc-request-id", UpdateCostAnomalyMonitorResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", UpdateCostAnomalyMonitorResponse.Builder::etag) + .callAsync(handler); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdAsyncClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider) { + this(builder(), authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdAsyncClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration) { + this(builder().configuration(configuration), authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdAsyncClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator) { + this( + builder().configuration(configuration).clientConfigurator(clientConfigurator), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint), + authenticationDetailsProvider); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @param signingStrategyRequestSignerFactories {@link + * Builder#signingStrategyRequestSignerFactories} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdAsyncClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.Map< + com.oracle.bmc.http.signing.SigningStrategy, + com.oracle.bmc.http.signing.RequestSignerFactory> + signingStrategyRequestSignerFactories, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint) + .signingStrategyRequestSignerFactories( + signingStrategyRequestSignerFactories), + authenticationDetailsProvider); + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdClient.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdClient.java new file mode 100644 index 00000000000..0a3b6a89b73 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdClient.java @@ -0,0 +1,844 @@ +/** + * 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.costad; + +import com.oracle.bmc.util.internal.Validate; +import com.oracle.bmc.costad.requests.*; +import com.oracle.bmc.costad.responses.*; +import com.oracle.bmc.circuitbreaker.CircuitBreakerConfiguration; +import com.oracle.bmc.util.CircuitBreakerUtils; + +import java.util.Objects; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class CostAdClient extends com.oracle.bmc.http.internal.BaseSyncClient implements CostAd { + /** Service instance for CostAd. */ + public static final com.oracle.bmc.Service SERVICE = + com.oracle.bmc.Services.serviceBuilder() + .serviceName(CostAdClient.class.getName()) + .serviceEndpointPrefix("") + .serviceEndpointTemplate("https://costad.{region}.oci.{secondLevelDomain}") + .build(); + + private static final org.slf4j.Logger LOG = + org.slf4j.LoggerFactory.getLogger(CostAdClient.class); + + private final CostAdWaiters waiters; + + private final CostAdPaginators paginators; + + CostAdClient( + com.oracle.bmc.common.ClientBuilderBase builder, + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + java.util.concurrent.ExecutorService executorService) { + super( + builder, + authenticationDetailsProvider, + CircuitBreakerUtils.DEFAULT_CIRCUIT_BREAKER_CONFIGURATION); + + if (executorService == null) { + // up to 50 (core) threads, time out after 60s idle, all daemon + java.util.concurrent.ThreadPoolExecutor threadPoolExecutor = + new java.util.concurrent.ThreadPoolExecutor( + 50, + 50, + 60L, + java.util.concurrent.TimeUnit.SECONDS, + new java.util.concurrent.LinkedBlockingQueue(), + com.oracle.bmc.internal.ClientThreadFactory.builder() + .isDaemon(true) + .nameFormat("CostAd-waiters-%d") + .build()); + threadPoolExecutor.allowCoreThreadTimeOut(true); + + executorService = threadPoolExecutor; + } + this.waiters = new CostAdWaiters(executorService, this); + + this.paginators = new CostAdPaginators(this); + } + + /** + * Create a builder for this client. + * + * @return builder + */ + public static Builder builder() { + return new Builder(SERVICE); + } + + /** + * Builder class for this client. The "authenticationDetailsProvider" is required and must be + * passed to the {@link #build(AbstractAuthenticationDetailsProvider)} method. + */ + public static class Builder + extends com.oracle.bmc.common.RegionalClientBuilder { + private java.util.concurrent.ExecutorService executorService; + + private Builder(com.oracle.bmc.Service service) { + super(service); + final String packageName = "costad"; + com.oracle.bmc.internal.Alloy.throwDisabledServiceExceptionIfAppropriate(packageName); + requestSignerFactory = + new com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory( + com.oracle.bmc.http.signing.SigningStrategy.STANDARD); + } + + /** + * Set the ExecutorService for the client to be created. + * + * @param executorService executorService + * @return this builder + */ + public Builder executorService(java.util.concurrent.ExecutorService executorService) { + this.executorService = executorService; + return this; + } + + /** + * Build the client. + * + * @param authenticationDetailsProvider authentication details provider + * @return the client + */ + public CostAdClient build( + @jakarta.annotation.Nonnull + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider + authenticationDetailsProvider) { + return new CostAdClient(this, authenticationDetailsProvider, executorService); + } + } + + @Override + public void setRegion(com.oracle.bmc.Region region) { + super.setRegion(region); + } + + @Override + public void setRegion(String regionId) { + super.setRegion(regionId); + } + + @Override + public CreateCostAlertSubscriptionResponse createCostAlertSubscription( + CreateCostAlertSubscriptionRequest request) { + Objects.requireNonNull( + request.getCreateCostAlertSubscriptionDetails(), + "createCostAlertSubscriptionDetails is required"); + + return clientCall(request, CreateCostAlertSubscriptionResponse::builder) + .logger(LOG, "createCostAlertSubscription") + .serviceDetails("CostAd", "CreateCostAlertSubscription", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateCostAlertSubscriptionRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAlertSubscription.class, + CreateCostAlertSubscriptionResponse.Builder::costAlertSubscription) + .handleResponseHeaderString( + "opc-request-id", CreateCostAlertSubscriptionResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "etag", CreateCostAlertSubscriptionResponse.Builder::etag) + .callSync(); + } + + @Override + public CreateCostAnomalyMonitorResponse createCostAnomalyMonitor( + CreateCostAnomalyMonitorRequest request) { + Objects.requireNonNull( + request.getCreateCostAnomalyMonitorDetails(), + "createCostAnomalyMonitorDetails is required"); + + return clientCall(request, CreateCostAnomalyMonitorResponse::builder) + .logger(LOG, "createCostAnomalyMonitor") + .serviceDetails("CostAd", "CreateCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(CreateCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .accept("application/json") + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + CreateCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString( + "opc-request-id", CreateCostAnomalyMonitorResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", CreateCostAnomalyMonitorResponse.Builder::etag) + .callSync(); + } + + @Override + public DeleteCostAlertSubscriptionResponse deleteCostAlertSubscription( + DeleteCostAlertSubscriptionRequest request) { + + Validate.notBlank( + request.getCostAlertSubscriptionId(), "costAlertSubscriptionId must not be blank"); + + return clientCall(request, DeleteCostAlertSubscriptionResponse::builder) + .logger(LOG, "deleteCostAlertSubscription") + .serviceDetails("CostAd", "DeleteCostAlertSubscription", "") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteCostAlertSubscriptionRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .appendPathParam(request.getCostAlertSubscriptionId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleResponseHeaderString( + "opc-request-id", DeleteCostAlertSubscriptionResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public DeleteCostAnomalyMonitorResponse deleteCostAnomalyMonitor( + DeleteCostAnomalyMonitorRequest request) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + + return clientCall(request, DeleteCostAnomalyMonitorResponse::builder) + .logger(LOG, "deleteCostAnomalyMonitor") + .serviceDetails("CostAd", "DeleteCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.DELETE) + .requestBuilder(DeleteCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleResponseHeaderString( + "opc-request-id", DeleteCostAnomalyMonitorResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public DisableCostAnomalyMonitorResponse disableCostAnomalyMonitor( + DisableCostAnomalyMonitorRequest request) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + + return clientCall(request, DisableCostAnomalyMonitorResponse::builder) + .logger(LOG, "disableCostAnomalyMonitor") + .serviceDetails("CostAd", "DisableCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(DisableCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .appendPathParam("actions") + .appendPathParam("disable") + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + DisableCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString("etag", DisableCostAnomalyMonitorResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", DisableCostAnomalyMonitorResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public EnableCostAnomalyMonitorResponse enableCostAnomalyMonitor( + EnableCostAnomalyMonitorRequest request) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + + return clientCall(request, EnableCostAnomalyMonitorResponse::builder) + .logger(LOG, "enableCostAnomalyMonitor") + .serviceDetails("CostAd", "EnableCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.POST) + .requestBuilder(EnableCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .appendPathParam("actions") + .appendPathParam("enable") + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-retry-token", request.getOpcRetryToken()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + EnableCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString("etag", EnableCostAnomalyMonitorResponse.Builder::etag) + .handleResponseHeaderString( + "opc-request-id", EnableCostAnomalyMonitorResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public GetCostAlertSubscriptionResponse getCostAlertSubscription( + GetCostAlertSubscriptionRequest request) { + + Validate.notBlank( + request.getCostAlertSubscriptionId(), "costAlertSubscriptionId must not be blank"); + + return clientCall(request, GetCostAlertSubscriptionResponse::builder) + .logger(LOG, "getCostAlertSubscription") + .serviceDetails("CostAd", "GetCostAlertSubscription", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCostAlertSubscriptionRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .appendPathParam(request.getCostAlertSubscriptionId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.costad.model.CostAlertSubscription.class, + GetCostAlertSubscriptionResponse.Builder::costAlertSubscription) + .handleResponseHeaderString( + "opc-request-id", GetCostAlertSubscriptionResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCostAlertSubscriptionResponse.Builder::etag) + .callSync(); + } + + @Override + public GetCostAnomalyEventResponse getCostAnomalyEvent(GetCostAnomalyEventRequest request) { + + Validate.notBlank(request.getCostAnomalyEventId(), "costAnomalyEventId must not be blank"); + + return clientCall(request, GetCostAnomalyEventResponse::builder) + .logger(LOG, "getCostAnomalyEvent") + .serviceDetails("CostAd", "GetCostAnomalyEvent", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCostAnomalyEventRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyEvents") + .appendPathParam(request.getCostAnomalyEventId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyEvent.class, + GetCostAnomalyEventResponse.Builder::costAnomalyEvent) + .handleResponseHeaderString( + "opc-request-id", GetCostAnomalyEventResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCostAnomalyEventResponse.Builder::etag) + .callSync(); + } + + @Override + public GetCostAnomalyMonitorResponse getCostAnomalyMonitor( + GetCostAnomalyMonitorRequest request) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + + return clientCall(request, GetCostAnomalyMonitorResponse::builder) + .logger(LOG, "getCostAnomalyMonitor") + .serviceDetails("CostAd", "GetCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + GetCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString( + "opc-request-id", GetCostAnomalyMonitorResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", GetCostAnomalyMonitorResponse.Builder::etag) + .callSync(); + } + + @Override + public ListCostAlertSubscriptionsResponse listCostAlertSubscriptions( + ListCostAlertSubscriptionsRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCostAlertSubscriptionsResponse::builder) + .logger(LOG, "listCostAlertSubscriptions") + .serviceDetails("CostAd", "ListCostAlertSubscriptions", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCostAlertSubscriptionsRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("name", request.getName()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.costad.model.CostAlertSubscriptionCollection.class, + ListCostAlertSubscriptionsResponse.Builder::costAlertSubscriptionCollection) + .handleResponseHeaderString( + "opc-request-id", ListCostAlertSubscriptionsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCostAlertSubscriptionsResponse.Builder::opcNextPage) + .callSync(); + } + + @Override + public ListCostAnomalyEventsResponse listCostAnomalyEvents( + ListCostAnomalyEventsRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCostAnomalyEventsResponse::builder) + .logger(LOG, "listCostAnomalyEvents") + .serviceDetails("CostAd", "ListCostAnomalyEvents", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCostAnomalyEventsRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyEvents") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("name", request.getName()) + .appendQueryParam("costAnomalyMonitorId", request.getCostAnomalyMonitorId()) + .appendListQueryParam( + "targetTenantId", + request.getTargetTenantId(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendQueryParam( + "timeAnomalyEventStartDate", request.getTimeAnomalyEventStartDate()) + .appendQueryParam("timeAnomalyEventEndDate", request.getTimeAnomalyEventEndDate()) + .appendListQueryParam( + "region", + request.getRegion(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendQueryParam("costImpact", request.getCostImpact()) + .appendQueryParam("costImpactPercentage", request.getCostImpactPercentage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyEventCollection.class, + ListCostAnomalyEventsResponse.Builder::costAnomalyEventCollection) + .handleResponseHeaderString( + "opc-request-id", ListCostAnomalyEventsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCostAnomalyEventsResponse.Builder::opcNextPage) + .callSync(); + } + + @Override + public ListCostAnomalyMonitorsResponse listCostAnomalyMonitors( + ListCostAnomalyMonitorsRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, ListCostAnomalyMonitorsResponse::builder) + .logger(LOG, "listCostAnomalyMonitors") + .serviceDetails("CostAd", "ListCostAnomalyMonitors", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListCostAnomalyMonitorsRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendEnumQueryParam("lifecycleState", request.getLifecycleState()) + .appendQueryParam("name", request.getName()) + .appendListQueryParam( + "targetTenantId", + request.getTargetTenantId(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendListQueryParam( + "region", + request.getRegion(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitorCollection.class, + ListCostAnomalyMonitorsResponse.Builder::costAnomalyMonitorCollection) + .handleResponseHeaderString( + "opc-request-id", ListCostAnomalyMonitorsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListCostAnomalyMonitorsResponse.Builder::opcNextPage) + .callSync(); + } + + @Override + public SummarizeCostAnomalyEventAnalyticsResponse summarizeCostAnomalyEventAnalytics( + SummarizeCostAnomalyEventAnalyticsRequest request) { + Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); + + return clientCall(request, SummarizeCostAnomalyEventAnalyticsResponse::builder) + .logger(LOG, "summarizeCostAnomalyEventAnalytics") + .serviceDetails("CostAd", "SummarizeCostAnomalyEventAnalytics", "") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(SummarizeCostAnomalyEventAnalyticsRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyEventAnalytics") + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("name", request.getName()) + .appendQueryParam("costAnomalyMonitorId", request.getCostAnomalyMonitorId()) + .appendListQueryParam( + "targetTenantId", + request.getTargetTenantId(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendQueryParam( + "timeAnomalyEventStartDate", request.getTimeAnomalyEventStartDate()) + .appendQueryParam("timeAnomalyEventEndDate", request.getTimeAnomalyEventEndDate()) + .appendListQueryParam( + "region", + request.getRegion(), + com.oracle.bmc.util.internal.CollectionFormatType.CommaSeparated) + .appendQueryParam("costImpact", request.getCostImpact()) + .appendQueryParam("costImpactPercentage", request.getCostImpactPercentage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyEventAnalyticCollection.class, + SummarizeCostAnomalyEventAnalyticsResponse.Builder + ::costAnomalyEventAnalyticCollection) + .handleResponseHeaderString( + "opc-request-id", + SummarizeCostAnomalyEventAnalyticsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", + SummarizeCostAnomalyEventAnalyticsResponse.Builder::opcNextPage) + .callSync(); + } + + @Override + public UpdateCostAlertSubscriptionResponse updateCostAlertSubscription( + UpdateCostAlertSubscriptionRequest request) { + + Validate.notBlank( + request.getCostAlertSubscriptionId(), "costAlertSubscriptionId must not be blank"); + Objects.requireNonNull( + request.getUpdateCostAlertSubscriptionDetails(), + "updateCostAlertSubscriptionDetails is required"); + + return clientCall(request, UpdateCostAlertSubscriptionResponse::builder) + .logger(LOG, "updateCostAlertSubscription") + .serviceDetails("CostAd", "UpdateCostAlertSubscription", "") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateCostAlertSubscriptionRequest::builder) + .basePath("/20190111") + .appendPathParam("costAlertSubscriptions") + .appendPathParam(request.getCostAlertSubscriptionId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAlertSubscription.class, + UpdateCostAlertSubscriptionResponse.Builder::costAlertSubscription) + .handleResponseHeaderString( + "opc-request-id", UpdateCostAlertSubscriptionResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "etag", UpdateCostAlertSubscriptionResponse.Builder::etag) + .callSync(); + } + + @Override + public UpdateCostAnomalyEventResponse updateCostAnomalyEvent( + UpdateCostAnomalyEventRequest request) { + + Validate.notBlank(request.getCostAnomalyEventId(), "costAnomalyEventId must not be blank"); + Objects.requireNonNull( + request.getUpdateCostAnomalyEventDetails(), + "updateCostAnomalyEventDetails is required"); + + return clientCall(request, UpdateCostAnomalyEventResponse::builder) + .logger(LOG, "updateCostAnomalyEvent") + .serviceDetails("CostAd", "UpdateCostAnomalyEvent", "") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateCostAnomalyEventRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyEvents") + .appendPathParam(request.getCostAnomalyEventId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyEvent.class, + UpdateCostAnomalyEventResponse.Builder::costAnomalyEvent) + .handleResponseHeaderString( + "opc-request-id", UpdateCostAnomalyEventResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", UpdateCostAnomalyEventResponse.Builder::etag) + .callSync(); + } + + @Override + public UpdateCostAnomalyMonitorResponse updateCostAnomalyMonitor( + UpdateCostAnomalyMonitorRequest request) { + + Validate.notBlank( + request.getCostAnomalyMonitorId(), "costAnomalyMonitorId must not be blank"); + Objects.requireNonNull( + request.getUpdateCostAnomalyMonitorDetails(), + "updateCostAnomalyMonitorDetails is required"); + + return clientCall(request, UpdateCostAnomalyMonitorResponse::builder) + .logger(LOG, "updateCostAnomalyMonitor") + .serviceDetails("CostAd", "UpdateCostAnomalyMonitor", "") + .method(com.oracle.bmc.http.client.Method.PUT) + .requestBuilder(UpdateCostAnomalyMonitorRequest::builder) + .basePath("/20190111") + .appendPathParam("costAnomalyMonitors") + .appendPathParam(request.getCostAnomalyMonitorId()) + .accept("application/json") + .appendHeader("if-match", request.getIfMatch()) + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .hasBody() + .handleBody( + com.oracle.bmc.costad.model.CostAnomalyMonitor.class, + UpdateCostAnomalyMonitorResponse.Builder::costAnomalyMonitor) + .handleResponseHeaderString( + "opc-request-id", UpdateCostAnomalyMonitorResponse.Builder::opcRequestId) + .handleResponseHeaderString("etag", UpdateCostAnomalyMonitorResponse.Builder::etag) + .callSync(); + } + + @Override + public CostAdWaiters getWaiters() { + return waiters; + } + + @Override + public CostAdPaginators getPaginators() { + return paginators; + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider) { + this(builder(), authenticationDetailsProvider, null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration) { + this(builder().configuration(configuration), authenticationDetailsProvider, null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdClient( + com.oracle.bmc.auth.BasicAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator) { + this( + builder().configuration(configuration).clientConfigurator(clientConfigurator), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @param signingStrategyRequestSignerFactories {@link + * Builder#signingStrategyRequestSignerFactories} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.Map< + com.oracle.bmc.http.signing.SigningStrategy, + com.oracle.bmc.http.signing.RequestSignerFactory> + signingStrategyRequestSignerFactories, + java.util.List additionalClientConfigurators, + String endpoint) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint) + .signingStrategyRequestSignerFactories( + signingStrategyRequestSignerFactories), + authenticationDetailsProvider, + null); + } + + /** + * Create a new client instance. + * + * @param authenticationDetailsProvider The authentication details (see {@link Builder#build}) + * @param configuration {@link Builder#configuration} + * @param clientConfigurator {@link Builder#clientConfigurator} + * @param defaultRequestSignerFactory {@link Builder#requestSignerFactory} + * @param additionalClientConfigurators {@link Builder#additionalClientConfigurators} + * @param endpoint {@link Builder#endpoint} + * @param signingStrategyRequestSignerFactories {@link + * Builder#signingStrategyRequestSignerFactories} + * @param executorService {@link Builder#executorService} + * @deprecated Use the {@link #builder() builder} instead. + */ + @Deprecated + public CostAdClient( + com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider authenticationDetailsProvider, + com.oracle.bmc.ClientConfiguration configuration, + com.oracle.bmc.http.ClientConfigurator clientConfigurator, + com.oracle.bmc.http.signing.RequestSignerFactory defaultRequestSignerFactory, + java.util.Map< + com.oracle.bmc.http.signing.SigningStrategy, + com.oracle.bmc.http.signing.RequestSignerFactory> + signingStrategyRequestSignerFactories, + java.util.List additionalClientConfigurators, + String endpoint, + java.util.concurrent.ExecutorService executorService) { + this( + builder() + .configuration(configuration) + .clientConfigurator(clientConfigurator) + .requestSignerFactory(defaultRequestSignerFactory) + .additionalClientConfigurators(additionalClientConfigurators) + .endpoint(endpoint) + .signingStrategyRequestSignerFactories( + signingStrategyRequestSignerFactories), + authenticationDetailsProvider, + executorService); + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdPaginators.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdPaginators.java new file mode 100644 index 00000000000..5272e8a0b59 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdPaginators.java @@ -0,0 +1,411 @@ +/** + * 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.costad; + +import com.oracle.bmc.costad.requests.*; +import com.oracle.bmc.costad.responses.*; + +/** + * Collection of helper methods that can be used to provide an {@link java.lang.Iterable} interface + * to any list operations of CostAd where multiple pages of data may be fetched. Two styles of + * iteration are supported: + * + *

    + *
  • Iterating over the Response objects returned by the list operation. These are referred to + * as ResponseIterators, and the methods are suffixed with ResponseIterator. For example: + * listUsersResponseIterator + *
  • Iterating over the resources/records being listed. These are referred to as + * RecordIterators, and the methods are suffixed with RecordIterator. For example: + * listUsersRecordIterator + *
+ * + * These iterables abstract away the need to write code to manually handle pagination via looping + * and using the page tokens. They will automatically fetch more data from the service when + * required. + * + *

As an example, if we were using the ListUsers operation in IdentityService, then the {@link + * java.lang.Iterable} returned by calling a ResponseIterator method would iterate over the + * ListUsersResponse objects returned by each ListUsers call, whereas the {@link java.lang.Iterable} + * returned by calling a RecordIterator method would iterate over the User records and we don't have + * to deal with ListUsersResponse objects at all. In either case, pagination will be automatically + * handled so we can iterate until there are no more responses or no more resources/records + * available. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class CostAdPaginators { + private final CostAd client; + + public CostAdPaginators(CostAd client) { + this.client = client; + } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listCostAlertSubscriptions 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 listCostAlertSubscriptionsResponseIterator( + final ListCostAlertSubscriptionsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListCostAlertSubscriptionsRequest.Builder, + ListCostAlertSubscriptionsRequest, + ListCostAlertSubscriptionsResponse>( + new java.util.function.Supplier() { + @Override + public ListCostAlertSubscriptionsRequest.Builder get() { + return ListCostAlertSubscriptionsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCostAlertSubscriptionsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAlertSubscriptionsRequest.Builder>, + ListCostAlertSubscriptionsRequest>() { + @Override + public ListCostAlertSubscriptionsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAlertSubscriptionsRequest.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< + ListCostAlertSubscriptionsRequest, ListCostAlertSubscriptionsResponse>() { + @Override + public ListCostAlertSubscriptionsResponse apply( + ListCostAlertSubscriptionsRequest request) { + return client.listCostAlertSubscriptions(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.costad.model.CostAlertSubscriptionSummary} objects contained in responses from + * the listCostAlertSubscriptions 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.costad.model.CostAlertSubscriptionSummary} objects contained in responses + * received from the service. + */ + public Iterable + listCostAlertSubscriptionsRecordIterator( + final ListCostAlertSubscriptionsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListCostAlertSubscriptionsRequest.Builder, + ListCostAlertSubscriptionsRequest, + ListCostAlertSubscriptionsResponse, + com.oracle.bmc.costad.model.CostAlertSubscriptionSummary>( + new java.util.function.Supplier() { + @Override + public ListCostAlertSubscriptionsRequest.Builder get() { + return ListCostAlertSubscriptionsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCostAlertSubscriptionsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAlertSubscriptionsRequest.Builder>, + ListCostAlertSubscriptionsRequest>() { + @Override + public ListCostAlertSubscriptionsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAlertSubscriptionsRequest.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< + ListCostAlertSubscriptionsRequest, ListCostAlertSubscriptionsResponse>() { + @Override + public ListCostAlertSubscriptionsResponse apply( + ListCostAlertSubscriptionsRequest request) { + return client.listCostAlertSubscriptions(request); + } + }, + new java.util.function.Function< + ListCostAlertSubscriptionsResponse, + java.util.List< + com.oracle.bmc.costad.model.CostAlertSubscriptionSummary>>() { + @Override + public java.util.List + apply(ListCostAlertSubscriptionsResponse response) { + return response.getCostAlertSubscriptionCollection().getItems(); + } + }); + } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listCostAnomalyEvents 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 listCostAnomalyEventsResponseIterator( + final ListCostAnomalyEventsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListCostAnomalyEventsRequest.Builder, + ListCostAnomalyEventsRequest, + ListCostAnomalyEventsResponse>( + new java.util.function.Supplier() { + @Override + public ListCostAnomalyEventsRequest.Builder get() { + return ListCostAnomalyEventsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCostAnomalyEventsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAnomalyEventsRequest.Builder>, + ListCostAnomalyEventsRequest>() { + @Override + public ListCostAnomalyEventsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAnomalyEventsRequest.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< + ListCostAnomalyEventsRequest, ListCostAnomalyEventsResponse>() { + @Override + public ListCostAnomalyEventsResponse apply( + ListCostAnomalyEventsRequest request) { + return client.listCostAnomalyEvents(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.costad.model.CostAnomalyEventSummary} objects contained in responses from the + * listCostAnomalyEvents 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.costad.model.CostAnomalyEventSummary} objects contained in responses + * received from the service. + */ + public Iterable + listCostAnomalyEventsRecordIterator(final ListCostAnomalyEventsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListCostAnomalyEventsRequest.Builder, + ListCostAnomalyEventsRequest, + ListCostAnomalyEventsResponse, + com.oracle.bmc.costad.model.CostAnomalyEventSummary>( + new java.util.function.Supplier() { + @Override + public ListCostAnomalyEventsRequest.Builder get() { + return ListCostAnomalyEventsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCostAnomalyEventsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAnomalyEventsRequest.Builder>, + ListCostAnomalyEventsRequest>() { + @Override + public ListCostAnomalyEventsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAnomalyEventsRequest.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< + ListCostAnomalyEventsRequest, ListCostAnomalyEventsResponse>() { + @Override + public ListCostAnomalyEventsResponse apply( + ListCostAnomalyEventsRequest request) { + return client.listCostAnomalyEvents(request); + } + }, + new java.util.function.Function< + ListCostAnomalyEventsResponse, + java.util.List>() { + @Override + public java.util.List + apply(ListCostAnomalyEventsResponse response) { + return response.getCostAnomalyEventCollection().getItems(); + } + }); + } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listCostAnomalyMonitors 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 listCostAnomalyMonitorsResponseIterator( + final ListCostAnomalyMonitorsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListCostAnomalyMonitorsRequest.Builder, + ListCostAnomalyMonitorsRequest, + ListCostAnomalyMonitorsResponse>( + new java.util.function.Supplier() { + @Override + public ListCostAnomalyMonitorsRequest.Builder get() { + return ListCostAnomalyMonitorsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCostAnomalyMonitorsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAnomalyMonitorsRequest.Builder>, + ListCostAnomalyMonitorsRequest>() { + @Override + public ListCostAnomalyMonitorsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAnomalyMonitorsRequest.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< + ListCostAnomalyMonitorsRequest, ListCostAnomalyMonitorsResponse>() { + @Override + public ListCostAnomalyMonitorsResponse apply( + ListCostAnomalyMonitorsRequest request) { + return client.listCostAnomalyMonitors(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.costad.model.CostAnomalyMonitorSummary} objects contained in responses from + * the listCostAnomalyMonitors 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.costad.model.CostAnomalyMonitorSummary} objects contained in responses + * received from the service. + */ + public Iterable + listCostAnomalyMonitorsRecordIterator(final ListCostAnomalyMonitorsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListCostAnomalyMonitorsRequest.Builder, + ListCostAnomalyMonitorsRequest, + ListCostAnomalyMonitorsResponse, + com.oracle.bmc.costad.model.CostAnomalyMonitorSummary>( + new java.util.function.Supplier() { + @Override + public ListCostAnomalyMonitorsRequest.Builder get() { + return ListCostAnomalyMonitorsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListCostAnomalyMonitorsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAnomalyMonitorsRequest.Builder>, + ListCostAnomalyMonitorsRequest>() { + @Override + public ListCostAnomalyMonitorsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListCostAnomalyMonitorsRequest.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< + ListCostAnomalyMonitorsRequest, ListCostAnomalyMonitorsResponse>() { + @Override + public ListCostAnomalyMonitorsResponse apply( + ListCostAnomalyMonitorsRequest request) { + return client.listCostAnomalyMonitors(request); + } + }, + new java.util.function.Function< + ListCostAnomalyMonitorsResponse, + java.util.List>() { + @Override + public java.util.List + apply(ListCostAnomalyMonitorsResponse response) { + return response.getCostAnomalyMonitorCollection().getItems(); + } + }); + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdWaiters.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdWaiters.java new file mode 100644 index 00000000000..af4ddad0b3d --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/CostAdWaiters.java @@ -0,0 +1,351 @@ +/** + * 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.costad; + +import com.oracle.bmc.costad.requests.*; +import com.oracle.bmc.costad.responses.*; + +/** + * Collection of helper methods to produce {@link com.oracle.bmc.waiter.Waiter}s for different + * resources of CostAd. + * + *

The default configuration used is defined by {@link + * com.oracle.bmc.waiter.Waiters.Waiters#DEFAULT_POLLING_WAITER}. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class CostAdWaiters { + private final java.util.concurrent.ExecutorService executorService; + private final CostAd client; + + public CostAdWaiters(java.util.concurrent.ExecutorService executorService, CostAd client) { + this.executorService = executorService; + this.client = client; + } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration. + * + * @param request the request to send + * @param targetStates the desired states to wait for. If multiple states are provided then the + * waiter will return once the resource reaches any of the provided states + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter< + GetCostAlertSubscriptionRequest, GetCostAlertSubscriptionResponse> + forCostAlertSubscription( + GetCostAlertSubscriptionRequest request, + com.oracle.bmc.costad.model.CostAlertSubscription.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 forCostAlertSubscription( + 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< + GetCostAlertSubscriptionRequest, GetCostAlertSubscriptionResponse> + forCostAlertSubscription( + GetCostAlertSubscriptionRequest request, + com.oracle.bmc.costad.model.CostAlertSubscription.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 forCostAlertSubscription( + 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< + GetCostAlertSubscriptionRequest, GetCostAlertSubscriptionResponse> + forCostAlertSubscription( + GetCostAlertSubscriptionRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.costad.model.CostAlertSubscription.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 forCostAlertSubscription( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for CostAlertSubscription. + private com.oracle.bmc.waiter.Waiter< + GetCostAlertSubscriptionRequest, GetCostAlertSubscriptionResponse> + forCostAlertSubscription( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetCostAlertSubscriptionRequest request, + final com.oracle.bmc.costad.model.CostAlertSubscription.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< + GetCostAlertSubscriptionRequest, + GetCostAlertSubscriptionResponse>() { + @Override + public GetCostAlertSubscriptionResponse apply( + GetCostAlertSubscriptionRequest request) { + return client.getCostAlertSubscription(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetCostAlertSubscriptionResponse response) { + return targetStatesSet.contains( + response.getCostAlertSubscription().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 + forCostAnomalyEvent( + GetCostAnomalyEventRequest request, + com.oracle.bmc.costad.model.CostAnomalyEvent.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 forCostAnomalyEvent( + 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 + forCostAnomalyEvent( + GetCostAnomalyEventRequest request, + com.oracle.bmc.costad.model.CostAnomalyEvent.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 forCostAnomalyEvent( + 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 + forCostAnomalyEvent( + GetCostAnomalyEventRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.costad.model.CostAnomalyEvent.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 forCostAnomalyEvent( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for CostAnomalyEvent. + private com.oracle.bmc.waiter.Waiter + forCostAnomalyEvent( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetCostAnomalyEventRequest request, + final com.oracle.bmc.costad.model.CostAnomalyEvent.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< + GetCostAnomalyEventRequest, GetCostAnomalyEventResponse>() { + @Override + public GetCostAnomalyEventResponse apply( + GetCostAnomalyEventRequest request) { + return client.getCostAnomalyEvent(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetCostAnomalyEventResponse response) { + return targetStatesSet.contains( + response.getCostAnomalyEvent().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 + forCostAnomalyMonitor( + GetCostAnomalyMonitorRequest request, + com.oracle.bmc.costad.model.CostAnomalyMonitor.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 forCostAnomalyMonitor( + 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 + forCostAnomalyMonitor( + GetCostAnomalyMonitorRequest request, + com.oracle.bmc.costad.model.CostAnomalyMonitor.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 forCostAnomalyMonitor( + 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 + forCostAnomalyMonitor( + GetCostAnomalyMonitorRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy, + com.oracle.bmc.costad.model.CostAnomalyMonitor.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 forCostAnomalyMonitor( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request, + targetStates); + } + + // Helper method to create a new Waiter for CostAnomalyMonitor. + private com.oracle.bmc.waiter.Waiter< + GetCostAnomalyMonitorRequest, GetCostAnomalyMonitorResponse> + forCostAnomalyMonitor( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetCostAnomalyMonitorRequest request, + final com.oracle.bmc.costad.model.CostAnomalyMonitor.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< + GetCostAnomalyMonitorRequest, GetCostAnomalyMonitorResponse>() { + @Override + public GetCostAnomalyMonitorResponse apply( + GetCostAnomalyMonitorRequest request) { + return client.getCostAnomalyMonitor(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetCostAnomalyMonitorResponse response) { + return targetStatesSet.contains( + response.getCostAnomalyMonitor().getLifecycleState()); + } + }, + targetStatesSet.contains( + com.oracle.bmc.costad.model.CostAnomalyMonitor.LifecycleState + .Deleted)), + request); + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscription.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscription.java new file mode 100644 index 00000000000..bdb3a5bd17e --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscription.java @@ -0,0 +1,676 @@ +/** + * 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.costad.model; + +/** + * A CostAlertSubscription.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAlertSubscription.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAlertSubscription + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "compartmentId", + "name", + "lifecycleState", + "channels", + "description", + "timeCreated", + "timeUpdated", + "costAnomalyMonitors", + "definedTags", + "freeformTags", + "systemTags" + }) + public CostAlertSubscription( + String id, + String compartmentId, + String name, + LifecycleState lifecycleState, + String channels, + String description, + java.util.Date timeCreated, + java.util.Date timeUpdated, + Object costAnomalyMonitors, + java.util.Map> definedTags, + java.util.Map freeformTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.compartmentId = compartmentId; + this.name = name; + this.lifecycleState = lifecycleState; + this.channels = channels; + this.description = description; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.costAnomalyMonitors = costAnomalyMonitors; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + this.systemTags = systemTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the Cost Alert Subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The OCID of the Cost Alert Subscription. + * + * @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 of the compartment which hold the cost alert subscription resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The OCID of the compartment which hold the cost alert subscription resource. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** The name of the cost alert subscription. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private String name; + + /** + * The name of the cost alert subscription. Avoid entering confidential information. + * + * @param name the value to set + * @return this builder + */ + public Builder name(String name) { + this.name = name; + this.__explicitlySet__.add("name"); + return this; + } + /** The current state of the cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The current state of the cost alert subscription. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** The notification channels string. */ + @com.fasterxml.jackson.annotation.JsonProperty("channels") + private String channels; + + /** + * The notification channels string. + * + * @param channels the value to set + * @return this builder + */ + public Builder channels(String channels) { + this.channels = channels; + this.__explicitlySet__.add("channels"); + return this; + } + /** The description of the cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description of the cost alert subscription. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** The time that the cost alert subscription was created. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * The time that the cost alert subscription 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 time that the cost alert subscription was updated. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * The time that the cost alert subscription 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; + } + /** List of monitor identifiers */ + @com.fasterxml.jackson.annotation.JsonProperty("costAnomalyMonitors") + private Object costAnomalyMonitors; + + /** + * List of monitor identifiers + * + * @param costAnomalyMonitors the value to set + * @return this builder + */ + public Builder costAnomalyMonitors(Object costAnomalyMonitors) { + this.costAnomalyMonitors = costAnomalyMonitors; + this.__explicitlySet__.add("costAnomalyMonitors"); + return this; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + /** + * 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). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CostAlertSubscription build() { + CostAlertSubscription model = + new CostAlertSubscription( + this.id, + this.compartmentId, + this.name, + this.lifecycleState, + this.channels, + this.description, + this.timeCreated, + this.timeUpdated, + this.costAnomalyMonitors, + this.definedTags, + this.freeformTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAlertSubscription model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("name")) { + this.name(model.getName()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("channels")) { + this.channels(model.getChannels()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("costAnomalyMonitors")) { + this.costAnomalyMonitors(model.getCostAnomalyMonitors()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The OCID of the Cost Alert Subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The OCID of the Cost Alert Subscription. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The OCID of the compartment which hold the cost alert subscription resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The OCID of the compartment which hold the cost alert subscription resource. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The name of the cost alert subscription. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private final String name; + + /** + * The name of the cost alert subscription. Avoid entering confidential information. + * + * @return the value + */ + public String getName() { + return name; + } + + /** The current state of the cost alert subscription. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Active("ACTIVE"), + Inactive("INACTIVE"), + + /** + * 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 cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The current state of the cost alert subscription. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** The notification channels string. */ + @com.fasterxml.jackson.annotation.JsonProperty("channels") + private final String channels; + + /** + * The notification channels string. + * + * @return the value + */ + public String getChannels() { + return channels; + } + + /** The description of the cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description of the cost alert subscription. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** The time that the cost alert subscription was created. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * The time that the cost alert subscription was created. + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** The time that the cost alert subscription was updated. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * The time that the cost alert subscription was updated. + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** List of monitor identifiers */ + @com.fasterxml.jackson.annotation.JsonProperty("costAnomalyMonitors") + private final Object costAnomalyMonitors; + + /** + * List of monitor identifiers + * + * @return the value + */ + public Object getCostAnomalyMonitors() { + return costAnomalyMonitors; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + /** + * 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). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("CostAlertSubscription("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", name=").append(String.valueOf(this.name)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", channels=").append(String.valueOf(this.channels)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", costAnomalyMonitors=").append(String.valueOf(this.costAnomalyMonitors)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CostAlertSubscription)) { + return false; + } + + CostAlertSubscription other = (CostAlertSubscription) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.channels, other.channels) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.costAnomalyMonitors, other.costAnomalyMonitors) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = (result * PRIME) + (this.channels == null ? 43 : this.channels.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.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.costAnomalyMonitors == null + ? 43 + : this.costAnomalyMonitors.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.systemTags == null ? 43 : this.systemTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionCollection.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionCollection.java new file mode 100644 index 00000000000..30be335ec89 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionCollection.java @@ -0,0 +1,134 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.model; + +/** + * Results of a costAlertSubscription search. Contains both CostAlertSubscriptionSummary items and + * other data.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAlertSubscriptionCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAlertSubscriptionCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public CostAlertSubscriptionCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** A page of CostAnomalyMonitorSummary objects. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * A page of CostAnomalyMonitorSummary objects. + * + * @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 CostAlertSubscriptionCollection build() { + CostAlertSubscriptionCollection model = new CostAlertSubscriptionCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAlertSubscriptionCollection 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); + } + + /** A page of CostAnomalyMonitorSummary objects. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * A page of CostAnomalyMonitorSummary objects. + * + * @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("CostAlertSubscriptionCollection("); + 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 CostAlertSubscriptionCollection)) { + return false; + } + + CostAlertSubscriptionCollection other = (CostAlertSubscriptionCollection) 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-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionMap.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionMap.java new file mode 100644 index 00000000000..04ce2f48276 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionMap.java @@ -0,0 +1,316 @@ +/** + * 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.costad.model; + +/** + * The mapping of cost monitor to alert subscription along with thresholds.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAlertSubscriptionMap.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAlertSubscriptionMap + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "operator", + "thresholdAbsoluteValue", + "thresholdRelativePercent", + "costAlertSubscriptionId" + }) + public CostAlertSubscriptionMap( + Operator operator, + Integer thresholdAbsoluteValue, + Integer thresholdRelativePercent, + String costAlertSubscriptionId) { + super(); + this.operator = operator; + this.thresholdAbsoluteValue = thresholdAbsoluteValue; + this.thresholdRelativePercent = thresholdRelativePercent; + this.costAlertSubscriptionId = costAlertSubscriptionId; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The filter operator. Example: 'AND', 'OR'. */ + @com.fasterxml.jackson.annotation.JsonProperty("operator") + private Operator operator; + + /** + * The filter operator. Example: 'AND', 'OR'. + * + * @param operator the value to set + * @return this builder + */ + public Builder operator(Operator operator) { + this.operator = operator; + this.__explicitlySet__.add("operator"); + return this; + } + /** The absolute threshold value. */ + @com.fasterxml.jackson.annotation.JsonProperty("thresholdAbsoluteValue") + private Integer thresholdAbsoluteValue; + + /** + * The absolute threshold value. + * + * @param thresholdAbsoluteValue the value to set + * @return this builder + */ + public Builder thresholdAbsoluteValue(Integer thresholdAbsoluteValue) { + this.thresholdAbsoluteValue = thresholdAbsoluteValue; + this.__explicitlySet__.add("thresholdAbsoluteValue"); + return this; + } + /** The relative percentage threshold value. */ + @com.fasterxml.jackson.annotation.JsonProperty("thresholdRelativePercent") + private Integer thresholdRelativePercent; + + /** + * The relative percentage threshold value. + * + * @param thresholdRelativePercent the value to set + * @return this builder + */ + public Builder thresholdRelativePercent(Integer thresholdRelativePercent) { + this.thresholdRelativePercent = thresholdRelativePercent; + this.__explicitlySet__.add("thresholdRelativePercent"); + return this; + } + /** The costAlertSubscription ocid which the cost monitor alert maps to. */ + @com.fasterxml.jackson.annotation.JsonProperty("costAlertSubscriptionId") + private String costAlertSubscriptionId; + + /** + * The costAlertSubscription ocid which the cost monitor alert maps to. + * + * @param costAlertSubscriptionId the value to set + * @return this builder + */ + public Builder costAlertSubscriptionId(String costAlertSubscriptionId) { + this.costAlertSubscriptionId = costAlertSubscriptionId; + this.__explicitlySet__.add("costAlertSubscriptionId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CostAlertSubscriptionMap build() { + CostAlertSubscriptionMap model = + new CostAlertSubscriptionMap( + this.operator, + this.thresholdAbsoluteValue, + this.thresholdRelativePercent, + this.costAlertSubscriptionId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAlertSubscriptionMap model) { + if (model.wasPropertyExplicitlySet("operator")) { + this.operator(model.getOperator()); + } + if (model.wasPropertyExplicitlySet("thresholdAbsoluteValue")) { + this.thresholdAbsoluteValue(model.getThresholdAbsoluteValue()); + } + if (model.wasPropertyExplicitlySet("thresholdRelativePercent")) { + this.thresholdRelativePercent(model.getThresholdRelativePercent()); + } + if (model.wasPropertyExplicitlySet("costAlertSubscriptionId")) { + this.costAlertSubscriptionId(model.getCostAlertSubscriptionId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The filter operator. Example: 'AND', 'OR'. */ + public enum Operator implements com.oracle.bmc.http.internal.BmcEnum { + And("AND"), + Or("OR"), + + /** + * 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(Operator.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (Operator v : Operator.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + Operator(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static Operator create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'Operator', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The filter operator. Example: 'AND', 'OR'. */ + @com.fasterxml.jackson.annotation.JsonProperty("operator") + private final Operator operator; + + /** + * The filter operator. Example: 'AND', 'OR'. + * + * @return the value + */ + public Operator getOperator() { + return operator; + } + + /** The absolute threshold value. */ + @com.fasterxml.jackson.annotation.JsonProperty("thresholdAbsoluteValue") + private final Integer thresholdAbsoluteValue; + + /** + * The absolute threshold value. + * + * @return the value + */ + public Integer getThresholdAbsoluteValue() { + return thresholdAbsoluteValue; + } + + /** The relative percentage threshold value. */ + @com.fasterxml.jackson.annotation.JsonProperty("thresholdRelativePercent") + private final Integer thresholdRelativePercent; + + /** + * The relative percentage threshold value. + * + * @return the value + */ + public Integer getThresholdRelativePercent() { + return thresholdRelativePercent; + } + + /** The costAlertSubscription ocid which the cost monitor alert maps to. */ + @com.fasterxml.jackson.annotation.JsonProperty("costAlertSubscriptionId") + private final String costAlertSubscriptionId; + + /** + * The costAlertSubscription ocid which the cost monitor alert maps to. + * + * @return the value + */ + public String getCostAlertSubscriptionId() { + return costAlertSubscriptionId; + } + + @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("CostAlertSubscriptionMap("); + sb.append("super=").append(super.toString()); + sb.append("operator=").append(String.valueOf(this.operator)); + sb.append(", thresholdAbsoluteValue=").append(String.valueOf(this.thresholdAbsoluteValue)); + sb.append(", thresholdRelativePercent=") + .append(String.valueOf(this.thresholdRelativePercent)); + sb.append(", costAlertSubscriptionId=") + .append(String.valueOf(this.costAlertSubscriptionId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CostAlertSubscriptionMap)) { + return false; + } + + CostAlertSubscriptionMap other = (CostAlertSubscriptionMap) o; + return java.util.Objects.equals(this.operator, other.operator) + && java.util.Objects.equals( + this.thresholdAbsoluteValue, other.thresholdAbsoluteValue) + && java.util.Objects.equals( + this.thresholdRelativePercent, other.thresholdRelativePercent) + && java.util.Objects.equals( + this.costAlertSubscriptionId, other.costAlertSubscriptionId) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.operator == null ? 43 : this.operator.hashCode()); + result = + (result * PRIME) + + (this.thresholdAbsoluteValue == null + ? 43 + : this.thresholdAbsoluteValue.hashCode()); + result = + (result * PRIME) + + (this.thresholdRelativePercent == null + ? 43 + : this.thresholdRelativePercent.hashCode()); + result = + (result * PRIME) + + (this.costAlertSubscriptionId == null + ? 43 + : this.costAlertSubscriptionId.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionSummary.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionSummary.java new file mode 100644 index 00000000000..de198476baa --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAlertSubscriptionSummary.java @@ -0,0 +1,512 @@ +/** + * 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.costad.model; + +/** + * A CostAlertSubscription.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAlertSubscriptionSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAlertSubscriptionSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "compartmentId", + "name", + "channelTypes", + "timeCreated", + "lifecycleState", + "definedTags", + "freeformTags", + "systemTags" + }) + public CostAlertSubscriptionSummary( + String id, + String compartmentId, + String name, + String channelTypes, + java.util.Date timeCreated, + CostAlertSubscription.LifecycleState lifecycleState, + java.util.Map> definedTags, + java.util.Map freeformTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.compartmentId = compartmentId; + this.name = name; + this.channelTypes = channelTypes; + this.timeCreated = timeCreated; + this.lifecycleState = lifecycleState; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + this.systemTags = systemTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the Cost Alert Subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The OCID of the Cost Alert Subscription. + * + * @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 of the compartment which hold the cost alert subscription resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The OCID of the compartment which hold the cost alert subscription resource. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** The name of the cost alert subscription. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private String name; + + /** + * The name of the cost alert subscription. Avoid entering confidential information. + * + * @param name the value to set + * @return this builder + */ + public Builder name(String name) { + this.name = name; + this.__explicitlySet__.add("name"); + return this; + } + /** The notification channels types string. */ + @com.fasterxml.jackson.annotation.JsonProperty("channelTypes") + private String channelTypes; + + /** + * The notification channels types string. + * + * @param channelTypes the value to set + * @return this builder + */ + public Builder channelTypes(String channelTypes) { + this.channelTypes = channelTypes; + this.__explicitlySet__.add("channelTypes"); + return this; + } + /** The time that the cost alert subscription was created. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * The time that the cost alert subscription 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 current state of the cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private CostAlertSubscription.LifecycleState lifecycleState; + + /** + * The current state of the cost alert subscription. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(CostAlertSubscription.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + /** + * 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). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CostAlertSubscriptionSummary build() { + CostAlertSubscriptionSummary model = + new CostAlertSubscriptionSummary( + this.id, + this.compartmentId, + this.name, + this.channelTypes, + this.timeCreated, + this.lifecycleState, + this.definedTags, + this.freeformTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAlertSubscriptionSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("name")) { + this.name(model.getName()); + } + if (model.wasPropertyExplicitlySet("channelTypes")) { + this.channelTypes(model.getChannelTypes()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The OCID of the Cost Alert Subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The OCID of the Cost Alert Subscription. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The OCID of the compartment which hold the cost alert subscription resource. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The OCID of the compartment which hold the cost alert subscription resource. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The name of the cost alert subscription. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private final String name; + + /** + * The name of the cost alert subscription. Avoid entering confidential information. + * + * @return the value + */ + public String getName() { + return name; + } + + /** The notification channels types string. */ + @com.fasterxml.jackson.annotation.JsonProperty("channelTypes") + private final String channelTypes; + + /** + * The notification channels types string. + * + * @return the value + */ + public String getChannelTypes() { + return channelTypes; + } + + /** The time that the cost alert subscription was created. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * The time that the cost alert subscription was created. + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** The current state of the cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final CostAlertSubscription.LifecycleState lifecycleState; + + /** + * The current state of the cost alert subscription. + * + * @return the value + */ + public CostAlertSubscription.LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + /** + * 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). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("CostAlertSubscriptionSummary("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", name=").append(String.valueOf(this.name)); + sb.append(", channelTypes=").append(String.valueOf(this.channelTypes)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CostAlertSubscriptionSummary)) { + return false; + } + + CostAlertSubscriptionSummary other = (CostAlertSubscriptionSummary) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.channelTypes, other.channelTypes) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = (result * PRIME) + (this.channelTypes == null ? 43 : this.channelTypes.hashCode()); + result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.systemTags == null ? 43 : this.systemTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEvent.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEvent.java new file mode 100644 index 00000000000..bcfa6978b5e --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEvent.java @@ -0,0 +1,946 @@ +/** + * 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.costad.model; + +/** + * A CostAnomalyEvent.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = CostAnomalyEvent.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAnomalyEvent + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "costAnomalyName", + "compartmentId", + "lifecycleState", + "costMonitorId", + "costMonitorName", + "costMonitorType", + "targetResourceFilter", + "timeAnomalyEventDate", + "costImpact", + "costVariancePercentage", + "rootCauseDetail", + "feedbackResponse", + "timeCreated", + "timeUpdated", + "definedTags", + "freeformTags", + "systemTags" + }) + public CostAnomalyEvent( + String id, + String costAnomalyName, + String compartmentId, + LifecycleState lifecycleState, + String costMonitorId, + String costMonitorName, + MonitorType costMonitorType, + TargetResourceFilter targetResourceFilter, + java.util.Date timeAnomalyEventDate, + Double costImpact, + Double costVariancePercentage, + RootCauseDetail rootCauseDetail, + FeedbackResponse feedbackResponse, + java.util.Date timeCreated, + java.util.Date timeUpdated, + java.util.Map> definedTags, + java.util.Map freeformTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.costAnomalyName = costAnomalyName; + this.compartmentId = compartmentId; + this.lifecycleState = lifecycleState; + this.costMonitorId = costMonitorId; + this.costMonitorName = costMonitorName; + this.costMonitorType = costMonitorType; + this.targetResourceFilter = targetResourceFilter; + this.timeAnomalyEventDate = timeAnomalyEventDate; + this.costImpact = costImpact; + this.costVariancePercentage = costVariancePercentage; + this.rootCauseDetail = rootCauseDetail; + this.feedbackResponse = feedbackResponse; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + this.systemTags = systemTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the Cost Anomaly Event. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The OCID of the Cost Anomaly Event. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** The name of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costAnomalyName") + private String costAnomalyName; + + /** + * The name of the associated cost monitor. + * + * @param costAnomalyName the value to set + * @return this builder + */ + public Builder costAnomalyName(String costAnomalyName) { + this.costAnomalyName = costAnomalyName; + this.__explicitlySet__.add("costAnomalyName"); + return this; + } + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The OCID 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 current state of the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The current state of the cost anomaly event. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** The OCID of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorId") + private String costMonitorId; + + /** + * The OCID of the associated cost monitor. + * + * @param costMonitorId the value to set + * @return this builder + */ + public Builder costMonitorId(String costMonitorId) { + this.costMonitorId = costMonitorId; + this.__explicitlySet__.add("costMonitorId"); + return this; + } + /** The name of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorName") + private String costMonitorName; + + /** + * The name of the associated cost monitor. + * + * @param costMonitorName the value to set + * @return this builder + */ + public Builder costMonitorName(String costMonitorName) { + this.costMonitorName = costMonitorName; + this.__explicitlySet__.add("costMonitorName"); + return this; + } + /** Type of cost monitor */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorType") + private MonitorType costMonitorType; + + /** + * Type of cost monitor + * + * @param costMonitorType the value to set + * @return this builder + */ + public Builder costMonitorType(MonitorType costMonitorType) { + this.costMonitorType = costMonitorType; + this.__explicitlySet__.add("costMonitorType"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("targetResourceFilter") + private TargetResourceFilter targetResourceFilter; + + public Builder targetResourceFilter(TargetResourceFilter targetResourceFilter) { + this.targetResourceFilter = targetResourceFilter; + this.__explicitlySet__.add("targetResourceFilter"); + return this; + } + /** The event date of the anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeAnomalyEventDate") + private java.util.Date timeAnomalyEventDate; + + /** + * The event date of the anomaly event. + * + * @param timeAnomalyEventDate the value to set + * @return this builder + */ + public Builder timeAnomalyEventDate(java.util.Date timeAnomalyEventDate) { + this.timeAnomalyEventDate = timeAnomalyEventDate; + this.__explicitlySet__.add("timeAnomalyEventDate"); + return this; + } + /** The cost impact of the detected anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costImpact") + private Double costImpact; + + /** + * The cost impact of the detected anomaly. + * + * @param costImpact the value to set + * @return this builder + */ + public Builder costImpact(Double costImpact) { + this.costImpact = costImpact; + this.__explicitlySet__.add("costImpact"); + return this; + } + /** The cost variance percentage of the detected anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costVariancePercentage") + private Double costVariancePercentage; + + /** + * The cost variance percentage of the detected anomaly. + * + * @param costVariancePercentage the value to set + * @return this builder + */ + public Builder costVariancePercentage(Double costVariancePercentage) { + this.costVariancePercentage = costVariancePercentage; + this.__explicitlySet__.add("costVariancePercentage"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("rootCauseDetail") + private RootCauseDetail rootCauseDetail; + + public Builder rootCauseDetail(RootCauseDetail rootCauseDetail) { + this.rootCauseDetail = rootCauseDetail; + this.__explicitlySet__.add("rootCauseDetail"); + return this; + } + /** The feedback response for the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("feedbackResponse") + private FeedbackResponse feedbackResponse; + + /** + * The feedback response for the cost anomaly event. + * + * @param feedbackResponse the value to set + * @return this builder + */ + public Builder feedbackResponse(FeedbackResponse feedbackResponse) { + this.feedbackResponse = feedbackResponse; + this.__explicitlySet__.add("feedbackResponse"); + return this; + } + /** The created time of the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * The created time of the cost anomaly event. + * + * @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 updated time of the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * The updated time of the cost anomaly event. + * + * @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; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + /** + * 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). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CostAnomalyEvent build() { + CostAnomalyEvent model = + new CostAnomalyEvent( + this.id, + this.costAnomalyName, + this.compartmentId, + this.lifecycleState, + this.costMonitorId, + this.costMonitorName, + this.costMonitorType, + this.targetResourceFilter, + this.timeAnomalyEventDate, + this.costImpact, + this.costVariancePercentage, + this.rootCauseDetail, + this.feedbackResponse, + this.timeCreated, + this.timeUpdated, + this.definedTags, + this.freeformTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAnomalyEvent model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("costAnomalyName")) { + this.costAnomalyName(model.getCostAnomalyName()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("costMonitorId")) { + this.costMonitorId(model.getCostMonitorId()); + } + if (model.wasPropertyExplicitlySet("costMonitorName")) { + this.costMonitorName(model.getCostMonitorName()); + } + if (model.wasPropertyExplicitlySet("costMonitorType")) { + this.costMonitorType(model.getCostMonitorType()); + } + if (model.wasPropertyExplicitlySet("targetResourceFilter")) { + this.targetResourceFilter(model.getTargetResourceFilter()); + } + if (model.wasPropertyExplicitlySet("timeAnomalyEventDate")) { + this.timeAnomalyEventDate(model.getTimeAnomalyEventDate()); + } + if (model.wasPropertyExplicitlySet("costImpact")) { + this.costImpact(model.getCostImpact()); + } + if (model.wasPropertyExplicitlySet("costVariancePercentage")) { + this.costVariancePercentage(model.getCostVariancePercentage()); + } + if (model.wasPropertyExplicitlySet("rootCauseDetail")) { + this.rootCauseDetail(model.getRootCauseDetail()); + } + if (model.wasPropertyExplicitlySet("feedbackResponse")) { + this.feedbackResponse(model.getFeedbackResponse()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The OCID of the Cost Anomaly Event. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The OCID of the Cost Anomaly Event. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The name of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costAnomalyName") + private final String costAnomalyName; + + /** + * The name of the associated cost monitor. + * + * @return the value + */ + public String getCostAnomalyName() { + return costAnomalyName; + } + + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The OCID of the compartment. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The current state of the cost anomaly event. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Active("ACTIVE"), + Inactive("INACTIVE"), + + /** + * 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 cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The current state of the cost anomaly event. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** The OCID of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorId") + private final String costMonitorId; + + /** + * The OCID of the associated cost monitor. + * + * @return the value + */ + public String getCostMonitorId() { + return costMonitorId; + } + + /** The name of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorName") + private final String costMonitorName; + + /** + * The name of the associated cost monitor. + * + * @return the value + */ + public String getCostMonitorName() { + return costMonitorName; + } + + /** Type of cost monitor */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorType") + private final MonitorType costMonitorType; + + /** + * Type of cost monitor + * + * @return the value + */ + public MonitorType getCostMonitorType() { + return costMonitorType; + } + + @com.fasterxml.jackson.annotation.JsonProperty("targetResourceFilter") + private final TargetResourceFilter targetResourceFilter; + + public TargetResourceFilter getTargetResourceFilter() { + return targetResourceFilter; + } + + /** The event date of the anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeAnomalyEventDate") + private final java.util.Date timeAnomalyEventDate; + + /** + * The event date of the anomaly event. + * + * @return the value + */ + public java.util.Date getTimeAnomalyEventDate() { + return timeAnomalyEventDate; + } + + /** The cost impact of the detected anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costImpact") + private final Double costImpact; + + /** + * The cost impact of the detected anomaly. + * + * @return the value + */ + public Double getCostImpact() { + return costImpact; + } + + /** The cost variance percentage of the detected anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costVariancePercentage") + private final Double costVariancePercentage; + + /** + * The cost variance percentage of the detected anomaly. + * + * @return the value + */ + public Double getCostVariancePercentage() { + return costVariancePercentage; + } + + @com.fasterxml.jackson.annotation.JsonProperty("rootCauseDetail") + private final RootCauseDetail rootCauseDetail; + + public RootCauseDetail getRootCauseDetail() { + return rootCauseDetail; + } + + /** The feedback response for the cost anomaly event. */ + public enum FeedbackResponse implements com.oracle.bmc.http.internal.BmcEnum { + AccurateAnomaly("ACCURATE_ANOMALY"), + ExpectedAnomaly("EXPECTED_ANOMALY"), + + /** + * 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(FeedbackResponse.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (FeedbackResponse v : FeedbackResponse.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + FeedbackResponse(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static FeedbackResponse create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'FeedbackResponse', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The feedback response for the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("feedbackResponse") + private final FeedbackResponse feedbackResponse; + + /** + * The feedback response for the cost anomaly event. + * + * @return the value + */ + public FeedbackResponse getFeedbackResponse() { + return feedbackResponse; + } + + /** The created time of the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * The created time of the cost anomaly event. + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** The updated time of the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * The updated time of the cost anomaly event. + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + /** + * 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). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("CostAnomalyEvent("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", costAnomalyName=").append(String.valueOf(this.costAnomalyName)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", costMonitorId=").append(String.valueOf(this.costMonitorId)); + sb.append(", costMonitorName=").append(String.valueOf(this.costMonitorName)); + sb.append(", costMonitorType=").append(String.valueOf(this.costMonitorType)); + sb.append(", targetResourceFilter=").append(String.valueOf(this.targetResourceFilter)); + sb.append(", timeAnomalyEventDate=").append(String.valueOf(this.timeAnomalyEventDate)); + sb.append(", costImpact=").append(String.valueOf(this.costImpact)); + sb.append(", costVariancePercentage=").append(String.valueOf(this.costVariancePercentage)); + sb.append(", rootCauseDetail=").append(String.valueOf(this.rootCauseDetail)); + sb.append(", feedbackResponse=").append(String.valueOf(this.feedbackResponse)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CostAnomalyEvent)) { + return false; + } + + CostAnomalyEvent other = (CostAnomalyEvent) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.costAnomalyName, other.costAnomalyName) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.costMonitorId, other.costMonitorId) + && java.util.Objects.equals(this.costMonitorName, other.costMonitorName) + && java.util.Objects.equals(this.costMonitorType, other.costMonitorType) + && java.util.Objects.equals(this.targetResourceFilter, other.targetResourceFilter) + && java.util.Objects.equals(this.timeAnomalyEventDate, other.timeAnomalyEventDate) + && java.util.Objects.equals(this.costImpact, other.costImpact) + && java.util.Objects.equals( + this.costVariancePercentage, other.costVariancePercentage) + && java.util.Objects.equals(this.rootCauseDetail, other.rootCauseDetail) + && java.util.Objects.equals(this.feedbackResponse, other.feedbackResponse) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = + (result * PRIME) + + (this.costAnomalyName == null ? 43 : this.costAnomalyName.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.costMonitorId == null ? 43 : this.costMonitorId.hashCode()); + result = + (result * PRIME) + + (this.costMonitorName == null ? 43 : this.costMonitorName.hashCode()); + result = + (result * PRIME) + + (this.costMonitorType == null ? 43 : this.costMonitorType.hashCode()); + result = + (result * PRIME) + + (this.targetResourceFilter == null + ? 43 + : this.targetResourceFilter.hashCode()); + result = + (result * PRIME) + + (this.timeAnomalyEventDate == null + ? 43 + : this.timeAnomalyEventDate.hashCode()); + result = (result * PRIME) + (this.costImpact == null ? 43 : this.costImpact.hashCode()); + result = + (result * PRIME) + + (this.costVariancePercentage == null + ? 43 + : this.costVariancePercentage.hashCode()); + result = + (result * PRIME) + + (this.rootCauseDetail == null ? 43 : this.rootCauseDetail.hashCode()); + result = + (result * PRIME) + + (this.feedbackResponse == null ? 43 : this.feedbackResponse.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.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.systemTags == null ? 43 : this.systemTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventAnalyticCollection.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventAnalyticCollection.java new file mode 100644 index 00000000000..9931cdb301b --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventAnalyticCollection.java @@ -0,0 +1,135 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.model; + +/** + * Results of a CostAnomalyEventAnalytics search.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAnomalyEventAnalyticCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAnomalyEventAnalyticCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public CostAnomalyEventAnalyticCollection( + java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The list of CostAnomalyEvent Analytic summary. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * The list of CostAnomalyEvent Analytic summary. + * + * @param items the value to set + * @return this builder + */ + public Builder items(java.util.List items) { + this.items = items; + this.__explicitlySet__.add("items"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CostAnomalyEventAnalyticCollection build() { + CostAnomalyEventAnalyticCollection model = + new CostAnomalyEventAnalyticCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAnomalyEventAnalyticCollection model) { + if (model.wasPropertyExplicitlySet("items")) { + this.items(model.getItems()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The list of CostAnomalyEvent Analytic summary. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * The list of CostAnomalyEvent Analytic summary. + * + * @return the value + */ + public java.util.List getItems() { + return items; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("CostAnomalyEventAnalyticCollection("); + 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 CostAnomalyEventAnalyticCollection)) { + return false; + } + + CostAnomalyEventAnalyticCollection other = (CostAnomalyEventAnalyticCollection) 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-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventAnalyticSummary.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventAnalyticSummary.java new file mode 100644 index 00000000000..b43a1ebadea --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventAnalyticSummary.java @@ -0,0 +1,213 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.model; + +/** + * A CostAnomalyEventAnalyticSummary.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAnomalyEventAnalyticSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAnomalyEventAnalyticSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"count", "averageCostImpact", "averageCostVariance"}) + public CostAnomalyEventAnalyticSummary( + Integer count, Double averageCostImpact, Double averageCostVariance) { + super(); + this.count = count; + this.averageCostImpact = averageCostImpact; + this.averageCostVariance = averageCostVariance; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The number of cost anomaly events in the given time period. */ + @com.fasterxml.jackson.annotation.JsonProperty("count") + private Integer count; + + /** + * The number of cost anomaly events in the given time period. + * + * @param count the value to set + * @return this builder + */ + public Builder count(Integer count) { + this.count = count; + this.__explicitlySet__.add("count"); + return this; + } + /** The average cost impact of the anomaly events in the given time period. */ + @com.fasterxml.jackson.annotation.JsonProperty("averageCostImpact") + private Double averageCostImpact; + + /** + * The average cost impact of the anomaly events in the given time period. + * + * @param averageCostImpact the value to set + * @return this builder + */ + public Builder averageCostImpact(Double averageCostImpact) { + this.averageCostImpact = averageCostImpact; + this.__explicitlySet__.add("averageCostImpact"); + return this; + } + /** The average cost variance of the anomaly events in the given time period. */ + @com.fasterxml.jackson.annotation.JsonProperty("averageCostVariance") + private Double averageCostVariance; + + /** + * The average cost variance of the anomaly events in the given time period. + * + * @param averageCostVariance the value to set + * @return this builder + */ + public Builder averageCostVariance(Double averageCostVariance) { + this.averageCostVariance = averageCostVariance; + this.__explicitlySet__.add("averageCostVariance"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CostAnomalyEventAnalyticSummary build() { + CostAnomalyEventAnalyticSummary model = + new CostAnomalyEventAnalyticSummary( + this.count, this.averageCostImpact, this.averageCostVariance); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAnomalyEventAnalyticSummary model) { + if (model.wasPropertyExplicitlySet("count")) { + this.count(model.getCount()); + } + if (model.wasPropertyExplicitlySet("averageCostImpact")) { + this.averageCostImpact(model.getAverageCostImpact()); + } + if (model.wasPropertyExplicitlySet("averageCostVariance")) { + this.averageCostVariance(model.getAverageCostVariance()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The number of cost anomaly events in the given time period. */ + @com.fasterxml.jackson.annotation.JsonProperty("count") + private final Integer count; + + /** + * The number of cost anomaly events in the given time period. + * + * @return the value + */ + public Integer getCount() { + return count; + } + + /** The average cost impact of the anomaly events in the given time period. */ + @com.fasterxml.jackson.annotation.JsonProperty("averageCostImpact") + private final Double averageCostImpact; + + /** + * The average cost impact of the anomaly events in the given time period. + * + * @return the value + */ + public Double getAverageCostImpact() { + return averageCostImpact; + } + + /** The average cost variance of the anomaly events in the given time period. */ + @com.fasterxml.jackson.annotation.JsonProperty("averageCostVariance") + private final Double averageCostVariance; + + /** + * The average cost variance of the anomaly events in the given time period. + * + * @return the value + */ + public Double getAverageCostVariance() { + return averageCostVariance; + } + + @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("CostAnomalyEventAnalyticSummary("); + sb.append("super=").append(super.toString()); + sb.append("count=").append(String.valueOf(this.count)); + sb.append(", averageCostImpact=").append(String.valueOf(this.averageCostImpact)); + sb.append(", averageCostVariance=").append(String.valueOf(this.averageCostVariance)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CostAnomalyEventAnalyticSummary)) { + return false; + } + + CostAnomalyEventAnalyticSummary other = (CostAnomalyEventAnalyticSummary) o; + return java.util.Objects.equals(this.count, other.count) + && java.util.Objects.equals(this.averageCostImpact, other.averageCostImpact) + && java.util.Objects.equals(this.averageCostVariance, other.averageCostVariance) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.count == null ? 43 : this.count.hashCode()); + result = + (result * PRIME) + + (this.averageCostImpact == null ? 43 : this.averageCostImpact.hashCode()); + result = + (result * PRIME) + + (this.averageCostVariance == null + ? 43 + : this.averageCostVariance.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventCollection.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventCollection.java new file mode 100644 index 00000000000..0c35f1a04ac --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventCollection.java @@ -0,0 +1,134 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.model; + +/** + * Results of a costAnomalyEvent search. Contains both CostAnomalyEventSummary items and other data. + *
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAnomalyEventCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAnomalyEventCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public CostAnomalyEventCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** A page of CostAnomalyMonitorSummary objects. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * A page of CostAnomalyMonitorSummary objects. + * + * @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 CostAnomalyEventCollection build() { + CostAnomalyEventCollection model = new CostAnomalyEventCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAnomalyEventCollection 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); + } + + /** A page of CostAnomalyMonitorSummary objects. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * A page of CostAnomalyMonitorSummary objects. + * + * @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("CostAnomalyEventCollection("); + 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 CostAnomalyEventCollection)) { + return false; + } + + CostAnomalyEventCollection other = (CostAnomalyEventCollection) 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-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventSummary.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventSummary.java new file mode 100644 index 00000000000..730d068595b --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyEventSummary.java @@ -0,0 +1,739 @@ +/** + * 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.costad.model; + +/** + * A CostAnomalyEvent.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAnomalyEventSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAnomalyEventSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "costAnomalyName", + "compartmentId", + "costMonitorId", + "costMonitorName", + "costMonitorType", + "lifecycleState", + "targetResourceFilter", + "rootCauseDetail", + "timeAnomalyEventDate", + "costImpact", + "costVariancePercentage", + "definedTags", + "freeformTags", + "systemTags" + }) + public CostAnomalyEventSummary( + String id, + String costAnomalyName, + String compartmentId, + String costMonitorId, + String costMonitorName, + MonitorType costMonitorType, + CostAnomalyEvent.LifecycleState lifecycleState, + TargetResourceFilter targetResourceFilter, + RootCauseDetail rootCauseDetail, + java.util.Date timeAnomalyEventDate, + Double costImpact, + Double costVariancePercentage, + java.util.Map> definedTags, + java.util.Map freeformTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.costAnomalyName = costAnomalyName; + this.compartmentId = compartmentId; + this.costMonitorId = costMonitorId; + this.costMonitorName = costMonitorName; + this.costMonitorType = costMonitorType; + this.lifecycleState = lifecycleState; + this.targetResourceFilter = targetResourceFilter; + this.rootCauseDetail = rootCauseDetail; + this.timeAnomalyEventDate = timeAnomalyEventDate; + this.costImpact = costImpact; + this.costVariancePercentage = costVariancePercentage; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + this.systemTags = systemTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the Cost Anomaly Event. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The OCID of the Cost Anomaly Event. + * + * @param id the value to set + * @return this builder + */ + public Builder id(String id) { + this.id = id; + this.__explicitlySet__.add("id"); + return this; + } + /** The name of the associated cost Anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costAnomalyName") + private String costAnomalyName; + + /** + * The name of the associated cost Anomaly. + * + * @param costAnomalyName the value to set + * @return this builder + */ + public Builder costAnomalyName(String costAnomalyName) { + this.costAnomalyName = costAnomalyName; + this.__explicitlySet__.add("costAnomalyName"); + return this; + } + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The OCID 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 OCID of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorId") + private String costMonitorId; + + /** + * The OCID of the associated cost monitor. + * + * @param costMonitorId the value to set + * @return this builder + */ + public Builder costMonitorId(String costMonitorId) { + this.costMonitorId = costMonitorId; + this.__explicitlySet__.add("costMonitorId"); + return this; + } + /** The name of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorName") + private String costMonitorName; + + /** + * The name of the associated cost monitor. + * + * @param costMonitorName the value to set + * @return this builder + */ + public Builder costMonitorName(String costMonitorName) { + this.costMonitorName = costMonitorName; + this.__explicitlySet__.add("costMonitorName"); + return this; + } + /** Type of cost monitor */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorType") + private MonitorType costMonitorType; + + /** + * Type of cost monitor + * + * @param costMonitorType the value to set + * @return this builder + */ + public Builder costMonitorType(MonitorType costMonitorType) { + this.costMonitorType = costMonitorType; + this.__explicitlySet__.add("costMonitorType"); + return this; + } + /** The current state of the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private CostAnomalyEvent.LifecycleState lifecycleState; + + /** + * The current state of the cost anomaly event. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(CostAnomalyEvent.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("targetResourceFilter") + private TargetResourceFilter targetResourceFilter; + + public Builder targetResourceFilter(TargetResourceFilter targetResourceFilter) { + this.targetResourceFilter = targetResourceFilter; + this.__explicitlySet__.add("targetResourceFilter"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("rootCauseDetail") + private RootCauseDetail rootCauseDetail; + + public Builder rootCauseDetail(RootCauseDetail rootCauseDetail) { + this.rootCauseDetail = rootCauseDetail; + this.__explicitlySet__.add("rootCauseDetail"); + return this; + } + /** The event date of the anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeAnomalyEventDate") + private java.util.Date timeAnomalyEventDate; + + /** + * The event date of the anomaly event. + * + * @param timeAnomalyEventDate the value to set + * @return this builder + */ + public Builder timeAnomalyEventDate(java.util.Date timeAnomalyEventDate) { + this.timeAnomalyEventDate = timeAnomalyEventDate; + this.__explicitlySet__.add("timeAnomalyEventDate"); + return this; + } + /** The cost impact of the detected anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costImpact") + private Double costImpact; + + /** + * The cost impact of the detected anomaly. + * + * @param costImpact the value to set + * @return this builder + */ + public Builder costImpact(Double costImpact) { + this.costImpact = costImpact; + this.__explicitlySet__.add("costImpact"); + return this; + } + /** The cost variance percentage of the detected anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costVariancePercentage") + private Double costVariancePercentage; + + /** + * The cost variance percentage of the detected anomaly. + * + * @param costVariancePercentage the value to set + * @return this builder + */ + public Builder costVariancePercentage(Double costVariancePercentage) { + this.costVariancePercentage = costVariancePercentage; + this.__explicitlySet__.add("costVariancePercentage"); + return this; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + /** + * 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). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CostAnomalyEventSummary build() { + CostAnomalyEventSummary model = + new CostAnomalyEventSummary( + this.id, + this.costAnomalyName, + this.compartmentId, + this.costMonitorId, + this.costMonitorName, + this.costMonitorType, + this.lifecycleState, + this.targetResourceFilter, + this.rootCauseDetail, + this.timeAnomalyEventDate, + this.costImpact, + this.costVariancePercentage, + this.definedTags, + this.freeformTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAnomalyEventSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("costAnomalyName")) { + this.costAnomalyName(model.getCostAnomalyName()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("costMonitorId")) { + this.costMonitorId(model.getCostMonitorId()); + } + if (model.wasPropertyExplicitlySet("costMonitorName")) { + this.costMonitorName(model.getCostMonitorName()); + } + if (model.wasPropertyExplicitlySet("costMonitorType")) { + this.costMonitorType(model.getCostMonitorType()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("targetResourceFilter")) { + this.targetResourceFilter(model.getTargetResourceFilter()); + } + if (model.wasPropertyExplicitlySet("rootCauseDetail")) { + this.rootCauseDetail(model.getRootCauseDetail()); + } + if (model.wasPropertyExplicitlySet("timeAnomalyEventDate")) { + this.timeAnomalyEventDate(model.getTimeAnomalyEventDate()); + } + if (model.wasPropertyExplicitlySet("costImpact")) { + this.costImpact(model.getCostImpact()); + } + if (model.wasPropertyExplicitlySet("costVariancePercentage")) { + this.costVariancePercentage(model.getCostVariancePercentage()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The OCID of the Cost Anomaly Event. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The OCID of the Cost Anomaly Event. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The name of the associated cost Anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costAnomalyName") + private final String costAnomalyName; + + /** + * The name of the associated cost Anomaly. + * + * @return the value + */ + public String getCostAnomalyName() { + return costAnomalyName; + } + + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The OCID of the compartment. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The OCID of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorId") + private final String costMonitorId; + + /** + * The OCID of the associated cost monitor. + * + * @return the value + */ + public String getCostMonitorId() { + return costMonitorId; + } + + /** The name of the associated cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorName") + private final String costMonitorName; + + /** + * The name of the associated cost monitor. + * + * @return the value + */ + public String getCostMonitorName() { + return costMonitorName; + } + + /** Type of cost monitor */ + @com.fasterxml.jackson.annotation.JsonProperty("costMonitorType") + private final MonitorType costMonitorType; + + /** + * Type of cost monitor + * + * @return the value + */ + public MonitorType getCostMonitorType() { + return costMonitorType; + } + + /** The current state of the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final CostAnomalyEvent.LifecycleState lifecycleState; + + /** + * The current state of the cost anomaly event. + * + * @return the value + */ + public CostAnomalyEvent.LifecycleState getLifecycleState() { + return lifecycleState; + } + + @com.fasterxml.jackson.annotation.JsonProperty("targetResourceFilter") + private final TargetResourceFilter targetResourceFilter; + + public TargetResourceFilter getTargetResourceFilter() { + return targetResourceFilter; + } + + @com.fasterxml.jackson.annotation.JsonProperty("rootCauseDetail") + private final RootCauseDetail rootCauseDetail; + + public RootCauseDetail getRootCauseDetail() { + return rootCauseDetail; + } + + /** The event date of the anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeAnomalyEventDate") + private final java.util.Date timeAnomalyEventDate; + + /** + * The event date of the anomaly event. + * + * @return the value + */ + public java.util.Date getTimeAnomalyEventDate() { + return timeAnomalyEventDate; + } + + /** The cost impact of the detected anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costImpact") + private final Double costImpact; + + /** + * The cost impact of the detected anomaly. + * + * @return the value + */ + public Double getCostImpact() { + return costImpact; + } + + /** The cost variance percentage of the detected anomaly. */ + @com.fasterxml.jackson.annotation.JsonProperty("costVariancePercentage") + private final Double costVariancePercentage; + + /** + * The cost variance percentage of the detected anomaly. + * + * @return the value + */ + public Double getCostVariancePercentage() { + return costVariancePercentage; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + /** + * 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). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("CostAnomalyEventSummary("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", costAnomalyName=").append(String.valueOf(this.costAnomalyName)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", costMonitorId=").append(String.valueOf(this.costMonitorId)); + sb.append(", costMonitorName=").append(String.valueOf(this.costMonitorName)); + sb.append(", costMonitorType=").append(String.valueOf(this.costMonitorType)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", targetResourceFilter=").append(String.valueOf(this.targetResourceFilter)); + sb.append(", rootCauseDetail=").append(String.valueOf(this.rootCauseDetail)); + sb.append(", timeAnomalyEventDate=").append(String.valueOf(this.timeAnomalyEventDate)); + sb.append(", costImpact=").append(String.valueOf(this.costImpact)); + sb.append(", costVariancePercentage=").append(String.valueOf(this.costVariancePercentage)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CostAnomalyEventSummary)) { + return false; + } + + CostAnomalyEventSummary other = (CostAnomalyEventSummary) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.costAnomalyName, other.costAnomalyName) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.costMonitorId, other.costMonitorId) + && java.util.Objects.equals(this.costMonitorName, other.costMonitorName) + && java.util.Objects.equals(this.costMonitorType, other.costMonitorType) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.targetResourceFilter, other.targetResourceFilter) + && java.util.Objects.equals(this.rootCauseDetail, other.rootCauseDetail) + && java.util.Objects.equals(this.timeAnomalyEventDate, other.timeAnomalyEventDate) + && java.util.Objects.equals(this.costImpact, other.costImpact) + && java.util.Objects.equals( + this.costVariancePercentage, other.costVariancePercentage) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = + (result * PRIME) + + (this.costAnomalyName == null ? 43 : this.costAnomalyName.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = + (result * PRIME) + + (this.costMonitorId == null ? 43 : this.costMonitorId.hashCode()); + result = + (result * PRIME) + + (this.costMonitorName == null ? 43 : this.costMonitorName.hashCode()); + result = + (result * PRIME) + + (this.costMonitorType == null ? 43 : this.costMonitorType.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.targetResourceFilter == null + ? 43 + : this.targetResourceFilter.hashCode()); + result = + (result * PRIME) + + (this.rootCauseDetail == null ? 43 : this.rootCauseDetail.hashCode()); + result = + (result * PRIME) + + (this.timeAnomalyEventDate == null + ? 43 + : this.timeAnomalyEventDate.hashCode()); + result = (result * PRIME) + (this.costImpact == null ? 43 : this.costImpact.hashCode()); + result = + (result * PRIME) + + (this.costVariancePercentage == null + ? 43 + : this.costVariancePercentage.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.systemTags == null ? 43 : this.systemTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitor.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitor.java new file mode 100644 index 00000000000..e0193b4afb2 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitor.java @@ -0,0 +1,737 @@ +/** + * 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.costad.model; + +/** + * A CostAnomalyMonitor.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAnomalyMonitor.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAnomalyMonitor + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "compartmentId", + "name", + "type", + "description", + "lifecycleState", + "lifecycleDetails", + "targetResourceFilter", + "costAlertSubscriptionMap", + "timeCreated", + "timeUpdated", + "definedTags", + "freeformTags", + "systemTags" + }) + public CostAnomalyMonitor( + String id, + String compartmentId, + String name, + MonitorType type, + String description, + LifecycleState lifecycleState, + String lifecycleDetails, + TargetResourceFilter targetResourceFilter, + CostAlertSubscriptionMap costAlertSubscriptionMap, + java.util.Date timeCreated, + java.util.Date timeUpdated, + java.util.Map> definedTags, + java.util.Map freeformTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.compartmentId = compartmentId; + this.name = name; + this.type = type; + this.description = description; + this.lifecycleState = lifecycleState; + this.lifecycleDetails = lifecycleDetails; + this.targetResourceFilter = targetResourceFilter; + this.costAlertSubscriptionMap = costAlertSubscriptionMap; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + this.systemTags = systemTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the Cost Anomaly Monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The OCID of the Cost Anomaly Monitor. + * + * @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 of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The OCID 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 name of the cost anomaly monitor. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private String name; + + /** + * The name of the cost anomaly monitor. Avoid entering confidential information. + * + * @param name the value to set + * @return this builder + */ + public Builder name(String name) { + this.name = name; + this.__explicitlySet__.add("name"); + return this; + } + /** Type of cost monitor */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + private MonitorType type; + + /** + * Type of cost monitor + * + * @param type the value to set + * @return this builder + */ + public Builder type(MonitorType type) { + this.type = type; + this.__explicitlySet__.add("type"); + return this; + } + /** The description of the budget. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description of the budget. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** The current state of the cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private LifecycleState lifecycleState; + + /** + * The current state of the cost monitor. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + /** The current state details of the cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private String lifecycleDetails; + + /** + * The current state details of the cost monitor. + * + * @param lifecycleDetails the value to set + * @return this builder + */ + public Builder lifecycleDetails(String lifecycleDetails) { + this.lifecycleDetails = lifecycleDetails; + this.__explicitlySet__.add("lifecycleDetails"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("targetResourceFilter") + private TargetResourceFilter targetResourceFilter; + + public Builder targetResourceFilter(TargetResourceFilter targetResourceFilter) { + this.targetResourceFilter = targetResourceFilter; + this.__explicitlySet__.add("targetResourceFilter"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("costAlertSubscriptionMap") + private CostAlertSubscriptionMap costAlertSubscriptionMap; + + public Builder costAlertSubscriptionMap(CostAlertSubscriptionMap costAlertSubscriptionMap) { + this.costAlertSubscriptionMap = costAlertSubscriptionMap; + this.__explicitlySet__.add("costAlertSubscriptionMap"); + return this; + } + /** The time that the cost monitor was created. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * The time that the cost monitor 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 time that the cost monitor was last updated. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * The time that the cost monitor was last 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; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + /** + * 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). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CostAnomalyMonitor build() { + CostAnomalyMonitor model = + new CostAnomalyMonitor( + this.id, + this.compartmentId, + this.name, + this.type, + this.description, + this.lifecycleState, + this.lifecycleDetails, + this.targetResourceFilter, + this.costAlertSubscriptionMap, + this.timeCreated, + this.timeUpdated, + this.definedTags, + this.freeformTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAnomalyMonitor model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("name")) { + this.name(model.getName()); + } + if (model.wasPropertyExplicitlySet("type")) { + this.type(model.getType()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("lifecycleDetails")) { + this.lifecycleDetails(model.getLifecycleDetails()); + } + if (model.wasPropertyExplicitlySet("targetResourceFilter")) { + this.targetResourceFilter(model.getTargetResourceFilter()); + } + if (model.wasPropertyExplicitlySet("costAlertSubscriptionMap")) { + this.costAlertSubscriptionMap(model.getCostAlertSubscriptionMap()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The OCID of the Cost Anomaly Monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The OCID of the Cost Anomaly Monitor. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The OCID of the compartment. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The name of the cost anomaly monitor. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private final String name; + + /** + * The name of the cost anomaly monitor. Avoid entering confidential information. + * + * @return the value + */ + public String getName() { + return name; + } + + /** Type of cost monitor */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + private final MonitorType type; + + /** + * Type of cost monitor + * + * @return the value + */ + public MonitorType getType() { + return type; + } + + /** The description of the budget. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description of the budget. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** The current state of the cost monitor. */ + public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum { + Active("ACTIVE"), + Inactive("INACTIVE"), + Deleted("DELETED"), + + /** + * 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 cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final LifecycleState lifecycleState; + + /** + * The current state of the cost monitor. + * + * @return the value + */ + public LifecycleState getLifecycleState() { + return lifecycleState; + } + + /** The current state details of the cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") + private final String lifecycleDetails; + + /** + * The current state details of the cost monitor. + * + * @return the value + */ + public String getLifecycleDetails() { + return lifecycleDetails; + } + + @com.fasterxml.jackson.annotation.JsonProperty("targetResourceFilter") + private final TargetResourceFilter targetResourceFilter; + + public TargetResourceFilter getTargetResourceFilter() { + return targetResourceFilter; + } + + @com.fasterxml.jackson.annotation.JsonProperty("costAlertSubscriptionMap") + private final CostAlertSubscriptionMap costAlertSubscriptionMap; + + public CostAlertSubscriptionMap getCostAlertSubscriptionMap() { + return costAlertSubscriptionMap; + } + + /** The time that the cost monitor was created. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * The time that the cost monitor was created. + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** The time that the cost monitor was last updated. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * The time that the cost monitor was last updated. + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + /** + * 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). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("CostAnomalyMonitor("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", name=").append(String.valueOf(this.name)); + sb.append(", type=").append(String.valueOf(this.type)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails)); + sb.append(", targetResourceFilter=").append(String.valueOf(this.targetResourceFilter)); + sb.append(", costAlertSubscriptionMap=") + .append(String.valueOf(this.costAlertSubscriptionMap)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CostAnomalyMonitor)) { + return false; + } + + CostAnomalyMonitor other = (CostAnomalyMonitor) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.type, other.type) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails) + && java.util.Objects.equals(this.targetResourceFilter, other.targetResourceFilter) + && java.util.Objects.equals( + this.costAlertSubscriptionMap, other.costAlertSubscriptionMap) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.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.targetResourceFilter == null + ? 43 + : this.targetResourceFilter.hashCode()); + result = + (result * PRIME) + + (this.costAlertSubscriptionMap == null + ? 43 + : this.costAlertSubscriptionMap.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.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.systemTags == null ? 43 : this.systemTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitorCollection.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitorCollection.java new file mode 100644 index 00000000000..e7a6f7be2ef --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitorCollection.java @@ -0,0 +1,134 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.model; + +/** + * Results of a costAnomalyMonitor search. Contains both CostAnomalyMonitorSummary items and other + * data.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAnomalyMonitorCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAnomalyMonitorCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public CostAnomalyMonitorCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** A page of CostAnomalyMonitorSummary objects. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * A page of CostAnomalyMonitorSummary objects. + * + * @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 CostAnomalyMonitorCollection build() { + CostAnomalyMonitorCollection model = new CostAnomalyMonitorCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAnomalyMonitorCollection 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); + } + + /** A page of CostAnomalyMonitorSummary objects. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * A page of CostAnomalyMonitorSummary objects. + * + * @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("CostAnomalyMonitorCollection("); + 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 CostAnomalyMonitorCollection)) { + return false; + } + + CostAnomalyMonitorCollection other = (CostAnomalyMonitorCollection) 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-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitorSummary.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitorSummary.java new file mode 100644 index 00000000000..2eb5127520b --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CostAnomalyMonitorSummary.java @@ -0,0 +1,618 @@ +/** + * 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.costad.model; + +/** + * A CostAnomalyMonitor.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CostAnomalyMonitorSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CostAnomalyMonitorSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "id", + "compartmentId", + "name", + "type", + "description", + "lifecycleState", + "targetResourceFilter", + "timeCreated", + "timeUpdated", + "definedTags", + "freeformTags", + "systemTags" + }) + public CostAnomalyMonitorSummary( + String id, + String compartmentId, + String name, + MonitorType type, + String description, + CostAnomalyMonitor.LifecycleState lifecycleState, + TargetResourceFilter targetResourceFilter, + java.util.Date timeCreated, + java.util.Date timeUpdated, + java.util.Map> definedTags, + java.util.Map freeformTags, + java.util.Map> systemTags) { + super(); + this.id = id; + this.compartmentId = compartmentId; + this.name = name; + this.type = type; + this.description = description; + this.lifecycleState = lifecycleState; + this.targetResourceFilter = targetResourceFilter; + this.timeCreated = timeCreated; + this.timeUpdated = timeUpdated; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + this.systemTags = systemTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the Cost Anomaly Monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The OCID of the Cost Anomaly Monitor. + * + * @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 of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The OCID 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 name of the cost anomaly monitor. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private String name; + + /** + * The name of the cost anomaly monitor. Avoid entering confidential information. + * + * @param name the value to set + * @return this builder + */ + public Builder name(String name) { + this.name = name; + this.__explicitlySet__.add("name"); + return this; + } + /** Type of cost monitor */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + private MonitorType type; + + /** + * Type of cost monitor + * + * @param type the value to set + * @return this builder + */ + public Builder type(MonitorType type) { + this.type = type; + this.__explicitlySet__.add("type"); + return this; + } + /** The description of the budget. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description of the budget. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** The current state of the cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private CostAnomalyMonitor.LifecycleState lifecycleState; + + /** + * The current state of the cost monitor. + * + * @param lifecycleState the value to set + * @return this builder + */ + public Builder lifecycleState(CostAnomalyMonitor.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + this.__explicitlySet__.add("lifecycleState"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("targetResourceFilter") + private TargetResourceFilter targetResourceFilter; + + public Builder targetResourceFilter(TargetResourceFilter targetResourceFilter) { + this.targetResourceFilter = targetResourceFilter; + this.__explicitlySet__.add("targetResourceFilter"); + return this; + } + /** The time that the cost monitor was created. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private java.util.Date timeCreated; + + /** + * The time that the cost monitor 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 time that the cost monitor was last updated. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private java.util.Date timeUpdated; + + /** + * The time that the cost monitor was last 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; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + /** + * 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). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System + * tags can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @param systemTags the value to set + * @return this builder + */ + public Builder systemTags(java.util.Map> systemTags) { + this.systemTags = systemTags; + this.__explicitlySet__.add("systemTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CostAnomalyMonitorSummary build() { + CostAnomalyMonitorSummary model = + new CostAnomalyMonitorSummary( + this.id, + this.compartmentId, + this.name, + this.type, + this.description, + this.lifecycleState, + this.targetResourceFilter, + this.timeCreated, + this.timeUpdated, + this.definedTags, + this.freeformTags, + this.systemTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CostAnomalyMonitorSummary model) { + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("name")) { + this.name(model.getName()); + } + if (model.wasPropertyExplicitlySet("type")) { + this.type(model.getType()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("lifecycleState")) { + this.lifecycleState(model.getLifecycleState()); + } + if (model.wasPropertyExplicitlySet("targetResourceFilter")) { + this.targetResourceFilter(model.getTargetResourceFilter()); + } + if (model.wasPropertyExplicitlySet("timeCreated")) { + this.timeCreated(model.getTimeCreated()); + } + if (model.wasPropertyExplicitlySet("timeUpdated")) { + this.timeUpdated(model.getTimeUpdated()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + if (model.wasPropertyExplicitlySet("systemTags")) { + this.systemTags(model.getSystemTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The OCID of the Cost Anomaly Monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The OCID of the Cost Anomaly Monitor. + * + * @return the value + */ + public String getId() { + return id; + } + + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The OCID of the compartment. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The name of the cost anomaly monitor. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private final String name; + + /** + * The name of the cost anomaly monitor. Avoid entering confidential information. + * + * @return the value + */ + public String getName() { + return name; + } + + /** Type of cost monitor */ + @com.fasterxml.jackson.annotation.JsonProperty("type") + private final MonitorType type; + + /** + * Type of cost monitor + * + * @return the value + */ + public MonitorType getType() { + return type; + } + + /** The description of the budget. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description of the budget. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** The current state of the cost monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") + private final CostAnomalyMonitor.LifecycleState lifecycleState; + + /** + * The current state of the cost monitor. + * + * @return the value + */ + public CostAnomalyMonitor.LifecycleState getLifecycleState() { + return lifecycleState; + } + + @com.fasterxml.jackson.annotation.JsonProperty("targetResourceFilter") + private final TargetResourceFilter targetResourceFilter; + + public TargetResourceFilter getTargetResourceFilter() { + return targetResourceFilter; + } + + /** The time that the cost monitor was created. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") + private final java.util.Date timeCreated; + + /** + * The time that the cost monitor was created. + * + * @return the value + */ + public java.util.Date getTimeCreated() { + return timeCreated; + } + + /** The time that the cost monitor was last updated. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") + private final java.util.Date timeUpdated; + + /** + * The time that the cost monitor was last updated. + * + * @return the value + */ + public java.util.Date getTimeUpdated() { + return timeUpdated; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + /** + * 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). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("systemTags") + private final java.util.Map> systemTags; + + /** + * System tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags + * can be viewed by users, but can only be created by the system. + * + *

Example: {@code {"orcl-cloud": {"free-tier-retained": "true"}}} + * + * @return the value + */ + public java.util.Map> getSystemTags() { + return systemTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("CostAnomalyMonitorSummary("); + sb.append("super=").append(super.toString()); + sb.append("id=").append(String.valueOf(this.id)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", name=").append(String.valueOf(this.name)); + sb.append(", type=").append(String.valueOf(this.type)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(", targetResourceFilter=").append(String.valueOf(this.targetResourceFilter)); + sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); + sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(", systemTags=").append(String.valueOf(this.systemTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CostAnomalyMonitorSummary)) { + return false; + } + + CostAnomalyMonitorSummary other = (CostAnomalyMonitorSummary) o; + return java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.type, other.type) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.targetResourceFilter, other.targetResourceFilter) + && java.util.Objects.equals(this.timeCreated, other.timeCreated) + && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && java.util.Objects.equals(this.systemTags, other.systemTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = + (result * PRIME) + + (this.targetResourceFilter == null + ? 43 + : this.targetResourceFilter.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.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + (this.systemTags == null ? 43 : this.systemTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CreateCostAlertSubscriptionDetails.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CreateCostAlertSubscriptionDetails.java new file mode 100644 index 00000000000..222f6f77c66 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CreateCostAlertSubscriptionDetails.java @@ -0,0 +1,373 @@ +/** + * 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.costad.model; + +/** + * The create CostAlertSubscriptionDetails details. The clients should pass compartmentId where the + * resource should belong, description and channels.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateCostAlertSubscriptionDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateCostAlertSubscriptionDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "compartmentId", + "name", + "description", + "channels", + "definedTags", + "freeformTags" + }) + public CreateCostAlertSubscriptionDetails( + String compartmentId, + String name, + String description, + String channels, + java.util.Map> definedTags, + java.util.Map freeformTags) { + super(); + this.compartmentId = compartmentId; + this.name = name; + this.description = description; + this.channels = channels; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The OCID 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 name of the cost alert subscription. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private String name; + + /** + * The name of the cost alert subscription. Avoid entering confidential information. + * + * @param name the value to set + * @return this builder + */ + public Builder name(String name) { + this.name = name; + this.__explicitlySet__.add("name"); + return this; + } + /** The description of the cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description of the cost alert subscription. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** The notification channels string. */ + @com.fasterxml.jackson.annotation.JsonProperty("channels") + private String channels; + + /** + * The notification channels string. + * + * @param channels the value to set + * @return this builder + */ + public Builder channels(String channels) { + this.channels = channels; + this.__explicitlySet__.add("channels"); + return this; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateCostAlertSubscriptionDetails build() { + CreateCostAlertSubscriptionDetails model = + new CreateCostAlertSubscriptionDetails( + this.compartmentId, + this.name, + this.description, + this.channels, + this.definedTags, + this.freeformTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateCostAlertSubscriptionDetails model) { + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("name")) { + this.name(model.getName()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("channels")) { + this.channels(model.getChannels()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The OCID of the compartment. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The name of the cost alert subscription. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private final String name; + + /** + * The name of the cost alert subscription. Avoid entering confidential information. + * + * @return the value + */ + public String getName() { + return name; + } + + /** The description of the cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description of the cost alert subscription. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** The notification channels string. */ + @com.fasterxml.jackson.annotation.JsonProperty("channels") + private final String channels; + + /** + * The notification channels string. + * + * @return the value + */ + public String getChannels() { + return channels; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("CreateCostAlertSubscriptionDetails("); + sb.append("super=").append(super.toString()); + sb.append("compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", name=").append(String.valueOf(this.name)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", channels=").append(String.valueOf(this.channels)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateCostAlertSubscriptionDetails)) { + return false; + } + + CreateCostAlertSubscriptionDetails other = (CreateCostAlertSubscriptionDetails) o; + return java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.channels, other.channels) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + (this.channels == null ? 43 : this.channels.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CreateCostAnomalyMonitorDetails.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CreateCostAnomalyMonitorDetails.java new file mode 100644 index 00000000000..2fa1e8bbfdf --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/CreateCostAnomalyMonitorDetails.java @@ -0,0 +1,398 @@ +/** + * 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.costad.model; + +/** + * The create CostAnomalyMonitor details. The clients should pass ocid of the compartmentId for the + * monitor resource to be created. tenantIdFilter and resourceFilter targets resources to monitor in + * a given tenancy.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateCostAnomalyMonitorDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateCostAnomalyMonitorDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "compartmentId", + "name", + "description", + "targetResourceFilter", + "costAlertSubscriptionMap", + "definedTags", + "freeformTags" + }) + public CreateCostAnomalyMonitorDetails( + String compartmentId, + String name, + String description, + TargetResourceFilter targetResourceFilter, + CostAlertSubscriptionMap costAlertSubscriptionMap, + java.util.Map> definedTags, + java.util.Map freeformTags) { + super(); + this.compartmentId = compartmentId; + this.name = name; + this.description = description; + this.targetResourceFilter = targetResourceFilter; + this.costAlertSubscriptionMap = costAlertSubscriptionMap; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The OCID 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 name of the cost anomaly monitor. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private String name; + + /** + * The name of the cost anomaly monitor. Avoid entering confidential information. + * + * @param name the value to set + * @return this builder + */ + public Builder name(String name) { + this.name = name; + this.__explicitlySet__.add("name"); + return this; + } + /** The description of the cost anomaly monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description of the cost anomaly monitor. + * + * @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.JsonProperty("targetResourceFilter") + private TargetResourceFilter targetResourceFilter; + + public Builder targetResourceFilter(TargetResourceFilter targetResourceFilter) { + this.targetResourceFilter = targetResourceFilter; + this.__explicitlySet__.add("targetResourceFilter"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("costAlertSubscriptionMap") + private CostAlertSubscriptionMap costAlertSubscriptionMap; + + public Builder costAlertSubscriptionMap(CostAlertSubscriptionMap costAlertSubscriptionMap) { + this.costAlertSubscriptionMap = costAlertSubscriptionMap; + this.__explicitlySet__.add("costAlertSubscriptionMap"); + return this; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateCostAnomalyMonitorDetails build() { + CreateCostAnomalyMonitorDetails model = + new CreateCostAnomalyMonitorDetails( + this.compartmentId, + this.name, + this.description, + this.targetResourceFilter, + this.costAlertSubscriptionMap, + this.definedTags, + this.freeformTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateCostAnomalyMonitorDetails model) { + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("name")) { + this.name(model.getName()); + } + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("targetResourceFilter")) { + this.targetResourceFilter(model.getTargetResourceFilter()); + } + if (model.wasPropertyExplicitlySet("costAlertSubscriptionMap")) { + this.costAlertSubscriptionMap(model.getCostAlertSubscriptionMap()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The OCID of the compartment. */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private final String compartmentId; + + /** + * The OCID of the compartment. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The name of the cost anomaly monitor. Avoid entering confidential information. */ + @com.fasterxml.jackson.annotation.JsonProperty("name") + private final String name; + + /** + * The name of the cost anomaly monitor. Avoid entering confidential information. + * + * @return the value + */ + public String getName() { + return name; + } + + /** The description of the cost anomaly monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description of the cost anomaly monitor. + * + * @return the value + */ + public String getDescription() { + return description; + } + + @com.fasterxml.jackson.annotation.JsonProperty("targetResourceFilter") + private final TargetResourceFilter targetResourceFilter; + + public TargetResourceFilter getTargetResourceFilter() { + return targetResourceFilter; + } + + @com.fasterxml.jackson.annotation.JsonProperty("costAlertSubscriptionMap") + private final CostAlertSubscriptionMap costAlertSubscriptionMap; + + public CostAlertSubscriptionMap getCostAlertSubscriptionMap() { + return costAlertSubscriptionMap; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("CreateCostAnomalyMonitorDetails("); + sb.append("super=").append(super.toString()); + sb.append("compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", name=").append(String.valueOf(this.name)); + sb.append(", description=").append(String.valueOf(this.description)); + sb.append(", targetResourceFilter=").append(String.valueOf(this.targetResourceFilter)); + sb.append(", costAlertSubscriptionMap=") + .append(String.valueOf(this.costAlertSubscriptionMap)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateCostAnomalyMonitorDetails)) { + return false; + } + + CreateCostAnomalyMonitorDetails other = (CreateCostAnomalyMonitorDetails) o; + return java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.targetResourceFilter, other.targetResourceFilter) + && java.util.Objects.equals( + this.costAlertSubscriptionMap, other.costAlertSubscriptionMap) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = + (result * PRIME) + + (this.targetResourceFilter == null + ? 43 + : this.targetResourceFilter.hashCode()); + result = + (result * PRIME) + + (this.costAlertSubscriptionMap == null + ? 43 + : this.costAlertSubscriptionMap.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/Dimension.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/Dimension.java new file mode 100644 index 00000000000..4106f39abfb --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/Dimension.java @@ -0,0 +1,170 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.model; + +/** + * The dimension used for filtering. Available dimensions are: "service", "skuName", + * "skuPartNumber", "unit", "compartmentName", "compartmentPath", "compartmentId", "tenantName, + * "tenantId", "platform", "region", "logicalAd", "resourceId". For example: {@code [{value: + * "COMPUTE", key: "service"}]}
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = Dimension.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class Dimension extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"key", "value"}) + public Dimension(String key, String value) { + super(); + this.key = key; + this.value = value; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The dimension key. */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + private String key; + + /** + * The dimension key. + * + * @param key the value to set + * @return this builder + */ + public Builder key(String key) { + this.key = key; + this.__explicitlySet__.add("key"); + return this; + } + /** The dimension value. */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + private String value; + + /** + * The dimension value. + * + * @param value the value to set + * @return this builder + */ + public Builder value(String value) { + this.value = value; + this.__explicitlySet__.add("value"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public Dimension build() { + Dimension model = new Dimension(this.key, this.value); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(Dimension model) { + if (model.wasPropertyExplicitlySet("key")) { + this.key(model.getKey()); + } + if (model.wasPropertyExplicitlySet("value")) { + this.value(model.getValue()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The dimension key. */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + private final String key; + + /** + * The dimension key. + * + * @return the value + */ + public String getKey() { + return key; + } + + /** The dimension value. */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + private final String value; + + /** + * The dimension value. + * + * @return the value + */ + public String getValue() { + return value; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("Dimension("); + sb.append("super=").append(super.toString()); + sb.append("key=").append(String.valueOf(this.key)); + sb.append(", value=").append(String.valueOf(this.value)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Dimension)) { + return false; + } + + Dimension other = (Dimension) o; + return java.util.Objects.equals(this.key, other.key) + && java.util.Objects.equals(this.value, other.value) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.key == null ? 43 : this.key.hashCode()); + result = (result * PRIME) + (this.value == null ? 43 : this.value.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/MonitorType.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/MonitorType.java new file mode 100644 index 00000000000..5479938976e --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/MonitorType.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.costad.model; + +/** The reset period for the budget. The valid value is DEFAULT,CUSTOM */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public enum MonitorType implements com.oracle.bmc.http.internal.BmcEnum { + Default("DEFAULT"), + Custom("CUSTOM"), + + /** + * 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(MonitorType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (MonitorType v : MonitorType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + MonitorType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static MonitorType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'MonitorType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/RootCauseDetail.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/RootCauseDetail.java new file mode 100644 index 00000000000..bba8236ee9b --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/RootCauseDetail.java @@ -0,0 +1,132 @@ +/** + * 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.costad.model; + +/** + * The root cause details of the cost anomaly event.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = RootCauseDetail.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class RootCauseDetail + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"value"}) + public RootCauseDetail(Object value) { + super(); + this.value = value; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The json object representing the root cause details of the anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + private Object value; + + /** + * The json object representing the root cause details of the anomaly event. + * + * @param value the value to set + * @return this builder + */ + public Builder value(Object value) { + this.value = value; + this.__explicitlySet__.add("value"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public RootCauseDetail build() { + RootCauseDetail model = new RootCauseDetail(this.value); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(RootCauseDetail model) { + if (model.wasPropertyExplicitlySet("value")) { + this.value(model.getValue()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The json object representing the root cause details of the anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + private final Object value; + + /** + * The json object representing the root cause details of the anomaly event. + * + * @return the value + */ + public Object getValue() { + return value; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("RootCauseDetail("); + sb.append("super=").append(super.toString()); + sb.append("value=").append(String.valueOf(this.value)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof RootCauseDetail)) { + return false; + } + + RootCauseDetail other = (RootCauseDetail) o; + return java.util.Objects.equals(this.value, other.value) && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.value == null ? 43 : this.value.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortByForCostAd.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortByForCostAd.java new file mode 100644 index 00000000000..b98b5742566 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortByForCostAd.java @@ -0,0 +1,41 @@ +/** + * 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.costad.model; + +/** The field to sort costAd by. Default is timeCreated (DESC). */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public enum SortByForCostAd implements com.oracle.bmc.http.internal.BmcEnum { + TimeCreated("timeCreated"), + Name("name"), + Id("id"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortByForCostAd v : SortByForCostAd.values()) { + map.put(v.getValue(), v); + } + } + + SortByForCostAd(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortByForCostAd create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortByForCostAd: " + key); + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortByForCostAnomalyEvent.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortByForCostAnomalyEvent.java new file mode 100644 index 00000000000..e21ec25906f --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortByForCostAnomalyEvent.java @@ -0,0 +1,41 @@ +/** + * 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.costad.model; + +/** The field to sort costAd by. Default is timeAnomalyEventDate (DESC). */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public enum SortByForCostAnomalyEvent implements com.oracle.bmc.http.internal.BmcEnum { + TimeAnomalyEventDate("timeAnomalyEventDate"), + CostAnomalyName("costAnomalyName"), + Id("id"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortByForCostAnomalyEvent v : SortByForCostAnomalyEvent.values()) { + map.put(v.getValue(), v); + } + } + + SortByForCostAnomalyEvent(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortByForCostAnomalyEvent create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortByForCostAnomalyEvent: " + key); + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortOrder.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortOrder.java new file mode 100644 index 00000000000..bafae2de600 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/SortOrder.java @@ -0,0 +1,40 @@ +/** + * 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.costad.model; + +/** The sort order to use. Valid values are 'asc' or 'desc'. */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +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); + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/Tag.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/Tag.java new file mode 100644 index 00000000000..b429773ad78 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/Tag.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.costad.model; + +/** + * The tag used for filtering.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = Tag.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class Tag extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"namespace", "key", "value"}) + public Tag(String namespace, String key, String value) { + super(); + this.namespace = namespace; + this.key = key; + this.value = value; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The tag namespace. */ + @com.fasterxml.jackson.annotation.JsonProperty("namespace") + private String namespace; + + /** + * The tag namespace. + * + * @param namespace the value to set + * @return this builder + */ + public Builder namespace(String namespace) { + this.namespace = namespace; + this.__explicitlySet__.add("namespace"); + return this; + } + /** The tag key. */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + private String key; + + /** + * The tag key. + * + * @param key the value to set + * @return this builder + */ + public Builder key(String key) { + this.key = key; + this.__explicitlySet__.add("key"); + return this; + } + /** The tag value. */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + private String value; + + /** + * The tag value. + * + * @param value the value to set + * @return this builder + */ + public Builder value(String value) { + this.value = value; + this.__explicitlySet__.add("value"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public Tag build() { + Tag model = new Tag(this.namespace, this.key, this.value); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(Tag model) { + if (model.wasPropertyExplicitlySet("namespace")) { + this.namespace(model.getNamespace()); + } + if (model.wasPropertyExplicitlySet("key")) { + this.key(model.getKey()); + } + if (model.wasPropertyExplicitlySet("value")) { + this.value(model.getValue()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The tag namespace. */ + @com.fasterxml.jackson.annotation.JsonProperty("namespace") + private final String namespace; + + /** + * The tag namespace. + * + * @return the value + */ + public String getNamespace() { + return namespace; + } + + /** The tag key. */ + @com.fasterxml.jackson.annotation.JsonProperty("key") + private final String key; + + /** + * The tag key. + * + * @return the value + */ + public String getKey() { + return key; + } + + /** The tag value. */ + @com.fasterxml.jackson.annotation.JsonProperty("value") + private final String value; + + /** + * The tag value. + * + * @return the value + */ + public String getValue() { + return value; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("Tag("); + sb.append("super=").append(super.toString()); + sb.append("namespace=").append(String.valueOf(this.namespace)); + sb.append(", key=").append(String.valueOf(this.key)); + sb.append(", value=").append(String.valueOf(this.value)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Tag)) { + return false; + } + + Tag other = (Tag) o; + return java.util.Objects.equals(this.namespace, other.namespace) + && java.util.Objects.equals(this.key, other.key) + && java.util.Objects.equals(this.value, other.value) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.namespace == null ? 43 : this.namespace.hashCode()); + result = (result * PRIME) + (this.key == null ? 43 : this.key.hashCode()); + result = (result * PRIME) + (this.value == null ? 43 : this.value.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/TargetResourceFilter.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/TargetResourceFilter.java new file mode 100644 index 00000000000..7ece76ac37e --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/TargetResourceFilter.java @@ -0,0 +1,292 @@ +/** + * 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.costad.model; + +/** + * The filter object to target resources for cost monitor. Cost generated by one or more resources + * identified by this filter is monitored for anomalous deviations.
+ * 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: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = TargetResourceFilter.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class TargetResourceFilter + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"operator", "dimensions", "tags", "filters"}) + public TargetResourceFilter( + Operator operator, + java.util.List dimensions, + java.util.List tags, + java.util.List filters) { + super(); + this.operator = operator; + this.dimensions = dimensions; + this.tags = tags; + this.filters = filters; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The filter operator. Example: 'AND', 'OR'. */ + @com.fasterxml.jackson.annotation.JsonProperty("operator") + private Operator operator; + + /** + * The filter operator. Example: 'AND', 'OR'. + * + * @param operator the value to set + * @return this builder + */ + public Builder operator(Operator operator) { + this.operator = operator; + this.__explicitlySet__.add("operator"); + return this; + } + /** The dimensions to filter on. */ + @com.fasterxml.jackson.annotation.JsonProperty("dimensions") + private java.util.List dimensions; + + /** + * The dimensions to filter on. + * + * @param dimensions the value to set + * @return this builder + */ + public Builder dimensions(java.util.List dimensions) { + this.dimensions = dimensions; + this.__explicitlySet__.add("dimensions"); + return this; + } + /** The tags to filter on. */ + @com.fasterxml.jackson.annotation.JsonProperty("tags") + private java.util.List tags; + + /** + * The tags to filter on. + * + * @param tags the value to set + * @return this builder + */ + public Builder tags(java.util.List tags) { + this.tags = tags; + this.__explicitlySet__.add("tags"); + return this; + } + /** The nested filter object. */ + @com.fasterxml.jackson.annotation.JsonProperty("filters") + private java.util.List filters; + + /** + * The nested filter object. + * + * @param filters the value to set + * @return this builder + */ + public Builder filters(java.util.List filters) { + this.filters = filters; + this.__explicitlySet__.add("filters"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public TargetResourceFilter build() { + TargetResourceFilter model = + new TargetResourceFilter( + this.operator, this.dimensions, this.tags, this.filters); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(TargetResourceFilter model) { + if (model.wasPropertyExplicitlySet("operator")) { + this.operator(model.getOperator()); + } + if (model.wasPropertyExplicitlySet("dimensions")) { + this.dimensions(model.getDimensions()); + } + if (model.wasPropertyExplicitlySet("tags")) { + this.tags(model.getTags()); + } + if (model.wasPropertyExplicitlySet("filters")) { + this.filters(model.getFilters()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The filter operator. Example: 'AND', 'OR'. */ + public enum Operator implements com.oracle.bmc.http.internal.BmcEnum { + And("AND"), + Or("OR"), + + /** + * 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(Operator.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (Operator v : Operator.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + Operator(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static Operator create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'Operator', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The filter operator. Example: 'AND', 'OR'. */ + @com.fasterxml.jackson.annotation.JsonProperty("operator") + private final Operator operator; + + /** + * The filter operator. Example: 'AND', 'OR'. + * + * @return the value + */ + public Operator getOperator() { + return operator; + } + + /** The dimensions to filter on. */ + @com.fasterxml.jackson.annotation.JsonProperty("dimensions") + private final java.util.List dimensions; + + /** + * The dimensions to filter on. + * + * @return the value + */ + public java.util.List getDimensions() { + return dimensions; + } + + /** The tags to filter on. */ + @com.fasterxml.jackson.annotation.JsonProperty("tags") + private final java.util.List tags; + + /** + * The tags to filter on. + * + * @return the value + */ + public java.util.List getTags() { + return tags; + } + + /** The nested filter object. */ + @com.fasterxml.jackson.annotation.JsonProperty("filters") + private final java.util.List filters; + + /** + * The nested filter object. + * + * @return the value + */ + public java.util.List getFilters() { + return filters; + } + + @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("TargetResourceFilter("); + sb.append("super=").append(super.toString()); + sb.append("operator=").append(String.valueOf(this.operator)); + sb.append(", dimensions=").append(String.valueOf(this.dimensions)); + sb.append(", tags=").append(String.valueOf(this.tags)); + sb.append(", filters=").append(String.valueOf(this.filters)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof TargetResourceFilter)) { + return false; + } + + TargetResourceFilter other = (TargetResourceFilter) o; + return java.util.Objects.equals(this.operator, other.operator) + && java.util.Objects.equals(this.dimensions, other.dimensions) + && java.util.Objects.equals(this.tags, other.tags) + && java.util.Objects.equals(this.filters, other.filters) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.operator == null ? 43 : this.operator.hashCode()); + result = (result * PRIME) + (this.dimensions == null ? 43 : this.dimensions.hashCode()); + result = (result * PRIME) + (this.tags == null ? 43 : this.tags.hashCode()); + result = (result * PRIME) + (this.filters == null ? 43 : this.filters.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAlertSubscriptionDetails.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAlertSubscriptionDetails.java new file mode 100644 index 00000000000..827d7181fd6 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAlertSubscriptionDetails.java @@ -0,0 +1,286 @@ +/** + * 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.costad.model; + +/** + * The update CostAlertSubscriptionDetails details.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateCostAlertSubscriptionDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateCostAlertSubscriptionDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"description", "channels", "definedTags", "freeformTags"}) + public UpdateCostAlertSubscriptionDetails( + String description, + String channels, + java.util.Map> definedTags, + java.util.Map freeformTags) { + super(); + this.description = description; + this.channels = channels; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The description of the cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description of the cost alert subscription. + * + * @param description the value to set + * @return this builder + */ + public Builder description(String description) { + this.description = description; + this.__explicitlySet__.add("description"); + return this; + } + /** The notification channels string. */ + @com.fasterxml.jackson.annotation.JsonProperty("channels") + private String channels; + + /** + * The notification channels string. + * + * @param channels the value to set + * @return this builder + */ + public Builder channels(String channels) { + this.channels = channels; + this.__explicitlySet__.add("channels"); + return this; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateCostAlertSubscriptionDetails build() { + UpdateCostAlertSubscriptionDetails model = + new UpdateCostAlertSubscriptionDetails( + this.description, this.channels, this.definedTags, this.freeformTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateCostAlertSubscriptionDetails model) { + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("channels")) { + this.channels(model.getChannels()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The description of the cost alert subscription. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description of the cost alert subscription. + * + * @return the value + */ + public String getDescription() { + return description; + } + + /** The notification channels string. */ + @com.fasterxml.jackson.annotation.JsonProperty("channels") + private final String channels; + + /** + * The notification channels string. + * + * @return the value + */ + public String getChannels() { + return channels; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("UpdateCostAlertSubscriptionDetails("); + sb.append("super=").append(super.toString()); + sb.append("description=").append(String.valueOf(this.description)); + sb.append(", channels=").append(String.valueOf(this.channels)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateCostAlertSubscriptionDetails)) { + return false; + } + + UpdateCostAlertSubscriptionDetails other = (UpdateCostAlertSubscriptionDetails) o; + return java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals(this.channels, other.channels) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + (this.channels == null ? 43 : this.channels.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAnomalyEventDetails.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAnomalyEventDetails.java new file mode 100644 index 00000000000..e803289a641 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAnomalyEventDetails.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.costad.model; + +/** + * The update CostAnomalyEvent details.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateCostAnomalyEventDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateCostAnomalyEventDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"feedbackResponse", "definedTags", "freeformTags"}) + public UpdateCostAnomalyEventDetails( + CostAnomalyEvent.FeedbackResponse feedbackResponse, + java.util.Map> definedTags, + java.util.Map freeformTags) { + super(); + this.feedbackResponse = feedbackResponse; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The feedback response for the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("feedbackResponse") + private CostAnomalyEvent.FeedbackResponse feedbackResponse; + + /** + * The feedback response for the cost anomaly event. + * + * @param feedbackResponse the value to set + * @return this builder + */ + public Builder feedbackResponse(CostAnomalyEvent.FeedbackResponse feedbackResponse) { + this.feedbackResponse = feedbackResponse; + this.__explicitlySet__.add("feedbackResponse"); + return this; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateCostAnomalyEventDetails build() { + UpdateCostAnomalyEventDetails model = + new UpdateCostAnomalyEventDetails( + this.feedbackResponse, this.definedTags, this.freeformTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateCostAnomalyEventDetails model) { + if (model.wasPropertyExplicitlySet("feedbackResponse")) { + this.feedbackResponse(model.getFeedbackResponse()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The feedback response for the cost anomaly event. */ + @com.fasterxml.jackson.annotation.JsonProperty("feedbackResponse") + private final CostAnomalyEvent.FeedbackResponse feedbackResponse; + + /** + * The feedback response for the cost anomaly event. + * + * @return the value + */ + public CostAnomalyEvent.FeedbackResponse getFeedbackResponse() { + return feedbackResponse; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("UpdateCostAnomalyEventDetails("); + sb.append("super=").append(super.toString()); + sb.append("feedbackResponse=").append(String.valueOf(this.feedbackResponse)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateCostAnomalyEventDetails)) { + return false; + } + + UpdateCostAnomalyEventDetails other = (UpdateCostAnomalyEventDetails) o; + return java.util.Objects.equals(this.feedbackResponse, other.feedbackResponse) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.feedbackResponse == null ? 43 : this.feedbackResponse.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAnomalyMonitorDetails.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAnomalyMonitorDetails.java new file mode 100644 index 00000000000..fff6bb1cc31 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/model/UpdateCostAnomalyMonitorDetails.java @@ -0,0 +1,288 @@ +/** + * 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.costad.model; + +/** + * Update CostAnomalyMonitor details.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = UpdateCostAnomalyMonitorDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class UpdateCostAnomalyMonitorDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "description", + "costAlertSubscriptionMap", + "definedTags", + "freeformTags" + }) + public UpdateCostAnomalyMonitorDetails( + String description, + CostAlertSubscriptionMap costAlertSubscriptionMap, + java.util.Map> definedTags, + java.util.Map freeformTags) { + super(); + this.description = description; + this.costAlertSubscriptionMap = costAlertSubscriptionMap; + this.definedTags = definedTags; + this.freeformTags = freeformTags; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The description of the cost anomaly monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description of the cost anomaly monitor. + * + * @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.JsonProperty("costAlertSubscriptionMap") + private CostAlertSubscriptionMap costAlertSubscriptionMap; + + public Builder costAlertSubscriptionMap(CostAlertSubscriptionMap costAlertSubscriptionMap) { + this.costAlertSubscriptionMap = costAlertSubscriptionMap; + this.__explicitlySet__.add("costAlertSubscriptionMap"); + return this; + } + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For + * more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @param definedTags the value to set + * @return this builder + */ + public Builder definedTags( + java.util.Map> definedTags) { + this.definedTags = definedTags; + this.__explicitlySet__.add("definedTags"); + return this; + } + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @param freeformTags the value to set + * @return this builder + */ + public Builder freeformTags(java.util.Map freeformTags) { + this.freeformTags = freeformTags; + this.__explicitlySet__.add("freeformTags"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public UpdateCostAnomalyMonitorDetails build() { + UpdateCostAnomalyMonitorDetails model = + new UpdateCostAnomalyMonitorDetails( + this.description, + this.costAlertSubscriptionMap, + this.definedTags, + this.freeformTags); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(UpdateCostAnomalyMonitorDetails model) { + if (model.wasPropertyExplicitlySet("description")) { + this.description(model.getDescription()); + } + if (model.wasPropertyExplicitlySet("costAlertSubscriptionMap")) { + this.costAlertSubscriptionMap(model.getCostAlertSubscriptionMap()); + } + if (model.wasPropertyExplicitlySet("definedTags")) { + this.definedTags(model.getDefinedTags()); + } + if (model.wasPropertyExplicitlySet("freeformTags")) { + this.freeformTags(model.getFreeformTags()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The description of the cost anomaly monitor. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description of the cost anomaly monitor. + * + * @return the value + */ + public String getDescription() { + return description; + } + + @com.fasterxml.jackson.annotation.JsonProperty("costAlertSubscriptionMap") + private final CostAlertSubscriptionMap costAlertSubscriptionMap; + + public CostAlertSubscriptionMap getCostAlertSubscriptionMap() { + return costAlertSubscriptionMap; + } + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("definedTags") + private final java.util.Map> definedTags; + + /** + * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more + * information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Operations": {"CostCenter": "42"}}} + * + * @return the value + */ + public java.util.Map> getDefinedTags() { + return definedTags; + } + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + */ + @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") + private final java.util.Map freeformTags; + + /** + * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined + * name, type, or namespace. For more information, see [Resource + * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). + * + *

Example: {@code {"Department": "Finance"}} + * + * @return the value + */ + public java.util.Map getFreeformTags() { + return freeformTags; + } + + @Override + public String toString() { + return this.toString(true); + } + + /** + * Return a string representation of the object. + * + * @param includeByteArrayContents true to include the full contents of byte arrays + * @return string representation + */ + public String toString(boolean includeByteArrayContents) { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("UpdateCostAnomalyMonitorDetails("); + sb.append("super=").append(super.toString()); + sb.append("description=").append(String.valueOf(this.description)); + sb.append(", costAlertSubscriptionMap=") + .append(String.valueOf(this.costAlertSubscriptionMap)); + sb.append(", definedTags=").append(String.valueOf(this.definedTags)); + sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateCostAnomalyMonitorDetails)) { + return false; + } + + UpdateCostAnomalyMonitorDetails other = (UpdateCostAnomalyMonitorDetails) o; + return java.util.Objects.equals(this.description, other.description) + && java.util.Objects.equals( + this.costAlertSubscriptionMap, other.costAlertSubscriptionMap) + && java.util.Objects.equals(this.definedTags, other.definedTags) + && java.util.Objects.equals(this.freeformTags, other.freeformTags) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = + (result * PRIME) + + (this.costAlertSubscriptionMap == null + ? 43 + : this.costAlertSubscriptionMap.hashCode()); + result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); + result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/CreateCostAlertSubscriptionRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/CreateCostAlertSubscriptionRequest.java new file mode 100644 index 00000000000..07bdb4c3606 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/CreateCostAlertSubscriptionRequest.java @@ -0,0 +1,283 @@ +/** + * 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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * CreateCostAlertSubscriptionRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class CreateCostAlertSubscriptionRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.costad.model.CreateCostAlertSubscriptionDetails> { + + /** Details for the new subscription. */ + private com.oracle.bmc.costad.model.CreateCostAlertSubscriptionDetails + createCostAlertSubscriptionDetails; + + /** Details for the new subscription. */ + public com.oracle.bmc.costad.model.CreateCostAlertSubscriptionDetails + getCreateCostAlertSubscriptionDetails() { + return createCostAlertSubscriptionDetails; + } + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.costad.model.CreateCostAlertSubscriptionDetails getBody$() { + return createCostAlertSubscriptionDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + CreateCostAlertSubscriptionRequest, + com.oracle.bmc.costad.model.CreateCostAlertSubscriptionDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** Details for the new subscription. */ + private com.oracle.bmc.costad.model.CreateCostAlertSubscriptionDetails + createCostAlertSubscriptionDetails = null; + + /** + * Details for the new subscription. + * + * @param createCostAlertSubscriptionDetails the value to set + * @return this builder instance + */ + public Builder createCostAlertSubscriptionDetails( + com.oracle.bmc.costad.model.CreateCostAlertSubscriptionDetails + createCostAlertSubscriptionDetails) { + this.createCostAlertSubscriptionDetails = createCostAlertSubscriptionDetails; + return this; + } + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** 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(CreateCostAlertSubscriptionRequest o) { + createCostAlertSubscriptionDetails(o.getCreateCostAlertSubscriptionDetails()); + opcRetryToken(o.getOpcRetryToken()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of CreateCostAlertSubscriptionRequest 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 CreateCostAlertSubscriptionRequest + */ + public CreateCostAlertSubscriptionRequest build() { + CreateCostAlertSubscriptionRequest 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.costad.model.CreateCostAlertSubscriptionDetails body) { + createCostAlertSubscriptionDetails(body); + return this; + } + + /** + * Build the instance of CreateCostAlertSubscriptionRequest 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 CreateCostAlertSubscriptionRequest + */ + public CreateCostAlertSubscriptionRequest buildWithoutInvocationCallback() { + CreateCostAlertSubscriptionRequest request = new CreateCostAlertSubscriptionRequest(); + request.createCostAlertSubscriptionDetails = createCostAlertSubscriptionDetails; + request.opcRetryToken = opcRetryToken; + request.opcRequestId = opcRequestId; + return request; + // new CreateCostAlertSubscriptionRequest(createCostAlertSubscriptionDetails, + // 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() + .createCostAlertSubscriptionDetails(createCostAlertSubscriptionDetails) + .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(",createCostAlertSubscriptionDetails=") + .append(String.valueOf(this.createCostAlertSubscriptionDetails)); + 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 CreateCostAlertSubscriptionRequest)) { + return false; + } + + CreateCostAlertSubscriptionRequest other = (CreateCostAlertSubscriptionRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.createCostAlertSubscriptionDetails, + other.createCostAlertSubscriptionDetails) + && 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.createCostAlertSubscriptionDetails == null + ? 43 + : this.createCostAlertSubscriptionDetails.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-costad/src/main/java/com/oracle/bmc/costad/requests/CreateCostAnomalyMonitorRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/CreateCostAnomalyMonitorRequest.java new file mode 100644 index 00000000000..12f370097e8 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/CreateCostAnomalyMonitorRequest.java @@ -0,0 +1,282 @@ +/** + * 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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * CreateCostAnomalyMonitorRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class CreateCostAnomalyMonitorRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.costad.model.CreateCostAnomalyMonitorDetails> { + + /** Details for the new monitor. */ + private com.oracle.bmc.costad.model.CreateCostAnomalyMonitorDetails + createCostAnomalyMonitorDetails; + + /** Details for the new monitor. */ + public com.oracle.bmc.costad.model.CreateCostAnomalyMonitorDetails + getCreateCostAnomalyMonitorDetails() { + return createCostAnomalyMonitorDetails; + } + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.costad.model.CreateCostAnomalyMonitorDetails getBody$() { + return createCostAnomalyMonitorDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + CreateCostAnomalyMonitorRequest, + com.oracle.bmc.costad.model.CreateCostAnomalyMonitorDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** Details for the new monitor. */ + private com.oracle.bmc.costad.model.CreateCostAnomalyMonitorDetails + createCostAnomalyMonitorDetails = null; + + /** + * Details for the new monitor. + * + * @param createCostAnomalyMonitorDetails the value to set + * @return this builder instance + */ + public Builder createCostAnomalyMonitorDetails( + com.oracle.bmc.costad.model.CreateCostAnomalyMonitorDetails + createCostAnomalyMonitorDetails) { + this.createCostAnomalyMonitorDetails = createCostAnomalyMonitorDetails; + return this; + } + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** 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(CreateCostAnomalyMonitorRequest o) { + createCostAnomalyMonitorDetails(o.getCreateCostAnomalyMonitorDetails()); + opcRetryToken(o.getOpcRetryToken()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of CreateCostAnomalyMonitorRequest 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 CreateCostAnomalyMonitorRequest + */ + public CreateCostAnomalyMonitorRequest build() { + CreateCostAnomalyMonitorRequest 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.costad.model.CreateCostAnomalyMonitorDetails body) { + createCostAnomalyMonitorDetails(body); + return this; + } + + /** + * Build the instance of CreateCostAnomalyMonitorRequest 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 CreateCostAnomalyMonitorRequest + */ + public CreateCostAnomalyMonitorRequest buildWithoutInvocationCallback() { + CreateCostAnomalyMonitorRequest request = new CreateCostAnomalyMonitorRequest(); + request.createCostAnomalyMonitorDetails = createCostAnomalyMonitorDetails; + request.opcRetryToken = opcRetryToken; + request.opcRequestId = opcRequestId; + return request; + // new CreateCostAnomalyMonitorRequest(createCostAnomalyMonitorDetails, 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() + .createCostAnomalyMonitorDetails(createCostAnomalyMonitorDetails) + .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(",createCostAnomalyMonitorDetails=") + .append(String.valueOf(this.createCostAnomalyMonitorDetails)); + 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 CreateCostAnomalyMonitorRequest)) { + return false; + } + + CreateCostAnomalyMonitorRequest other = (CreateCostAnomalyMonitorRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.createCostAnomalyMonitorDetails, other.createCostAnomalyMonitorDetails) + && 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.createCostAnomalyMonitorDetails == null + ? 43 + : this.createCostAnomalyMonitorDetails.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-costad/src/main/java/com/oracle/bmc/costad/requests/DeleteCostAlertSubscriptionRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/DeleteCostAlertSubscriptionRequest.java new file mode 100644 index 00000000000..6d940d12ab3 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/DeleteCostAlertSubscriptionRequest.java @@ -0,0 +1,245 @@ +/** + * 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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * DeleteCostAlertSubscriptionRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class DeleteCostAlertSubscriptionRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The unique costAlertSubscription OCID. */ + private String costAlertSubscriptionId; + + /** The unique costAlertSubscription OCID. */ + public String getCostAlertSubscriptionId() { + return costAlertSubscriptionId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + DeleteCostAlertSubscriptionRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAlertSubscription OCID. */ + private String costAlertSubscriptionId = null; + + /** + * The unique costAlertSubscription OCID. + * + * @param costAlertSubscriptionId the value to set + * @return this builder instance + */ + public Builder costAlertSubscriptionId(String costAlertSubscriptionId) { + this.costAlertSubscriptionId = costAlertSubscriptionId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(DeleteCostAlertSubscriptionRequest o) { + costAlertSubscriptionId(o.getCostAlertSubscriptionId()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of DeleteCostAlertSubscriptionRequest 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 DeleteCostAlertSubscriptionRequest + */ + public DeleteCostAlertSubscriptionRequest build() { + DeleteCostAlertSubscriptionRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of DeleteCostAlertSubscriptionRequest 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 DeleteCostAlertSubscriptionRequest + */ + public DeleteCostAlertSubscriptionRequest buildWithoutInvocationCallback() { + DeleteCostAlertSubscriptionRequest request = new DeleteCostAlertSubscriptionRequest(); + request.costAlertSubscriptionId = costAlertSubscriptionId; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new DeleteCostAlertSubscriptionRequest(costAlertSubscriptionId, 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() + .costAlertSubscriptionId(costAlertSubscriptionId) + .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(",costAlertSubscriptionId=").append(String.valueOf(this.costAlertSubscriptionId)); + 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 DeleteCostAlertSubscriptionRequest)) { + return false; + } + + DeleteCostAlertSubscriptionRequest other = (DeleteCostAlertSubscriptionRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.costAlertSubscriptionId, other.costAlertSubscriptionId) + && 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.costAlertSubscriptionId == null + ? 43 + : this.costAlertSubscriptionId.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-costad/src/main/java/com/oracle/bmc/costad/requests/DeleteCostAnomalyMonitorRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/DeleteCostAnomalyMonitorRequest.java new file mode 100644 index 00000000000..ad35a49af8c --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/DeleteCostAnomalyMonitorRequest.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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * DeleteCostAnomalyMonitorRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class DeleteCostAnomalyMonitorRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId; + + /** The unique costAnomalyMonitor OCID. */ + public String getCostAnomalyMonitorId() { + return costAnomalyMonitorId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + DeleteCostAnomalyMonitorRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId = null; + + /** + * The unique costAnomalyMonitor OCID. + * + * @param costAnomalyMonitorId the value to set + * @return this builder instance + */ + public Builder costAnomalyMonitorId(String costAnomalyMonitorId) { + this.costAnomalyMonitorId = costAnomalyMonitorId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(DeleteCostAnomalyMonitorRequest o) { + costAnomalyMonitorId(o.getCostAnomalyMonitorId()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of DeleteCostAnomalyMonitorRequest 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 DeleteCostAnomalyMonitorRequest + */ + public DeleteCostAnomalyMonitorRequest build() { + DeleteCostAnomalyMonitorRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of DeleteCostAnomalyMonitorRequest 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 DeleteCostAnomalyMonitorRequest + */ + public DeleteCostAnomalyMonitorRequest buildWithoutInvocationCallback() { + DeleteCostAnomalyMonitorRequest request = new DeleteCostAnomalyMonitorRequest(); + request.costAnomalyMonitorId = costAnomalyMonitorId; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new DeleteCostAnomalyMonitorRequest(costAnomalyMonitorId, 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() + .costAnomalyMonitorId(costAnomalyMonitorId) + .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(",costAnomalyMonitorId=").append(String.valueOf(this.costAnomalyMonitorId)); + 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 DeleteCostAnomalyMonitorRequest)) { + return false; + } + + DeleteCostAnomalyMonitorRequest other = (DeleteCostAnomalyMonitorRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.costAnomalyMonitorId, other.costAnomalyMonitorId) + && 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.costAnomalyMonitorId == null + ? 43 + : this.costAnomalyMonitorId.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-costad/src/main/java/com/oracle/bmc/costad/requests/DisableCostAnomalyMonitorRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/DisableCostAnomalyMonitorRequest.java new file mode 100644 index 00000000000..578d00bd8e1 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/DisableCostAnomalyMonitorRequest.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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * DisableCostAnomalyMonitorRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class DisableCostAnomalyMonitorRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId; + + /** The unique costAnomalyMonitor OCID. */ + public String getCostAnomalyMonitorId() { + return costAnomalyMonitorId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + DisableCostAnomalyMonitorRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId = null; + + /** + * The unique costAnomalyMonitor OCID. + * + * @param costAnomalyMonitorId the value to set + * @return this builder instance + */ + public Builder costAnomalyMonitorId(String costAnomalyMonitorId) { + this.costAnomalyMonitorId = costAnomalyMonitorId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(DisableCostAnomalyMonitorRequest o) { + costAnomalyMonitorId(o.getCostAnomalyMonitorId()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + opcRetryToken(o.getOpcRetryToken()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of DisableCostAnomalyMonitorRequest 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 DisableCostAnomalyMonitorRequest + */ + public DisableCostAnomalyMonitorRequest build() { + DisableCostAnomalyMonitorRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of DisableCostAnomalyMonitorRequest 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 DisableCostAnomalyMonitorRequest + */ + public DisableCostAnomalyMonitorRequest buildWithoutInvocationCallback() { + DisableCostAnomalyMonitorRequest request = new DisableCostAnomalyMonitorRequest(); + request.costAnomalyMonitorId = costAnomalyMonitorId; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + request.opcRetryToken = opcRetryToken; + return request; + // new DisableCostAnomalyMonitorRequest(costAnomalyMonitorId, ifMatch, opcRequestId, + // opcRetryToken); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .costAnomalyMonitorId(costAnomalyMonitorId) + .ifMatch(ifMatch) + .opcRequestId(opcRequestId) + .opcRetryToken(opcRetryToken); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",costAnomalyMonitorId=").append(String.valueOf(this.costAnomalyMonitorId)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DisableCostAnomalyMonitorRequest)) { + return false; + } + + DisableCostAnomalyMonitorRequest other = (DisableCostAnomalyMonitorRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.costAnomalyMonitorId, other.costAnomalyMonitorId) + && java.util.Objects.equals(this.ifMatch, other.ifMatch) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.costAnomalyMonitorId == null + ? 43 + : this.costAnomalyMonitorId.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/EnableCostAnomalyMonitorRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/EnableCostAnomalyMonitorRequest.java new file mode 100644 index 00000000000..2b649769e69 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/EnableCostAnomalyMonitorRequest.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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * EnableCostAnomalyMonitorRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class EnableCostAnomalyMonitorRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId; + + /** The unique costAnomalyMonitor OCID. */ + public String getCostAnomalyMonitorId() { + return costAnomalyMonitorId; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + private String opcRetryToken; + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after 24 + * hours, but can be invalidated before then due to conflicting operations. For example, if a + * resource has been deleted and purged from the system, then a retry of the original creation + * request might be rejected. + */ + public String getOpcRetryToken() { + return opcRetryToken; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + EnableCostAnomalyMonitorRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId = null; + + /** + * The unique costAnomalyMonitor OCID. + * + * @param costAnomalyMonitorId the value to set + * @return this builder instance + */ + public Builder costAnomalyMonitorId(String costAnomalyMonitorId) { + this.costAnomalyMonitorId = costAnomalyMonitorId; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + */ + private String opcRetryToken = null; + + /** + * A token that uniquely identifies a request so it can be retried, in case of a timeout or + * server error, without risk of executing that same action again. Retry tokens expire after + * 24 hours, but can be invalidated before then due to conflicting operations. For example, + * if a resource has been deleted and purged from the system, then a retry of the original + * creation request might be rejected. + * + * @param opcRetryToken the value to set + * @return this builder instance + */ + public Builder opcRetryToken(String opcRetryToken) { + this.opcRetryToken = opcRetryToken; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(EnableCostAnomalyMonitorRequest o) { + costAnomalyMonitorId(o.getCostAnomalyMonitorId()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + opcRetryToken(o.getOpcRetryToken()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of EnableCostAnomalyMonitorRequest 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 EnableCostAnomalyMonitorRequest + */ + public EnableCostAnomalyMonitorRequest build() { + EnableCostAnomalyMonitorRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of EnableCostAnomalyMonitorRequest 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 EnableCostAnomalyMonitorRequest + */ + public EnableCostAnomalyMonitorRequest buildWithoutInvocationCallback() { + EnableCostAnomalyMonitorRequest request = new EnableCostAnomalyMonitorRequest(); + request.costAnomalyMonitorId = costAnomalyMonitorId; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + request.opcRetryToken = opcRetryToken; + return request; + // new EnableCostAnomalyMonitorRequest(costAnomalyMonitorId, ifMatch, opcRequestId, + // opcRetryToken); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .costAnomalyMonitorId(costAnomalyMonitorId) + .ifMatch(ifMatch) + .opcRequestId(opcRequestId) + .opcRetryToken(opcRetryToken); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",costAnomalyMonitorId=").append(String.valueOf(this.costAnomalyMonitorId)); + sb.append(",ifMatch=").append(String.valueOf(this.ifMatch)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",opcRetryToken=").append(String.valueOf(this.opcRetryToken)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof EnableCostAnomalyMonitorRequest)) { + return false; + } + + EnableCostAnomalyMonitorRequest other = (EnableCostAnomalyMonitorRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.costAnomalyMonitorId, other.costAnomalyMonitorId) + && java.util.Objects.equals(this.ifMatch, other.ifMatch) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcRetryToken, other.opcRetryToken); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.costAnomalyMonitorId == null + ? 43 + : this.costAnomalyMonitorId.hashCode()); + result = (result * PRIME) + (this.ifMatch == null ? 43 : this.ifMatch.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcRetryToken == null ? 43 : this.opcRetryToken.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAlertSubscriptionRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAlertSubscriptionRequest.java new file mode 100644 index 00000000000..b07c5d9ff73 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAlertSubscriptionRequest.java @@ -0,0 +1,199 @@ +/** + * 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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * GetCostAlertSubscriptionRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class GetCostAlertSubscriptionRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The unique costAlertSubscription OCID. */ + private String costAlertSubscriptionId; + + /** The unique costAlertSubscription OCID. */ + public String getCostAlertSubscriptionId() { + return costAlertSubscriptionId; + } + /** 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< + GetCostAlertSubscriptionRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAlertSubscription OCID. */ + private String costAlertSubscriptionId = null; + + /** + * The unique costAlertSubscription OCID. + * + * @param costAlertSubscriptionId the value to set + * @return this builder instance + */ + public Builder costAlertSubscriptionId(String costAlertSubscriptionId) { + this.costAlertSubscriptionId = costAlertSubscriptionId; + 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(GetCostAlertSubscriptionRequest o) { + costAlertSubscriptionId(o.getCostAlertSubscriptionId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetCostAlertSubscriptionRequest 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 GetCostAlertSubscriptionRequest + */ + public GetCostAlertSubscriptionRequest build() { + GetCostAlertSubscriptionRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetCostAlertSubscriptionRequest 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 GetCostAlertSubscriptionRequest + */ + public GetCostAlertSubscriptionRequest buildWithoutInvocationCallback() { + GetCostAlertSubscriptionRequest request = new GetCostAlertSubscriptionRequest(); + request.costAlertSubscriptionId = costAlertSubscriptionId; + request.opcRequestId = opcRequestId; + return request; + // new GetCostAlertSubscriptionRequest(costAlertSubscriptionId, 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() + .costAlertSubscriptionId(costAlertSubscriptionId) + .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(",costAlertSubscriptionId=").append(String.valueOf(this.costAlertSubscriptionId)); + 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 GetCostAlertSubscriptionRequest)) { + return false; + } + + GetCostAlertSubscriptionRequest other = (GetCostAlertSubscriptionRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.costAlertSubscriptionId, other.costAlertSubscriptionId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.costAlertSubscriptionId == null + ? 43 + : this.costAlertSubscriptionId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAnomalyEventRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAnomalyEventRequest.java new file mode 100644 index 00000000000..ad30ae08d51 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAnomalyEventRequest.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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use GetCostAnomalyEventRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class GetCostAnomalyEventRequest extends com.oracle.bmc.requests.BmcRequest { + + /** The unique costAnomalyEventId OCID. */ + private String costAnomalyEventId; + + /** The unique costAnomalyEventId OCID. */ + public String getCostAnomalyEventId() { + return costAnomalyEventId; + } + /** 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< + GetCostAnomalyEventRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAnomalyEventId OCID. */ + private String costAnomalyEventId = null; + + /** + * The unique costAnomalyEventId OCID. + * + * @param costAnomalyEventId the value to set + * @return this builder instance + */ + public Builder costAnomalyEventId(String costAnomalyEventId) { + this.costAnomalyEventId = costAnomalyEventId; + 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(GetCostAnomalyEventRequest o) { + costAnomalyEventId(o.getCostAnomalyEventId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetCostAnomalyEventRequest 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 GetCostAnomalyEventRequest + */ + public GetCostAnomalyEventRequest build() { + GetCostAnomalyEventRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetCostAnomalyEventRequest 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 GetCostAnomalyEventRequest + */ + public GetCostAnomalyEventRequest buildWithoutInvocationCallback() { + GetCostAnomalyEventRequest request = new GetCostAnomalyEventRequest(); + request.costAnomalyEventId = costAnomalyEventId; + request.opcRequestId = opcRequestId; + return request; + // new GetCostAnomalyEventRequest(costAnomalyEventId, 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().costAnomalyEventId(costAnomalyEventId).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(",costAnomalyEventId=").append(String.valueOf(this.costAnomalyEventId)); + 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 GetCostAnomalyEventRequest)) { + return false; + } + + GetCostAnomalyEventRequest other = (GetCostAnomalyEventRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.costAnomalyEventId, other.costAnomalyEventId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.costAnomalyEventId == null + ? 43 + : this.costAnomalyEventId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAnomalyMonitorRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAnomalyMonitorRequest.java new file mode 100644 index 00000000000..9dd8b0ae029 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/GetCostAnomalyMonitorRequest.java @@ -0,0 +1,196 @@ +/** + * 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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * GetCostAnomalyMonitorRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class GetCostAnomalyMonitorRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId; + + /** The unique costAnomalyMonitor OCID. */ + public String getCostAnomalyMonitorId() { + return costAnomalyMonitorId; + } + /** 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< + GetCostAnomalyMonitorRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId = null; + + /** + * The unique costAnomalyMonitor OCID. + * + * @param costAnomalyMonitorId the value to set + * @return this builder instance + */ + public Builder costAnomalyMonitorId(String costAnomalyMonitorId) { + this.costAnomalyMonitorId = costAnomalyMonitorId; + 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(GetCostAnomalyMonitorRequest o) { + costAnomalyMonitorId(o.getCostAnomalyMonitorId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetCostAnomalyMonitorRequest 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 GetCostAnomalyMonitorRequest + */ + public GetCostAnomalyMonitorRequest build() { + GetCostAnomalyMonitorRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetCostAnomalyMonitorRequest 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 GetCostAnomalyMonitorRequest + */ + public GetCostAnomalyMonitorRequest buildWithoutInvocationCallback() { + GetCostAnomalyMonitorRequest request = new GetCostAnomalyMonitorRequest(); + request.costAnomalyMonitorId = costAnomalyMonitorId; + request.opcRequestId = opcRequestId; + return request; + // new GetCostAnomalyMonitorRequest(costAnomalyMonitorId, 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().costAnomalyMonitorId(costAnomalyMonitorId).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(",costAnomalyMonitorId=").append(String.valueOf(this.costAnomalyMonitorId)); + 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 GetCostAnomalyMonitorRequest)) { + return false; + } + + GetCostAnomalyMonitorRequest other = (GetCostAnomalyMonitorRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.costAnomalyMonitorId, other.costAnomalyMonitorId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.costAnomalyMonitorId == null + ? 43 + : this.costAnomalyMonitorId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAlertSubscriptionsRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAlertSubscriptionsRequest.java new file mode 100644 index 00000000000..3dd18f0b0da --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAlertSubscriptionsRequest.java @@ -0,0 +1,385 @@ +/** + * 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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * ListCostAlertSubscriptionsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class ListCostAlertSubscriptionsRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The ID of the compartment in which to list resources. */ + private String compartmentId; + + /** The ID of the compartment in which to list resources. */ + public String getCompartmentId() { + return compartmentId; + } + /** The maximum number of items to return. */ + private Integer limit; + + /** The maximum number of items to return. */ + public Integer getLimit() { + return limit; + } + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + private String page; + + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + public String getPage() { + return page; + } + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.costad.model.SortOrder sortOrder; + + /** The sort order to use, either 'asc' or 'desc'. */ + public com.oracle.bmc.costad.model.SortOrder getSortOrder() { + return sortOrder; + } + /** + * The field to sort by. If not specified, the default is timeCreated. The default sort order + * for timeCreated is DESC. The default sort order for displayName is ASC in alphanumeric order. + */ + private com.oracle.bmc.costad.model.SortByForCostAd sortBy; + + /** + * The field to sort by. If not specified, the default is timeCreated. The default sort order + * for timeCreated is DESC. The default sort order for displayName is ASC in alphanumeric order. + */ + public com.oracle.bmc.costad.model.SortByForCostAd getSortBy() { + return sortBy; + } + /** Unique, non-changeable resource name. */ + private String name; + + /** Unique, non-changeable resource name. */ + public String getName() { + return name; + } + /** The current state of the cost alert subscription. */ + private com.oracle.bmc.costad.model.CostAlertSubscription.LifecycleState lifecycleState; + + /** The current state of the cost alert subscription. */ + public com.oracle.bmc.costad.model.CostAlertSubscription.LifecycleState getLifecycleState() { + return lifecycleState; + } + /** 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< + ListCostAlertSubscriptionsRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The ID of the compartment in which to list resources. */ + private String compartmentId = null; + + /** + * The ID of the compartment in which to list resources. + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** The maximum number of items to return. */ + private Integer limit = null; + + /** + * The maximum number of items to return. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + */ + private String page = null; + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.costad.model.SortOrder sortOrder = null; + + /** + * The sort order to use, either 'asc' or 'desc'. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(com.oracle.bmc.costad.model.SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * The field to sort by. If not specified, the default is timeCreated. The default sort + * order for timeCreated is DESC. The default sort order for displayName is ASC in + * alphanumeric order. + */ + private com.oracle.bmc.costad.model.SortByForCostAd sortBy = null; + + /** + * The field to sort by. If not specified, the default is timeCreated. The default sort + * order for timeCreated is DESC. The default sort order for displayName is ASC in + * alphanumeric order. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(com.oracle.bmc.costad.model.SortByForCostAd sortBy) { + this.sortBy = sortBy; + return this; + } + + /** Unique, non-changeable resource name. */ + private String name = null; + + /** + * Unique, non-changeable resource name. + * + * @param name the value to set + * @return this builder instance + */ + public Builder name(String name) { + this.name = name; + return this; + } + + /** The current state of the cost alert subscription. */ + private com.oracle.bmc.costad.model.CostAlertSubscription.LifecycleState lifecycleState = + null; + + /** + * The current state of the cost alert subscription. + * + * @param lifecycleState the value to set + * @return this builder instance + */ + public Builder lifecycleState( + com.oracle.bmc.costad.model.CostAlertSubscription.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + 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(ListCostAlertSubscriptionsRequest o) { + compartmentId(o.getCompartmentId()); + limit(o.getLimit()); + page(o.getPage()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + name(o.getName()); + lifecycleState(o.getLifecycleState()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListCostAlertSubscriptionsRequest 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 ListCostAlertSubscriptionsRequest + */ + public ListCostAlertSubscriptionsRequest build() { + ListCostAlertSubscriptionsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListCostAlertSubscriptionsRequest 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 ListCostAlertSubscriptionsRequest + */ + public ListCostAlertSubscriptionsRequest buildWithoutInvocationCallback() { + ListCostAlertSubscriptionsRequest request = new ListCostAlertSubscriptionsRequest(); + request.compartmentId = compartmentId; + request.limit = limit; + request.page = page; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.name = name; + request.lifecycleState = lifecycleState; + request.opcRequestId = opcRequestId; + return request; + // new ListCostAlertSubscriptionsRequest(compartmentId, limit, page, sortOrder, sortBy, + // name, lifecycleState, 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) + .limit(limit) + .page(page) + .sortOrder(sortOrder) + .sortBy(sortBy) + .name(name) + .lifecycleState(lifecycleState) + .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(",limit=").append(String.valueOf(this.limit)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",name=").append(String.valueOf(this.name)); + sb.append(",lifecycleState=").append(String.valueOf(this.lifecycleState)); + 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 ListCostAlertSubscriptionsRequest)) { + return false; + } + + ListCostAlertSubscriptionsRequest other = (ListCostAlertSubscriptionsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && 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.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAnomalyEventsRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAnomalyEventsRequest.java new file mode 100644 index 00000000000..bcc6f6c8dcb --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAnomalyEventsRequest.java @@ -0,0 +1,587 @@ +/** + * 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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * ListCostAnomalyEventsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class ListCostAnomalyEventsRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The ID of the compartment in which to list resources. */ + private String compartmentId; + + /** The ID of the compartment in which to list resources. */ + public String getCompartmentId() { + return compartmentId; + } + /** The maximum number of items to return. */ + private Integer limit; + + /** The maximum number of items to return. */ + public Integer getLimit() { + return limit; + } + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + private String page; + + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + public String getPage() { + return page; + } + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.costad.model.SortOrder sortOrder; + + /** The sort order to use, either 'asc' or 'desc'. */ + public com.oracle.bmc.costad.model.SortOrder getSortOrder() { + return sortOrder; + } + /** + * The field to sort by. If not specified, the default is timeAnomalyEventDate. The default sort + * order for timeAnomalyEventDate is DESC. The default sort order for costAnomalyName is ASC in + * alphanumeric order. + */ + private com.oracle.bmc.costad.model.SortByForCostAnomalyEvent sortBy; + + /** + * The field to sort by. If not specified, the default is timeAnomalyEventDate. The default sort + * order for timeAnomalyEventDate is DESC. The default sort order for costAnomalyName is ASC in + * alphanumeric order. + */ + public com.oracle.bmc.costad.model.SortByForCostAnomalyEvent getSortBy() { + return sortBy; + } + /** Unique, non-changeable resource name. */ + private String name; + + /** Unique, non-changeable resource name. */ + public String getName() { + return name; + } + /** The cost monitor ocid. */ + private String costAnomalyMonitorId; + + /** The cost monitor ocid. */ + public String getCostAnomalyMonitorId() { + return costAnomalyMonitorId; + } + /** The target tenantId ocid filter param. */ + private java.util.List targetTenantId; + + /** The target tenantId ocid filter param. */ + public java.util.List getTargetTenantId() { + return targetTenantId; + } + /** startDate for anomaly event date. */ + private java.util.Date timeAnomalyEventStartDate; + + /** startDate for anomaly event date. */ + public java.util.Date getTimeAnomalyEventStartDate() { + return timeAnomalyEventStartDate; + } + /** endDate for anomaly event date. */ + private java.util.Date timeAnomalyEventEndDate; + + /** endDate for anomaly event date. */ + public java.util.Date getTimeAnomalyEventEndDate() { + return timeAnomalyEventEndDate; + } + /** region of the anomaly event. */ + private java.util.List region; + + /** region of the anomaly event. */ + public java.util.List getRegion() { + return region; + } + /** cost impact (absolute) of the anomaly event. */ + private Double costImpact; + + /** cost impact (absolute) of the anomaly event. */ + public Double getCostImpact() { + return costImpact; + } + /** cost impact (percentage) of the anomaly event. */ + private Double costImpactPercentage; + + /** cost impact (percentage) of the anomaly event. */ + public Double getCostImpactPercentage() { + return costImpactPercentage; + } + /** 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< + ListCostAnomalyEventsRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The ID of the compartment in which to list resources. */ + private String compartmentId = null; + + /** + * The ID of the compartment in which to list resources. + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** The maximum number of items to return. */ + private Integer limit = null; + + /** + * The maximum number of items to return. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + */ + private String page = null; + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.costad.model.SortOrder sortOrder = null; + + /** + * The sort order to use, either 'asc' or 'desc'. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(com.oracle.bmc.costad.model.SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * The field to sort by. If not specified, the default is timeAnomalyEventDate. The default + * sort order for timeAnomalyEventDate is DESC. The default sort order for costAnomalyName + * is ASC in alphanumeric order. + */ + private com.oracle.bmc.costad.model.SortByForCostAnomalyEvent sortBy = null; + + /** + * The field to sort by. If not specified, the default is timeAnomalyEventDate. The default + * sort order for timeAnomalyEventDate is DESC. The default sort order for costAnomalyName + * is ASC in alphanumeric order. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(com.oracle.bmc.costad.model.SortByForCostAnomalyEvent sortBy) { + this.sortBy = sortBy; + return this; + } + + /** Unique, non-changeable resource name. */ + private String name = null; + + /** + * Unique, non-changeable resource name. + * + * @param name the value to set + * @return this builder instance + */ + public Builder name(String name) { + this.name = name; + return this; + } + + /** The cost monitor ocid. */ + private String costAnomalyMonitorId = null; + + /** + * The cost monitor ocid. + * + * @param costAnomalyMonitorId the value to set + * @return this builder instance + */ + public Builder costAnomalyMonitorId(String costAnomalyMonitorId) { + this.costAnomalyMonitorId = costAnomalyMonitorId; + return this; + } + + /** The target tenantId ocid filter param. */ + private java.util.List targetTenantId = null; + + /** + * The target tenantId ocid filter param. + * + * @param targetTenantId the value to set + * @return this builder instance + */ + public Builder targetTenantId(java.util.List targetTenantId) { + this.targetTenantId = targetTenantId; + return this; + } + + /** + * Singular setter. The target tenantId ocid filter param. + * + * @param singularValue the singular value to set + * @return this builder instance + */ + public Builder targetTenantId(String singularValue) { + return this.targetTenantId(java.util.Arrays.asList(singularValue)); + } + + /** startDate for anomaly event date. */ + private java.util.Date timeAnomalyEventStartDate = null; + + /** + * startDate for anomaly event date. + * + * @param timeAnomalyEventStartDate the value to set + * @return this builder instance + */ + public Builder timeAnomalyEventStartDate(java.util.Date timeAnomalyEventStartDate) { + this.timeAnomalyEventStartDate = timeAnomalyEventStartDate; + return this; + } + + /** endDate for anomaly event date. */ + private java.util.Date timeAnomalyEventEndDate = null; + + /** + * endDate for anomaly event date. + * + * @param timeAnomalyEventEndDate the value to set + * @return this builder instance + */ + public Builder timeAnomalyEventEndDate(java.util.Date timeAnomalyEventEndDate) { + this.timeAnomalyEventEndDate = timeAnomalyEventEndDate; + return this; + } + + /** region of the anomaly event. */ + private java.util.List region = null; + + /** + * region of the anomaly event. + * + * @param region the value to set + * @return this builder instance + */ + public Builder region(java.util.List region) { + this.region = region; + return this; + } + + /** + * Singular setter. region of the anomaly event. + * + * @param singularValue the singular value to set + * @return this builder instance + */ + public Builder region(String singularValue) { + return this.region(java.util.Arrays.asList(singularValue)); + } + + /** cost impact (absolute) of the anomaly event. */ + private Double costImpact = null; + + /** + * cost impact (absolute) of the anomaly event. + * + * @param costImpact the value to set + * @return this builder instance + */ + public Builder costImpact(Double costImpact) { + this.costImpact = costImpact; + return this; + } + + /** cost impact (percentage) of the anomaly event. */ + private Double costImpactPercentage = null; + + /** + * cost impact (percentage) of the anomaly event. + * + * @param costImpactPercentage the value to set + * @return this builder instance + */ + public Builder costImpactPercentage(Double costImpactPercentage) { + this.costImpactPercentage = costImpactPercentage; + 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(ListCostAnomalyEventsRequest o) { + compartmentId(o.getCompartmentId()); + limit(o.getLimit()); + page(o.getPage()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + name(o.getName()); + costAnomalyMonitorId(o.getCostAnomalyMonitorId()); + targetTenantId(o.getTargetTenantId()); + timeAnomalyEventStartDate(o.getTimeAnomalyEventStartDate()); + timeAnomalyEventEndDate(o.getTimeAnomalyEventEndDate()); + region(o.getRegion()); + costImpact(o.getCostImpact()); + costImpactPercentage(o.getCostImpactPercentage()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListCostAnomalyEventsRequest 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 ListCostAnomalyEventsRequest + */ + public ListCostAnomalyEventsRequest build() { + ListCostAnomalyEventsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListCostAnomalyEventsRequest 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 ListCostAnomalyEventsRequest + */ + public ListCostAnomalyEventsRequest buildWithoutInvocationCallback() { + ListCostAnomalyEventsRequest request = new ListCostAnomalyEventsRequest(); + request.compartmentId = compartmentId; + request.limit = limit; + request.page = page; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.name = name; + request.costAnomalyMonitorId = costAnomalyMonitorId; + request.targetTenantId = targetTenantId; + request.timeAnomalyEventStartDate = timeAnomalyEventStartDate; + request.timeAnomalyEventEndDate = timeAnomalyEventEndDate; + request.region = region; + request.costImpact = costImpact; + request.costImpactPercentage = costImpactPercentage; + request.opcRequestId = opcRequestId; + return request; + // new ListCostAnomalyEventsRequest(compartmentId, limit, page, sortOrder, sortBy, name, + // costAnomalyMonitorId, targetTenantId, timeAnomalyEventStartDate, + // timeAnomalyEventEndDate, region, costImpact, costImpactPercentage, 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) + .limit(limit) + .page(page) + .sortOrder(sortOrder) + .sortBy(sortBy) + .name(name) + .costAnomalyMonitorId(costAnomalyMonitorId) + .targetTenantId(targetTenantId) + .timeAnomalyEventStartDate(timeAnomalyEventStartDate) + .timeAnomalyEventEndDate(timeAnomalyEventEndDate) + .region(region) + .costImpact(costImpact) + .costImpactPercentage(costImpactPercentage) + .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(",limit=").append(String.valueOf(this.limit)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",name=").append(String.valueOf(this.name)); + sb.append(",costAnomalyMonitorId=").append(String.valueOf(this.costAnomalyMonitorId)); + sb.append(",targetTenantId=").append(String.valueOf(this.targetTenantId)); + sb.append(",timeAnomalyEventStartDate=") + .append(String.valueOf(this.timeAnomalyEventStartDate)); + sb.append(",timeAnomalyEventEndDate=").append(String.valueOf(this.timeAnomalyEventEndDate)); + sb.append(",region=").append(String.valueOf(this.region)); + sb.append(",costImpact=").append(String.valueOf(this.costImpact)); + sb.append(",costImpactPercentage=").append(String.valueOf(this.costImpactPercentage)); + 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 ListCostAnomalyEventsRequest)) { + return false; + } + + ListCostAnomalyEventsRequest other = (ListCostAnomalyEventsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.costAnomalyMonitorId, other.costAnomalyMonitorId) + && java.util.Objects.equals(this.targetTenantId, other.targetTenantId) + && java.util.Objects.equals( + this.timeAnomalyEventStartDate, other.timeAnomalyEventStartDate) + && java.util.Objects.equals( + this.timeAnomalyEventEndDate, other.timeAnomalyEventEndDate) + && java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.costImpact, other.costImpact) + && java.util.Objects.equals(this.costImpactPercentage, other.costImpactPercentage) + && 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.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = + (result * PRIME) + + (this.costAnomalyMonitorId == null + ? 43 + : this.costAnomalyMonitorId.hashCode()); + result = + (result * PRIME) + + (this.targetTenantId == null ? 43 : this.targetTenantId.hashCode()); + result = + (result * PRIME) + + (this.timeAnomalyEventStartDate == null + ? 43 + : this.timeAnomalyEventStartDate.hashCode()); + result = + (result * PRIME) + + (this.timeAnomalyEventEndDate == null + ? 43 + : this.timeAnomalyEventEndDate.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = (result * PRIME) + (this.costImpact == null ? 43 : this.costImpact.hashCode()); + result = + (result * PRIME) + + (this.costImpactPercentage == null + ? 43 + : this.costImpactPercentage.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAnomalyMonitorsRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAnomalyMonitorsRequest.java new file mode 100644 index 00000000000..892a0a3c571 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/ListCostAnomalyMonitorsRequest.java @@ -0,0 +1,460 @@ +/** + * 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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * ListCostAnomalyMonitorsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class ListCostAnomalyMonitorsRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The ID of the compartment in which to list resources. */ + private String compartmentId; + + /** The ID of the compartment in which to list resources. */ + public String getCompartmentId() { + return compartmentId; + } + /** The maximum number of items to return. */ + private Integer limit; + + /** The maximum number of items to return. */ + public Integer getLimit() { + return limit; + } + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + private String page; + + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + public String getPage() { + return page; + } + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.costad.model.SortOrder sortOrder; + + /** The sort order to use, either 'asc' or 'desc'. */ + public com.oracle.bmc.costad.model.SortOrder getSortOrder() { + return sortOrder; + } + /** + * The field to sort by. If not specified, the default is timeCreated. The default sort order + * for timeCreated is DESC. The default sort order for displayName is ASC in alphanumeric order. + */ + private com.oracle.bmc.costad.model.SortByForCostAd sortBy; + + /** + * The field to sort by. If not specified, the default is timeCreated. The default sort order + * for timeCreated is DESC. The default sort order for displayName is ASC in alphanumeric order. + */ + public com.oracle.bmc.costad.model.SortByForCostAd getSortBy() { + return sortBy; + } + /** The current state of the cost monitor. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor.LifecycleState lifecycleState; + + /** The current state of the cost monitor. */ + public com.oracle.bmc.costad.model.CostAnomalyMonitor.LifecycleState getLifecycleState() { + return lifecycleState; + } + /** Unique, non-changeable resource name. */ + private String name; + + /** Unique, non-changeable resource name. */ + public String getName() { + return name; + } + /** The target tenantId ocid filter param. */ + private java.util.List targetTenantId; + + /** The target tenantId ocid filter param. */ + public java.util.List getTargetTenantId() { + return targetTenantId; + } + /** Cost Anomaly Monitor target resource filter region. */ + private java.util.List region; + + /** Cost Anomaly Monitor target resource filter region. */ + public java.util.List getRegion() { + return region; + } + /** 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< + ListCostAnomalyMonitorsRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The ID of the compartment in which to list resources. */ + private String compartmentId = null; + + /** + * The ID of the compartment in which to list resources. + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** The maximum number of items to return. */ + private Integer limit = null; + + /** + * The maximum number of items to return. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + */ + private String page = null; + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.costad.model.SortOrder sortOrder = null; + + /** + * The sort order to use, either 'asc' or 'desc'. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(com.oracle.bmc.costad.model.SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * The field to sort by. If not specified, the default is timeCreated. The default sort + * order for timeCreated is DESC. The default sort order for displayName is ASC in + * alphanumeric order. + */ + private com.oracle.bmc.costad.model.SortByForCostAd sortBy = null; + + /** + * The field to sort by. If not specified, the default is timeCreated. The default sort + * order for timeCreated is DESC. The default sort order for displayName is ASC in + * alphanumeric order. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(com.oracle.bmc.costad.model.SortByForCostAd sortBy) { + this.sortBy = sortBy; + return this; + } + + /** The current state of the cost monitor. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor.LifecycleState lifecycleState = null; + + /** + * The current state of the cost monitor. + * + * @param lifecycleState the value to set + * @return this builder instance + */ + public Builder lifecycleState( + com.oracle.bmc.costad.model.CostAnomalyMonitor.LifecycleState lifecycleState) { + this.lifecycleState = lifecycleState; + return this; + } + + /** Unique, non-changeable resource name. */ + private String name = null; + + /** + * Unique, non-changeable resource name. + * + * @param name the value to set + * @return this builder instance + */ + public Builder name(String name) { + this.name = name; + return this; + } + + /** The target tenantId ocid filter param. */ + private java.util.List targetTenantId = null; + + /** + * The target tenantId ocid filter param. + * + * @param targetTenantId the value to set + * @return this builder instance + */ + public Builder targetTenantId(java.util.List targetTenantId) { + this.targetTenantId = targetTenantId; + return this; + } + + /** + * Singular setter. The target tenantId ocid filter param. + * + * @param singularValue the singular value to set + * @return this builder instance + */ + public Builder targetTenantId(String singularValue) { + return this.targetTenantId(java.util.Arrays.asList(singularValue)); + } + + /** Cost Anomaly Monitor target resource filter region. */ + private java.util.List region = null; + + /** + * Cost Anomaly Monitor target resource filter region. + * + * @param region the value to set + * @return this builder instance + */ + public Builder region(java.util.List region) { + this.region = region; + return this; + } + + /** + * Singular setter. Cost Anomaly Monitor target resource filter region. + * + * @param singularValue the singular value to set + * @return this builder instance + */ + public Builder region(String singularValue) { + return this.region(java.util.Arrays.asList(singularValue)); + } + + /** 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(ListCostAnomalyMonitorsRequest o) { + compartmentId(o.getCompartmentId()); + limit(o.getLimit()); + page(o.getPage()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + lifecycleState(o.getLifecycleState()); + name(o.getName()); + targetTenantId(o.getTargetTenantId()); + region(o.getRegion()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListCostAnomalyMonitorsRequest 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 ListCostAnomalyMonitorsRequest + */ + public ListCostAnomalyMonitorsRequest build() { + ListCostAnomalyMonitorsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListCostAnomalyMonitorsRequest 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 ListCostAnomalyMonitorsRequest + */ + public ListCostAnomalyMonitorsRequest buildWithoutInvocationCallback() { + ListCostAnomalyMonitorsRequest request = new ListCostAnomalyMonitorsRequest(); + request.compartmentId = compartmentId; + request.limit = limit; + request.page = page; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.lifecycleState = lifecycleState; + request.name = name; + request.targetTenantId = targetTenantId; + request.region = region; + request.opcRequestId = opcRequestId; + return request; + // new ListCostAnomalyMonitorsRequest(compartmentId, limit, page, sortOrder, sortBy, + // lifecycleState, name, targetTenantId, region, 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) + .limit(limit) + .page(page) + .sortOrder(sortOrder) + .sortBy(sortBy) + .lifecycleState(lifecycleState) + .name(name) + .targetTenantId(targetTenantId) + .region(region) + .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(",limit=").append(String.valueOf(this.limit)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",lifecycleState=").append(String.valueOf(this.lifecycleState)); + sb.append(",name=").append(String.valueOf(this.name)); + sb.append(",targetTenantId=").append(String.valueOf(this.targetTenantId)); + sb.append(",region=").append(String.valueOf(this.region)); + 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 ListCostAnomalyMonitorsRequest)) { + return false; + } + + ListCostAnomalyMonitorsRequest other = (ListCostAnomalyMonitorsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.targetTenantId, other.targetTenantId) + && java.util.Objects.equals(this.region, other.region) + && 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.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = + (result * PRIME) + + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = + (result * PRIME) + + (this.targetTenantId == null ? 43 : this.targetTenantId.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/SummarizeCostAnomalyEventAnalyticsRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/SummarizeCostAnomalyEventAnalyticsRequest.java new file mode 100644 index 00000000000..19edbb2b553 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/SummarizeCostAnomalyEventAnalyticsRequest.java @@ -0,0 +1,591 @@ +/** + * 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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * SummarizeCostAnomalyEventAnalyticsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class SummarizeCostAnomalyEventAnalyticsRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The ID of the compartment in which to list resources. */ + private String compartmentId; + + /** The ID of the compartment in which to list resources. */ + public String getCompartmentId() { + return compartmentId; + } + /** The maximum number of items to return. */ + private Integer limit; + + /** The maximum number of items to return. */ + public Integer getLimit() { + return limit; + } + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + private String page; + + /** + * The page token representing the page at which to start retrieving results. This is usually + * retrieved from a previous list call. + */ + public String getPage() { + return page; + } + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.costad.model.SortOrder sortOrder; + + /** The sort order to use, either 'asc' or 'desc'. */ + public com.oracle.bmc.costad.model.SortOrder getSortOrder() { + return sortOrder; + } + /** + * The field to sort by. If not specified, the default is timeAnomalyEventDate. The default sort + * order for timeAnomalyEventDate is DESC. The default sort order for costAnomalyName is ASC in + * alphanumeric order. + */ + private com.oracle.bmc.costad.model.SortByForCostAnomalyEvent sortBy; + + /** + * The field to sort by. If not specified, the default is timeAnomalyEventDate. The default sort + * order for timeAnomalyEventDate is DESC. The default sort order for costAnomalyName is ASC in + * alphanumeric order. + */ + public com.oracle.bmc.costad.model.SortByForCostAnomalyEvent getSortBy() { + return sortBy; + } + /** Unique, non-changeable resource name. */ + private String name; + + /** Unique, non-changeable resource name. */ + public String getName() { + return name; + } + /** The cost monitor ocid. */ + private String costAnomalyMonitorId; + + /** The cost monitor ocid. */ + public String getCostAnomalyMonitorId() { + return costAnomalyMonitorId; + } + /** The target tenantId ocid filter param. */ + private java.util.List targetTenantId; + + /** The target tenantId ocid filter param. */ + public java.util.List getTargetTenantId() { + return targetTenantId; + } + /** startDate for anomaly event date. */ + private java.util.Date timeAnomalyEventStartDate; + + /** startDate for anomaly event date. */ + public java.util.Date getTimeAnomalyEventStartDate() { + return timeAnomalyEventStartDate; + } + /** endDate for anomaly event date. */ + private java.util.Date timeAnomalyEventEndDate; + + /** endDate for anomaly event date. */ + public java.util.Date getTimeAnomalyEventEndDate() { + return timeAnomalyEventEndDate; + } + /** region of the anomaly event. */ + private java.util.List region; + + /** region of the anomaly event. */ + public java.util.List getRegion() { + return region; + } + /** cost impact (absolute) of the anomaly event. */ + private Double costImpact; + + /** cost impact (absolute) of the anomaly event. */ + public Double getCostImpact() { + return costImpact; + } + /** cost impact (percentage) of the anomaly event. */ + private Double costImpactPercentage; + + /** cost impact (percentage) of the anomaly event. */ + public Double getCostImpactPercentage() { + return costImpactPercentage; + } + /** 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< + SummarizeCostAnomalyEventAnalyticsRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The ID of the compartment in which to list resources. */ + private String compartmentId = null; + + /** + * The ID of the compartment in which to list resources. + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** The maximum number of items to return. */ + private Integer limit = null; + + /** + * The maximum number of items to return. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + */ + private String page = null; + + /** + * The page token representing the page at which to start retrieving results. This is + * usually retrieved from a previous list call. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** The sort order to use, either 'asc' or 'desc'. */ + private com.oracle.bmc.costad.model.SortOrder sortOrder = null; + + /** + * The sort order to use, either 'asc' or 'desc'. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(com.oracle.bmc.costad.model.SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * The field to sort by. If not specified, the default is timeAnomalyEventDate. The default + * sort order for timeAnomalyEventDate is DESC. The default sort order for costAnomalyName + * is ASC in alphanumeric order. + */ + private com.oracle.bmc.costad.model.SortByForCostAnomalyEvent sortBy = null; + + /** + * The field to sort by. If not specified, the default is timeAnomalyEventDate. The default + * sort order for timeAnomalyEventDate is DESC. The default sort order for costAnomalyName + * is ASC in alphanumeric order. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(com.oracle.bmc.costad.model.SortByForCostAnomalyEvent sortBy) { + this.sortBy = sortBy; + return this; + } + + /** Unique, non-changeable resource name. */ + private String name = null; + + /** + * Unique, non-changeable resource name. + * + * @param name the value to set + * @return this builder instance + */ + public Builder name(String name) { + this.name = name; + return this; + } + + /** The cost monitor ocid. */ + private String costAnomalyMonitorId = null; + + /** + * The cost monitor ocid. + * + * @param costAnomalyMonitorId the value to set + * @return this builder instance + */ + public Builder costAnomalyMonitorId(String costAnomalyMonitorId) { + this.costAnomalyMonitorId = costAnomalyMonitorId; + return this; + } + + /** The target tenantId ocid filter param. */ + private java.util.List targetTenantId = null; + + /** + * The target tenantId ocid filter param. + * + * @param targetTenantId the value to set + * @return this builder instance + */ + public Builder targetTenantId(java.util.List targetTenantId) { + this.targetTenantId = targetTenantId; + return this; + } + + /** + * Singular setter. The target tenantId ocid filter param. + * + * @param singularValue the singular value to set + * @return this builder instance + */ + public Builder targetTenantId(String singularValue) { + return this.targetTenantId(java.util.Arrays.asList(singularValue)); + } + + /** startDate for anomaly event date. */ + private java.util.Date timeAnomalyEventStartDate = null; + + /** + * startDate for anomaly event date. + * + * @param timeAnomalyEventStartDate the value to set + * @return this builder instance + */ + public Builder timeAnomalyEventStartDate(java.util.Date timeAnomalyEventStartDate) { + this.timeAnomalyEventStartDate = timeAnomalyEventStartDate; + return this; + } + + /** endDate for anomaly event date. */ + private java.util.Date timeAnomalyEventEndDate = null; + + /** + * endDate for anomaly event date. + * + * @param timeAnomalyEventEndDate the value to set + * @return this builder instance + */ + public Builder timeAnomalyEventEndDate(java.util.Date timeAnomalyEventEndDate) { + this.timeAnomalyEventEndDate = timeAnomalyEventEndDate; + return this; + } + + /** region of the anomaly event. */ + private java.util.List region = null; + + /** + * region of the anomaly event. + * + * @param region the value to set + * @return this builder instance + */ + public Builder region(java.util.List region) { + this.region = region; + return this; + } + + /** + * Singular setter. region of the anomaly event. + * + * @param singularValue the singular value to set + * @return this builder instance + */ + public Builder region(String singularValue) { + return this.region(java.util.Arrays.asList(singularValue)); + } + + /** cost impact (absolute) of the anomaly event. */ + private Double costImpact = null; + + /** + * cost impact (absolute) of the anomaly event. + * + * @param costImpact the value to set + * @return this builder instance + */ + public Builder costImpact(Double costImpact) { + this.costImpact = costImpact; + return this; + } + + /** cost impact (percentage) of the anomaly event. */ + private Double costImpactPercentage = null; + + /** + * cost impact (percentage) of the anomaly event. + * + * @param costImpactPercentage the value to set + * @return this builder instance + */ + public Builder costImpactPercentage(Double costImpactPercentage) { + this.costImpactPercentage = costImpactPercentage; + 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(SummarizeCostAnomalyEventAnalyticsRequest o) { + compartmentId(o.getCompartmentId()); + limit(o.getLimit()); + page(o.getPage()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + name(o.getName()); + costAnomalyMonitorId(o.getCostAnomalyMonitorId()); + targetTenantId(o.getTargetTenantId()); + timeAnomalyEventStartDate(o.getTimeAnomalyEventStartDate()); + timeAnomalyEventEndDate(o.getTimeAnomalyEventEndDate()); + region(o.getRegion()); + costImpact(o.getCostImpact()); + costImpactPercentage(o.getCostImpactPercentage()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of SummarizeCostAnomalyEventAnalyticsRequest 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 SummarizeCostAnomalyEventAnalyticsRequest + */ + public SummarizeCostAnomalyEventAnalyticsRequest build() { + SummarizeCostAnomalyEventAnalyticsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of SummarizeCostAnomalyEventAnalyticsRequest 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 SummarizeCostAnomalyEventAnalyticsRequest + */ + public SummarizeCostAnomalyEventAnalyticsRequest buildWithoutInvocationCallback() { + SummarizeCostAnomalyEventAnalyticsRequest request = + new SummarizeCostAnomalyEventAnalyticsRequest(); + request.compartmentId = compartmentId; + request.limit = limit; + request.page = page; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.name = name; + request.costAnomalyMonitorId = costAnomalyMonitorId; + request.targetTenantId = targetTenantId; + request.timeAnomalyEventStartDate = timeAnomalyEventStartDate; + request.timeAnomalyEventEndDate = timeAnomalyEventEndDate; + request.region = region; + request.costImpact = costImpact; + request.costImpactPercentage = costImpactPercentage; + request.opcRequestId = opcRequestId; + return request; + // new SummarizeCostAnomalyEventAnalyticsRequest(compartmentId, limit, page, sortOrder, + // sortBy, name, costAnomalyMonitorId, targetTenantId, timeAnomalyEventStartDate, + // timeAnomalyEventEndDate, region, costImpact, costImpactPercentage, 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) + .limit(limit) + .page(page) + .sortOrder(sortOrder) + .sortBy(sortBy) + .name(name) + .costAnomalyMonitorId(costAnomalyMonitorId) + .targetTenantId(targetTenantId) + .timeAnomalyEventStartDate(timeAnomalyEventStartDate) + .timeAnomalyEventEndDate(timeAnomalyEventEndDate) + .region(region) + .costImpact(costImpact) + .costImpactPercentage(costImpactPercentage) + .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(",limit=").append(String.valueOf(this.limit)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",name=").append(String.valueOf(this.name)); + sb.append(",costAnomalyMonitorId=").append(String.valueOf(this.costAnomalyMonitorId)); + sb.append(",targetTenantId=").append(String.valueOf(this.targetTenantId)); + sb.append(",timeAnomalyEventStartDate=") + .append(String.valueOf(this.timeAnomalyEventStartDate)); + sb.append(",timeAnomalyEventEndDate=").append(String.valueOf(this.timeAnomalyEventEndDate)); + sb.append(",region=").append(String.valueOf(this.region)); + sb.append(",costImpact=").append(String.valueOf(this.costImpact)); + sb.append(",costImpactPercentage=").append(String.valueOf(this.costImpactPercentage)); + 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 SummarizeCostAnomalyEventAnalyticsRequest)) { + return false; + } + + SummarizeCostAnomalyEventAnalyticsRequest other = + (SummarizeCostAnomalyEventAnalyticsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.name, other.name) + && java.util.Objects.equals(this.costAnomalyMonitorId, other.costAnomalyMonitorId) + && java.util.Objects.equals(this.targetTenantId, other.targetTenantId) + && java.util.Objects.equals( + this.timeAnomalyEventStartDate, other.timeAnomalyEventStartDate) + && java.util.Objects.equals( + this.timeAnomalyEventEndDate, other.timeAnomalyEventEndDate) + && java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.costImpact, other.costImpact) + && java.util.Objects.equals(this.costImpactPercentage, other.costImpactPercentage) + && 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.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode()); + result = + (result * PRIME) + + (this.costAnomalyMonitorId == null + ? 43 + : this.costAnomalyMonitorId.hashCode()); + result = + (result * PRIME) + + (this.targetTenantId == null ? 43 : this.targetTenantId.hashCode()); + result = + (result * PRIME) + + (this.timeAnomalyEventStartDate == null + ? 43 + : this.timeAnomalyEventStartDate.hashCode()); + result = + (result * PRIME) + + (this.timeAnomalyEventEndDate == null + ? 43 + : this.timeAnomalyEventEndDate.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = (result * PRIME) + (this.costImpact == null ? 43 : this.costImpact.hashCode()); + result = + (result * PRIME) + + (this.costImpactPercentage == null + ? 43 + : this.costImpactPercentage.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAlertSubscriptionRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAlertSubscriptionRequest.java new file mode 100644 index 00000000000..26f59c608c3 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAlertSubscriptionRequest.java @@ -0,0 +1,309 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * UpdateCostAlertSubscriptionRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class UpdateCostAlertSubscriptionRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.costad.model.UpdateCostAlertSubscriptionDetails> { + + /** The unique costAlertSubscription OCID. */ + private String costAlertSubscriptionId; + + /** The unique costAlertSubscription OCID. */ + public String getCostAlertSubscriptionId() { + return costAlertSubscriptionId; + } + /** The information to be updated. */ + private com.oracle.bmc.costad.model.UpdateCostAlertSubscriptionDetails + updateCostAlertSubscriptionDetails; + + /** The information to be updated. */ + public com.oracle.bmc.costad.model.UpdateCostAlertSubscriptionDetails + getUpdateCostAlertSubscriptionDetails() { + return updateCostAlertSubscriptionDetails; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.costad.model.UpdateCostAlertSubscriptionDetails getBody$() { + return updateCostAlertSubscriptionDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + UpdateCostAlertSubscriptionRequest, + com.oracle.bmc.costad.model.UpdateCostAlertSubscriptionDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAlertSubscription OCID. */ + private String costAlertSubscriptionId = null; + + /** + * The unique costAlertSubscription OCID. + * + * @param costAlertSubscriptionId the value to set + * @return this builder instance + */ + public Builder costAlertSubscriptionId(String costAlertSubscriptionId) { + this.costAlertSubscriptionId = costAlertSubscriptionId; + return this; + } + + /** The information to be updated. */ + private com.oracle.bmc.costad.model.UpdateCostAlertSubscriptionDetails + updateCostAlertSubscriptionDetails = null; + + /** + * The information to be updated. + * + * @param updateCostAlertSubscriptionDetails the value to set + * @return this builder instance + */ + public Builder updateCostAlertSubscriptionDetails( + com.oracle.bmc.costad.model.UpdateCostAlertSubscriptionDetails + updateCostAlertSubscriptionDetails) { + this.updateCostAlertSubscriptionDetails = updateCostAlertSubscriptionDetails; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(UpdateCostAlertSubscriptionRequest o) { + costAlertSubscriptionId(o.getCostAlertSubscriptionId()); + updateCostAlertSubscriptionDetails(o.getUpdateCostAlertSubscriptionDetails()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of UpdateCostAlertSubscriptionRequest 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 UpdateCostAlertSubscriptionRequest + */ + public UpdateCostAlertSubscriptionRequest build() { + UpdateCostAlertSubscriptionRequest 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.costad.model.UpdateCostAlertSubscriptionDetails body) { + updateCostAlertSubscriptionDetails(body); + return this; + } + + /** + * Build the instance of UpdateCostAlertSubscriptionRequest 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 UpdateCostAlertSubscriptionRequest + */ + public UpdateCostAlertSubscriptionRequest buildWithoutInvocationCallback() { + UpdateCostAlertSubscriptionRequest request = new UpdateCostAlertSubscriptionRequest(); + request.costAlertSubscriptionId = costAlertSubscriptionId; + request.updateCostAlertSubscriptionDetails = updateCostAlertSubscriptionDetails; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new UpdateCostAlertSubscriptionRequest(costAlertSubscriptionId, + // updateCostAlertSubscriptionDetails, 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() + .costAlertSubscriptionId(costAlertSubscriptionId) + .updateCostAlertSubscriptionDetails(updateCostAlertSubscriptionDetails) + .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(",costAlertSubscriptionId=").append(String.valueOf(this.costAlertSubscriptionId)); + sb.append(",updateCostAlertSubscriptionDetails=") + .append(String.valueOf(this.updateCostAlertSubscriptionDetails)); + 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 UpdateCostAlertSubscriptionRequest)) { + return false; + } + + UpdateCostAlertSubscriptionRequest other = (UpdateCostAlertSubscriptionRequest) o; + return super.equals(o) + && java.util.Objects.equals( + this.costAlertSubscriptionId, other.costAlertSubscriptionId) + && java.util.Objects.equals( + this.updateCostAlertSubscriptionDetails, + other.updateCostAlertSubscriptionDetails) + && 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.costAlertSubscriptionId == null + ? 43 + : this.costAlertSubscriptionId.hashCode()); + result = + (result * PRIME) + + (this.updateCostAlertSubscriptionDetails == null + ? 43 + : this.updateCostAlertSubscriptionDetails.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-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAnomalyEventRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAnomalyEventRequest.java new file mode 100644 index 00000000000..df195046a09 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAnomalyEventRequest.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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * UpdateCostAnomalyEventRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class UpdateCostAnomalyEventRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.costad.model.UpdateCostAnomalyEventDetails> { + + /** The unique costAnomalyEventId OCID. */ + private String costAnomalyEventId; + + /** The unique costAnomalyEventId OCID. */ + public String getCostAnomalyEventId() { + return costAnomalyEventId; + } + /** The information to be updated. */ + private com.oracle.bmc.costad.model.UpdateCostAnomalyEventDetails updateCostAnomalyEventDetails; + + /** The information to be updated. */ + public com.oracle.bmc.costad.model.UpdateCostAnomalyEventDetails + getUpdateCostAnomalyEventDetails() { + return updateCostAnomalyEventDetails; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.costad.model.UpdateCostAnomalyEventDetails getBody$() { + return updateCostAnomalyEventDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + UpdateCostAnomalyEventRequest, + com.oracle.bmc.costad.model.UpdateCostAnomalyEventDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAnomalyEventId OCID. */ + private String costAnomalyEventId = null; + + /** + * The unique costAnomalyEventId OCID. + * + * @param costAnomalyEventId the value to set + * @return this builder instance + */ + public Builder costAnomalyEventId(String costAnomalyEventId) { + this.costAnomalyEventId = costAnomalyEventId; + return this; + } + + /** The information to be updated. */ + private com.oracle.bmc.costad.model.UpdateCostAnomalyEventDetails + updateCostAnomalyEventDetails = null; + + /** + * The information to be updated. + * + * @param updateCostAnomalyEventDetails the value to set + * @return this builder instance + */ + public Builder updateCostAnomalyEventDetails( + com.oracle.bmc.costad.model.UpdateCostAnomalyEventDetails + updateCostAnomalyEventDetails) { + this.updateCostAnomalyEventDetails = updateCostAnomalyEventDetails; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(UpdateCostAnomalyEventRequest o) { + costAnomalyEventId(o.getCostAnomalyEventId()); + updateCostAnomalyEventDetails(o.getUpdateCostAnomalyEventDetails()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of UpdateCostAnomalyEventRequest 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 UpdateCostAnomalyEventRequest + */ + public UpdateCostAnomalyEventRequest build() { + UpdateCostAnomalyEventRequest 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.costad.model.UpdateCostAnomalyEventDetails body) { + updateCostAnomalyEventDetails(body); + return this; + } + + /** + * Build the instance of UpdateCostAnomalyEventRequest 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 UpdateCostAnomalyEventRequest + */ + public UpdateCostAnomalyEventRequest buildWithoutInvocationCallback() { + UpdateCostAnomalyEventRequest request = new UpdateCostAnomalyEventRequest(); + request.costAnomalyEventId = costAnomalyEventId; + request.updateCostAnomalyEventDetails = updateCostAnomalyEventDetails; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new UpdateCostAnomalyEventRequest(costAnomalyEventId, updateCostAnomalyEventDetails, + // 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() + .costAnomalyEventId(costAnomalyEventId) + .updateCostAnomalyEventDetails(updateCostAnomalyEventDetails) + .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(",costAnomalyEventId=").append(String.valueOf(this.costAnomalyEventId)); + sb.append(",updateCostAnomalyEventDetails=") + .append(String.valueOf(this.updateCostAnomalyEventDetails)); + 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 UpdateCostAnomalyEventRequest)) { + return false; + } + + UpdateCostAnomalyEventRequest other = (UpdateCostAnomalyEventRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.costAnomalyEventId, other.costAnomalyEventId) + && java.util.Objects.equals( + this.updateCostAnomalyEventDetails, other.updateCostAnomalyEventDetails) + && 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.costAnomalyEventId == null + ? 43 + : this.costAnomalyEventId.hashCode()); + result = + (result * PRIME) + + (this.updateCostAnomalyEventDetails == null + ? 43 + : this.updateCostAnomalyEventDetails.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-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAnomalyMonitorRequest.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAnomalyMonitorRequest.java new file mode 100644 index 00000000000..9b77f52a6ac --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/requests/UpdateCostAnomalyMonitorRequest.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.costad.requests; + +import com.oracle.bmc.costad.model.*; +/** + * Example: Click here to see how to use + * UpdateCostAnomalyMonitorRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class UpdateCostAnomalyMonitorRequest + extends com.oracle.bmc.requests.BmcRequest< + com.oracle.bmc.costad.model.UpdateCostAnomalyMonitorDetails> { + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId; + + /** The unique costAnomalyMonitor OCID. */ + public String getCostAnomalyMonitorId() { + return costAnomalyMonitorId; + } + /** The information to be updated. */ + private com.oracle.bmc.costad.model.UpdateCostAnomalyMonitorDetails + updateCostAnomalyMonitorDetails; + + /** The information to be updated. */ + public com.oracle.bmc.costad.model.UpdateCostAnomalyMonitorDetails + getUpdateCostAnomalyMonitorDetails() { + return updateCostAnomalyMonitorDetails; + } + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + private String ifMatch; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the {@code + * if-match} parameter to the value of the etag from a previous GET or POST response for that + * resource. The resource will be updated or deleted only if the etag you provide matches the + * resource's current etag value. + */ + public String getIfMatch() { + return ifMatch; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * Alternative accessor for the body parameter. + * + * @return body parameter + */ + @Override + @com.oracle.bmc.InternalSdk + public com.oracle.bmc.costad.model.UpdateCostAnomalyMonitorDetails getBody$() { + return updateCostAnomalyMonitorDetails; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + UpdateCostAnomalyMonitorRequest, + com.oracle.bmc.costad.model.UpdateCostAnomalyMonitorDetails> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The unique costAnomalyMonitor OCID. */ + private String costAnomalyMonitorId = null; + + /** + * The unique costAnomalyMonitor OCID. + * + * @param costAnomalyMonitorId the value to set + * @return this builder instance + */ + public Builder costAnomalyMonitorId(String costAnomalyMonitorId) { + this.costAnomalyMonitorId = costAnomalyMonitorId; + return this; + } + + /** The information to be updated. */ + private com.oracle.bmc.costad.model.UpdateCostAnomalyMonitorDetails + updateCostAnomalyMonitorDetails = null; + + /** + * The information to be updated. + * + * @param updateCostAnomalyMonitorDetails the value to set + * @return this builder instance + */ + public Builder updateCostAnomalyMonitorDetails( + com.oracle.bmc.costad.model.UpdateCostAnomalyMonitorDetails + updateCostAnomalyMonitorDetails) { + this.updateCostAnomalyMonitorDetails = updateCostAnomalyMonitorDetails; + return this; + } + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + */ + private String ifMatch = null; + + /** + * For optimistic concurrency control. In the PUT or DELETE call for a resource, set the + * {@code if-match} parameter to the value of the etag from a previous GET or POST response + * for that resource. The resource will be updated or deleted only if the etag you provide + * matches the resource's current etag value. + * + * @param ifMatch the value to set + * @return this builder instance + */ + public Builder ifMatch(String ifMatch) { + this.ifMatch = ifMatch; + return this; + } + + /** The client request ID for tracing. */ + private String opcRequestId = null; + + /** + * The client request ID for tracing. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(UpdateCostAnomalyMonitorRequest o) { + costAnomalyMonitorId(o.getCostAnomalyMonitorId()); + updateCostAnomalyMonitorDetails(o.getUpdateCostAnomalyMonitorDetails()); + ifMatch(o.getIfMatch()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of UpdateCostAnomalyMonitorRequest 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 UpdateCostAnomalyMonitorRequest + */ + public UpdateCostAnomalyMonitorRequest build() { + UpdateCostAnomalyMonitorRequest 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.costad.model.UpdateCostAnomalyMonitorDetails body) { + updateCostAnomalyMonitorDetails(body); + return this; + } + + /** + * Build the instance of UpdateCostAnomalyMonitorRequest 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 UpdateCostAnomalyMonitorRequest + */ + public UpdateCostAnomalyMonitorRequest buildWithoutInvocationCallback() { + UpdateCostAnomalyMonitorRequest request = new UpdateCostAnomalyMonitorRequest(); + request.costAnomalyMonitorId = costAnomalyMonitorId; + request.updateCostAnomalyMonitorDetails = updateCostAnomalyMonitorDetails; + request.ifMatch = ifMatch; + request.opcRequestId = opcRequestId; + return request; + // new UpdateCostAnomalyMonitorRequest(costAnomalyMonitorId, + // updateCostAnomalyMonitorDetails, 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() + .costAnomalyMonitorId(costAnomalyMonitorId) + .updateCostAnomalyMonitorDetails(updateCostAnomalyMonitorDetails) + .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(",costAnomalyMonitorId=").append(String.valueOf(this.costAnomalyMonitorId)); + sb.append(",updateCostAnomalyMonitorDetails=") + .append(String.valueOf(this.updateCostAnomalyMonitorDetails)); + 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 UpdateCostAnomalyMonitorRequest)) { + return false; + } + + UpdateCostAnomalyMonitorRequest other = (UpdateCostAnomalyMonitorRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.costAnomalyMonitorId, other.costAnomalyMonitorId) + && java.util.Objects.equals( + this.updateCostAnomalyMonitorDetails, other.updateCostAnomalyMonitorDetails) + && 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.costAnomalyMonitorId == null + ? 43 + : this.costAnomalyMonitorId.hashCode()); + result = + (result * PRIME) + + (this.updateCostAnomalyMonitorDetails == null + ? 43 + : this.updateCostAnomalyMonitorDetails.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-costad/src/main/java/com/oracle/bmc/costad/responses/CreateCostAlertSubscriptionResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/CreateCostAlertSubscriptionResponse.java new file mode 100644 index 00000000000..cefd6536a36 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/CreateCostAlertSubscriptionResponse.java @@ -0,0 +1,215 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class CreateCostAlertSubscriptionResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CostAlertSubscription} instance. */ + private com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription; + + /** + * The returned {@code CostAlertSubscription} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAlertSubscription getCostAlertSubscription() { + return costAlertSubscription; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "costAlertSubscription" + }) + private CreateCostAlertSubscriptionResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.costAlertSubscription = costAlertSubscription; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + CreateCostAlertSubscriptionResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CostAlertSubscription} instance. */ + private com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription; + + /** + * The returned {@code CostAlertSubscription} instance. + * + * @param costAlertSubscription the value to set + * @return this builder + */ + public Builder costAlertSubscription( + com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription) { + this.costAlertSubscription = costAlertSubscription; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(CreateCostAlertSubscriptionResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + costAlertSubscription(o.getCostAlertSubscription()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public CreateCostAlertSubscriptionResponse build() { + return new CreateCostAlertSubscriptionResponse( + __httpStatusCode__, headers, opcRequestId, etag, costAlertSubscription); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",costAlertSubscription=").append(String.valueOf(costAlertSubscription)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateCostAlertSubscriptionResponse)) { + return false; + } + + CreateCostAlertSubscriptionResponse other = (CreateCostAlertSubscriptionResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals( + this.costAlertSubscription, other.costAlertSubscription); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.costAlertSubscription == null + ? 43 + : this.costAlertSubscription.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/CreateCostAnomalyMonitorResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/CreateCostAnomalyMonitorResponse.java new file mode 100644 index 00000000000..1b239dad944 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/CreateCostAnomalyMonitorResponse.java @@ -0,0 +1,214 @@ +/** + * 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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class CreateCostAnomalyMonitorResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyMonitor getCostAnomalyMonitor() { + return costAnomalyMonitor; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "costAnomalyMonitor" + }) + private CreateCostAnomalyMonitorResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.costAnomalyMonitor = costAnomalyMonitor; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + CreateCostAnomalyMonitorResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @param costAnomalyMonitor the value to set + * @return this builder + */ + public Builder costAnomalyMonitor( + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + this.costAnomalyMonitor = costAnomalyMonitor; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(CreateCostAnomalyMonitorResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + costAnomalyMonitor(o.getCostAnomalyMonitor()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public CreateCostAnomalyMonitorResponse build() { + return new CreateCostAnomalyMonitorResponse( + __httpStatusCode__, headers, opcRequestId, etag, costAnomalyMonitor); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",costAnomalyMonitor=").append(String.valueOf(costAnomalyMonitor)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateCostAnomalyMonitorResponse)) { + return false; + } + + CreateCostAnomalyMonitorResponse other = (CreateCostAnomalyMonitorResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.costAnomalyMonitor, other.costAnomalyMonitor); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.costAnomalyMonitor == null + ? 43 + : this.costAnomalyMonitor.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DeleteCostAlertSubscriptionResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DeleteCostAlertSubscriptionResponse.java new file mode 100644 index 00000000000..d888c0e3bc9 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DeleteCostAlertSubscriptionResponse.java @@ -0,0 +1,138 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class DeleteCostAlertSubscriptionResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + private DeleteCostAlertSubscriptionResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + DeleteCostAlertSubscriptionResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(DeleteCostAlertSubscriptionResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public DeleteCostAlertSubscriptionResponse build() { + return new DeleteCostAlertSubscriptionResponse( + __httpStatusCode__, headers, opcRequestId); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DeleteCostAlertSubscriptionResponse)) { + return false; + } + + DeleteCostAlertSubscriptionResponse other = (DeleteCostAlertSubscriptionResponse) o; + return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DeleteCostAnomalyMonitorResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DeleteCostAnomalyMonitorResponse.java new file mode 100644 index 00000000000..0bf6ff3024b --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DeleteCostAnomalyMonitorResponse.java @@ -0,0 +1,137 @@ +/** + * 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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class DeleteCostAnomalyMonitorResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + private DeleteCostAnomalyMonitorResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + DeleteCostAnomalyMonitorResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(DeleteCostAnomalyMonitorResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public DeleteCostAnomalyMonitorResponse build() { + return new DeleteCostAnomalyMonitorResponse(__httpStatusCode__, headers, opcRequestId); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DeleteCostAnomalyMonitorResponse)) { + return false; + } + + DeleteCostAnomalyMonitorResponse other = (DeleteCostAnomalyMonitorResponse) o; + return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DisableCostAnomalyMonitorResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DisableCostAnomalyMonitorResponse.java new file mode 100644 index 00000000000..1d70ac8ab9a --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/DisableCostAnomalyMonitorResponse.java @@ -0,0 +1,214 @@ +/** + * 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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class DisableCostAnomalyMonitorResponse 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 CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyMonitor getCostAnomalyMonitor() { + return costAnomalyMonitor; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "etag", + "opcRequestId", + "costAnomalyMonitor" + }) + private DisableCostAnomalyMonitorResponse( + int __httpStatusCode__, + java.util.Map> headers, + String etag, + String opcRequestId, + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + super(__httpStatusCode__, headers); + this.etag = etag; + this.opcRequestId = opcRequestId; + this.costAnomalyMonitor = costAnomalyMonitor; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + DisableCostAnomalyMonitorResponse> { + 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 CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @param costAnomalyMonitor the value to set + * @return this builder + */ + public Builder costAnomalyMonitor( + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + this.costAnomalyMonitor = costAnomalyMonitor; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(DisableCostAnomalyMonitorResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + costAnomalyMonitor(o.getCostAnomalyMonitor()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public DisableCostAnomalyMonitorResponse build() { + return new DisableCostAnomalyMonitorResponse( + __httpStatusCode__, headers, etag, opcRequestId, costAnomalyMonitor); + } + } + + /** + * 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(",costAnomalyMonitor=").append(String.valueOf(costAnomalyMonitor)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DisableCostAnomalyMonitorResponse)) { + return false; + } + + DisableCostAnomalyMonitorResponse other = (DisableCostAnomalyMonitorResponse) 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.costAnomalyMonitor, other.costAnomalyMonitor); + } + + @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.costAnomalyMonitor == null + ? 43 + : this.costAnomalyMonitor.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/EnableCostAnomalyMonitorResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/EnableCostAnomalyMonitorResponse.java new file mode 100644 index 00000000000..7b2295f7874 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/EnableCostAnomalyMonitorResponse.java @@ -0,0 +1,214 @@ +/** + * 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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class EnableCostAnomalyMonitorResponse 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 CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyMonitor getCostAnomalyMonitor() { + return costAnomalyMonitor; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "etag", + "opcRequestId", + "costAnomalyMonitor" + }) + private EnableCostAnomalyMonitorResponse( + int __httpStatusCode__, + java.util.Map> headers, + String etag, + String opcRequestId, + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + super(__httpStatusCode__, headers); + this.etag = etag; + this.opcRequestId = opcRequestId; + this.costAnomalyMonitor = costAnomalyMonitor; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + EnableCostAnomalyMonitorResponse> { + 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 CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @param costAnomalyMonitor the value to set + * @return this builder + */ + public Builder costAnomalyMonitor( + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + this.costAnomalyMonitor = costAnomalyMonitor; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(EnableCostAnomalyMonitorResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + etag(o.getEtag()); + opcRequestId(o.getOpcRequestId()); + costAnomalyMonitor(o.getCostAnomalyMonitor()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public EnableCostAnomalyMonitorResponse build() { + return new EnableCostAnomalyMonitorResponse( + __httpStatusCode__, headers, etag, opcRequestId, costAnomalyMonitor); + } + } + + /** + * 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(",costAnomalyMonitor=").append(String.valueOf(costAnomalyMonitor)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof EnableCostAnomalyMonitorResponse)) { + return false; + } + + EnableCostAnomalyMonitorResponse other = (EnableCostAnomalyMonitorResponse) 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.costAnomalyMonitor, other.costAnomalyMonitor); + } + + @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.costAnomalyMonitor == null + ? 43 + : this.costAnomalyMonitor.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAlertSubscriptionResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAlertSubscriptionResponse.java new file mode 100644 index 00000000000..421b1fe8f8d --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAlertSubscriptionResponse.java @@ -0,0 +1,215 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class GetCostAlertSubscriptionResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CostAlertSubscription} instance. */ + private com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription; + + /** + * The returned {@code CostAlertSubscription} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAlertSubscription getCostAlertSubscription() { + return costAlertSubscription; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "costAlertSubscription" + }) + private GetCostAlertSubscriptionResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.costAlertSubscription = costAlertSubscription; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + GetCostAlertSubscriptionResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CostAlertSubscription} instance. */ + private com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription; + + /** + * The returned {@code CostAlertSubscription} instance. + * + * @param costAlertSubscription the value to set + * @return this builder + */ + public Builder costAlertSubscription( + com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription) { + this.costAlertSubscription = costAlertSubscription; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetCostAlertSubscriptionResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + costAlertSubscription(o.getCostAlertSubscription()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetCostAlertSubscriptionResponse build() { + return new GetCostAlertSubscriptionResponse( + __httpStatusCode__, headers, opcRequestId, etag, costAlertSubscription); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",costAlertSubscription=").append(String.valueOf(costAlertSubscription)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetCostAlertSubscriptionResponse)) { + return false; + } + + GetCostAlertSubscriptionResponse other = (GetCostAlertSubscriptionResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals( + this.costAlertSubscription, other.costAlertSubscription); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.costAlertSubscription == null + ? 43 + : this.costAlertSubscription.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAnomalyEventResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAnomalyEventResponse.java new file mode 100644 index 00000000000..242e24afff5 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAnomalyEventResponse.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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class GetCostAnomalyEventResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CostAnomalyEvent} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyEvent costAnomalyEvent; + + /** + * The returned {@code CostAnomalyEvent} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyEvent getCostAnomalyEvent() { + return costAnomalyEvent; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "costAnomalyEvent" + }) + private GetCostAnomalyEventResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.costad.model.CostAnomalyEvent costAnomalyEvent) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.costAnomalyEvent = costAnomalyEvent; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CostAnomalyEvent} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyEvent costAnomalyEvent; + + /** + * The returned {@code CostAnomalyEvent} instance. + * + * @param costAnomalyEvent the value to set + * @return this builder + */ + public Builder costAnomalyEvent( + com.oracle.bmc.costad.model.CostAnomalyEvent costAnomalyEvent) { + this.costAnomalyEvent = costAnomalyEvent; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetCostAnomalyEventResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + costAnomalyEvent(o.getCostAnomalyEvent()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetCostAnomalyEventResponse build() { + return new GetCostAnomalyEventResponse( + __httpStatusCode__, headers, opcRequestId, etag, costAnomalyEvent); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",costAnomalyEvent=").append(String.valueOf(costAnomalyEvent)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetCostAnomalyEventResponse)) { + return false; + } + + GetCostAnomalyEventResponse other = (GetCostAnomalyEventResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.costAnomalyEvent, other.costAnomalyEvent); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.costAnomalyEvent == null ? 43 : this.costAnomalyEvent.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAnomalyMonitorResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAnomalyMonitorResponse.java new file mode 100644 index 00000000000..abc1649a2dc --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/GetCostAnomalyMonitorResponse.java @@ -0,0 +1,213 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class GetCostAnomalyMonitorResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyMonitor getCostAnomalyMonitor() { + return costAnomalyMonitor; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "costAnomalyMonitor" + }) + private GetCostAnomalyMonitorResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.costAnomalyMonitor = costAnomalyMonitor; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @param costAnomalyMonitor the value to set + * @return this builder + */ + public Builder costAnomalyMonitor( + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + this.costAnomalyMonitor = costAnomalyMonitor; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetCostAnomalyMonitorResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + costAnomalyMonitor(o.getCostAnomalyMonitor()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetCostAnomalyMonitorResponse build() { + return new GetCostAnomalyMonitorResponse( + __httpStatusCode__, headers, opcRequestId, etag, costAnomalyMonitor); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",costAnomalyMonitor=").append(String.valueOf(costAnomalyMonitor)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetCostAnomalyMonitorResponse)) { + return false; + } + + GetCostAnomalyMonitorResponse other = (GetCostAnomalyMonitorResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.costAnomalyMonitor, other.costAnomalyMonitor); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.costAnomalyMonitor == null + ? 43 + : this.costAnomalyMonitor.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAlertSubscriptionsResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAlertSubscriptionsResponse.java new file mode 100644 index 00000000000..def5049dcfe --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAlertSubscriptionsResponse.java @@ -0,0 +1,238 @@ +/** + * 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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class ListCostAlertSubscriptionsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** The returned {@code CostAlertSubscriptionCollection} instance. */ + private com.oracle.bmc.costad.model.CostAlertSubscriptionCollection + costAlertSubscriptionCollection; + + /** + * The returned {@code CostAlertSubscriptionCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAlertSubscriptionCollection + getCostAlertSubscriptionCollection() { + return costAlertSubscriptionCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "costAlertSubscriptionCollection" + }) + private ListCostAlertSubscriptionsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + com.oracle.bmc.costad.model.CostAlertSubscriptionCollection + costAlertSubscriptionCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.costAlertSubscriptionCollection = costAlertSubscriptionCollection; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ListCostAlertSubscriptionsResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** The returned {@code CostAlertSubscriptionCollection} instance. */ + private com.oracle.bmc.costad.model.CostAlertSubscriptionCollection + costAlertSubscriptionCollection; + + /** + * The returned {@code CostAlertSubscriptionCollection} instance. + * + * @param costAlertSubscriptionCollection the value to set + * @return this builder + */ + public Builder costAlertSubscriptionCollection( + com.oracle.bmc.costad.model.CostAlertSubscriptionCollection + costAlertSubscriptionCollection) { + this.costAlertSubscriptionCollection = costAlertSubscriptionCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListCostAlertSubscriptionsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + costAlertSubscriptionCollection(o.getCostAlertSubscriptionCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListCostAlertSubscriptionsResponse build() { + return new ListCostAlertSubscriptionsResponse( + __httpStatusCode__, + headers, + opcRequestId, + opcNextPage, + costAlertSubscriptionCollection); + } + } + + /** + * 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(",costAlertSubscriptionCollection=") + .append(String.valueOf(costAlertSubscriptionCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListCostAlertSubscriptionsResponse)) { + return false; + } + + ListCostAlertSubscriptionsResponse other = (ListCostAlertSubscriptionsResponse) 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.costAlertSubscriptionCollection, + other.costAlertSubscriptionCollection); + } + + @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.costAlertSubscriptionCollection == null + ? 43 + : this.costAlertSubscriptionCollection.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAnomalyEventsResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAnomalyEventsResponse.java new file mode 100644 index 00000000000..bac372e4f05 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAnomalyEventsResponse.java @@ -0,0 +1,231 @@ +/** + * 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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class ListCostAnomalyEventsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** The returned {@code CostAnomalyEventCollection} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyEventCollection costAnomalyEventCollection; + + /** + * The returned {@code CostAnomalyEventCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyEventCollection getCostAnomalyEventCollection() { + return costAnomalyEventCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "costAnomalyEventCollection" + }) + private ListCostAnomalyEventsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + com.oracle.bmc.costad.model.CostAnomalyEventCollection costAnomalyEventCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.costAnomalyEventCollection = costAnomalyEventCollection; + } + + 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 list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** The returned {@code CostAnomalyEventCollection} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyEventCollection costAnomalyEventCollection; + + /** + * The returned {@code CostAnomalyEventCollection} instance. + * + * @param costAnomalyEventCollection the value to set + * @return this builder + */ + public Builder costAnomalyEventCollection( + com.oracle.bmc.costad.model.CostAnomalyEventCollection costAnomalyEventCollection) { + this.costAnomalyEventCollection = costAnomalyEventCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListCostAnomalyEventsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + costAnomalyEventCollection(o.getCostAnomalyEventCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListCostAnomalyEventsResponse build() { + return new ListCostAnomalyEventsResponse( + __httpStatusCode__, + headers, + opcRequestId, + opcNextPage, + costAnomalyEventCollection); + } + } + + /** + * 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(",costAnomalyEventCollection=") + .append(String.valueOf(costAnomalyEventCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListCostAnomalyEventsResponse)) { + return false; + } + + ListCostAnomalyEventsResponse other = (ListCostAnomalyEventsResponse) 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.costAnomalyEventCollection, other.costAnomalyEventCollection); + } + + @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.costAnomalyEventCollection == null + ? 43 + : this.costAnomalyEventCollection.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAnomalyMonitorsResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAnomalyMonitorsResponse.java new file mode 100644 index 00000000000..107cdf71663 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/ListCostAnomalyMonitorsResponse.java @@ -0,0 +1,235 @@ +/** + * 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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class ListCostAnomalyMonitorsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** The returned {@code CostAnomalyMonitorCollection} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitorCollection costAnomalyMonitorCollection; + + /** + * The returned {@code CostAnomalyMonitorCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyMonitorCollection + getCostAnomalyMonitorCollection() { + return costAnomalyMonitorCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "costAnomalyMonitorCollection" + }) + private ListCostAnomalyMonitorsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + com.oracle.bmc.costad.model.CostAnomalyMonitorCollection costAnomalyMonitorCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.costAnomalyMonitorCollection = costAnomalyMonitorCollection; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + ListCostAnomalyMonitorsResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** The returned {@code CostAnomalyMonitorCollection} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitorCollection + costAnomalyMonitorCollection; + + /** + * The returned {@code CostAnomalyMonitorCollection} instance. + * + * @param costAnomalyMonitorCollection the value to set + * @return this builder + */ + public Builder costAnomalyMonitorCollection( + com.oracle.bmc.costad.model.CostAnomalyMonitorCollection + costAnomalyMonitorCollection) { + this.costAnomalyMonitorCollection = costAnomalyMonitorCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListCostAnomalyMonitorsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + costAnomalyMonitorCollection(o.getCostAnomalyMonitorCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListCostAnomalyMonitorsResponse build() { + return new ListCostAnomalyMonitorsResponse( + __httpStatusCode__, + headers, + opcRequestId, + opcNextPage, + costAnomalyMonitorCollection); + } + } + + /** + * 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(",costAnomalyMonitorCollection=") + .append(String.valueOf(costAnomalyMonitorCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListCostAnomalyMonitorsResponse)) { + return false; + } + + ListCostAnomalyMonitorsResponse other = (ListCostAnomalyMonitorsResponse) 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.costAnomalyMonitorCollection, other.costAnomalyMonitorCollection); + } + + @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.costAnomalyMonitorCollection == null + ? 43 + : this.costAnomalyMonitorCollection.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/SummarizeCostAnomalyEventAnalyticsResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/SummarizeCostAnomalyEventAnalyticsResponse.java new file mode 100644 index 00000000000..8dff58fd382 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/SummarizeCostAnomalyEventAnalyticsResponse.java @@ -0,0 +1,240 @@ +/** + * 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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class SummarizeCostAnomalyEventAnalyticsResponse + extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of results + * remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** The returned {@code CostAnomalyEventAnalyticCollection} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyEventAnalyticCollection + costAnomalyEventAnalyticCollection; + + /** + * The returned {@code CostAnomalyEventAnalyticCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyEventAnalyticCollection + getCostAnomalyEventAnalyticCollection() { + return costAnomalyEventAnalyticCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "costAnomalyEventAnalyticCollection" + }) + private SummarizeCostAnomalyEventAnalyticsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + com.oracle.bmc.costad.model.CostAnomalyEventAnalyticCollection + costAnomalyEventAnalyticCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.costAnomalyEventAnalyticCollection = costAnomalyEventAnalyticCollection; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + SummarizeCostAnomalyEventAnalyticsResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcNextPage; + + /** + * For list pagination. When this header appears in the response, additional pages of + * results remain. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** The returned {@code CostAnomalyEventAnalyticCollection} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyEventAnalyticCollection + costAnomalyEventAnalyticCollection; + + /** + * The returned {@code CostAnomalyEventAnalyticCollection} instance. + * + * @param costAnomalyEventAnalyticCollection the value to set + * @return this builder + */ + public Builder costAnomalyEventAnalyticCollection( + com.oracle.bmc.costad.model.CostAnomalyEventAnalyticCollection + costAnomalyEventAnalyticCollection) { + this.costAnomalyEventAnalyticCollection = costAnomalyEventAnalyticCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(SummarizeCostAnomalyEventAnalyticsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + costAnomalyEventAnalyticCollection(o.getCostAnomalyEventAnalyticCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public SummarizeCostAnomalyEventAnalyticsResponse build() { + return new SummarizeCostAnomalyEventAnalyticsResponse( + __httpStatusCode__, + headers, + opcRequestId, + opcNextPage, + costAnomalyEventAnalyticCollection); + } + } + + /** + * 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(",costAnomalyEventAnalyticCollection=") + .append(String.valueOf(costAnomalyEventAnalyticCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof SummarizeCostAnomalyEventAnalyticsResponse)) { + return false; + } + + SummarizeCostAnomalyEventAnalyticsResponse other = + (SummarizeCostAnomalyEventAnalyticsResponse) 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.costAnomalyEventAnalyticCollection, + other.costAnomalyEventAnalyticCollection); + } + + @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.costAnomalyEventAnalyticCollection == null + ? 43 + : this.costAnomalyEventAnalyticCollection.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAlertSubscriptionResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAlertSubscriptionResponse.java new file mode 100644 index 00000000000..4dc8b674e7d --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAlertSubscriptionResponse.java @@ -0,0 +1,215 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class UpdateCostAlertSubscriptionResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CostAlertSubscription} instance. */ + private com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription; + + /** + * The returned {@code CostAlertSubscription} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAlertSubscription getCostAlertSubscription() { + return costAlertSubscription; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "costAlertSubscription" + }) + private UpdateCostAlertSubscriptionResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.costAlertSubscription = costAlertSubscription; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + UpdateCostAlertSubscriptionResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CostAlertSubscription} instance. */ + private com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription; + + /** + * The returned {@code CostAlertSubscription} instance. + * + * @param costAlertSubscription the value to set + * @return this builder + */ + public Builder costAlertSubscription( + com.oracle.bmc.costad.model.CostAlertSubscription costAlertSubscription) { + this.costAlertSubscription = costAlertSubscription; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(UpdateCostAlertSubscriptionResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + costAlertSubscription(o.getCostAlertSubscription()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public UpdateCostAlertSubscriptionResponse build() { + return new UpdateCostAlertSubscriptionResponse( + __httpStatusCode__, headers, opcRequestId, etag, costAlertSubscription); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",costAlertSubscription=").append(String.valueOf(costAlertSubscription)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateCostAlertSubscriptionResponse)) { + return false; + } + + UpdateCostAlertSubscriptionResponse other = (UpdateCostAlertSubscriptionResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals( + this.costAlertSubscription, other.costAlertSubscription); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.costAlertSubscription == null + ? 43 + : this.costAlertSubscription.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAnomalyEventResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAnomalyEventResponse.java new file mode 100644 index 00000000000..3054a372576 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAnomalyEventResponse.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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class UpdateCostAnomalyEventResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CostAnomalyEvent} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyEvent costAnomalyEvent; + + /** + * The returned {@code CostAnomalyEvent} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyEvent getCostAnomalyEvent() { + return costAnomalyEvent; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "costAnomalyEvent" + }) + private UpdateCostAnomalyEventResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.costad.model.CostAnomalyEvent costAnomalyEvent) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.costAnomalyEvent = costAnomalyEvent; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + UpdateCostAnomalyEventResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CostAnomalyEvent} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyEvent costAnomalyEvent; + + /** + * The returned {@code CostAnomalyEvent} instance. + * + * @param costAnomalyEvent the value to set + * @return this builder + */ + public Builder costAnomalyEvent( + com.oracle.bmc.costad.model.CostAnomalyEvent costAnomalyEvent) { + this.costAnomalyEvent = costAnomalyEvent; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(UpdateCostAnomalyEventResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + costAnomalyEvent(o.getCostAnomalyEvent()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public UpdateCostAnomalyEventResponse build() { + return new UpdateCostAnomalyEventResponse( + __httpStatusCode__, headers, opcRequestId, etag, costAnomalyEvent); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",costAnomalyEvent=").append(String.valueOf(costAnomalyEvent)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateCostAnomalyEventResponse)) { + return false; + } + + UpdateCostAnomalyEventResponse other = (UpdateCostAnomalyEventResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.costAnomalyEvent, other.costAnomalyEvent); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.costAnomalyEvent == null ? 43 : this.costAnomalyEvent.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAnomalyMonitorResponse.java b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAnomalyMonitorResponse.java new file mode 100644 index 00000000000..61cdba1d5d3 --- /dev/null +++ b/bmc-costad/src/main/java/com/oracle/bmc/costad/responses/UpdateCostAnomalyMonitorResponse.java @@ -0,0 +1,214 @@ +/** + * 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.costad.responses; + +import com.oracle.bmc.costad.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") +public class UpdateCostAnomalyMonitorResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @return the value + */ + public String getEtag() { + return etag; + } + + /** The returned {@code CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @return the value + */ + public com.oracle.bmc.costad.model.CostAnomalyMonitor getCostAnomalyMonitor() { + return costAnomalyMonitor; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "etag", + "costAnomalyMonitor" + }) + private UpdateCostAnomalyMonitorResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String etag, + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.etag = etag; + this.costAnomalyMonitor = costAnomalyMonitor; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder< + UpdateCostAnomalyMonitorResponse> { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** For optimistic concurrency control. See {@code if-match}. */ + private String etag; + + /** + * For optimistic concurrency control. See {@code if-match}. + * + * @param etag the value to set + * @return this builder + */ + public Builder etag(String etag) { + this.etag = etag; + return this; + } + + /** The returned {@code CostAnomalyMonitor} instance. */ + private com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor; + + /** + * The returned {@code CostAnomalyMonitor} instance. + * + * @param costAnomalyMonitor the value to set + * @return this builder + */ + public Builder costAnomalyMonitor( + com.oracle.bmc.costad.model.CostAnomalyMonitor costAnomalyMonitor) { + this.costAnomalyMonitor = costAnomalyMonitor; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(UpdateCostAnomalyMonitorResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + etag(o.getEtag()); + costAnomalyMonitor(o.getCostAnomalyMonitor()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public UpdateCostAnomalyMonitorResponse build() { + return new UpdateCostAnomalyMonitorResponse( + __httpStatusCode__, headers, opcRequestId, etag, costAnomalyMonitor); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",etag=").append(String.valueOf(etag)); + sb.append(",costAnomalyMonitor=").append(String.valueOf(costAnomalyMonitor)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof UpdateCostAnomalyMonitorResponse)) { + return false; + } + + UpdateCostAnomalyMonitorResponse other = (UpdateCostAnomalyMonitorResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.etag, other.etag) + && java.util.Objects.equals(this.costAnomalyMonitor, other.costAnomalyMonitor); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); + result = + (result * PRIME) + + (this.costAnomalyMonitor == null + ? 43 + : this.costAnomalyMonitor.hashCode()); + return result; + } +} diff --git a/bmc-costad/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-costad/reflect-config.json b/bmc-costad/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-costad/reflect-config.json new file mode 100644 index 00000000000..cb6a1a8adfc --- /dev/null +++ b/bmc-costad/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-costad/reflect-config.json @@ -0,0 +1,356 @@ +[ + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscription", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscription$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscription$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscriptionCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscriptionCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscriptionMap", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscriptionMap$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscriptionMap$Operator", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscriptionSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAlertSubscriptionSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEvent", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEvent$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEvent$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEvent$FeedbackResponse", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEventAnalyticCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEventAnalyticCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEventAnalyticSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEventAnalyticSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEventCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEventCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEventSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyEventSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyMonitor", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyMonitor$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyMonitor$LifecycleState", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyMonitorCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyMonitorCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyMonitorSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CostAnomalyMonitorSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CreateCostAlertSubscriptionDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CreateCostAlertSubscriptionDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CreateCostAnomalyMonitorDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.CreateCostAnomalyMonitorDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.Dimension", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.Dimension$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.MonitorType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.RootCauseDetail", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.RootCauseDetail$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.SortByForCostAd", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.SortByForCostAnomalyEvent", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.SortOrder", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.Tag", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.Tag$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.TargetResourceFilter", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.TargetResourceFilter$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.TargetResourceFilter$Operator", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.UpdateCostAlertSubscriptionDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.UpdateCostAlertSubscriptionDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.UpdateCostAnomalyEventDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.UpdateCostAnomalyEventDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.UpdateCostAnomalyMonitorDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.costad.model.UpdateCostAnomalyMonitorDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + } +] \ No newline at end of file diff --git a/bmc-costad/src/main/resources/com/oracle/bmc/costad/client.properties b/bmc-costad/src/main/resources/com/oracle/bmc/costad/client.properties new file mode 100644 index 00000000000..0c51985ab8f --- /dev/null +++ b/bmc-costad/src/main/resources/com/oracle/bmc/costad/client.properties @@ -0,0 +1,9 @@ +# +# Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. +# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +# + +java.client.codegen.version = 2.163 +java.minimum.client.codegen.version.from.client = 2.145 + +# @jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190111") \ No newline at end of file diff --git a/bmc-dashboardservice/pom.xml b/bmc-dashboardservice/pom.xml index c45e4c37697..1d4092a111c 100644 --- a/bmc-dashboardservice/pom.xml +++ b/bmc-dashboardservice/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-dashboardservice @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-database/pom.xml b/bmc-database/pom.xml index 4797f62d6fc..7626c229902 100644 --- a/bmc-database/pom.xml +++ b/bmc-database/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.86.2 + 3.87.0 diff --git a/bmc-databasemanagement/pom.xml b/bmc-databasemanagement/pom.xml index 4aac85a7bc1..b8bb3e91f12 100644 --- a/bmc-databasemanagement/pom.xml +++ b/bmc-databasemanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-databasemanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-databasemigration/pom.xml b/bmc-databasemigration/pom.xml index 9e3397f7dd4..fac11564723 100644 --- a/bmc-databasemigration/pom.xml +++ b/bmc-databasemigration/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-databasemigration @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-databasetools/pom.xml b/bmc-databasetools/pom.xml index c5ee72b769f..22087a8af98 100644 --- a/bmc-databasetools/pom.xml +++ b/bmc-databasetools/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-databasetools @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-databasetoolsruntime/pom.xml b/bmc-databasetoolsruntime/pom.xml index 5a78a4e8c2c..12039101d53 100644 --- a/bmc-databasetoolsruntime/pom.xml +++ b/bmc-databasetoolsruntime/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-databasetoolsruntime @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-datacatalog/pom.xml b/bmc-datacatalog/pom.xml index 153175ef277..239387dd101 100644 --- a/bmc-datacatalog/pom.xml +++ b/bmc-datacatalog/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-datacatalog @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-dataflow/pom.xml b/bmc-dataflow/pom.xml index bf87e65a888..0c24ea28f5e 100644 --- a/bmc-dataflow/pom.xml +++ b/bmc-dataflow/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-dataflow @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-dataintegration/pom.xml b/bmc-dataintegration/pom.xml index ccab5a3dc1b..48d9b35a1b7 100644 --- a/bmc-dataintegration/pom.xml +++ b/bmc-dataintegration/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-dataintegration @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-datalabelingservice/pom.xml b/bmc-datalabelingservice/pom.xml index 3aed52d6317..ee35e433257 100644 --- a/bmc-datalabelingservice/pom.xml +++ b/bmc-datalabelingservice/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-datalabelingservice @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-datalabelingservicedataplane/pom.xml b/bmc-datalabelingservicedataplane/pom.xml index 15927b26f83..e4b8bb272f8 100644 --- a/bmc-datalabelingservicedataplane/pom.xml +++ b/bmc-datalabelingservicedataplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-datalabelingservicedataplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-datasafe/pom.xml b/bmc-datasafe/pom.xml index 7019be49446..76136139478 100644 --- a/bmc-datasafe/pom.xml +++ b/bmc-datasafe/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-datasafe @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-datascience/pom.xml b/bmc-datascience/pom.xml index b90a4b31f3c..3bb35a8ba5c 100644 --- a/bmc-datascience/pom.xml +++ b/bmc-datascience/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-datascience @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-dblm/pom.xml b/bmc-dblm/pom.xml index eb2a1f4b5c4..ee458b338e8 100644 --- a/bmc-dblm/pom.xml +++ b/bmc-dblm/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-dblm @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-dbmulticloud/pom.xml b/bmc-dbmulticloud/pom.xml index d73e3e51775..598d3e4d724 100644 --- a/bmc-dbmulticloud/pom.xml +++ b/bmc-dbmulticloud/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-dbmulticloud @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-delegateaccesscontrol/pom.xml b/bmc-delegateaccesscontrol/pom.xml index b906d6ea6eb..0a47ec71b89 100644 --- a/bmc-delegateaccesscontrol/pom.xml +++ b/bmc-delegateaccesscontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-delegateaccesscontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-demandsignal/pom.xml b/bmc-demandsignal/pom.xml index e3648463fe4..e99f948cec0 100644 --- a/bmc-demandsignal/pom.xml +++ b/bmc-demandsignal/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-demandsignal @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-desktops/pom.xml b/bmc-desktops/pom.xml index fc6dafe3af2..0ad6e89f136 100644 --- a/bmc-desktops/pom.xml +++ b/bmc-desktops/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-desktops @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-devops/pom.xml b/bmc-devops/pom.xml index 003fc340204..97ceb17406c 100644 --- a/bmc-devops/pom.xml +++ b/bmc-devops/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-devops @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-dif/pom.xml b/bmc-dif/pom.xml index 0e515ad4e1f..0d2bf385a54 100644 --- a/bmc-dif/pom.xml +++ b/bmc-dif/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-dif @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-disasterrecovery/pom.xml b/bmc-disasterrecovery/pom.xml index fb220bff3cf..ee2f9513a43 100644 --- a/bmc-disasterrecovery/pom.xml +++ b/bmc-disasterrecovery/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-disasterrecovery @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-distributeddatabase/pom.xml b/bmc-distributeddatabase/pom.xml index 712942c9889..4944499ffaa 100644 --- a/bmc-distributeddatabase/pom.xml +++ b/bmc-distributeddatabase/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-distributeddatabase @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-dns/pom.xml b/bmc-dns/pom.xml index dc7a4c900d7..2979c76412b 100644 --- a/bmc-dns/pom.xml +++ b/bmc-dns/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.86.2 + 3.87.0 diff --git a/bmc-email/pom.xml b/bmc-email/pom.xml index 3df6dc20c79..e4729aced3f 100644 --- a/bmc-email/pom.xml +++ b/bmc-email/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 diff --git a/bmc-emaildataplane/pom.xml b/bmc-emaildataplane/pom.xml index c555eeffab4..5d466b3fac5 100644 --- a/bmc-emaildataplane/pom.xml +++ b/bmc-emaildataplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-emaildataplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-emwarehouse/pom.xml b/bmc-emwarehouse/pom.xml index 0e69f916de1..a20a2f0a5c9 100644 --- a/bmc-emwarehouse/pom.xml +++ b/bmc-emwarehouse/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-emwarehouse @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-encryption/pom.xml b/bmc-encryption/pom.xml index d81e0db6657..378b630639b 100644 --- a/bmc-encryption/pom.xml +++ b/bmc-encryption/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,17 +18,17 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-keymanagement - 3.86.2 + 3.87.0 com.fasterxml.jackson.core @@ -48,7 +48,7 @@ com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.86.2 + 3.87.0 test diff --git a/bmc-enforcer-rules/pom.xml b/bmc-enforcer-rules/pom.xml index ab8516c0f84..26c673f0a8c 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.86.2 + 3.87.0 oci-java-sdk-enforcer-rules diff --git a/bmc-events/pom.xml b/bmc-events/pom.xml index 940b2854567..49d3478b46f 100644 --- a/bmc-events/pom.xml +++ b/bmc-events/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-events @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-examples/pom.xml b/bmc-examples/pom.xml index 1b7b0a1f73f..faac98feaff 100644 --- a/bmc-examples/pom.xml +++ b/bmc-examples/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-examples @@ -71,14 +71,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.86.2 + 3.87.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.86.2 + 3.87.0 pom import @@ -809,5 +809,9 @@ com.oracle.oci.sdk oci-java-sdk-databasetoolsruntime + + com.oracle.oci.sdk + oci-java-sdk-costad + \ No newline at end of file diff --git a/bmc-filestorage/pom.xml b/bmc-filestorage/pom.xml index 877d6420af4..c02b17832bb 100644 --- a/bmc-filestorage/pom.xml +++ b/bmc-filestorage/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 diff --git a/bmc-fleetappsmanagement/pom.xml b/bmc-fleetappsmanagement/pom.xml index 1c6d8eb4bfb..358ec2d0a61 100644 --- a/bmc-fleetappsmanagement/pom.xml +++ b/bmc-fleetappsmanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-fleetappsmanagement @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-fleetsoftwareupdate/pom.xml b/bmc-fleetsoftwareupdate/pom.xml index d53ecc910d1..d920aff928e 100644 --- a/bmc-fleetsoftwareupdate/pom.xml +++ b/bmc-fleetsoftwareupdate/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-fleetsoftwareupdate @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-full/pom.xml b/bmc-full/pom.xml index 65390945538..4bb964b750f 100644 --- a/bmc-full/pom.xml +++ b/bmc-full/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-full @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.86.2 + 3.87.0 pom import @@ -695,5 +695,9 @@ com.oracle.oci.sdk oci-java-sdk-databasetoolsruntime + + com.oracle.oci.sdk + oci-java-sdk-costad + \ No newline at end of file diff --git a/bmc-functions/pom.xml b/bmc-functions/pom.xml index f98270fcb6d..ebe5ce592da 100644 --- a/bmc-functions/pom.xml +++ b/bmc-functions/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-functions @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-fusionapps/pom.xml b/bmc-fusionapps/pom.xml index 3c112a19762..3a05bb67a8a 100644 --- a/bmc-fusionapps/pom.xml +++ b/bmc-fusionapps/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-fusionapps @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-gdp/pom.xml b/bmc-gdp/pom.xml index 71311fa8fca..a8a63584401 100644 --- a/bmc-gdp/pom.xml +++ b/bmc-gdp/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-gdp @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-generativeai/pom.xml b/bmc-generativeai/pom.xml index 6dfeaba8c84..e585b06e1de 100644 --- a/bmc-generativeai/pom.xml +++ b/bmc-generativeai/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-generativeai @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-generativeaiagent/pom.xml b/bmc-generativeaiagent/pom.xml index cc7c34422cc..b5f05ef116b 100644 --- a/bmc-generativeaiagent/pom.xml +++ b/bmc-generativeaiagent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-generativeaiagent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-generativeaiagentruntime/pom.xml b/bmc-generativeaiagentruntime/pom.xml index 86779a26e45..3e6c88daaee 100644 --- a/bmc-generativeaiagentruntime/pom.xml +++ b/bmc-generativeaiagentruntime/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-generativeaiagentruntime @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-generativeaidata/pom.xml b/bmc-generativeaidata/pom.xml index 14c4e56e264..09c2a5ebc57 100644 --- a/bmc-generativeaidata/pom.xml +++ b/bmc-generativeaidata/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-generativeaidata @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-generativeaiinference/pom.xml b/bmc-generativeaiinference/pom.xml index d32abc11089..08773fbc689 100644 --- a/bmc-generativeaiinference/pom.xml +++ b/bmc-generativeaiinference/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-generativeaiinference @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInference.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInference.java index 635c1686742..87e2d2a2dac 100644 --- a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInference.java +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInference.java @@ -92,6 +92,16 @@ public interface GenerativeAiInference extends AutoCloseable { */ void useRealmSpecificEndpointTemplate(boolean realmSpecificEndpointTemplateEnabled); + /** + * Determines whether dual stack endpoint should be used or not. Set + * dualStackEndpointTemplateEnabled to "true" if the user wants to enable use of dual stack + * endpoint template. Default value is "false" + * + * @param dualStackEndpointTemplateEnabled flag to enable the use of dual stack endpoint + * template + */ + void enableDualStackEndpoints(boolean dualStackEndpointTemplateEnabled); + /** * Applies guardrails to the input text, including content moderation, PII detection, and prompt * injection protection. @@ -162,6 +172,22 @@ public interface GenerativeAiInference extends AutoCloseable { */ GenerateTextResponse generateText(GenerateTextRequest request); + /** + * List the available guardrail system versions. + * + * @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 + * ListGuardrailVersions API. + */ + ListGuardrailVersionsResponse listGuardrailVersions(ListGuardrailVersionsRequest request); + /** * Reranks the text responses based on the input documents and a prompt. * @@ -194,4 +220,14 @@ public interface GenerativeAiInference extends AutoCloseable { * target="_blank" rel="noopener noreferrer" >here to see how to use SummarizeText API. */ SummarizeTextResponse summarizeText(SummarizeTextRequest request); + + /** + * Gets the pre-configured paginators available for list operations in this service which may + * return multiple pages of data. These paginators provide an {@link java.lang.Iterable} + * interface so that service responses, or resources/records, can be iterated through without + * having to manually deal with pagination and page tokens. + * + * @return The service paginators. + */ + GenerativeAiInferencePaginators getPaginators(); } diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceAsync.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceAsync.java index ea1e5ac8738..889533ec43a 100644 --- a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceAsync.java +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceAsync.java @@ -89,6 +89,16 @@ public interface GenerativeAiInferenceAsync extends AutoCloseable { */ void useRealmSpecificEndpointTemplate(boolean realmSpecificEndpointTemplateEnabled); + /** + * Determines whether dual stack endpoint should be used or not. Set + * dualStackEndpointTemplateEnabled to "true" if the user wants to enable use of dual stack + * endpoint template. Default value is "false" + * + * @param dualStackEndpointTemplateEnabled flag to enable the use of dual stack endpoint + * template + */ + void enableDualStackEndpoints(boolean dualStackEndpointTemplateEnabled); + /** * Applies guardrails to the input text, including content moderation, PII detection, and prompt * injection protection. @@ -156,6 +166,22 @@ java.util.concurrent.Future generateText( com.oracle.bmc.responses.AsyncHandler handler); + /** + * List the available guardrail system versions. + * + * @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 listGuardrailVersions( + ListGuardrailVersionsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListGuardrailVersionsRequest, ListGuardrailVersionsResponse> + handler); + /** * Reranks the text responses based on the input documents and a prompt. * diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceAsyncClient.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceAsyncClient.java index a9b3134dab1..331aea4000a 100644 --- a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceAsyncClient.java +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceAsyncClient.java @@ -34,7 +34,8 @@ public class GenerativeAiInferenceAsyncClient extends com.oracle.bmc.http.intern .serviceName(GenerativeAiInferenceClient.class.getName()) .serviceEndpointPrefix("") .serviceEndpointTemplate( - "https://inference.generativeai.{region}.oci.{secondLevelDomain}") + "https://inference.generativeai.{region}.{dualStack?ds.:}oci.{secondLevelDomain}") + .endpointServiceName("inference.generativeai") .build(); private static final org.slf4j.Logger LOG = @@ -105,12 +106,15 @@ public java.util.concurrent.Future applyGuardrails( Objects.requireNonNull( request.getApplyGuardrailsDetails(), "applyGuardrailsDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, ApplyGuardrailsResponse::builder) .logger(LOG, "applyGuardrails") .serviceDetails( "GenerativeAiInference", "ApplyGuardrails", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/ApplyGuardrailsResult/ApplyGuardrails") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(ApplyGuardrailsRequest::builder) .basePath("/20231130") @@ -134,12 +138,15 @@ public java.util.concurrent.Future chat( final com.oracle.bmc.responses.AsyncHandler handler) { Objects.requireNonNull(request.getChatDetails(), "chatDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, ChatResponse::builder) .logger(LOG, "chat") .serviceDetails( "GenerativeAiInference", "Chat", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/ChatResult/Chat") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(ChatRequest::builder) .basePath("/20231130") @@ -167,12 +174,15 @@ public java.util.concurrent.Future embedText( handler) { Objects.requireNonNull(request.getEmbedTextDetails(), "embedTextDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, EmbedTextResponse::builder) .logger(LOG, "embedText") .serviceDetails( "GenerativeAiInference", "EmbedText", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/EmbedTextResult/EmbedText") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(EmbedTextRequest::builder) .basePath("/20231130") @@ -200,12 +210,15 @@ public java.util.concurrent.Future generateText( handler) { Objects.requireNonNull(request.getGenerateTextDetails(), "generateTextDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, GenerateTextResponse::builder) .logger(LOG, "generateText") .serviceDetails( "GenerativeAiInference", "GenerateText", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/GenerateTextResult/GenerateText") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(GenerateTextRequest::builder) .basePath("/20231130") @@ -228,6 +241,43 @@ public java.util.concurrent.Future generateText( .callAsync(handler); } + @Override + public java.util.concurrent.Future listGuardrailVersions( + ListGuardrailVersionsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListGuardrailVersionsRequest, ListGuardrailVersionsResponse> + handler) { + Objects.requireNonNull(request.getOpcCompartmentId(), "opcCompartmentId is required"); + + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + + return clientCall(request, ListGuardrailVersionsResponse::builder) + .logger(LOG, "listGuardrailVersions") + .serviceDetails( + "GenerativeAiInference", + "ListGuardrailVersions", + "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/GuardrailVersionCollection/ListGuardrailVersions") + .requiredParametersMap(requiredParametersMap) + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListGuardrailVersionsRequest::builder) + .basePath("/20231130") + .appendPathParam("guardrailVersions") + .appendEnumQueryParam("state", request.getState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-compartment-id", request.getOpcCompartmentId()) + .handleBody( + com.oracle.bmc.generativeaiinference.model.GuardrailVersionCollection.class, + ListGuardrailVersionsResponse.Builder::guardrailVersionCollection) + .handleResponseHeaderString( + "opc-request-id", ListGuardrailVersionsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListGuardrailVersionsResponse.Builder::opcNextPage) + .callAsync(handler); + } + @Override public java.util.concurrent.Future rerankText( RerankTextRequest request, @@ -235,12 +285,15 @@ public java.util.concurrent.Future rerankText( handler) { Objects.requireNonNull(request.getRerankTextDetails(), "rerankTextDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, RerankTextResponse::builder) .logger(LOG, "rerankText") .serviceDetails( "GenerativeAiInference", "RerankText", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/RerankTextResult/RerankText") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(RerankTextRequest::builder) .basePath("/20231130") @@ -269,12 +322,15 @@ public java.util.concurrent.Future summarizeText( Objects.requireNonNull( request.getSummarizeTextDetails(), "summarizeTextDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, SummarizeTextResponse::builder) .logger(LOG, "summarizeText") .serviceDetails( "GenerativeAiInference", "SummarizeText", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/SummarizeTextResult/SummarizeText") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(SummarizeTextRequest::builder) .basePath("/20231130") diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceClient.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceClient.java index 657fa3d3992..ddc77a6a0b0 100644 --- a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceClient.java +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferenceClient.java @@ -21,12 +21,15 @@ public class GenerativeAiInferenceClient extends com.oracle.bmc.http.internal.Ba .serviceName(GenerativeAiInferenceClient.class.getName()) .serviceEndpointPrefix("") .serviceEndpointTemplate( - "https://inference.generativeai.{region}.oci.{secondLevelDomain}") + "https://inference.generativeai.{region}.{dualStack?ds.:}oci.{secondLevelDomain}") + .endpointServiceName("inference.generativeai") .build(); private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(GenerativeAiInferenceClient.class); + private final GenerativeAiInferencePaginators paginators; + GenerativeAiInferenceClient( com.oracle.bmc.common.ClientBuilderBase builder, com.oracle.bmc.auth.AbstractAuthenticationDetailsProvider @@ -35,6 +38,8 @@ public class GenerativeAiInferenceClient extends com.oracle.bmc.http.internal.Ba builder, authenticationDetailsProvider, CircuitBreakerUtils.DEFAULT_CIRCUIT_BREAKER_CONFIGURATION); + + this.paginators = new GenerativeAiInferencePaginators(this); } /** @@ -91,12 +96,15 @@ public ApplyGuardrailsResponse applyGuardrails(ApplyGuardrailsRequest request) { Objects.requireNonNull( request.getApplyGuardrailsDetails(), "applyGuardrailsDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, ApplyGuardrailsResponse::builder) .logger(LOG, "applyGuardrails") .serviceDetails( "GenerativeAiInference", "ApplyGuardrails", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/ApplyGuardrailsResult/ApplyGuardrails") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(ApplyGuardrailsRequest::builder) .basePath("/20231130") @@ -119,12 +127,15 @@ public ApplyGuardrailsResponse applyGuardrails(ApplyGuardrailsRequest request) { public ChatResponse chat(ChatRequest request) { Objects.requireNonNull(request.getChatDetails(), "chatDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, ChatResponse::builder) .logger(LOG, "chat") .serviceDetails( "GenerativeAiInference", "Chat", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/ChatResult/Chat") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(ChatRequest::builder) .basePath("/20231130") @@ -150,12 +161,15 @@ public ChatResponse chat(ChatRequest request) { public EmbedTextResponse embedText(EmbedTextRequest request) { Objects.requireNonNull(request.getEmbedTextDetails(), "embedTextDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, EmbedTextResponse::builder) .logger(LOG, "embedText") .serviceDetails( "GenerativeAiInference", "EmbedText", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/EmbedTextResult/EmbedText") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(EmbedTextRequest::builder) .basePath("/20231130") @@ -181,12 +195,15 @@ public EmbedTextResponse embedText(EmbedTextRequest request) { public GenerateTextResponse generateText(GenerateTextRequest request) { Objects.requireNonNull(request.getGenerateTextDetails(), "generateTextDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, GenerateTextResponse::builder) .logger(LOG, "generateText") .serviceDetails( "GenerativeAiInference", "GenerateText", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/GenerateTextResult/GenerateText") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(GenerateTextRequest::builder) .basePath("/20231130") @@ -210,16 +227,54 @@ public GenerateTextResponse generateText(GenerateTextRequest request) { .callSync(); } + @Override + public ListGuardrailVersionsResponse listGuardrailVersions( + ListGuardrailVersionsRequest request) { + Objects.requireNonNull(request.getOpcCompartmentId(), "opcCompartmentId is required"); + + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + + return clientCall(request, ListGuardrailVersionsResponse::builder) + .logger(LOG, "listGuardrailVersions") + .serviceDetails( + "GenerativeAiInference", + "ListGuardrailVersions", + "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/GuardrailVersionCollection/ListGuardrailVersions") + .requiredParametersMap(requiredParametersMap) + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListGuardrailVersionsRequest::builder) + .basePath("/20231130") + .appendPathParam("guardrailVersions") + .appendEnumQueryParam("state", request.getState()) + .appendQueryParam("limit", request.getLimit()) + .appendQueryParam("page", request.getPage()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .appendHeader("opc-compartment-id", request.getOpcCompartmentId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.generativeaiinference.model.GuardrailVersionCollection.class, + ListGuardrailVersionsResponse.Builder::guardrailVersionCollection) + .handleResponseHeaderString( + "opc-request-id", ListGuardrailVersionsResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-next-page", ListGuardrailVersionsResponse.Builder::opcNextPage) + .callSync(); + } + @Override public RerankTextResponse rerankText(RerankTextRequest request) { Objects.requireNonNull(request.getRerankTextDetails(), "rerankTextDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, RerankTextResponse::builder) .logger(LOG, "rerankText") .serviceDetails( "GenerativeAiInference", "RerankText", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/RerankTextResult/RerankText") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(RerankTextRequest::builder) .basePath("/20231130") @@ -246,12 +301,15 @@ public SummarizeTextResponse summarizeText(SummarizeTextRequest request) { Objects.requireNonNull( request.getSummarizeTextDetails(), "summarizeTextDetails is required"); + java.util.Map requiredParametersMap = new java.util.HashMap<>(); + return clientCall(request, SummarizeTextResponse::builder) .logger(LOG, "summarizeText") .serviceDetails( "GenerativeAiInference", "SummarizeText", "https://docs.oracle.com/iaas/api/#/en/generative-ai-inference/20231130/SummarizeTextResult/SummarizeText") + .requiredParametersMap(requiredParametersMap) .method(com.oracle.bmc.http.client.Method.POST) .requestBuilder(SummarizeTextRequest::builder) .basePath("/20231130") @@ -274,6 +332,11 @@ public SummarizeTextResponse summarizeText(SummarizeTextRequest request) { .callSync(); } + @Override + public GenerativeAiInferencePaginators getPaginators() { + return paginators; + } + /** * Create a new client instance. * diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferencePaginators.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferencePaginators.java new file mode 100644 index 00000000000..7ab921b96b6 --- /dev/null +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/GenerativeAiInferencePaginators.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.generativeaiinference; + +import com.oracle.bmc.generativeaiinference.requests.*; +import com.oracle.bmc.generativeaiinference.responses.*; + +/** + * Collection of helper methods that can be used to provide an {@link java.lang.Iterable} interface + * to any list operations of GenerativeAiInference where multiple pages of data may be fetched. Two + * styles of iteration are supported: + * + *

    + *
  • Iterating over the Response objects returned by the list operation. These are referred to + * as ResponseIterators, and the methods are suffixed with ResponseIterator. For example: + * listUsersResponseIterator + *
  • Iterating over the resources/records being listed. These are referred to as + * RecordIterators, and the methods are suffixed with RecordIterator. For example: + * listUsersRecordIterator + *
+ * + * These iterables abstract away the need to write code to manually handle pagination via looping + * and using the page tokens. They will automatically fetch more data from the service when + * required. + * + *

As an example, if we were using the ListUsers operation in IdentityService, then the {@link + * java.lang.Iterable} returned by calling a ResponseIterator method would iterate over the + * ListUsersResponse objects returned by each ListUsers call, whereas the {@link java.lang.Iterable} + * returned by calling a RecordIterator method would iterate over the User records and we don't have + * to deal with ListUsersResponse objects at all. In either case, pagination will be automatically + * handled so we can iterate until there are no more responses or no more resources/records + * available. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20231130") +public class GenerativeAiInferencePaginators { + private final GenerativeAiInference client; + + public GenerativeAiInferencePaginators(GenerativeAiInference client) { + this.client = client; + } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listGuardrailVersions 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 listGuardrailVersionsResponseIterator( + final ListGuardrailVersionsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListGuardrailVersionsRequest.Builder, + ListGuardrailVersionsRequest, + ListGuardrailVersionsResponse>( + new java.util.function.Supplier() { + @Override + public ListGuardrailVersionsRequest.Builder get() { + return ListGuardrailVersionsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListGuardrailVersionsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListGuardrailVersionsRequest.Builder>, + ListGuardrailVersionsRequest>() { + @Override + public ListGuardrailVersionsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListGuardrailVersionsRequest.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< + ListGuardrailVersionsRequest, ListGuardrailVersionsResponse>() { + @Override + public ListGuardrailVersionsResponse apply( + ListGuardrailVersionsRequest request) { + return client.listGuardrailVersions(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.generativeaiinference.model.GuardrailVersionSummary} objects contained in + * responses from the listGuardrailVersions 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.generativeaiinference.model.GuardrailVersionSummary} objects contained in + * responses received from the service. + */ + public Iterable + listGuardrailVersionsRecordIterator(final ListGuardrailVersionsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListGuardrailVersionsRequest.Builder, + ListGuardrailVersionsRequest, + ListGuardrailVersionsResponse, + com.oracle.bmc.generativeaiinference.model.GuardrailVersionSummary>( + new java.util.function.Supplier() { + @Override + public ListGuardrailVersionsRequest.Builder get() { + return ListGuardrailVersionsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListGuardrailVersionsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListGuardrailVersionsRequest.Builder>, + ListGuardrailVersionsRequest>() { + @Override + public ListGuardrailVersionsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListGuardrailVersionsRequest.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< + ListGuardrailVersionsRequest, ListGuardrailVersionsResponse>() { + @Override + public ListGuardrailVersionsResponse apply( + ListGuardrailVersionsRequest request) { + return client.listGuardrailVersions(request); + } + }, + new java.util.function.Function< + ListGuardrailVersionsResponse, + java.util.List< + com.oracle.bmc.generativeaiinference.model + .GuardrailVersionSummary>>() { + @Override + public java.util.List< + com.oracle.bmc.generativeaiinference.model + .GuardrailVersionSummary> + apply(ListGuardrailVersionsResponse response) { + return response.getGuardrailVersionCollection().getItems(); + } + }); + } +} diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/ApplyGuardrailsDetails.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/ApplyGuardrailsDetails.java index 8482d3b2fee..0e5ae624d64 100644 --- a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/ApplyGuardrailsDetails.java +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/ApplyGuardrailsDetails.java @@ -23,12 +23,21 @@ public final class ApplyGuardrailsDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"input", "guardrailConfigs", "compartmentId"}) + @java.beans.ConstructorProperties({ + "input", + "guardrailConfigs", + "guardrailVersionConfig", + "compartmentId" + }) public ApplyGuardrailsDetails( - GuardrailsInput input, GuardrailConfigs guardrailConfigs, String compartmentId) { + GuardrailsInput input, + GuardrailConfigs guardrailConfigs, + GuardrailVersionConfig guardrailVersionConfig, + String compartmentId) { super(); this.input = input; this.guardrailConfigs = guardrailConfigs; + this.guardrailVersionConfig = guardrailVersionConfig; this.compartmentId = compartmentId; } @@ -52,6 +61,15 @@ public Builder guardrailConfigs(GuardrailConfigs guardrailConfigs) { this.__explicitlySet__.add("guardrailConfigs"); return this; } + + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersionConfig") + private GuardrailVersionConfig guardrailVersionConfig; + + public Builder guardrailVersionConfig(GuardrailVersionConfig guardrailVersionConfig) { + this.guardrailVersionConfig = guardrailVersionConfig; + this.__explicitlySet__.add("guardrailVersionConfig"); + return this; + } /** The OCID of the compartment to apply guardrails. */ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") private String compartmentId; @@ -74,7 +92,10 @@ public Builder compartmentId(String compartmentId) { public ApplyGuardrailsDetails build() { ApplyGuardrailsDetails model = new ApplyGuardrailsDetails( - this.input, this.guardrailConfigs, this.compartmentId); + this.input, + this.guardrailConfigs, + this.guardrailVersionConfig, + this.compartmentId); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -89,6 +110,9 @@ public Builder copy(ApplyGuardrailsDetails model) { if (model.wasPropertyExplicitlySet("guardrailConfigs")) { this.guardrailConfigs(model.getGuardrailConfigs()); } + if (model.wasPropertyExplicitlySet("guardrailVersionConfig")) { + this.guardrailVersionConfig(model.getGuardrailVersionConfig()); + } if (model.wasPropertyExplicitlySet("compartmentId")) { this.compartmentId(model.getCompartmentId()); } @@ -119,6 +143,13 @@ public GuardrailConfigs getGuardrailConfigs() { return guardrailConfigs; } + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersionConfig") + private final GuardrailVersionConfig guardrailVersionConfig; + + public GuardrailVersionConfig getGuardrailVersionConfig() { + return guardrailVersionConfig; + } + /** The OCID of the compartment to apply guardrails. */ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") private final String compartmentId; @@ -149,6 +180,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("super=").append(super.toString()); sb.append("input=").append(String.valueOf(this.input)); sb.append(", guardrailConfigs=").append(String.valueOf(this.guardrailConfigs)); + sb.append(", guardrailVersionConfig=").append(String.valueOf(this.guardrailVersionConfig)); sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(")"); return sb.toString(); @@ -166,6 +198,8 @@ public boolean equals(Object o) { ApplyGuardrailsDetails other = (ApplyGuardrailsDetails) o; return java.util.Objects.equals(this.input, other.input) && java.util.Objects.equals(this.guardrailConfigs, other.guardrailConfigs) + && java.util.Objects.equals( + this.guardrailVersionConfig, other.guardrailVersionConfig) && java.util.Objects.equals(this.compartmentId, other.compartmentId) && super.equals(other); } @@ -178,6 +212,11 @@ public int hashCode() { result = (result * PRIME) + (this.guardrailConfigs == null ? 43 : this.guardrailConfigs.hashCode()); + result = + (result * PRIME) + + (this.guardrailVersionConfig == null + ? 43 + : this.guardrailVersionConfig.hashCode()); result = (result * PRIME) + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/ApplyGuardrailsResult.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/ApplyGuardrailsResult.java index f0dc12b9a84..4dbe1e526e9 100644 --- a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/ApplyGuardrailsResult.java +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/ApplyGuardrailsResult.java @@ -23,10 +23,12 @@ public final class ApplyGuardrailsResult extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated - @java.beans.ConstructorProperties({"results"}) - public ApplyGuardrailsResult(GuardrailsResults results) { + @java.beans.ConstructorProperties({"results", "guardrailVersion"}) + public ApplyGuardrailsResult( + GuardrailsResults results, GuardrailVersionResponse guardrailVersion) { super(); this.results = results; + this.guardrailVersion = guardrailVersion; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -41,11 +43,21 @@ public Builder results(GuardrailsResults results) { return this; } + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersion") + private GuardrailVersionResponse guardrailVersion; + + public Builder guardrailVersion(GuardrailVersionResponse guardrailVersion) { + this.guardrailVersion = guardrailVersion; + this.__explicitlySet__.add("guardrailVersion"); + return this; + } + @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public ApplyGuardrailsResult build() { - ApplyGuardrailsResult model = new ApplyGuardrailsResult(this.results); + ApplyGuardrailsResult model = + new ApplyGuardrailsResult(this.results, this.guardrailVersion); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -57,6 +69,9 @@ public Builder copy(ApplyGuardrailsResult model) { if (model.wasPropertyExplicitlySet("results")) { this.results(model.getResults()); } + if (model.wasPropertyExplicitlySet("guardrailVersion")) { + this.guardrailVersion(model.getGuardrailVersion()); + } return this; } } @@ -77,6 +92,13 @@ public GuardrailsResults getResults() { return results; } + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersion") + private final GuardrailVersionResponse guardrailVersion; + + public GuardrailVersionResponse getGuardrailVersion() { + return guardrailVersion; + } + @Override public String toString() { return this.toString(true); @@ -93,6 +115,7 @@ public String toString(boolean includeByteArrayContents) { sb.append("ApplyGuardrailsResult("); sb.append("super=").append(super.toString()); sb.append("results=").append(String.valueOf(this.results)); + sb.append(", guardrailVersion=").append(String.valueOf(this.guardrailVersion)); sb.append(")"); return sb.toString(); } @@ -107,7 +130,9 @@ public boolean equals(Object o) { } ApplyGuardrailsResult other = (ApplyGuardrailsResult) o; - return java.util.Objects.equals(this.results, other.results) && super.equals(other); + return java.util.Objects.equals(this.results, other.results) + && java.util.Objects.equals(this.guardrailVersion, other.guardrailVersion) + && super.equals(other); } @Override @@ -115,6 +140,9 @@ public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.results == null ? 43 : this.results.hashCode()); + result = + (result * PRIME) + + (this.guardrailVersion == null ? 43 : this.guardrailVersion.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersion.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersion.java new file mode 100644 index 00000000000..19e599c74a4 --- /dev/null +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersion.java @@ -0,0 +1,421 @@ +/** + * 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.generativeaiinference.model; + +/** + * Details of a guardrail version.
+ * 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: 20231130") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = GuardrailVersion.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class GuardrailVersion + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "guardrailVersion", + "state", + "timePreviewed", + "timeActivated", + "timeDeprecated", + "timeRetired", + "description" + }) + public GuardrailVersion( + String guardrailVersion, + State state, + java.util.Date timePreviewed, + java.util.Date timeActivated, + java.util.Date timeDeprecated, + java.util.Date timeRetired, + String description) { + super(); + this.guardrailVersion = guardrailVersion; + this.state = state; + this.timePreviewed = timePreviewed; + this.timeActivated = timeActivated; + this.timeDeprecated = timeDeprecated; + this.timeRetired = timeRetired; + this.description = description; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The guardrail system version string, e.g., "1.0.0" */ + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersion") + private String guardrailVersion; + + /** + * The guardrail system version string, e.g., "1.0.0" + * + * @param guardrailVersion the value to set + * @return this builder + */ + public Builder guardrailVersion(String guardrailVersion) { + this.guardrailVersion = guardrailVersion; + this.__explicitlySet__.add("guardrailVersion"); + return this; + } + /** The state of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("state") + private State state; + + /** + * The state of the guardrail version. + * + * @param state the value to set + * @return this builder + */ + public Builder state(State state) { + this.state = state; + this.__explicitlySet__.add("state"); + return this; + } + /** The preview date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timePreviewed") + private java.util.Date timePreviewed; + + /** + * The preview date of the guardrail version. + * + * @param timePreviewed the value to set + * @return this builder + */ + public Builder timePreviewed(java.util.Date timePreviewed) { + this.timePreviewed = timePreviewed; + this.__explicitlySet__.add("timePreviewed"); + return this; + } + /** The activation date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeActivated") + private java.util.Date timeActivated; + + /** + * The activation date of the guardrail version. + * + * @param timeActivated the value to set + * @return this builder + */ + public Builder timeActivated(java.util.Date timeActivated) { + this.timeActivated = timeActivated; + this.__explicitlySet__.add("timeActivated"); + return this; + } + /** The deprecated date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeDeprecated") + private java.util.Date timeDeprecated; + + /** + * The deprecated date of the guardrail version. + * + * @param timeDeprecated the value to set + * @return this builder + */ + public Builder timeDeprecated(java.util.Date timeDeprecated) { + this.timeDeprecated = timeDeprecated; + this.__explicitlySet__.add("timeDeprecated"); + return this; + } + /** The retired date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetired") + private java.util.Date timeRetired; + + /** + * The retired date of the guardrail version. + * + * @param timeRetired the value to set + * @return this builder + */ + public Builder timeRetired(java.util.Date timeRetired) { + this.timeRetired = timeRetired; + this.__explicitlySet__.add("timeRetired"); + return this; + } + /** The description of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description of the guardrail version. + * + * @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 GuardrailVersion build() { + GuardrailVersion model = + new GuardrailVersion( + this.guardrailVersion, + this.state, + this.timePreviewed, + this.timeActivated, + this.timeDeprecated, + this.timeRetired, + this.description); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(GuardrailVersion model) { + if (model.wasPropertyExplicitlySet("guardrailVersion")) { + this.guardrailVersion(model.getGuardrailVersion()); + } + if (model.wasPropertyExplicitlySet("state")) { + this.state(model.getState()); + } + if (model.wasPropertyExplicitlySet("timePreviewed")) { + this.timePreviewed(model.getTimePreviewed()); + } + if (model.wasPropertyExplicitlySet("timeActivated")) { + this.timeActivated(model.getTimeActivated()); + } + if (model.wasPropertyExplicitlySet("timeDeprecated")) { + this.timeDeprecated(model.getTimeDeprecated()); + } + if (model.wasPropertyExplicitlySet("timeRetired")) { + this.timeRetired(model.getTimeRetired()); + } + 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 guardrail system version string, e.g., "1.0.0" */ + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersion") + private final String guardrailVersion; + + /** + * The guardrail system version string, e.g., "1.0.0" + * + * @return the value + */ + public String getGuardrailVersion() { + return guardrailVersion; + } + + /** The state of the guardrail version. */ + public enum State implements com.oracle.bmc.http.internal.BmcEnum { + Active("ACTIVE"), + Preview("PREVIEW"), + Deprecated("DEPRECATED"), + Retired("RETIRED"), + + /** + * 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(State.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (State v : State.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + State(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static State create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'State', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The state of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("state") + private final State state; + + /** + * The state of the guardrail version. + * + * @return the value + */ + public State getState() { + return state; + } + + /** The preview date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timePreviewed") + private final java.util.Date timePreviewed; + + /** + * The preview date of the guardrail version. + * + * @return the value + */ + public java.util.Date getTimePreviewed() { + return timePreviewed; + } + + /** The activation date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeActivated") + private final java.util.Date timeActivated; + + /** + * The activation date of the guardrail version. + * + * @return the value + */ + public java.util.Date getTimeActivated() { + return timeActivated; + } + + /** The deprecated date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeDeprecated") + private final java.util.Date timeDeprecated; + + /** + * The deprecated date of the guardrail version. + * + * @return the value + */ + public java.util.Date getTimeDeprecated() { + return timeDeprecated; + } + + /** The retired date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetired") + private final java.util.Date timeRetired; + + /** + * The retired date of the guardrail version. + * + * @return the value + */ + public java.util.Date getTimeRetired() { + return timeRetired; + } + + /** The description of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description of the guardrail version. + * + * @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("GuardrailVersion("); + sb.append("super=").append(super.toString()); + sb.append("guardrailVersion=").append(String.valueOf(this.guardrailVersion)); + sb.append(", state=").append(String.valueOf(this.state)); + sb.append(", timePreviewed=").append(String.valueOf(this.timePreviewed)); + sb.append(", timeActivated=").append(String.valueOf(this.timeActivated)); + sb.append(", timeDeprecated=").append(String.valueOf(this.timeDeprecated)); + sb.append(", timeRetired=").append(String.valueOf(this.timeRetired)); + 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 GuardrailVersion)) { + return false; + } + + GuardrailVersion other = (GuardrailVersion) o; + return java.util.Objects.equals(this.guardrailVersion, other.guardrailVersion) + && java.util.Objects.equals(this.state, other.state) + && java.util.Objects.equals(this.timePreviewed, other.timePreviewed) + && java.util.Objects.equals(this.timeActivated, other.timeActivated) + && java.util.Objects.equals(this.timeDeprecated, other.timeDeprecated) + && java.util.Objects.equals(this.timeRetired, other.timeRetired) + && 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.guardrailVersion == null ? 43 : this.guardrailVersion.hashCode()); + result = (result * PRIME) + (this.state == null ? 43 : this.state.hashCode()); + result = + (result * PRIME) + + (this.timePreviewed == null ? 43 : this.timePreviewed.hashCode()); + result = + (result * PRIME) + + (this.timeActivated == null ? 43 : this.timeActivated.hashCode()); + result = + (result * PRIME) + + (this.timeDeprecated == null ? 43 : this.timeDeprecated.hashCode()); + result = (result * PRIME) + (this.timeRetired == null ? 43 : this.timeRetired.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionCollection.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionCollection.java new file mode 100644 index 00000000000..d3d04ad6ae4 --- /dev/null +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionCollection.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.generativeaiinference.model; + +/** + * The response containing a list of guardrail system versions.
+ * 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: 20231130") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = GuardrailVersionCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class GuardrailVersionCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public GuardrailVersionCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The list of guardrail system versions. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * The list of guardrail system versions. + * + * @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 GuardrailVersionCollection build() { + GuardrailVersionCollection model = new GuardrailVersionCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(GuardrailVersionCollection model) { + if (model.wasPropertyExplicitlySet("items")) { + this.items(model.getItems()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The list of guardrail system versions. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * The list of guardrail system versions. + * + * @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("GuardrailVersionCollection("); + 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 GuardrailVersionCollection)) { + return false; + } + + GuardrailVersionCollection other = (GuardrailVersionCollection) 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-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionConfig.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionConfig.java new file mode 100644 index 00000000000..ac48caf3e20 --- /dev/null +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionConfig.java @@ -0,0 +1,144 @@ +/** + * 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.generativeaiinference.model; + +/** + * The version of the guardrail to use. If not specified, the default version will be used.
+ * 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: 20231130") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = GuardrailVersionConfig.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class GuardrailVersionConfig + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"guardrailVersion"}) + public GuardrailVersionConfig(String guardrailVersion) { + super(); + this.guardrailVersion = guardrailVersion; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The version string, e.g., "1.0.0". When a PATCH version is not specified, the latest + * available PATCH within the specified MAJOR and MINOR version will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersion") + private String guardrailVersion; + + /** + * The version string, e.g., "1.0.0". When a PATCH version is not specified, the latest + * available PATCH within the specified MAJOR and MINOR version will be used. + * + * @param guardrailVersion the value to set + * @return this builder + */ + public Builder guardrailVersion(String guardrailVersion) { + this.guardrailVersion = guardrailVersion; + this.__explicitlySet__.add("guardrailVersion"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public GuardrailVersionConfig build() { + GuardrailVersionConfig model = new GuardrailVersionConfig(this.guardrailVersion); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(GuardrailVersionConfig model) { + if (model.wasPropertyExplicitlySet("guardrailVersion")) { + this.guardrailVersion(model.getGuardrailVersion()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The version string, e.g., "1.0.0". When a PATCH version is not specified, the latest + * available PATCH within the specified MAJOR and MINOR version will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersion") + private final String guardrailVersion; + + /** + * The version string, e.g., "1.0.0". When a PATCH version is not specified, the latest + * available PATCH within the specified MAJOR and MINOR version will be used. + * + * @return the value + */ + public String getGuardrailVersion() { + return guardrailVersion; + } + + @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("GuardrailVersionConfig("); + sb.append("super=").append(super.toString()); + sb.append("guardrailVersion=").append(String.valueOf(this.guardrailVersion)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GuardrailVersionConfig)) { + return false; + } + + GuardrailVersionConfig other = (GuardrailVersionConfig) o; + return java.util.Objects.equals(this.guardrailVersion, other.guardrailVersion) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.guardrailVersion == null ? 43 : this.guardrailVersion.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionResponse.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionResponse.java new file mode 100644 index 00000000000..c1873d6c32e --- /dev/null +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionResponse.java @@ -0,0 +1,143 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.generativeaiinference.model; + +/** + * The guardaril version applied on the given content.
+ * 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: 20231130") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = GuardrailVersionResponse.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class GuardrailVersionResponse + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"version"}) + public GuardrailVersionResponse(String version) { + super(); + this.version = version; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The guardrail system version string, e.g., "1.0.0". When a PATCH version is not + * specified, the latest available PATCH within the specified MAJOR and MINOR version will + * be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private String version; + + /** + * The guardrail system version string, e.g., "1.0.0". When a PATCH version is not + * specified, the latest available PATCH within the specified MAJOR and MINOR version will + * be used. + * + * @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 GuardrailVersionResponse build() { + GuardrailVersionResponse model = new GuardrailVersionResponse(this.version); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(GuardrailVersionResponse model) { + 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 guardrail system version string, e.g., "1.0.0". When a PATCH version is not specified, + * the latest available PATCH within the specified MAJOR and MINOR version will be used. + */ + @com.fasterxml.jackson.annotation.JsonProperty("version") + private final String version; + + /** + * The guardrail system version string, e.g., "1.0.0". When a PATCH version is not specified, + * the latest available PATCH within the specified MAJOR and MINOR version will be used. + * + * @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("GuardrailVersionResponse("); + sb.append("super=").append(super.toString()); + 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 GuardrailVersionResponse)) { + return false; + } + + GuardrailVersionResponse other = (GuardrailVersionResponse) o; + return 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.version == null ? 43 : this.version.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionSummary.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionSummary.java new file mode 100644 index 00000000000..83e4ad2c697 --- /dev/null +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/model/GuardrailVersionSummary.java @@ -0,0 +1,375 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.generativeaiinference.model; + +/** + * Details of a guardrail version.
+ * 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: 20231130") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = GuardrailVersionSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class GuardrailVersionSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "guardrailVersion", + "state", + "timePreviewed", + "timeActivated", + "timeDeprecated", + "timeRetired", + "description" + }) + public GuardrailVersionSummary( + String guardrailVersion, + GuardrailVersion.State state, + java.util.Date timePreviewed, + java.util.Date timeActivated, + java.util.Date timeDeprecated, + java.util.Date timeRetired, + String description) { + super(); + this.guardrailVersion = guardrailVersion; + this.state = state; + this.timePreviewed = timePreviewed; + this.timeActivated = timeActivated; + this.timeDeprecated = timeDeprecated; + this.timeRetired = timeRetired; + this.description = description; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The guardrail system version string, e.g., "1.0.0" */ + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersion") + private String guardrailVersion; + + /** + * The guardrail system version string, e.g., "1.0.0" + * + * @param guardrailVersion the value to set + * @return this builder + */ + public Builder guardrailVersion(String guardrailVersion) { + this.guardrailVersion = guardrailVersion; + this.__explicitlySet__.add("guardrailVersion"); + return this; + } + /** The state of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("state") + private GuardrailVersion.State state; + + /** + * The state of the guardrail version. + * + * @param state the value to set + * @return this builder + */ + public Builder state(GuardrailVersion.State state) { + this.state = state; + this.__explicitlySet__.add("state"); + return this; + } + /** The preview date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timePreviewed") + private java.util.Date timePreviewed; + + /** + * The preview date of the guardrail version. + * + * @param timePreviewed the value to set + * @return this builder + */ + public Builder timePreviewed(java.util.Date timePreviewed) { + this.timePreviewed = timePreviewed; + this.__explicitlySet__.add("timePreviewed"); + return this; + } + /** The activation date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeActivated") + private java.util.Date timeActivated; + + /** + * The activation date of the guardrail version. + * + * @param timeActivated the value to set + * @return this builder + */ + public Builder timeActivated(java.util.Date timeActivated) { + this.timeActivated = timeActivated; + this.__explicitlySet__.add("timeActivated"); + return this; + } + /** The deprecated date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeDeprecated") + private java.util.Date timeDeprecated; + + /** + * The deprecated date of the guardrail version. + * + * @param timeDeprecated the value to set + * @return this builder + */ + public Builder timeDeprecated(java.util.Date timeDeprecated) { + this.timeDeprecated = timeDeprecated; + this.__explicitlySet__.add("timeDeprecated"); + return this; + } + /** The retired date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetired") + private java.util.Date timeRetired; + + /** + * The retired date of the guardrail version. + * + * @param timeRetired the value to set + * @return this builder + */ + public Builder timeRetired(java.util.Date timeRetired) { + this.timeRetired = timeRetired; + this.__explicitlySet__.add("timeRetired"); + return this; + } + /** The description of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private String description; + + /** + * The description of the guardrail version. + * + * @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 GuardrailVersionSummary build() { + GuardrailVersionSummary model = + new GuardrailVersionSummary( + this.guardrailVersion, + this.state, + this.timePreviewed, + this.timeActivated, + this.timeDeprecated, + this.timeRetired, + this.description); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(GuardrailVersionSummary model) { + if (model.wasPropertyExplicitlySet("guardrailVersion")) { + this.guardrailVersion(model.getGuardrailVersion()); + } + if (model.wasPropertyExplicitlySet("state")) { + this.state(model.getState()); + } + if (model.wasPropertyExplicitlySet("timePreviewed")) { + this.timePreviewed(model.getTimePreviewed()); + } + if (model.wasPropertyExplicitlySet("timeActivated")) { + this.timeActivated(model.getTimeActivated()); + } + if (model.wasPropertyExplicitlySet("timeDeprecated")) { + this.timeDeprecated(model.getTimeDeprecated()); + } + if (model.wasPropertyExplicitlySet("timeRetired")) { + this.timeRetired(model.getTimeRetired()); + } + 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 guardrail system version string, e.g., "1.0.0" */ + @com.fasterxml.jackson.annotation.JsonProperty("guardrailVersion") + private final String guardrailVersion; + + /** + * The guardrail system version string, e.g., "1.0.0" + * + * @return the value + */ + public String getGuardrailVersion() { + return guardrailVersion; + } + + /** The state of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("state") + private final GuardrailVersion.State state; + + /** + * The state of the guardrail version. + * + * @return the value + */ + public GuardrailVersion.State getState() { + return state; + } + + /** The preview date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timePreviewed") + private final java.util.Date timePreviewed; + + /** + * The preview date of the guardrail version. + * + * @return the value + */ + public java.util.Date getTimePreviewed() { + return timePreviewed; + } + + /** The activation date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeActivated") + private final java.util.Date timeActivated; + + /** + * The activation date of the guardrail version. + * + * @return the value + */ + public java.util.Date getTimeActivated() { + return timeActivated; + } + + /** The deprecated date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeDeprecated") + private final java.util.Date timeDeprecated; + + /** + * The deprecated date of the guardrail version. + * + * @return the value + */ + public java.util.Date getTimeDeprecated() { + return timeDeprecated; + } + + /** The retired date of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("timeRetired") + private final java.util.Date timeRetired; + + /** + * The retired date of the guardrail version. + * + * @return the value + */ + public java.util.Date getTimeRetired() { + return timeRetired; + } + + /** The description of the guardrail version. */ + @com.fasterxml.jackson.annotation.JsonProperty("description") + private final String description; + + /** + * The description of the guardrail version. + * + * @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("GuardrailVersionSummary("); + sb.append("super=").append(super.toString()); + sb.append("guardrailVersion=").append(String.valueOf(this.guardrailVersion)); + sb.append(", state=").append(String.valueOf(this.state)); + sb.append(", timePreviewed=").append(String.valueOf(this.timePreviewed)); + sb.append(", timeActivated=").append(String.valueOf(this.timeActivated)); + sb.append(", timeDeprecated=").append(String.valueOf(this.timeDeprecated)); + sb.append(", timeRetired=").append(String.valueOf(this.timeRetired)); + 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 GuardrailVersionSummary)) { + return false; + } + + GuardrailVersionSummary other = (GuardrailVersionSummary) o; + return java.util.Objects.equals(this.guardrailVersion, other.guardrailVersion) + && java.util.Objects.equals(this.state, other.state) + && java.util.Objects.equals(this.timePreviewed, other.timePreviewed) + && java.util.Objects.equals(this.timeActivated, other.timeActivated) + && java.util.Objects.equals(this.timeDeprecated, other.timeDeprecated) + && java.util.Objects.equals(this.timeRetired, other.timeRetired) + && 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.guardrailVersion == null ? 43 : this.guardrailVersion.hashCode()); + result = (result * PRIME) + (this.state == null ? 43 : this.state.hashCode()); + result = + (result * PRIME) + + (this.timePreviewed == null ? 43 : this.timePreviewed.hashCode()); + result = + (result * PRIME) + + (this.timeActivated == null ? 43 : this.timeActivated.hashCode()); + result = + (result * PRIME) + + (this.timeDeprecated == null ? 43 : this.timeDeprecated.hashCode()); + result = (result * PRIME) + (this.timeRetired == null ? 43 : this.timeRetired.hashCode()); + result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/requests/ListGuardrailVersionsRequest.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/requests/ListGuardrailVersionsRequest.java new file mode 100644 index 00000000000..e46c0fcdb08 --- /dev/null +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/requests/ListGuardrailVersionsRequest.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.generativeaiinference.requests; + +import com.oracle.bmc.generativeaiinference.model.*; +/** + * Example: Click here to see how to use + * ListGuardrailVersionsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20231130") +public class ListGuardrailVersionsRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** The client compartment ID. */ + private String opcCompartmentId; + + /** The client compartment ID. */ + public String getOpcCompartmentId() { + return opcCompartmentId; + } + /** The client request ID for tracing. */ + private String opcRequestId; + + /** The client request ID for tracing. */ + public String getOpcRequestId() { + return opcRequestId; + } + /** A filter to return only the guardrail versions whose state matches the given value. */ + private com.oracle.bmc.generativeaiinference.model.GuardrailVersion.State state; + + /** A filter to return only the guardrail versions whose state matches the given value. */ + public com.oracle.bmc.generativeaiinference.model.GuardrailVersion.State getState() { + return state; + } + /** + * 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). + */ + 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). + */ + public Integer getLimit() { + return limit; + } + /** + * For list pagination. The value of the 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 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< + ListGuardrailVersionsRequest, java.lang.Void> { + private com.oracle.bmc.http.client.RequestInterceptor invocationCallback = null; + private com.oracle.bmc.retrier.RetryConfiguration retryConfiguration = null; + + /** The client compartment ID. */ + private String opcCompartmentId = null; + + /** + * The client compartment ID. + * + * @param opcCompartmentId the value to set + * @return this builder instance + */ + public Builder opcCompartmentId(String opcCompartmentId) { + this.opcCompartmentId = opcCompartmentId; + 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; + } + + /** A filter to return only the guardrail versions whose state matches the given value. */ + private com.oracle.bmc.generativeaiinference.model.GuardrailVersion.State state = null; + + /** + * A filter to return only the guardrail versions whose state matches the given value. + * + * @param state the value to set + * @return this builder instance + */ + public Builder state( + com.oracle.bmc.generativeaiinference.model.GuardrailVersion.State state) { + this.state = state; + 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). + */ + 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). + * + * @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 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 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(ListGuardrailVersionsRequest o) { + opcCompartmentId(o.getOpcCompartmentId()); + opcRequestId(o.getOpcRequestId()); + state(o.getState()); + limit(o.getLimit()); + page(o.getPage()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListGuardrailVersionsRequest 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 ListGuardrailVersionsRequest + */ + public ListGuardrailVersionsRequest build() { + ListGuardrailVersionsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListGuardrailVersionsRequest 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 ListGuardrailVersionsRequest + */ + public ListGuardrailVersionsRequest buildWithoutInvocationCallback() { + ListGuardrailVersionsRequest request = new ListGuardrailVersionsRequest(); + request.opcCompartmentId = opcCompartmentId; + request.opcRequestId = opcRequestId; + request.state = state; + request.limit = limit; + request.page = page; + return request; + // new ListGuardrailVersionsRequest(opcCompartmentId, opcRequestId, state, 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() + .opcCompartmentId(opcCompartmentId) + .opcRequestId(opcRequestId) + .state(state) + .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(",opcCompartmentId=").append(String.valueOf(this.opcCompartmentId)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(",state=").append(String.valueOf(this.state)); + 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 ListGuardrailVersionsRequest)) { + return false; + } + + ListGuardrailVersionsRequest other = (ListGuardrailVersionsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.opcCompartmentId, other.opcCompartmentId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.state, other.state) + && 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.opcCompartmentId == null ? 43 : this.opcCompartmentId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = (result * PRIME) + (this.state == null ? 43 : this.state.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-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/responses/ListGuardrailVersionsResponse.java b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/responses/ListGuardrailVersionsResponse.java new file mode 100644 index 00000000000..b0a173f19e8 --- /dev/null +++ b/bmc-generativeaiinference/src/main/java/com/oracle/bmc/generativeaiinference/responses/ListGuardrailVersionsResponse.java @@ -0,0 +1,236 @@ +/** + * 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.generativeaiinference.responses; + +import com.oracle.bmc.generativeaiinference.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20231130") +public class ListGuardrailVersionsResponse extends com.oracle.bmc.responses.BmcResponse { + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @return the value + */ + public String getOpcRequestId() { + return opcRequestId; + } + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the + * response, then a partial list might have been returned. Include this value as the {@code + * page} parameter for the subsequent GET request to get the next batch of items. + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in the + * response, then a partial list might have been returned. Include this value as the {@code + * page} parameter for the subsequent GET request to get the next batch of items. + * + * @return the value + */ + public String getOpcNextPage() { + return opcNextPage; + } + + /** The returned {@code GuardrailVersionCollection} instance. */ + private com.oracle.bmc.generativeaiinference.model.GuardrailVersionCollection + guardrailVersionCollection; + + /** + * The returned {@code GuardrailVersionCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.generativeaiinference.model.GuardrailVersionCollection + getGuardrailVersionCollection() { + return guardrailVersionCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcNextPage", + "guardrailVersionCollection" + }) + private ListGuardrailVersionsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + String opcNextPage, + com.oracle.bmc.generativeaiinference.model.GuardrailVersionCollection + guardrailVersionCollection) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.opcNextPage = opcNextPage; + this.guardrailVersionCollection = guardrailVersionCollection; + } + + public static class Builder + implements com.oracle.bmc.responses.BmcResponse.Builder { + private int __httpStatusCode__; + + @Override + public Builder __httpStatusCode__(int __httpStatusCode__) { + this.__httpStatusCode__ = __httpStatusCode__; + return this; + } + + private java.util.Map> headers; + + @Override + public Builder headers(java.util.Map> headers) { + this.headers = headers; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + private String opcRequestId; + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * For pagination of a list of items. When paging through a list, if this header appears in + * the response, then a partial list might have been returned. Include this value as the + * {@code page} parameter for the subsequent GET request to get the next batch of items. + */ + private String opcNextPage; + + /** + * For pagination of a list of items. When paging through a list, if this header appears in + * the response, then a partial list might have been returned. Include this value as the + * {@code page} parameter for the subsequent GET request to get the next batch of items. + * + * @param opcNextPage the value to set + * @return this builder + */ + public Builder opcNextPage(String opcNextPage) { + this.opcNextPage = opcNextPage; + return this; + } + + /** The returned {@code GuardrailVersionCollection} instance. */ + private com.oracle.bmc.generativeaiinference.model.GuardrailVersionCollection + guardrailVersionCollection; + + /** + * The returned {@code GuardrailVersionCollection} instance. + * + * @param guardrailVersionCollection the value to set + * @return this builder + */ + public Builder guardrailVersionCollection( + com.oracle.bmc.generativeaiinference.model.GuardrailVersionCollection + guardrailVersionCollection) { + this.guardrailVersionCollection = guardrailVersionCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListGuardrailVersionsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + opcNextPage(o.getOpcNextPage()); + guardrailVersionCollection(o.getGuardrailVersionCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListGuardrailVersionsResponse build() { + return new ListGuardrailVersionsResponse( + __httpStatusCode__, + headers, + opcRequestId, + opcNextPage, + guardrailVersionCollection); + } + } + + /** + * 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(",guardrailVersionCollection=") + .append(String.valueOf(guardrailVersionCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListGuardrailVersionsResponse)) { + return false; + } + + ListGuardrailVersionsResponse other = (ListGuardrailVersionsResponse) 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.guardrailVersionCollection, other.guardrailVersionCollection); + } + + @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.guardrailVersionCollection == null + ? 43 + : this.guardrailVersionCollection.hashCode()); + return result; + } +} diff --git a/bmc-generativeaiinference/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-generativeaiinference/reflect-config.json b/bmc-generativeaiinference/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-generativeaiinference/reflect-config.json index 4bf4c52ffed..beced4780b1 100644 --- a/bmc-generativeaiinference/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-generativeaiinference/reflect-config.json +++ b/bmc-generativeaiinference/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-generativeaiinference/reflect-config.json @@ -1269,6 +1269,82 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersion", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersion$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersion$State", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersionCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersionCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersionConfig", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersionConfig$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersionResponse", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersionResponse$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersionSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.generativeaiinference.model.GuardrailVersionSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.generativeaiinference.model.GuardrailsInput", diff --git a/bmc-genericartifactscontent/pom.xml b/bmc-genericartifactscontent/pom.xml index 691fa7f68ee..5debdeedd3f 100644 --- a/bmc-genericartifactscontent/pom.xml +++ b/bmc-genericartifactscontent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-genericartifactscontent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-goldengate/pom.xml b/bmc-goldengate/pom.xml index e1b3ded783a..dea75ebc1e9 100644 --- a/bmc-goldengate/pom.xml +++ b/bmc-goldengate/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-goldengate @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-governancerulescontrolplane/pom.xml b/bmc-governancerulescontrolplane/pom.xml index 8899fd91993..f6d3edeee89 100644 --- a/bmc-governancerulescontrolplane/pom.xml +++ b/bmc-governancerulescontrolplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-governancerulescontrolplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-healthchecks/pom.xml b/bmc-healthchecks/pom.xml index aac488e0010..1c94b3c2d81 100644 --- a/bmc-healthchecks/pom.xml +++ b/bmc-healthchecks/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-healthchecks @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-identity/pom.xml b/bmc-identity/pom.xml index e22c5f8a579..0870030f4da 100644 --- a/bmc-identity/pom.xml +++ b/bmc-identity/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 diff --git a/bmc-identitydataplane/pom.xml b/bmc-identitydataplane/pom.xml index 29f68349ac7..bab70967209 100644 --- a/bmc-identitydataplane/pom.xml +++ b/bmc-identitydataplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-identitydataplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-identitydomains/pom.xml b/bmc-identitydomains/pom.xml index c6ac2a21825..89d112c4d68 100644 --- a/bmc-identitydomains/pom.xml +++ b/bmc-identitydomains/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-identitydomains @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-integration/pom.xml b/bmc-integration/pom.xml index 012be8a6334..6565f05aef1 100644 --- a/bmc-integration/pom.xml +++ b/bmc-integration/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-integration @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-iot/pom.xml b/bmc-iot/pom.xml index 0a1285cb171..ec05d2928b4 100644 --- a/bmc-iot/pom.xml +++ b/bmc-iot/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-iot @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-jms/pom.xml b/bmc-jms/pom.xml index 9ad6ea3ae4a..c5db1301906 100644 --- a/bmc-jms/pom.xml +++ b/bmc-jms/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-jms @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-jmsjavadownloads/pom.xml b/bmc-jmsjavadownloads/pom.xml index 45ae4ea9c9e..52ba8a7b6b5 100644 --- a/bmc-jmsjavadownloads/pom.xml +++ b/bmc-jmsjavadownloads/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-jmsjavadownloads @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-jmsutils/pom.xml b/bmc-jmsutils/pom.xml index 0e28225f317..6de8e541e07 100644 --- a/bmc-jmsutils/pom.xml +++ b/bmc-jmsutils/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-jmsutils @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-keymanagement/pom.xml b/bmc-keymanagement/pom.xml index 5d9d35526c6..dd76e2f36bb 100644 --- a/bmc-keymanagement/pom.xml +++ b/bmc-keymanagement/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-keymanagement @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-licensemanager/pom.xml b/bmc-licensemanager/pom.xml index eeeeb9aac72..39a3f6dcdf8 100644 --- a/bmc-licensemanager/pom.xml +++ b/bmc-licensemanager/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-licensemanager @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-limits/pom.xml b/bmc-limits/pom.xml index b99c116831e..55ee2e00139 100644 --- a/bmc-limits/pom.xml +++ b/bmc-limits/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-limits @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-limitsincrease/pom.xml b/bmc-limitsincrease/pom.xml index 9941addabaa..55830a5f9a5 100644 --- a/bmc-limitsincrease/pom.xml +++ b/bmc-limitsincrease/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-limitsincrease @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-loadbalancer/pom.xml b/bmc-loadbalancer/pom.xml index 78aa47e96b3..86d1dbba8e0 100644 --- a/bmc-loadbalancer/pom.xml +++ b/bmc-loadbalancer/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 diff --git a/bmc-lockbox/pom.xml b/bmc-lockbox/pom.xml index b1ed2d6b9d9..f1c8aa9a9a9 100644 --- a/bmc-lockbox/pom.xml +++ b/bmc-lockbox/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-lockbox @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-loganalytics/pom.xml b/bmc-loganalytics/pom.xml index 2254e1aed72..6a72ee8cec1 100644 --- a/bmc-loganalytics/pom.xml +++ b/bmc-loganalytics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-loganalytics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-logging/pom.xml b/bmc-logging/pom.xml index 32ead7979a5..76fe4a9b655 100644 --- a/bmc-logging/pom.xml +++ b/bmc-logging/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-logging @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-loggingingestion/pom.xml b/bmc-loggingingestion/pom.xml index c594dd686a9..b603491ac58 100644 --- a/bmc-loggingingestion/pom.xml +++ b/bmc-loggingingestion/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-loggingingestion @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-loggingsearch/pom.xml b/bmc-loggingsearch/pom.xml index 679e666441f..3027e0fd5ab 100644 --- a/bmc-loggingsearch/pom.xml +++ b/bmc-loggingsearch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-loggingsearch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-lustrefilestorage/pom.xml b/bmc-lustrefilestorage/pom.xml index ee1fa2b262d..e53ab3bfd85 100644 --- a/bmc-lustrefilestorage/pom.xml +++ b/bmc-lustrefilestorage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-lustrefilestorage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-managedkafka/pom.xml b/bmc-managedkafka/pom.xml index e13c41e2a0e..ca3c822559f 100644 --- a/bmc-managedkafka/pom.xml +++ b/bmc-managedkafka/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-managedkafka @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-managementagent/pom.xml b/bmc-managementagent/pom.xml index 63413339c75..29ebdb2ce2a 100644 --- a/bmc-managementagent/pom.xml +++ b/bmc-managementagent/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-managementagent @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-managementdashboard/pom.xml b/bmc-managementdashboard/pom.xml index da3f79dd0bf..001b9445f44 100644 --- a/bmc-managementdashboard/pom.xml +++ b/bmc-managementdashboard/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-managementdashboard @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-marketplace/pom.xml b/bmc-marketplace/pom.xml index f2900f61a92..931e57b87a6 100644 --- a/bmc-marketplace/pom.xml +++ b/bmc-marketplace/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-marketplace @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-marketplaceprivateoffer/pom.xml b/bmc-marketplaceprivateoffer/pom.xml index 40c69fe9db8..d6dffd8374e 100644 --- a/bmc-marketplaceprivateoffer/pom.xml +++ b/bmc-marketplaceprivateoffer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-marketplaceprivateoffer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-marketplacepublisher/pom.xml b/bmc-marketplacepublisher/pom.xml index 4eab05d11a1..137f3fcb093 100644 --- a/bmc-marketplacepublisher/pom.xml +++ b/bmc-marketplacepublisher/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-marketplacepublisher @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-mediaservices/pom.xml b/bmc-mediaservices/pom.xml index 05801fbfc26..8a5c1e82ddb 100644 --- a/bmc-mediaservices/pom.xml +++ b/bmc-mediaservices/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-mediaservices @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-mngdmac/pom.xml b/bmc-mngdmac/pom.xml index a7887cde292..a150d0b352a 100644 --- a/bmc-mngdmac/pom.xml +++ b/bmc-mngdmac/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-mngdmac @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-modeldeployment/pom.xml b/bmc-modeldeployment/pom.xml index cb5d0735cf0..cf1aca25e50 100644 --- a/bmc-modeldeployment/pom.xml +++ b/bmc-modeldeployment/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-modeldeployment @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-monitoring/pom.xml b/bmc-monitoring/pom.xml index 78bf3e84e03..80046fc7f1c 100644 --- a/bmc-monitoring/pom.xml +++ b/bmc-monitoring/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-monitoring @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-multicloud/pom.xml b/bmc-multicloud/pom.xml index 0e3d66f7fd0..ea72345dc19 100644 --- a/bmc-multicloud/pom.xml +++ b/bmc-multicloud/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-multicloud @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-mysql/pom.xml b/bmc-mysql/pom.xml index 5129f373014..95ed26df51d 100644 --- a/bmc-mysql/pom.xml +++ b/bmc-mysql/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-mysql @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceDetails.java b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceDetails.java index 982fba99820..98af04f220d 100644 --- a/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceDetails.java +++ b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceDetails.java @@ -22,6 +22,9 @@ property = "sourceType", defaultImpl = CreateDbSystemSourceDetails.class) @com.fasterxml.jackson.annotation.JsonSubTypes({ + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = CreateDbSystemSourceFromDbSystemDetails.class, + name = "DBSYSTEM"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = CreateDbSystemSourceFromBackupDetails.class, name = "BACKUP"), @@ -91,6 +94,7 @@ public enum SourceType implements com.oracle.bmc.http.internal.BmcEnum { Backup("BACKUP"), Pitr("PITR"), Importurl("IMPORTURL"), + Dbsystem("DBSYSTEM"), ; private final String value; diff --git a/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceFromDbSystemChannelDetails.java b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceFromDbSystemChannelDetails.java new file mode 100644 index 00000000000..73fde80d901 --- /dev/null +++ b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceFromDbSystemChannelDetails.java @@ -0,0 +1,349 @@ +/** + * 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.mysql.model; + +/** + * Properties to setup a replication channel with the source (cloned) DB system.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190415") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateDbSystemSourceFromDbSystemChannelDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateDbSystemSourceFromDbSystemChannelDetails + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + public CreateDbSystemSourceFromDbSystemChannelDetails( + String sourceUsername, + String sourcePassword, + SslMode sslMode, + CaCertificate sslCaCertificate, + String applierUsername) { + super(); + this.sourceUsername = sourceUsername; + this.sourcePassword = sourcePassword != null ? sourcePassword.toCharArray() : null; + this.sslMode = sslMode; + this.sslCaCertificate = sslCaCertificate; + this.applierUsername = applierUsername; + } + + @com.fasterxml.jackson.annotation.JsonCreator + @Deprecated + @java.beans.ConstructorProperties({ + "sourceUsername", + "sourcePassword", + "sslMode", + "sslCaCertificate", + "applierUsername" + }) + public CreateDbSystemSourceFromDbSystemChannelDetails( + String sourceUsername, + char[] sourcePassword, + SslMode sslMode, + CaCertificate sslCaCertificate, + String applierUsername) { + super(); + this.sourceUsername = sourceUsername; + this.sourcePassword = sourcePassword; + this.sslMode = sslMode; + this.sslCaCertificate = sslCaCertificate; + this.applierUsername = applierUsername; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The name of the replication user on the source DB system. The username has a maximum + * length of 96 characters. For more information, please see the [MySQL + * documentation](https://dev.mysql.com/doc/en/change-replication-source-to.html) + */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceUsername") + private String sourceUsername; + + /** + * The name of the replication user on the source DB system. The username has a maximum + * length of 96 characters. For more information, please see the [MySQL + * documentation](https://dev.mysql.com/doc/en/change-replication-source-to.html) + * + * @param sourceUsername the value to set + * @return this builder + */ + public Builder sourceUsername(String sourceUsername) { + this.sourceUsername = sourceUsername; + this.__explicitlySet__.add("sourceUsername"); + return this; + } + /** + * The password for the replication user. The password must be between 8 and 32 characters + * long, and must contain at least 1 numeric character, 1 lowercase character, 1 uppercase + * character, and 1 special (nonalphanumeric) character. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sourcePassword") + private char[] sourcePassword; + + /** + * The password for the replication user. The password must be between 8 and 32 characters + * long, and must contain at least 1 numeric character, 1 lowercase character, 1 uppercase + * character, and 1 special (nonalphanumeric) character. + * + * @param sourcePassword the value to set + * @return this builder + */ + public Builder sourcePassword(char[] sourcePassword) { + this.sourcePassword = sourcePassword; + this.__explicitlySet__.add("sourcePassword"); + return this; + } + + public Builder sourcePassword(String sourcePassword) { + this.sourcePassword = sourcePassword != null ? sourcePassword.toCharArray() : null; + this.__explicitlySet__.add("sourcePassword"); + return this; + } + /** The SSL mode of the Channel. */ + @com.fasterxml.jackson.annotation.JsonProperty("sslMode") + private SslMode sslMode; + + /** + * The SSL mode of the Channel. + * + * @param sslMode the value to set + * @return this builder + */ + public Builder sslMode(SslMode sslMode) { + this.sslMode = sslMode; + this.__explicitlySet__.add("sslMode"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("sslCaCertificate") + private CaCertificate sslCaCertificate; + + public Builder sslCaCertificate(CaCertificate sslCaCertificate) { + this.sslCaCertificate = sslCaCertificate; + this.__explicitlySet__.add("sslCaCertificate"); + return this; + } + /** The username for the replication applier of the created MySQL DB System. */ + @com.fasterxml.jackson.annotation.JsonProperty("applierUsername") + private String applierUsername; + + /** + * The username for the replication applier of the created MySQL DB System. + * + * @param applierUsername the value to set + * @return this builder + */ + public Builder applierUsername(String applierUsername) { + this.applierUsername = applierUsername; + this.__explicitlySet__.add("applierUsername"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateDbSystemSourceFromDbSystemChannelDetails build() { + CreateDbSystemSourceFromDbSystemChannelDetails model = + new CreateDbSystemSourceFromDbSystemChannelDetails( + this.sourceUsername, + this.sourcePassword, + this.sslMode, + this.sslCaCertificate, + this.applierUsername); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateDbSystemSourceFromDbSystemChannelDetails model) { + if (model.wasPropertyExplicitlySet("sourceUsername")) { + this.sourceUsername(model.getSourceUsername()); + } + if (model.wasPropertyExplicitlySet("sourcePassword")) { + this.sourcePassword(model.getSourcePassword()); + } + if (model.wasPropertyExplicitlySet("sslMode")) { + this.sslMode(model.getSslMode()); + } + if (model.wasPropertyExplicitlySet("sslCaCertificate")) { + this.sslCaCertificate(model.getSslCaCertificate()); + } + if (model.wasPropertyExplicitlySet("applierUsername")) { + this.applierUsername(model.getApplierUsername()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The name of the replication user on the source DB system. The username has a maximum length + * of 96 characters. For more information, please see the [MySQL + * documentation](https://dev.mysql.com/doc/en/change-replication-source-to.html) + */ + @com.fasterxml.jackson.annotation.JsonProperty("sourceUsername") + private final String sourceUsername; + + /** + * The name of the replication user on the source DB system. The username has a maximum length + * of 96 characters. For more information, please see the [MySQL + * documentation](https://dev.mysql.com/doc/en/change-replication-source-to.html) + * + * @return the value + */ + public String getSourceUsername() { + return sourceUsername; + } + + /** + * The password for the replication user. The password must be between 8 and 32 characters long, + * and must contain at least 1 numeric character, 1 lowercase character, 1 uppercase character, + * and 1 special (nonalphanumeric) character. + */ + @com.fasterxml.jackson.annotation.JsonProperty("sourcePassword") + private final char[] sourcePassword; + + /** + * The password for the replication user. The password must be between 8 and 32 characters long, + * and must contain at least 1 numeric character, 1 lowercase character, 1 uppercase character, + * and 1 special (nonalphanumeric) character. + * + * @return the value + * @deprecated Use getSourcePassword__AsCharArray() instead. + */ + @Deprecated + @com.fasterxml.jackson.annotation.JsonIgnore + public String getSourcePassword() { + return sourcePassword != null ? new String(sourcePassword) : null; + } + + /** + * The password for the replication user. The password must be between 8 and 32 characters long, + * and must contain at least 1 numeric character, 1 lowercase character, 1 uppercase character, + * and 1 special (nonalphanumeric) character. + * + * @return the value + */ + @com.fasterxml.jackson.annotation.JsonProperty("sourcePassword") + public char[] getSourcePassword__AsCharArray() { + return sourcePassword; + } + + /** The SSL mode of the Channel. */ + @com.fasterxml.jackson.annotation.JsonProperty("sslMode") + private final SslMode sslMode; + + /** + * The SSL mode of the Channel. + * + * @return the value + */ + public SslMode getSslMode() { + return sslMode; + } + + @com.fasterxml.jackson.annotation.JsonProperty("sslCaCertificate") + private final CaCertificate sslCaCertificate; + + public CaCertificate getSslCaCertificate() { + return sslCaCertificate; + } + + /** The username for the replication applier of the created MySQL DB System. */ + @com.fasterxml.jackson.annotation.JsonProperty("applierUsername") + private final String applierUsername; + + /** + * The username for the replication applier of the created MySQL DB System. + * + * @return the value + */ + public String getApplierUsername() { + return applierUsername; + } + + @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("CreateDbSystemSourceFromDbSystemChannelDetails("); + sb.append("super=").append(super.toString()); + sb.append("sourceUsername=").append(String.valueOf(this.sourceUsername)); + sb.append(", sourcePassword=").append(""); + sb.append(", sslMode=").append(String.valueOf(this.sslMode)); + sb.append(", sslCaCertificate=").append(String.valueOf(this.sslCaCertificate)); + sb.append(", applierUsername=").append(String.valueOf(this.applierUsername)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateDbSystemSourceFromDbSystemChannelDetails)) { + return false; + } + + CreateDbSystemSourceFromDbSystemChannelDetails other = + (CreateDbSystemSourceFromDbSystemChannelDetails) o; + return java.util.Objects.equals(this.sourceUsername, other.sourceUsername) + && java.util.Objects.equals(this.sourcePassword, other.sourcePassword) + && java.util.Objects.equals(this.sslMode, other.sslMode) + && java.util.Objects.equals(this.sslCaCertificate, other.sslCaCertificate) + && java.util.Objects.equals(this.applierUsername, other.applierUsername) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.sourceUsername == null ? 43 : this.sourceUsername.hashCode()); + result = + (result * PRIME) + + (this.sourcePassword == null ? 43 : this.sourcePassword.hashCode()); + result = (result * PRIME) + (this.sslMode == null ? 43 : this.sslMode.hashCode()); + result = + (result * PRIME) + + (this.sslCaCertificate == null ? 43 : this.sslCaCertificate.hashCode()); + result = + (result * PRIME) + + (this.applierUsername == null ? 43 : this.applierUsername.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceFromDbSystemDetails.java b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceFromDbSystemDetails.java new file mode 100644 index 00000000000..c9cc33f8229 --- /dev/null +++ b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/CreateDbSystemSourceFromDbSystemDetails.java @@ -0,0 +1,216 @@ +/** + * 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.mysql.model; + +/** + * The source DB System identifier (OCID) and region from which the new DB system will be cloned by + * copying its data. Optionally, channel properties can be provided to create a replication channel + * between the newly created DB system and the source DB system.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model + * distinguishes fields that are {@code null} because they are unset from fields that are explicitly + * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a + * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link + * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set + * fields into account. The constructor, on the other hand, does not take the explicitly set fields + * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code + * null}). + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190415") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = CreateDbSystemSourceFromDbSystemDetails.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "sourceType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class CreateDbSystemSourceFromDbSystemDetails extends CreateDbSystemSourceDetails { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the DB system to be used as the source for the new DB System. */ + @com.fasterxml.jackson.annotation.JsonProperty("dbSystemId") + private String dbSystemId; + + /** + * The OCID of the DB system to be used as the source for the new DB System. + * + * @param dbSystemId the value to set + * @return this builder + */ + public Builder dbSystemId(String dbSystemId) { + this.dbSystemId = dbSystemId; + this.__explicitlySet__.add("dbSystemId"); + return this; + } + /** + * The region identifier of the source region where the DB system exists, only if it is in a + * different region. If the source DB system is in the same region, then no region must be + * specified. For more information, please see [Regions and Availability + * Domains](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private String region; + + /** + * The region identifier of the source region where the DB system exists, only if it is in a + * different region. If the source DB system is in the same region, then no region must be + * specified. For more information, please see [Regions and Availability + * Domains](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm). + * + * @param region the value to set + * @return this builder + */ + public Builder region(String region) { + this.region = region; + this.__explicitlySet__.add("region"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("channel") + private CreateDbSystemSourceFromDbSystemChannelDetails channel; + + public Builder channel(CreateDbSystemSourceFromDbSystemChannelDetails channel) { + this.channel = channel; + this.__explicitlySet__.add("channel"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public CreateDbSystemSourceFromDbSystemDetails build() { + CreateDbSystemSourceFromDbSystemDetails model = + new CreateDbSystemSourceFromDbSystemDetails( + this.dbSystemId, this.region, this.channel); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(CreateDbSystemSourceFromDbSystemDetails model) { + if (model.wasPropertyExplicitlySet("dbSystemId")) { + this.dbSystemId(model.getDbSystemId()); + } + if (model.wasPropertyExplicitlySet("region")) { + this.region(model.getRegion()); + } + if (model.wasPropertyExplicitlySet("channel")) { + this.channel(model.getChannel()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public CreateDbSystemSourceFromDbSystemDetails( + String dbSystemId, + String region, + CreateDbSystemSourceFromDbSystemChannelDetails channel) { + super(); + this.dbSystemId = dbSystemId; + this.region = region; + this.channel = channel; + } + + /** The OCID of the DB system to be used as the source for the new DB System. */ + @com.fasterxml.jackson.annotation.JsonProperty("dbSystemId") + private final String dbSystemId; + + /** + * The OCID of the DB system to be used as the source for the new DB System. + * + * @return the value + */ + public String getDbSystemId() { + return dbSystemId; + } + + /** + * The region identifier of the source region where the DB system exists, only if it is in a + * different region. If the source DB system is in the same region, then no region must be + * specified. For more information, please see [Regions and Availability + * Domains](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("region") + private final String region; + + /** + * The region identifier of the source region where the DB system exists, only if it is in a + * different region. If the source DB system is in the same region, then no region must be + * specified. For more information, please see [Regions and Availability + * Domains](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm). + * + * @return the value + */ + public String getRegion() { + return region; + } + + @com.fasterxml.jackson.annotation.JsonProperty("channel") + private final CreateDbSystemSourceFromDbSystemChannelDetails channel; + + public CreateDbSystemSourceFromDbSystemChannelDetails getChannel() { + return channel; + } + + @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("CreateDbSystemSourceFromDbSystemDetails("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", dbSystemId=").append(String.valueOf(this.dbSystemId)); + sb.append(", region=").append(String.valueOf(this.region)); + sb.append(", channel=").append(String.valueOf(this.channel)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CreateDbSystemSourceFromDbSystemDetails)) { + return false; + } + + CreateDbSystemSourceFromDbSystemDetails other = (CreateDbSystemSourceFromDbSystemDetails) o; + return java.util.Objects.equals(this.dbSystemId, other.dbSystemId) + && java.util.Objects.equals(this.region, other.region) + && java.util.Objects.equals(this.channel, other.channel) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.dbSystemId == null ? 43 : this.dbSystemId.hashCode()); + result = (result * PRIME) + (this.region == null ? 43 : this.region.hashCode()); + result = (result * PRIME) + (this.channel == null ? 43 : this.channel.hashCode()); + return result; + } +} diff --git a/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/DbSystemSource.java b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/DbSystemSource.java index fd21f679a2f..4f8b2f24d9a 100644 --- a/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/DbSystemSource.java +++ b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/DbSystemSource.java @@ -31,6 +31,9 @@ @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = DbSystemSourceFromNone.class, name = "NONE"), + @com.fasterxml.jackson.annotation.JsonSubTypes.Type( + value = DbSystemSourceFromDbSystem.class, + name = "DBSYSTEM"), @com.fasterxml.jackson.annotation.JsonSubTypes.Type( value = DbSystemSourceImportFromUrl.class, name = "IMPORTURL") @@ -90,6 +93,7 @@ public enum SourceType implements com.oracle.bmc.http.internal.BmcEnum { Backup("BACKUP"), Pitr("PITR"), Importurl("IMPORTURL"), + Dbsystem("DBSYSTEM"), /** * This value is used if a service returns a value for this enum that is not recognized by diff --git a/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/DbSystemSourceFromDbSystem.java b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/DbSystemSourceFromDbSystem.java new file mode 100644 index 00000000000..3de73328e20 --- /dev/null +++ b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/DbSystemSourceFromDbSystem.java @@ -0,0 +1,134 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.mysql.model; + +/** + * The source DB system identifier (OCID) from which the cloned DB system was created.
+ * 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: 20190415") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = DbSystemSourceFromDbSystem.Builder.class) +@com.fasterxml.jackson.annotation.JsonTypeInfo( + use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, + include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, + property = "sourceType") +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class DbSystemSourceFromDbSystem extends DbSystemSource { + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The OCID of the DB system used as the source for the new DB system. */ + @com.fasterxml.jackson.annotation.JsonProperty("dbSystemId") + private String dbSystemId; + + /** + * The OCID of the DB system used as the source for the new DB system. + * + * @param dbSystemId the value to set + * @return this builder + */ + public Builder dbSystemId(String dbSystemId) { + this.dbSystemId = dbSystemId; + this.__explicitlySet__.add("dbSystemId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public DbSystemSourceFromDbSystem build() { + DbSystemSourceFromDbSystem model = new DbSystemSourceFromDbSystem(this.dbSystemId); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(DbSystemSourceFromDbSystem model) { + if (model.wasPropertyExplicitlySet("dbSystemId")) { + this.dbSystemId(model.getDbSystemId()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + @Deprecated + public DbSystemSourceFromDbSystem(String dbSystemId) { + super(); + this.dbSystemId = dbSystemId; + } + + /** The OCID of the DB system used as the source for the new DB system. */ + @com.fasterxml.jackson.annotation.JsonProperty("dbSystemId") + private final String dbSystemId; + + /** + * The OCID of the DB system used as the source for the new DB system. + * + * @return the value + */ + public String getDbSystemId() { + return dbSystemId; + } + + @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("DbSystemSourceFromDbSystem("); + sb.append("super=").append(super.toString(includeByteArrayContents)); + sb.append(", dbSystemId=").append(String.valueOf(this.dbSystemId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DbSystemSourceFromDbSystem)) { + return false; + } + + DbSystemSourceFromDbSystem other = (DbSystemSourceFromDbSystem) o; + return java.util.Objects.equals(this.dbSystemId, other.dbSystemId) && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.dbSystemId == null ? 43 : this.dbSystemId.hashCode()); + return result; + } +} diff --git a/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/SslMode.java b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/SslMode.java new file mode 100644 index 00000000000..4845521a5dd --- /dev/null +++ b/bmc-mysql/src/main/java/com/oracle/bmc/mysql/model/SslMode.java @@ -0,0 +1,42 @@ +/** + * 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.mysql.model; + +/** The SSL mode of the Channel. */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20190415") +public enum SslMode implements com.oracle.bmc.http.internal.BmcEnum { + VerifyIdentity("VERIFY_IDENTITY"), + VerifyCa("VERIFY_CA"), + Required("REQUIRED"), + Disabled("DISABLED"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SslMode v : SslMode.values()) { + map.put(v.getValue(), v); + } + } + + SslMode(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SslMode create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SslMode: " + key); + } +} diff --git a/bmc-mysql/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-mysql/reflect-config.json b/bmc-mysql/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-mysql/reflect-config.json index a74c7446cfb..0deda0ee60c 100644 --- a/bmc-mysql/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-mysql/reflect-config.json +++ b/bmc-mysql/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-mysql/reflect-config.json @@ -676,6 +676,34 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.mysql.model.CreateDbSystemSourceFromDbSystemChannelDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.mysql.model.CreateDbSystemSourceFromDbSystemChannelDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.mysql.model.CreateDbSystemSourceFromDbSystemDetails", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.mysql.model.CreateDbSystemSourceFromDbSystemDetails$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.mysql.model.CreateDbSystemSourceFromNoneDetails", @@ -1015,6 +1043,20 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.mysql.model.DbSystemSourceFromDbSystem", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.mysql.model.DbSystemSourceFromDbSystem$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.mysql.model.DbSystemSourceFromNone", @@ -1665,6 +1707,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.mysql.model.SslMode", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.mysql.model.StopDbSystemDetails", diff --git a/bmc-networkfirewall/pom.xml b/bmc-networkfirewall/pom.xml index f7f0cf1629f..691a543a47c 100644 --- a/bmc-networkfirewall/pom.xml +++ b/bmc-networkfirewall/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-networkfirewall @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-networkloadbalancer/pom.xml b/bmc-networkloadbalancer/pom.xml index 0c78e767bbc..a25110cd672 100644 --- a/bmc-networkloadbalancer/pom.xml +++ b/bmc-networkloadbalancer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-networkloadbalancer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-nosql/pom.xml b/bmc-nosql/pom.xml index 40717c340df..746d7b9d5f2 100644 --- a/bmc-nosql/pom.xml +++ b/bmc-nosql/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-nosql @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.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 51bc4af84cd..53601f4ba04 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.86.2 + 3.87.0 ../pom.xml @@ -18,12 +18,12 @@ com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-objectstorage-extensions - 3.86.2 + 3.87.0 diff --git a/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml b/bmc-objectstorage/bmc-objectstorage-extensions/pom.xml index 1878a838dad..dda6e1dfd80 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.86.2 + 3.87.0 ../pom.xml @@ -25,17 +25,17 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-common-httpclient - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-objectstorage-generated - 3.86.2 + 3.87.0 org.slf4j diff --git a/bmc-objectstorage/bmc-objectstorage-generated/pom.xml b/bmc-objectstorage/bmc-objectstorage-generated/pom.xml index a0315476523..fc8a645069c 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.86.2 + 3.87.0 ../pom.xml @@ -19,7 +19,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 diff --git a/bmc-objectstorage/pom.xml b/bmc-objectstorage/pom.xml index dc680b467d0..73c6fbc76d1 100644 --- a/bmc-objectstorage/pom.xml +++ b/bmc-objectstorage/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml diff --git a/bmc-oce/pom.xml b/bmc-oce/pom.xml index 2a53d181849..d42c063932c 100644 --- a/bmc-oce/pom.xml +++ b/bmc-oce/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-oce @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-ocicontrolcenter/pom.xml b/bmc-ocicontrolcenter/pom.xml index 0cc838d4efe..b5015977c90 100644 --- a/bmc-ocicontrolcenter/pom.xml +++ b/bmc-ocicontrolcenter/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-ocicontrolcenter @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-ocvp/pom.xml b/bmc-ocvp/pom.xml index 53ca149703f..fcf3edf3010 100644 --- a/bmc-ocvp/pom.xml +++ b/bmc-ocvp/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-ocvp @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-oda/pom.xml b/bmc-oda/pom.xml index 8a848416f4c..11676674571 100644 --- a/bmc-oda/pom.xml +++ b/bmc-oda/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-oda @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-onesubscription/pom.xml b/bmc-onesubscription/pom.xml index e4f4afdbb5a..c28621954a8 100644 --- a/bmc-onesubscription/pom.xml +++ b/bmc-onesubscription/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-onesubscription @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-ons/pom.xml b/bmc-ons/pom.xml index 321ec67abdb..762b0156ea5 100644 --- a/bmc-ons/pom.xml +++ b/bmc-ons/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-ons @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-opa/pom.xml b/bmc-opa/pom.xml index 15111a048db..fb8fdad1fb6 100644 --- a/bmc-opa/pom.xml +++ b/bmc-opa/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-opa @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-opensearch/pom.xml b/bmc-opensearch/pom.xml index 5284691f3cb..c5d975a5776 100644 --- a/bmc-opensearch/pom.xml +++ b/bmc-opensearch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-opensearch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-operatoraccesscontrol/pom.xml b/bmc-operatoraccesscontrol/pom.xml index ad5bb5527ec..2f89bf2c078 100644 --- a/bmc-operatoraccesscontrol/pom.xml +++ b/bmc-operatoraccesscontrol/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-operatoraccesscontrol @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-opsi/pom.xml b/bmc-opsi/pom.xml index fe58a867a01..ff33c900315 100644 --- a/bmc-opsi/pom.xml +++ b/bmc-opsi/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-opsi @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-optimizer/pom.xml b/bmc-optimizer/pom.xml index e618f360799..ec80c46c170 100644 --- a/bmc-optimizer/pom.xml +++ b/bmc-optimizer/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-optimizer @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-osmanagementhub/pom.xml b/bmc-osmanagementhub/pom.xml index cf31931a02d..b371828b8d1 100644 --- a/bmc-osmanagementhub/pom.xml +++ b/bmc-osmanagementhub/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-osmanagementhub @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-ospgateway/pom.xml b/bmc-ospgateway/pom.xml index ee96afaa403..8dfb4053f83 100644 --- a/bmc-ospgateway/pom.xml +++ b/bmc-ospgateway/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-ospgateway @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-osubbillingschedule/pom.xml b/bmc-osubbillingschedule/pom.xml index b4be06e2722..5686284fcaf 100644 --- a/bmc-osubbillingschedule/pom.xml +++ b/bmc-osubbillingschedule/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-osubbillingschedule @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-osuborganizationsubscription/pom.xml b/bmc-osuborganizationsubscription/pom.xml index fb06e9927aa..8bb8fbd3ff4 100644 --- a/bmc-osuborganizationsubscription/pom.xml +++ b/bmc-osuborganizationsubscription/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-osuborganizationsubscription @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-osubsubscription/pom.xml b/bmc-osubsubscription/pom.xml index 609e436a035..6e2ef752428 100644 --- a/bmc-osubsubscription/pom.xml +++ b/bmc-osubsubscription/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-osubsubscription @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-osubusage/pom.xml b/bmc-osubusage/pom.xml index accf90745c5..a9ee80d8f1a 100644 --- a/bmc-osubusage/pom.xml +++ b/bmc-osubusage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-osubusage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.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 10521a11eb5..e2bedde674c 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.86.2 + 3.87.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.86.2 + 3.87.0 false @@ -95,14 +95,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.86.2 + 3.87.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.86.2 + 3.87.0 pom import diff --git a/bmc-other-examples/bmc-jersey-examples/src/main/java/AsyncCoreThreadTimeoutClientConfigurationExample.java b/bmc-other-examples/bmc-jersey-examples/src/main/java/AsyncCoreThreadTimeoutClientConfigurationExample.java new file mode 100644 index 00000000000..79606eef833 --- /dev/null +++ b/bmc-other-examples/bmc-jersey-examples/src/main/java/AsyncCoreThreadTimeoutClientConfigurationExample.java @@ -0,0 +1,65 @@ +/** + * 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.ClientConfiguration; +import com.oracle.bmc.ConfigFileReader; +import com.oracle.bmc.auth.AuthenticationDetailsProvider; +import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider; +import com.oracle.bmc.identity.IdentityAsyncClient; +import com.oracle.bmc.identity.IdentityClient; +import com.oracle.bmc.identity.requests.ListRegionsRequest; +import com.oracle.bmc.identity.responses.ListRegionsResponse; + +import java.util.concurrent.Future; + +/** This shows how to enable async core thread timeout with ClientConfiguration. */ +public class AsyncCoreThreadTimeoutClientConfigurationExample { + + public static void main(String[] args) throws Exception { + + String configurationFilePath = "~/.oci/config"; + String profile = "DEFAULT"; + + // Configuring the AuthenticationDetailsProvider. It's assuming there is a default OCI config file + // "~/.oci/config", and a profile in that config with the name "DEFAULT". Make changes to the following + // line if needed and use ConfigFileReader.parse(CONFIG_LOCATION, CONFIG_PROFILE); + + final ConfigFileReader.ConfigFile configFile = ConfigFileReader.parseDefault(); + + final AuthenticationDetailsProvider provider = + new ConfigFileAuthenticationDetailsProvider(configFile); + + ClientConfiguration clientConfiguration = + ClientConfiguration.builder() + .syncRequestsAsyncCoreThreadTimeoutEnabled(true) + .asyncRequestsAsyncCoreThreadTimeoutEnabled(true) + .build(); + + listRegionsWithSyncClient(provider, clientConfiguration); + listRegionsWithAsyncClient(provider, clientConfiguration); + } + + private static void listRegionsWithSyncClient( + AuthenticationDetailsProvider provider, ClientConfiguration clientConfiguration) { + try (IdentityClient identityClient = + IdentityClient.builder().configuration(clientConfiguration).build(provider)) { + ListRegionsResponse response = + identityClient.listRegions(ListRegionsRequest.builder().build()); + System.out.println("Sync region count: " + response.getItems().size()); + } + } + + private static void listRegionsWithAsyncClient( + AuthenticationDetailsProvider provider, ClientConfiguration clientConfiguration) + throws Exception { + try (IdentityAsyncClient identityAsyncClient = + IdentityAsyncClient.builder().configuration(clientConfiguration).build(provider)) { + Future responseFuture = + identityAsyncClient.listRegions(ListRegionsRequest.builder().build(), null); + System.out.println("Async region count: " + responseFuture.get().getItems().size()); + } + } +} diff --git a/bmc-other-examples/bmc-jersey3-examples/pom.xml b/bmc-other-examples/bmc-jersey3-examples/pom.xml index c7c9fcff9ea..15832481641 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.86.2 + 3.87.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.86.2 + 3.87.0 false @@ -95,14 +95,14 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.86.2 + 3.87.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey3 - 3.86.2 + 3.87.0 pom import diff --git a/bmc-other-examples/bmc-jersey3-examples/src/main/java/AsyncCoreThreadTimeoutClientConfigurationExample.java b/bmc-other-examples/bmc-jersey3-examples/src/main/java/AsyncCoreThreadTimeoutClientConfigurationExample.java new file mode 100644 index 00000000000..79606eef833 --- /dev/null +++ b/bmc-other-examples/bmc-jersey3-examples/src/main/java/AsyncCoreThreadTimeoutClientConfigurationExample.java @@ -0,0 +1,65 @@ +/** + * 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.ClientConfiguration; +import com.oracle.bmc.ConfigFileReader; +import com.oracle.bmc.auth.AuthenticationDetailsProvider; +import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider; +import com.oracle.bmc.identity.IdentityAsyncClient; +import com.oracle.bmc.identity.IdentityClient; +import com.oracle.bmc.identity.requests.ListRegionsRequest; +import com.oracle.bmc.identity.responses.ListRegionsResponse; + +import java.util.concurrent.Future; + +/** This shows how to enable async core thread timeout with ClientConfiguration. */ +public class AsyncCoreThreadTimeoutClientConfigurationExample { + + public static void main(String[] args) throws Exception { + + String configurationFilePath = "~/.oci/config"; + String profile = "DEFAULT"; + + // Configuring the AuthenticationDetailsProvider. It's assuming there is a default OCI config file + // "~/.oci/config", and a profile in that config with the name "DEFAULT". Make changes to the following + // line if needed and use ConfigFileReader.parse(CONFIG_LOCATION, CONFIG_PROFILE); + + final ConfigFileReader.ConfigFile configFile = ConfigFileReader.parseDefault(); + + final AuthenticationDetailsProvider provider = + new ConfigFileAuthenticationDetailsProvider(configFile); + + ClientConfiguration clientConfiguration = + ClientConfiguration.builder() + .syncRequestsAsyncCoreThreadTimeoutEnabled(true) + .asyncRequestsAsyncCoreThreadTimeoutEnabled(true) + .build(); + + listRegionsWithSyncClient(provider, clientConfiguration); + listRegionsWithAsyncClient(provider, clientConfiguration); + } + + private static void listRegionsWithSyncClient( + AuthenticationDetailsProvider provider, ClientConfiguration clientConfiguration) { + try (IdentityClient identityClient = + IdentityClient.builder().configuration(clientConfiguration).build(provider)) { + ListRegionsResponse response = + identityClient.listRegions(ListRegionsRequest.builder().build()); + System.out.println("Sync region count: " + response.getItems().size()); + } + } + + private static void listRegionsWithAsyncClient( + AuthenticationDetailsProvider provider, ClientConfiguration clientConfiguration) + throws Exception { + try (IdentityAsyncClient identityAsyncClient = + IdentityAsyncClient.builder().configuration(clientConfiguration).build(provider)) { + Future responseFuture = + identityAsyncClient.listRegions(ListRegionsRequest.builder().build(), null); + System.out.println("Async region count: " + responseFuture.get().getItems().size()); + } + } +} diff --git a/bmc-other-examples/native-maven-example/pom.xml b/bmc-other-examples/native-maven-example/pom.xml index de129d99bcd..799a537a989 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.86.2 + 3.87.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.86.2 + 3.87.0 pom import com.oracle.oci.sdk oci-java-sdk-common-httpclient-jersey - 3.86.2 + 3.87.0 pom import diff --git a/bmc-other-examples/pom.xml b/bmc-other-examples/pom.xml index 4557826a400..707fe5aed6d 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.86.2 + 3.87.0 ../pom.xml diff --git a/bmc-psa/pom.xml b/bmc-psa/pom.xml index 0e625314f92..8102ac1522e 100644 --- a/bmc-psa/pom.xml +++ b/bmc-psa/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-psa @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-psql/pom.xml b/bmc-psql/pom.xml index dd718e2bd41..278d9d915fc 100644 --- a/bmc-psql/pom.xml +++ b/bmc-psql/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-psql @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-queue/pom.xml b/bmc-queue/pom.xml index 5f5bb1cbcad..7f749a98f27 100644 --- a/bmc-queue/pom.xml +++ b/bmc-queue/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-queue @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-recovery/pom.xml b/bmc-recovery/pom.xml index 3abbd2bdf70..8342bc8dd7a 100644 --- a/bmc-recovery/pom.xml +++ b/bmc-recovery/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-recovery @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-redis/pom.xml b/bmc-redis/pom.xml index 60132710998..077e23a06a8 100644 --- a/bmc-redis/pom.xml +++ b/bmc-redis/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-redis @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-resourceanalytics/pom.xml b/bmc-resourceanalytics/pom.xml index 5eba13655e4..57edb79792c 100644 --- a/bmc-resourceanalytics/pom.xml +++ b/bmc-resourceanalytics/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-resourceanalytics @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/CreateResourceAnalyticsInstanceDetails.java b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/CreateResourceAnalyticsInstanceDetails.java index 2c869f4e618..2f332ef99a2 100644 --- a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/CreateResourceAnalyticsInstanceDetails.java +++ b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/CreateResourceAnalyticsInstanceDetails.java @@ -31,6 +31,7 @@ public final class CreateResourceAnalyticsInstanceDetails "subnetId", "isMutualTlsRequired", "nsgIds", + "computeCount", "licenseModel", "freeformTags", "definedTags" @@ -43,6 +44,7 @@ public CreateResourceAnalyticsInstanceDetails( String subnetId, Boolean isMutualTlsRequired, java.util.List nsgIds, + Integer computeCount, LicenseModel licenseModel, java.util.Map freeformTags, java.util.Map> definedTags) { @@ -54,6 +56,7 @@ public CreateResourceAnalyticsInstanceDetails( this.subnetId = subnetId; this.isMutualTlsRequired = isMutualTlsRequired; this.nsgIds = nsgIds; + this.computeCount = computeCount; this.licenseModel = licenseModel; this.freeformTags = freeformTags; this.definedTags = definedTags; @@ -180,6 +183,21 @@ public Builder nsgIds(java.util.List nsgIds) { this.__explicitlySet__.add("nsgIds"); return this; } + /** The compute amount (CPUs) available to the Autonomous Database. */ + @com.fasterxml.jackson.annotation.JsonProperty("computeCount") + private Integer computeCount; + + /** + * The compute amount (CPUs) available to the Autonomous Database. + * + * @param computeCount the value to set + * @return this builder + */ + public Builder computeCount(Integer computeCount) { + this.computeCount = computeCount; + this.__explicitlySet__.add("computeCount"); + return this; + } /** The Oracle license model that applies to the ADW instance. */ @com.fasterxml.jackson.annotation.JsonProperty("licenseModel") private LicenseModel licenseModel; @@ -260,6 +278,7 @@ public CreateResourceAnalyticsInstanceDetails build() { this.subnetId, this.isMutualTlsRequired, this.nsgIds, + this.computeCount, this.licenseModel, this.freeformTags, this.definedTags); @@ -292,6 +311,9 @@ public Builder copy(CreateResourceAnalyticsInstanceDetails model) { if (model.wasPropertyExplicitlySet("nsgIds")) { this.nsgIds(model.getNsgIds()); } + if (model.wasPropertyExplicitlySet("computeCount")) { + this.computeCount(model.getComputeCount()); + } if (model.wasPropertyExplicitlySet("licenseModel")) { this.licenseModel(model.getLicenseModel()); } @@ -419,6 +441,19 @@ public java.util.List getNsgIds() { return nsgIds; } + /** The compute amount (CPUs) available to the Autonomous Database. */ + @com.fasterxml.jackson.annotation.JsonProperty("computeCount") + private final Integer computeCount; + + /** + * The compute amount (CPUs) available to the Autonomous Database. + * + * @return the value + */ + public Integer getComputeCount() { + return computeCount; + } + /** The Oracle license model that applies to the ADW instance. */ public enum LicenseModel implements com.oracle.bmc.http.internal.BmcEnum { LicenseIncluded("LICENSE_INCLUDED"), @@ -533,6 +568,7 @@ public String toString(boolean includeByteArrayContents) { sb.append(", subnetId=").append(String.valueOf(this.subnetId)); sb.append(", isMutualTlsRequired=").append(String.valueOf(this.isMutualTlsRequired)); sb.append(", nsgIds=").append(String.valueOf(this.nsgIds)); + sb.append(", computeCount=").append(String.valueOf(this.computeCount)); sb.append(", licenseModel=").append(String.valueOf(this.licenseModel)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); @@ -557,6 +593,7 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.subnetId, other.subnetId) && java.util.Objects.equals(this.isMutualTlsRequired, other.isMutualTlsRequired) && java.util.Objects.equals(this.nsgIds, other.nsgIds) + && java.util.Objects.equals(this.computeCount, other.computeCount) && java.util.Objects.equals(this.licenseModel, other.licenseModel) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) @@ -582,6 +619,7 @@ public int hashCode() { ? 43 : this.isMutualTlsRequired.hashCode()); result = (result * PRIME) + (this.nsgIds == null ? 43 : this.nsgIds.hashCode()); + result = (result * PRIME) + (this.computeCount == null ? 43 : this.computeCount.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()); diff --git a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/ResourceAnalyticsInstanceOacAttachmentDetails.java b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/ResourceAnalyticsInstanceOacAttachmentDetails.java index b323c506036..6104506dee4 100644 --- a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/ResourceAnalyticsInstanceOacAttachmentDetails.java +++ b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/ResourceAnalyticsInstanceOacAttachmentDetails.java @@ -30,20 +30,26 @@ public final class ResourceAnalyticsInstanceOacAttachmentDetails "networkDetails", "subnetId", "nsgIds", - "licenseModel" + "licenseModel", + "capacityType", + "capacityValue" }) public ResourceAnalyticsInstanceOacAttachmentDetails( String idcsDomainId, ResourceAnalyticsInstanceOacNetworkDetails networkDetails, String subnetId, java.util.List nsgIds, - LicenseModel licenseModel) { + LicenseModel licenseModel, + CapacityType capacityType, + Integer capacityValue) { super(); this.idcsDomainId = idcsDomainId; this.networkDetails = networkDetails; this.subnetId = subnetId; this.nsgIds = nsgIds; this.licenseModel = licenseModel; + this.capacityType = capacityType; + this.capacityValue = capacityValue; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") @@ -121,6 +127,42 @@ public Builder licenseModel(LicenseModel licenseModel) { this.__explicitlySet__.add("licenseModel"); return this; } + /** The capacity model to use for the Analytics Instance. */ + @com.fasterxml.jackson.annotation.JsonProperty("capacityType") + private CapacityType capacityType; + + /** + * The capacity model to use for the Analytics Instance. + * + * @param capacityType the value to set + * @return this builder + */ + public Builder capacityType(CapacityType capacityType) { + this.capacityType = capacityType; + this.__explicitlySet__.add("capacityType"); + return this; + } + /** + * The capacity value selected, either the number of OCPUs (OLPU_COUNT) or the number of + * users (USER_COUNT). This parameter affects the number of OCPUs, amount of memory, and + * other resources allocated to the Analytics Instance. + */ + @com.fasterxml.jackson.annotation.JsonProperty("capacityValue") + private Integer capacityValue; + + /** + * The capacity value selected, either the number of OCPUs (OLPU_COUNT) or the number of + * users (USER_COUNT). This parameter affects the number of OCPUs, amount of memory, and + * other resources allocated to the Analytics Instance. + * + * @param capacityValue the value to set + * @return this builder + */ + public Builder capacityValue(Integer capacityValue) { + this.capacityValue = capacityValue; + this.__explicitlySet__.add("capacityValue"); + return this; + } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); @@ -132,7 +174,9 @@ public ResourceAnalyticsInstanceOacAttachmentDetails build() { this.networkDetails, this.subnetId, this.nsgIds, - this.licenseModel); + this.licenseModel, + this.capacityType, + this.capacityValue); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } @@ -156,6 +200,12 @@ public Builder copy(ResourceAnalyticsInstanceOacAttachmentDetails model) { if (model.wasPropertyExplicitlySet("licenseModel")) { this.licenseModel(model.getLicenseModel()); } + if (model.wasPropertyExplicitlySet("capacityType")) { + this.capacityType(model.getCapacityType()); + } + if (model.wasPropertyExplicitlySet("capacityValue")) { + this.capacityValue(model.getCapacityValue()); + } return this; } } @@ -265,6 +315,71 @@ public LicenseModel getLicenseModel() { return licenseModel; } + /** The capacity model to use for the Analytics Instance. */ + public enum CapacityType implements com.oracle.bmc.http.internal.BmcEnum { + OlpuCount("OLPU_COUNT"), + UserCount("USER_COUNT"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (CapacityType v : CapacityType.values()) { + map.put(v.getValue(), v); + } + } + + CapacityType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static CapacityType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid CapacityType: " + key); + } + }; + /** The capacity model to use for the Analytics Instance. */ + @com.fasterxml.jackson.annotation.JsonProperty("capacityType") + private final CapacityType capacityType; + + /** + * The capacity model to use for the Analytics Instance. + * + * @return the value + */ + public CapacityType getCapacityType() { + return capacityType; + } + + /** + * The capacity value selected, either the number of OCPUs (OLPU_COUNT) or the number of users + * (USER_COUNT). This parameter affects the number of OCPUs, amount of memory, and other + * resources allocated to the Analytics Instance. + */ + @com.fasterxml.jackson.annotation.JsonProperty("capacityValue") + private final Integer capacityValue; + + /** + * The capacity value selected, either the number of OCPUs (OLPU_COUNT) or the number of users + * (USER_COUNT). This parameter affects the number of OCPUs, amount of memory, and other + * resources allocated to the Analytics Instance. + * + * @return the value + */ + public Integer getCapacityValue() { + return capacityValue; + } + @Override public String toString() { return this.toString(true); @@ -285,6 +400,8 @@ public String toString(boolean includeByteArrayContents) { sb.append(", subnetId=").append(String.valueOf(this.subnetId)); sb.append(", nsgIds=").append(String.valueOf(this.nsgIds)); sb.append(", licenseModel=").append(String.valueOf(this.licenseModel)); + sb.append(", capacityType=").append(String.valueOf(this.capacityType)); + sb.append(", capacityValue=").append(String.valueOf(this.capacityValue)); sb.append(")"); return sb.toString(); } @@ -305,6 +422,8 @@ public boolean equals(Object o) { && java.util.Objects.equals(this.subnetId, other.subnetId) && java.util.Objects.equals(this.nsgIds, other.nsgIds) && java.util.Objects.equals(this.licenseModel, other.licenseModel) + && java.util.Objects.equals(this.capacityType, other.capacityType) + && java.util.Objects.equals(this.capacityValue, other.capacityValue) && super.equals(other); } @@ -319,6 +438,10 @@ public int hashCode() { result = (result * PRIME) + (this.subnetId == null ? 43 : this.subnetId.hashCode()); result = (result * PRIME) + (this.nsgIds == null ? 43 : this.nsgIds.hashCode()); result = (result * PRIME) + (this.licenseModel == null ? 43 : this.licenseModel.hashCode()); + result = (result * PRIME) + (this.capacityType == null ? 43 : this.capacityType.hashCode()); + result = + (result * PRIME) + + (this.capacityValue == null ? 43 : this.capacityValue.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } diff --git a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachment.java b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachment.java index 366e3b5ea88..51efd7587b1 100644 --- a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachment.java +++ b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachment.java @@ -36,6 +36,10 @@ public final class TenancyAttachment "resourceAnalyticsInstanceId", "tenancyId", "isReportingTenancy", + "monitoredRegions", + "dataPopulationStatus", + "timeDataPopulationStarted", + "timeDataPopulationEnded", "timeCreated", "timeUpdated", "lifecycleState", @@ -48,6 +52,10 @@ public TenancyAttachment( String resourceAnalyticsInstanceId, String tenancyId, Boolean isReportingTenancy, + java.util.List monitoredRegions, + DataPopulationStatus dataPopulationStatus, + java.util.Date timeDataPopulationStarted, + java.util.Date timeDataPopulationEnded, java.util.Date timeCreated, java.util.Date timeUpdated, LifecycleState lifecycleState, @@ -59,6 +67,10 @@ public TenancyAttachment( this.resourceAnalyticsInstanceId = resourceAnalyticsInstanceId; this.tenancyId = tenancyId; this.isReportingTenancy = isReportingTenancy; + this.monitoredRegions = monitoredRegions; + this.dataPopulationStatus = dataPopulationStatus; + this.timeDataPopulationStarted = timeDataPopulationStarted; + this.timeDataPopulationEnded = timeDataPopulationEnded; this.timeCreated = timeCreated; this.timeUpdated = timeUpdated; this.lifecycleState = lifecycleState; @@ -155,6 +167,83 @@ public Builder isReportingTenancy(Boolean isReportingTenancy) { this.__explicitlySet__.add("isReportingTenancy"); return this; } + /** List of monitored regions with their data population status. */ + @com.fasterxml.jackson.annotation.JsonProperty("monitoredRegions") + private java.util.List monitoredRegions; + + /** + * List of monitored regions with their data population status. + * + * @param monitoredRegions the value to set + * @return this builder + */ + public Builder monitoredRegions( + java.util.List monitoredRegions) { + this.monitoredRegions = monitoredRegions; + this.__explicitlySet__.add("monitoredRegions"); + return this; + } + /** The overall status of the data population from the tenancy. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataPopulationStatus") + private DataPopulationStatus dataPopulationStatus; + + /** + * The overall status of the data population from the tenancy. + * + * @param dataPopulationStatus the value to set + * @return this builder + */ + public Builder dataPopulationStatus(DataPopulationStatus dataPopulationStatus) { + this.dataPopulationStatus = dataPopulationStatus; + this.__explicitlySet__.add("dataPopulationStatus"); + return this; + } + /** + * The date and time the data population tasks started, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @param timeDataPopulationStarted the value to set + * @return this builder + */ + public Builder timeDataPopulationStarted(java.util.Date timeDataPopulationStarted) { + this.timeDataPopulationStarted = timeDataPopulationStarted; + this.__explicitlySet__.add("timeDataPopulationStarted"); + return this; + } + /** + * The date and time the data population tasks completed, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @param timeDataPopulationEnded the value to set + * @return this builder + */ + public Builder timeDataPopulationEnded(java.util.Date timeDataPopulationEnded) { + this.timeDataPopulationEnded = timeDataPopulationEnded; + this.__explicitlySet__.add("timeDataPopulationEnded"); + return this; + } /** * The date and time the TenancyAttachment was created, in the format defined by [RFC * 3339](https://tools.ietf.org/html/rfc3339). @@ -270,6 +359,10 @@ public TenancyAttachment build() { this.resourceAnalyticsInstanceId, this.tenancyId, this.isReportingTenancy, + this.monitoredRegions, + this.dataPopulationStatus, + this.timeDataPopulationStarted, + this.timeDataPopulationEnded, this.timeCreated, this.timeUpdated, this.lifecycleState, @@ -298,6 +391,18 @@ public Builder copy(TenancyAttachment model) { if (model.wasPropertyExplicitlySet("isReportingTenancy")) { this.isReportingTenancy(model.getIsReportingTenancy()); } + if (model.wasPropertyExplicitlySet("monitoredRegions")) { + this.monitoredRegions(model.getMonitoredRegions()); + } + if (model.wasPropertyExplicitlySet("dataPopulationStatus")) { + this.dataPopulationStatus(model.getDataPopulationStatus()); + } + if (model.wasPropertyExplicitlySet("timeDataPopulationStarted")) { + this.timeDataPopulationStarted(model.getTimeDataPopulationStarted()); + } + if (model.wasPropertyExplicitlySet("timeDataPopulationEnded")) { + this.timeDataPopulationEnded(model.getTimeDataPopulationEnded()); + } if (model.wasPropertyExplicitlySet("timeCreated")) { this.timeCreated(model.getTimeCreated()); } @@ -403,6 +508,127 @@ public Boolean getIsReportingTenancy() { return isReportingTenancy; } + /** List of monitored regions with their data population status. */ + @com.fasterxml.jackson.annotation.JsonProperty("monitoredRegions") + private final java.util.List monitoredRegions; + + /** + * List of monitored regions with their data population status. + * + * @return the value + */ + public java.util.List getMonitoredRegions() { + return monitoredRegions; + } + + /** The overall status of the data population from the tenancy. */ + public enum DataPopulationStatus implements com.oracle.bmc.http.internal.BmcEnum { + Accepted("ACCEPTED"), + InProgress("IN_PROGRESS"), + Waiting("WAITING"), + Failed("FAILED"), + Succeeded("SUCCEEDED"), + Canceling("CANCELING"), + Canceled("CANCELED"), + NeedsAttention("NEEDS_ATTENTION"), + PartiallySucceeded("PARTIALLY_SUCCEEDED"), + + /** + * 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(DataPopulationStatus.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (DataPopulationStatus v : DataPopulationStatus.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + DataPopulationStatus(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static DataPopulationStatus create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'DataPopulationStatus', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } + }; + /** The overall status of the data population from the tenancy. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataPopulationStatus") + private final DataPopulationStatus dataPopulationStatus; + + /** + * The overall status of the data population from the tenancy. + * + * @return the value + */ + public DataPopulationStatus getDataPopulationStatus() { + return dataPopulationStatus; + } + + /** + * The date and time the data population tasks started, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeDataPopulationStarted() { + return timeDataPopulationStarted; + } + + /** + * The date and time the data population tasks completed, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeDataPopulationEnded() { + return timeDataPopulationEnded; + } + /** * The date and time the TenancyAttachment was created, in the format defined by [RFC * 3339](https://tools.ietf.org/html/rfc3339). @@ -566,6 +792,12 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.resourceAnalyticsInstanceId)); sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); sb.append(", isReportingTenancy=").append(String.valueOf(this.isReportingTenancy)); + sb.append(", monitoredRegions=").append(String.valueOf(this.monitoredRegions)); + sb.append(", dataPopulationStatus=").append(String.valueOf(this.dataPopulationStatus)); + sb.append(", timeDataPopulationStarted=") + .append(String.valueOf(this.timeDataPopulationStarted)); + sb.append(", timeDataPopulationEnded=") + .append(String.valueOf(this.timeDataPopulationEnded)); sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); @@ -591,6 +823,12 @@ public boolean equals(Object o) { this.resourceAnalyticsInstanceId, other.resourceAnalyticsInstanceId) && java.util.Objects.equals(this.tenancyId, other.tenancyId) && java.util.Objects.equals(this.isReportingTenancy, other.isReportingTenancy) + && java.util.Objects.equals(this.monitoredRegions, other.monitoredRegions) + && java.util.Objects.equals(this.dataPopulationStatus, other.dataPopulationStatus) + && java.util.Objects.equals( + this.timeDataPopulationStarted, other.timeDataPopulationStarted) + && java.util.Objects.equals( + this.timeDataPopulationEnded, other.timeDataPopulationEnded) && java.util.Objects.equals(this.timeCreated, other.timeCreated) && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) @@ -616,6 +854,24 @@ public int hashCode() { + (this.isReportingTenancy == null ? 43 : this.isReportingTenancy.hashCode()); + result = + (result * PRIME) + + (this.monitoredRegions == null ? 43 : this.monitoredRegions.hashCode()); + result = + (result * PRIME) + + (this.dataPopulationStatus == null + ? 43 + : this.dataPopulationStatus.hashCode()); + result = + (result * PRIME) + + (this.timeDataPopulationStarted == null + ? 43 + : this.timeDataPopulationStarted.hashCode()); + result = + (result * PRIME) + + (this.timeDataPopulationEnded == null + ? 43 + : this.timeDataPopulationEnded.hashCode()); result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.hashCode()); result = diff --git a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentDataPopulation.java b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentDataPopulation.java new file mode 100644 index 00000000000..1df7f2cb776 --- /dev/null +++ b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentDataPopulation.java @@ -0,0 +1,365 @@ +/** + * 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.resourceanalytics.model; + +/** + * Data population status for a monitored region in the tenancy.
+ * 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: 20241031") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = TenancyAttachmentDataPopulation.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class TenancyAttachmentDataPopulation + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "status", + "timeStarted", + "timeEnded", + "inProgressCount", + "succeededCount", + "totalCount" + }) + public TenancyAttachmentDataPopulation( + TenancyAttachment.DataPopulationStatus status, + java.util.Date timeStarted, + java.util.Date timeEnded, + Integer inProgressCount, + Integer succeededCount, + Integer totalCount) { + super(); + this.status = status; + this.timeStarted = timeStarted; + this.timeEnded = timeEnded; + this.inProgressCount = inProgressCount; + this.succeededCount = succeededCount; + this.totalCount = totalCount; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The overall status of the data population from the monitored region of the tenancy. */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + private TenancyAttachment.DataPopulationStatus status; + + /** + * The overall status of the data population from the monitored region of the tenancy. + * + * @param status the value to set + * @return this builder + */ + public Builder status(TenancyAttachment.DataPopulationStatus status) { + this.status = status; + this.__explicitlySet__.add("status"); + return this; + } + /** + * The date and time the data population task was started, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @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 the data population task completed, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @param timeEnded the value to set + * @return this builder + */ + public Builder timeEnded(java.util.Date timeEnded) { + this.timeEnded = timeEnded; + this.__explicitlySet__.add("timeEnded"); + return this; + } + /** The number of data population tasks currently in progress. */ + @com.fasterxml.jackson.annotation.JsonProperty("inProgressCount") + private Integer inProgressCount; + + /** + * The number of data population tasks currently in progress. + * + * @param inProgressCount the value to set + * @return this builder + */ + public Builder inProgressCount(Integer inProgressCount) { + this.inProgressCount = inProgressCount; + this.__explicitlySet__.add("inProgressCount"); + return this; + } + /** The number of data population tasks that have succeeded. */ + @com.fasterxml.jackson.annotation.JsonProperty("succeededCount") + private Integer succeededCount; + + /** + * The number of data population tasks that have succeeded. + * + * @param succeededCount the value to set + * @return this builder + */ + public Builder succeededCount(Integer succeededCount) { + this.succeededCount = succeededCount; + this.__explicitlySet__.add("succeededCount"); + return this; + } + /** The total number of data population tasks. */ + @com.fasterxml.jackson.annotation.JsonProperty("totalCount") + private Integer totalCount; + + /** + * The total number of data population tasks. + * + * @param totalCount the value to set + * @return this builder + */ + public Builder totalCount(Integer totalCount) { + this.totalCount = totalCount; + this.__explicitlySet__.add("totalCount"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public TenancyAttachmentDataPopulation build() { + TenancyAttachmentDataPopulation model = + new TenancyAttachmentDataPopulation( + this.status, + this.timeStarted, + this.timeEnded, + this.inProgressCount, + this.succeededCount, + this.totalCount); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(TenancyAttachmentDataPopulation model) { + if (model.wasPropertyExplicitlySet("status")) { + this.status(model.getStatus()); + } + if (model.wasPropertyExplicitlySet("timeStarted")) { + this.timeStarted(model.getTimeStarted()); + } + if (model.wasPropertyExplicitlySet("timeEnded")) { + this.timeEnded(model.getTimeEnded()); + } + if (model.wasPropertyExplicitlySet("inProgressCount")) { + this.inProgressCount(model.getInProgressCount()); + } + if (model.wasPropertyExplicitlySet("succeededCount")) { + this.succeededCount(model.getSucceededCount()); + } + if (model.wasPropertyExplicitlySet("totalCount")) { + this.totalCount(model.getTotalCount()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The overall status of the data population from the monitored region of the tenancy. */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + private final TenancyAttachment.DataPopulationStatus status; + + /** + * The overall status of the data population from the monitored region of the tenancy. + * + * @return the value + */ + public TenancyAttachment.DataPopulationStatus getStatus() { + return status; + } + + /** + * The date and time the data population task was started, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeStarted() { + return timeStarted; + } + + /** + * The date and time the data population task completed, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeEnded() { + return timeEnded; + } + + /** The number of data population tasks currently in progress. */ + @com.fasterxml.jackson.annotation.JsonProperty("inProgressCount") + private final Integer inProgressCount; + + /** + * The number of data population tasks currently in progress. + * + * @return the value + */ + public Integer getInProgressCount() { + return inProgressCount; + } + + /** The number of data population tasks that have succeeded. */ + @com.fasterxml.jackson.annotation.JsonProperty("succeededCount") + private final Integer succeededCount; + + /** + * The number of data population tasks that have succeeded. + * + * @return the value + */ + public Integer getSucceededCount() { + return succeededCount; + } + + /** The total number of data population tasks. */ + @com.fasterxml.jackson.annotation.JsonProperty("totalCount") + private final Integer totalCount; + + /** + * The total number of data population tasks. + * + * @return the value + */ + public Integer getTotalCount() { + return totalCount; + } + + @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("TenancyAttachmentDataPopulation("); + sb.append("super=").append(super.toString()); + sb.append("status=").append(String.valueOf(this.status)); + sb.append(", timeStarted=").append(String.valueOf(this.timeStarted)); + sb.append(", timeEnded=").append(String.valueOf(this.timeEnded)); + sb.append(", inProgressCount=").append(String.valueOf(this.inProgressCount)); + sb.append(", succeededCount=").append(String.valueOf(this.succeededCount)); + sb.append(", totalCount=").append(String.valueOf(this.totalCount)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof TenancyAttachmentDataPopulation)) { + return false; + } + + TenancyAttachmentDataPopulation other = (TenancyAttachmentDataPopulation) o; + return java.util.Objects.equals(this.status, other.status) + && java.util.Objects.equals(this.timeStarted, other.timeStarted) + && java.util.Objects.equals(this.timeEnded, other.timeEnded) + && java.util.Objects.equals(this.inProgressCount, other.inProgressCount) + && java.util.Objects.equals(this.succeededCount, other.succeededCount) + && java.util.Objects.equals(this.totalCount, other.totalCount) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.status == null ? 43 : this.status.hashCode()); + result = (result * PRIME) + (this.timeStarted == null ? 43 : this.timeStarted.hashCode()); + result = (result * PRIME) + (this.timeEnded == null ? 43 : this.timeEnded.hashCode()); + result = + (result * PRIME) + + (this.inProgressCount == null ? 43 : this.inProgressCount.hashCode()); + result = + (result * PRIME) + + (this.succeededCount == null ? 43 : this.succeededCount.hashCode()); + result = (result * PRIME) + (this.totalCount == null ? 43 : this.totalCount.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentMonitoredRegionSummary.java b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentMonitoredRegionSummary.java new file mode 100644 index 00000000000..55939445930 --- /dev/null +++ b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentMonitoredRegionSummary.java @@ -0,0 +1,171 @@ +/** + * 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.resourceanalytics.model; + +/** + * Information about a monitored region in a tenancy.
+ * 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: 20241031") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = TenancyAttachmentMonitoredRegionSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class TenancyAttachmentMonitoredRegionSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"regionId", "dataPopulation"}) + public TenancyAttachmentMonitoredRegionSummary( + String regionId, TenancyAttachmentDataPopulation dataPopulation) { + super(); + this.regionId = regionId; + this.dataPopulation = dataPopulation; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * The [Region + * Identifier](https://docs.oracle.com/iaas/Content/General/Concepts/regions.htm) of the + * monitored region. E.g. us-ashburn-1 + */ + @com.fasterxml.jackson.annotation.JsonProperty("regionId") + private String regionId; + + /** + * The [Region + * Identifier](https://docs.oracle.com/iaas/Content/General/Concepts/regions.htm) of the + * monitored region. E.g. us-ashburn-1 + * + * @param regionId the value to set + * @return this builder + */ + public Builder regionId(String regionId) { + this.regionId = regionId; + this.__explicitlySet__.add("regionId"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataPopulation") + private TenancyAttachmentDataPopulation dataPopulation; + + public Builder dataPopulation(TenancyAttachmentDataPopulation dataPopulation) { + this.dataPopulation = dataPopulation; + this.__explicitlySet__.add("dataPopulation"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public TenancyAttachmentMonitoredRegionSummary build() { + TenancyAttachmentMonitoredRegionSummary model = + new TenancyAttachmentMonitoredRegionSummary(this.regionId, this.dataPopulation); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(TenancyAttachmentMonitoredRegionSummary model) { + if (model.wasPropertyExplicitlySet("regionId")) { + this.regionId(model.getRegionId()); + } + if (model.wasPropertyExplicitlySet("dataPopulation")) { + this.dataPopulation(model.getDataPopulation()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * The [Region Identifier](https://docs.oracle.com/iaas/Content/General/Concepts/regions.htm) of + * the monitored region. E.g. us-ashburn-1 + */ + @com.fasterxml.jackson.annotation.JsonProperty("regionId") + private final String regionId; + + /** + * The [Region Identifier](https://docs.oracle.com/iaas/Content/General/Concepts/regions.htm) of + * the monitored region. E.g. us-ashburn-1 + * + * @return the value + */ + public String getRegionId() { + return regionId; + } + + @com.fasterxml.jackson.annotation.JsonProperty("dataPopulation") + private final TenancyAttachmentDataPopulation dataPopulation; + + public TenancyAttachmentDataPopulation getDataPopulation() { + return dataPopulation; + } + + @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("TenancyAttachmentMonitoredRegionSummary("); + sb.append("super=").append(super.toString()); + sb.append("regionId=").append(String.valueOf(this.regionId)); + sb.append(", dataPopulation=").append(String.valueOf(this.dataPopulation)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof TenancyAttachmentMonitoredRegionSummary)) { + return false; + } + + TenancyAttachmentMonitoredRegionSummary other = (TenancyAttachmentMonitoredRegionSummary) o; + return java.util.Objects.equals(this.regionId, other.regionId) + && java.util.Objects.equals(this.dataPopulation, other.dataPopulation) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.regionId == null ? 43 : this.regionId.hashCode()); + result = + (result * PRIME) + + (this.dataPopulation == null ? 43 : this.dataPopulation.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentSummary.java b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentSummary.java index a5d688c8ff8..3210d1b9c67 100644 --- a/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentSummary.java +++ b/bmc-resourceanalytics/src/main/java/com/oracle/bmc/resourceanalytics/model/TenancyAttachmentSummary.java @@ -29,6 +29,9 @@ public final class TenancyAttachmentSummary "resourceAnalyticsInstanceId", "tenancyId", "isReportingTenancy", + "dataPopulationStatus", + "timeDataPopulationStarted", + "timeDataPopulationEnded", "timeCreated", "timeUpdated", "lifecycleState", @@ -41,6 +44,9 @@ public TenancyAttachmentSummary( String resourceAnalyticsInstanceId, String tenancyId, Boolean isReportingTenancy, + TenancyAttachment.DataPopulationStatus dataPopulationStatus, + java.util.Date timeDataPopulationStarted, + java.util.Date timeDataPopulationEnded, java.util.Date timeCreated, java.util.Date timeUpdated, TenancyAttachment.LifecycleState lifecycleState, @@ -52,6 +58,9 @@ public TenancyAttachmentSummary( this.resourceAnalyticsInstanceId = resourceAnalyticsInstanceId; this.tenancyId = tenancyId; this.isReportingTenancy = isReportingTenancy; + this.dataPopulationStatus = dataPopulationStatus; + this.timeDataPopulationStarted = timeDataPopulationStarted; + this.timeDataPopulationEnded = timeDataPopulationEnded; this.timeCreated = timeCreated; this.timeUpdated = timeUpdated; this.lifecycleState = lifecycleState; @@ -148,6 +157,68 @@ public Builder isReportingTenancy(Boolean isReportingTenancy) { this.__explicitlySet__.add("isReportingTenancy"); return this; } + /** The overall status of the data population from the tenancy. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataPopulationStatus") + private TenancyAttachment.DataPopulationStatus dataPopulationStatus; + + /** + * The overall status of the data population from the tenancy. + * + * @param dataPopulationStatus the value to set + * @return this builder + */ + public Builder dataPopulationStatus( + TenancyAttachment.DataPopulationStatus dataPopulationStatus) { + this.dataPopulationStatus = dataPopulationStatus; + this.__explicitlySet__.add("dataPopulationStatus"); + return this; + } + /** + * The date and time the data population tasks started, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @param timeDataPopulationStarted the value to set + * @return this builder + */ + public Builder timeDataPopulationStarted(java.util.Date timeDataPopulationStarted) { + this.timeDataPopulationStarted = timeDataPopulationStarted; + this.__explicitlySet__.add("timeDataPopulationStarted"); + return this; + } + /** + * The date and time the data population tasks completed, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @param timeDataPopulationEnded the value to set + * @return this builder + */ + public Builder timeDataPopulationEnded(java.util.Date timeDataPopulationEnded) { + this.timeDataPopulationEnded = timeDataPopulationEnded; + this.__explicitlySet__.add("timeDataPopulationEnded"); + return this; + } /** * The date and time the TenancyAttachment was created, in the format defined by [RFC * 3339](https://tools.ietf.org/html/rfc3339). @@ -263,6 +334,9 @@ public TenancyAttachmentSummary build() { this.resourceAnalyticsInstanceId, this.tenancyId, this.isReportingTenancy, + this.dataPopulationStatus, + this.timeDataPopulationStarted, + this.timeDataPopulationEnded, this.timeCreated, this.timeUpdated, this.lifecycleState, @@ -291,6 +365,15 @@ public Builder copy(TenancyAttachmentSummary model) { if (model.wasPropertyExplicitlySet("isReportingTenancy")) { this.isReportingTenancy(model.getIsReportingTenancy()); } + if (model.wasPropertyExplicitlySet("dataPopulationStatus")) { + this.dataPopulationStatus(model.getDataPopulationStatus()); + } + if (model.wasPropertyExplicitlySet("timeDataPopulationStarted")) { + this.timeDataPopulationStarted(model.getTimeDataPopulationStarted()); + } + if (model.wasPropertyExplicitlySet("timeDataPopulationEnded")) { + this.timeDataPopulationEnded(model.getTimeDataPopulationEnded()); + } if (model.wasPropertyExplicitlySet("timeCreated")) { this.timeCreated(model.getTimeCreated()); } @@ -396,6 +479,61 @@ public Boolean getIsReportingTenancy() { return isReportingTenancy; } + /** The overall status of the data population from the tenancy. */ + @com.fasterxml.jackson.annotation.JsonProperty("dataPopulationStatus") + private final TenancyAttachment.DataPopulationStatus dataPopulationStatus; + + /** + * The overall status of the data population from the tenancy. + * + * @return the value + */ + public TenancyAttachment.DataPopulationStatus getDataPopulationStatus() { + return dataPopulationStatus; + } + + /** + * The date and time the data population tasks started, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeDataPopulationStarted() { + return timeDataPopulationStarted; + } + + /** + * The date and time the data population tasks completed, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + *

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

Example: {@code 2016-08-25T21:10:29.600Z} + * + * @return the value + */ + public java.util.Date getTimeDataPopulationEnded() { + return timeDataPopulationEnded; + } + /** * The date and time the TenancyAttachment was created, in the format defined by [RFC * 3339](https://tools.ietf.org/html/rfc3339). @@ -508,6 +646,11 @@ public String toString(boolean includeByteArrayContents) { .append(String.valueOf(this.resourceAnalyticsInstanceId)); sb.append(", tenancyId=").append(String.valueOf(this.tenancyId)); sb.append(", isReportingTenancy=").append(String.valueOf(this.isReportingTenancy)); + sb.append(", dataPopulationStatus=").append(String.valueOf(this.dataPopulationStatus)); + sb.append(", timeDataPopulationStarted=") + .append(String.valueOf(this.timeDataPopulationStarted)); + sb.append(", timeDataPopulationEnded=") + .append(String.valueOf(this.timeDataPopulationEnded)); sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); @@ -533,6 +676,11 @@ public boolean equals(Object o) { this.resourceAnalyticsInstanceId, other.resourceAnalyticsInstanceId) && java.util.Objects.equals(this.tenancyId, other.tenancyId) && java.util.Objects.equals(this.isReportingTenancy, other.isReportingTenancy) + && java.util.Objects.equals(this.dataPopulationStatus, other.dataPopulationStatus) + && java.util.Objects.equals( + this.timeDataPopulationStarted, other.timeDataPopulationStarted) + && java.util.Objects.equals( + this.timeDataPopulationEnded, other.timeDataPopulationEnded) && java.util.Objects.equals(this.timeCreated, other.timeCreated) && java.util.Objects.equals(this.timeUpdated, other.timeUpdated) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) @@ -558,6 +706,21 @@ public int hashCode() { + (this.isReportingTenancy == null ? 43 : this.isReportingTenancy.hashCode()); + result = + (result * PRIME) + + (this.dataPopulationStatus == null + ? 43 + : this.dataPopulationStatus.hashCode()); + result = + (result * PRIME) + + (this.timeDataPopulationStarted == null + ? 43 + : this.timeDataPopulationStarted.hashCode()); + result = + (result * PRIME) + + (this.timeDataPopulationEnded == null + ? 43 + : this.timeDataPopulationEnded.hashCode()); result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.hashCode()); result = diff --git a/bmc-resourceanalytics/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-resourceanalytics/reflect-config.json b/bmc-resourceanalytics/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-resourceanalytics/reflect-config.json index 6404f3b38fb..8c0e70d2e78 100644 --- a/bmc-resourceanalytics/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-resourceanalytics/reflect-config.json +++ b/bmc-resourceanalytics/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-resourceanalytics/reflect-config.json @@ -228,6 +228,12 @@ "allDeclaredFields": true, "allDeclaredMethods": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.resourceanalytics.model.ResourceAnalyticsInstanceOacAttachmentDetails$CapacityType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.resourceanalytics.model.ResourceAnalyticsInstanceOacNetworkDetails", @@ -276,6 +282,12 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.resourceanalytics.model.TenancyAttachment$DataPopulationStatus", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.resourceanalytics.model.TenancyAttachment$LifecycleState", @@ -296,6 +308,34 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.resourceanalytics.model.TenancyAttachmentDataPopulation", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.resourceanalytics.model.TenancyAttachmentDataPopulation$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.resourceanalytics.model.TenancyAttachmentMonitoredRegionSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.resourceanalytics.model.TenancyAttachmentMonitoredRegionSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.resourceanalytics.model.TenancyAttachmentSummary", diff --git a/bmc-resourcemanager/pom.xml b/bmc-resourcemanager/pom.xml index 7c35f48b709..6664f8e02ff 100644 --- a/bmc-resourcemanager/pom.xml +++ b/bmc-resourcemanager/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-resourcemanager @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-resourcescheduler/pom.xml b/bmc-resourcescheduler/pom.xml index 42cb3cdc077..f81384b54ca 100644 --- a/bmc-resourcescheduler/pom.xml +++ b/bmc-resourcescheduler/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-resourcescheduler @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-resourcesearch/pom.xml b/bmc-resourcesearch/pom.xml index 858dba3f82e..6ed888ede9f 100644 --- a/bmc-resourcesearch/pom.xml +++ b/bmc-resourcesearch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-resourcesearch @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-rover/pom.xml b/bmc-rover/pom.xml index 5876a8a2b31..0eaf03d24e3 100644 --- a/bmc-rover/pom.xml +++ b/bmc-rover/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-rover @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-sch/pom.xml b/bmc-sch/pom.xml index 19bacb6d40a..6d0c2722bfd 100644 --- a/bmc-sch/pom.xml +++ b/bmc-sch/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-sch @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-secrets/pom.xml b/bmc-secrets/pom.xml index ee0fff094b4..5e74de4f8da 100644 --- a/bmc-secrets/pom.xml +++ b/bmc-secrets/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-secrets @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-securityattribute/pom.xml b/bmc-securityattribute/pom.xml index a3a62573101..66c7ff35158 100644 --- a/bmc-securityattribute/pom.xml +++ b/bmc-securityattribute/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-securityattribute @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-self/pom.xml b/bmc-self/pom.xml index 91d7f1179fc..1843ec30741 100644 --- a/bmc-self/pom.xml +++ b/bmc-self/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-self @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-servicecatalog/pom.xml b/bmc-servicecatalog/pom.xml index 47dacd98a91..d1dc043330f 100644 --- a/bmc-servicecatalog/pom.xml +++ b/bmc-servicecatalog/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-servicecatalog @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-servicemanagerproxy/pom.xml b/bmc-servicemanagerproxy/pom.xml index c7f8a3cbb7a..c68dd22efc8 100644 --- a/bmc-servicemanagerproxy/pom.xml +++ b/bmc-servicemanagerproxy/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-servicemanagerproxy @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.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 6b916754a72..e6d59f92772 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.86.2 + 3.87.0 ../pom.xml oci-java-sdk-shaded-full diff --git a/bmc-shaded/pom.xml b/bmc-shaded/pom.xml index 58288fb2e49..d0ceb7cb53c 100644 --- a/bmc-shaded/pom.xml +++ b/bmc-shaded/pom.xml @@ -5,7 +5,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml diff --git a/bmc-stackmonitoring/pom.xml b/bmc-stackmonitoring/pom.xml index 79741d171c9..04286b03032 100644 --- a/bmc-stackmonitoring/pom.xml +++ b/bmc-stackmonitoring/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-stackmonitoring @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-streaming/pom.xml b/bmc-streaming/pom.xml index 5654fef18ca..39e03d0f197 100644 --- a/bmc-streaming/pom.xml +++ b/bmc-streaming/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-streaming @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdmin.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdmin.java index 2b52d245ef9..3eea496637c 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdmin.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdmin.java @@ -280,6 +280,21 @@ ChangeStreamPoolCompartmentResponse changeStreamPoolCompartment( */ GetStreamPoolResponse getStreamPool(GetStreamPoolRequest request); + /** + * Gets the details of a work 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 GetWorkRequest API. + */ + GetWorkRequestResponse getWorkRequest(GetWorkRequestRequest request); + /** * Lists the connectharness. * @@ -330,6 +345,54 @@ ChangeStreamPoolCompartmentResponse changeStreamPoolCompartment( */ ListStreamsResponse listStreams(ListStreamsRequest request); + /** + * Lists the errors for a work 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 + * ListWorkRequestErrors API. + */ + ListWorkRequestErrorsResponse listWorkRequestErrors(ListWorkRequestErrorsRequest request); + + /** + * Lists the logs for a work 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 ListWorkRequestLogs + * API. + */ + ListWorkRequestLogsResponse listWorkRequestLogs(ListWorkRequestLogsRequest request); + + /** + * Lists the work requests in a compartment. + * + * @param request The request object containing the details to send + * @return A response object containing details about the completed operation + * @throws BmcException when an error occurs. This operation uses + * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is + * provided. The specifics of the default retry strategy are described here + * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries + *

Example: Click here to see how to use ListWorkRequests + * API. + */ + ListWorkRequestsResponse listWorkRequests(ListWorkRequestsRequest request); + /** * Updates the tags applied to the connect harness. * diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminAsync.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminAsync.java index c4cdfbed257..81216b51564 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminAsync.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminAsync.java @@ -276,6 +276,21 @@ java.util.concurrent.Future getStreamPool( com.oracle.bmc.responses.AsyncHandler handler); + /** + * Gets the details of a work 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 getWorkRequest( + GetWorkRequestRequest request, + com.oracle.bmc.responses.AsyncHandler + handler); + /** * Lists the connectharness. * @@ -324,6 +339,53 @@ java.util.concurrent.Future listStreams( ListStreamsRequest request, com.oracle.bmc.responses.AsyncHandler handler); + /** + * Lists the errors for a work 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 listWorkRequestErrors( + ListWorkRequestErrorsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListWorkRequestErrorsRequest, ListWorkRequestErrorsResponse> + handler); + + /** + * Lists the logs for a work 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 listWorkRequestLogs( + ListWorkRequestLogsRequest request, + com.oracle.bmc.responses.AsyncHandler< + ListWorkRequestLogsRequest, ListWorkRequestLogsResponse> + handler); + + /** + * Lists the work requests in a compartment. + * + * @param request The request object containing the details to send + * @param handler The request handler to invoke upon completion, may be null. + * @return A Future that can be used to get the response if no AsyncHandler was provided. Note, + * if you provide an AsyncHandler and use the Future, some types of responses (like + * java.io.InputStream) may not be able to be read in both places as the underlying stream + * may only be consumed once. + */ + java.util.concurrent.Future listWorkRequests( + ListWorkRequestsRequest request, + com.oracle.bmc.responses.AsyncHandler + handler); + /** * Updates the tags applied to the connect harness. * diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminAsyncClient.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminAsyncClient.java index 4a0c077b681..9571c0e8acc 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminAsyncClient.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminAsyncClient.java @@ -128,6 +128,9 @@ public void setRegion(String regionId) { .handleResponseHeaderString( "opc-request-id", ChangeConnectHarnessCompartmentResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ChangeConnectHarnessCompartmentResponse.Builder::opcWorkRequestId) .callAsync(handler); } @@ -162,6 +165,9 @@ public java.util.concurrent.Future changeStream .hasBody() .handleResponseHeaderString( "opc-request-id", ChangeStreamCompartmentResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ChangeStreamCompartmentResponse.Builder::opcWorkRequestId) .callAsync(handler); } @@ -198,6 +204,9 @@ public java.util.concurrent.Future changeStream .hasBody() .handleResponseHeaderString( "opc-request-id", ChangeStreamPoolCompartmentResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ChangeStreamPoolCompartmentResponse.Builder::opcWorkRequestId) .callAsync(handler); } @@ -230,6 +239,9 @@ public java.util.concurrent.Future createConnectHa CreateConnectHarnessResponse.Builder::connectHarness) .handleResponseHeaderString( "opc-request-id", CreateConnectHarnessResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + CreateConnectHarnessResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", CreateConnectHarnessResponse.Builder::etag) .callAsync(handler); } @@ -259,6 +271,8 @@ public java.util.concurrent.Future createStream( CreateStreamResponse.Builder::stream) .handleResponseHeaderString( "opc-request-id", CreateStreamResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", CreateStreamResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", CreateStreamResponse.Builder::etag) .callAsync(handler); } @@ -291,6 +305,8 @@ public java.util.concurrent.Future createStreamPool( CreateStreamPoolResponse.Builder::streamPool) .handleResponseHeaderString( "opc-request-id", CreateStreamPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", CreateStreamPoolResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", CreateStreamPoolResponse.Builder::etag) .callAsync(handler); } @@ -320,6 +336,9 @@ public java.util.concurrent.Future deleteConnectHa .appendHeader("if-match", request.getIfMatch()) .handleResponseHeaderString( "opc-request-id", DeleteConnectHarnessResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + DeleteConnectHarnessResponse.Builder::opcWorkRequestId) .callAsync(handler); } @@ -347,6 +366,8 @@ public java.util.concurrent.Future deleteStream( .appendHeader("if-match", request.getIfMatch()) .handleResponseHeaderString( "opc-request-id", DeleteStreamResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", DeleteStreamResponse.Builder::opcWorkRequestId) .callAsync(handler); } @@ -375,6 +396,8 @@ public java.util.concurrent.Future deleteStreamPool( .appendHeader("if-match", request.getIfMatch()) .handleResponseHeaderString( "opc-request-id", DeleteStreamPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", DeleteStreamPoolResponse.Builder::opcWorkRequestId) .callAsync(handler); } @@ -469,6 +492,36 @@ public java.util.concurrent.Future getStreamPool( .callAsync(handler); } + @Override + public java.util.concurrent.Future getWorkRequest( + GetWorkRequestRequest request, + final com.oracle.bmc.responses.AsyncHandler< + GetWorkRequestRequest, GetWorkRequestResponse> + handler) { + + Validate.notBlank(request.getWorkRequestId(), "workRequestId must not be blank"); + + return clientCall(request, GetWorkRequestResponse::builder) + .logger(LOG, "getWorkRequest") + .serviceDetails( + "StreamAdmin", + "GetWorkRequest", + "https://docs.oracle.com/iaas/api/#/en/streaming/20180418/WorkRequest/GetWorkRequest") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetWorkRequestRequest::builder) + .basePath("/20180418") + .appendPathParam("workRequests") + .appendPathParam(request.getWorkRequestId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.streaming.model.WorkRequest.class, + GetWorkRequestResponse.Builder::workRequest) + .handleResponseHeaderString( + "opc-request-id", GetWorkRequestResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future listConnectHarnesses( ListConnectHarnessesRequest request, @@ -588,6 +641,122 @@ public java.util.concurrent.Future listStreams( .callAsync(handler); } + @Override + public java.util.concurrent.Future listWorkRequestErrors( + ListWorkRequestErrorsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListWorkRequestErrorsRequest, ListWorkRequestErrorsResponse> + handler) { + + Validate.notBlank(request.getWorkRequestId(), "workRequestId must not be blank"); + + return clientCall(request, ListWorkRequestErrorsResponse::builder) + .logger(LOG, "listWorkRequestErrors") + .serviceDetails( + "StreamAdmin", + "ListWorkRequestErrors", + "https://docs.oracle.com/iaas/api/#/en/streaming/20180418/WorkRequestErrorCollection/ListWorkRequestErrors") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListWorkRequestErrorsRequest::builder) + .basePath("/20180418") + .appendPathParam("workRequests") + .appendPathParam(request.getWorkRequestId()) + .appendPathParam("errors") + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.streaming.model.WorkRequestErrorCollection.class, + ListWorkRequestErrorsResponse.Builder::workRequestErrorCollection) + .handleResponseHeaderString( + "opc-next-page", ListWorkRequestErrorsResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-prev-page", ListWorkRequestErrorsResponse.Builder::opcPrevPage) + .handleResponseHeaderString( + "opc-request-id", ListWorkRequestErrorsResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future listWorkRequestLogs( + ListWorkRequestLogsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListWorkRequestLogsRequest, ListWorkRequestLogsResponse> + handler) { + + Validate.notBlank(request.getWorkRequestId(), "workRequestId must not be blank"); + + return clientCall(request, ListWorkRequestLogsResponse::builder) + .logger(LOG, "listWorkRequestLogs") + .serviceDetails( + "StreamAdmin", + "ListWorkRequestLogs", + "https://docs.oracle.com/iaas/api/#/en/streaming/20180418/WorkRequestLogEntry/ListWorkRequestLogs") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListWorkRequestLogsRequest::builder) + .basePath("/20180418") + .appendPathParam("workRequests") + .appendPathParam(request.getWorkRequestId()) + .appendPathParam("logs") + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.streaming.model.WorkRequestLogEntryCollection.class, + ListWorkRequestLogsResponse.Builder::workRequestLogEntryCollection) + .handleResponseHeaderString( + "opc-next-page", ListWorkRequestLogsResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-prev-page", ListWorkRequestLogsResponse.Builder::opcPrevPage) + .handleResponseHeaderString( + "opc-request-id", ListWorkRequestLogsResponse.Builder::opcRequestId) + .callAsync(handler); + } + + @Override + public java.util.concurrent.Future listWorkRequests( + ListWorkRequestsRequest request, + final com.oracle.bmc.responses.AsyncHandler< + ListWorkRequestsRequest, ListWorkRequestsResponse> + handler) { + + return clientCall(request, ListWorkRequestsResponse::builder) + .logger(LOG, "listWorkRequests") + .serviceDetails( + "StreamAdmin", + "ListWorkRequests", + "https://docs.oracle.com/iaas/api/#/en/streaming/20180418/WorkRequestSummaryCollection/ListWorkRequests") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListWorkRequestsRequest::builder) + .basePath("/20180418") + .appendPathParam("workRequests") + .appendQueryParam("workRequestId", request.getWorkRequestId()) + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("resourceId", request.getResourceId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .handleBody( + com.oracle.bmc.streaming.model.WorkRequestSummaryCollection.class, + ListWorkRequestsResponse.Builder::workRequestSummaryCollection) + .handleResponseHeaderString( + "opc-next-page", ListWorkRequestsResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-prev-page", ListWorkRequestsResponse.Builder::opcPrevPage) + .handleResponseHeaderString( + "opc-request-id", ListWorkRequestsResponse.Builder::opcRequestId) + .callAsync(handler); + } + @Override public java.util.concurrent.Future updateConnectHarness( UpdateConnectHarnessRequest request, @@ -620,6 +789,9 @@ public java.util.concurrent.Future updateConnectHa UpdateConnectHarnessResponse.Builder::connectHarness) .handleResponseHeaderString( "opc-request-id", UpdateConnectHarnessResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + UpdateConnectHarnessResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", UpdateConnectHarnessResponse.Builder::etag) .callAsync(handler); } @@ -653,6 +825,8 @@ public java.util.concurrent.Future updateStream( UpdateStreamResponse.Builder::stream) .handleResponseHeaderString( "opc-request-id", UpdateStreamResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", UpdateStreamResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", UpdateStreamResponse.Builder::etag) .callAsync(handler); } @@ -688,6 +862,8 @@ public java.util.concurrent.Future updateStreamPool( UpdateStreamPoolResponse.Builder::streamPool) .handleResponseHeaderString( "opc-request-id", UpdateStreamPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", UpdateStreamPoolResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", UpdateStreamPoolResponse.Builder::etag) .callAsync(handler); } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminClient.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminClient.java index 7fd23266cf1..feeb640229f 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminClient.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminClient.java @@ -152,6 +152,9 @@ public ChangeConnectHarnessCompartmentResponse changeConnectHarnessCompartment( .handleResponseHeaderString( "opc-request-id", ChangeConnectHarnessCompartmentResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ChangeConnectHarnessCompartmentResponse.Builder::opcWorkRequestId) .callSync(); } @@ -184,6 +187,9 @@ public ChangeStreamCompartmentResponse changeStreamCompartment( .hasBody() .handleResponseHeaderString( "opc-request-id", ChangeStreamCompartmentResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ChangeStreamCompartmentResponse.Builder::opcWorkRequestId) .callSync(); } @@ -216,6 +222,9 @@ public ChangeStreamPoolCompartmentResponse changeStreamPoolCompartment( .hasBody() .handleResponseHeaderString( "opc-request-id", ChangeStreamPoolCompartmentResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + ChangeStreamPoolCompartmentResponse.Builder::opcWorkRequestId) .callSync(); } @@ -245,6 +254,9 @@ public CreateConnectHarnessResponse createConnectHarness(CreateConnectHarnessReq CreateConnectHarnessResponse.Builder::connectHarness) .handleResponseHeaderString( "opc-request-id", CreateConnectHarnessResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + CreateConnectHarnessResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", CreateConnectHarnessResponse.Builder::etag) .callSync(); } @@ -272,6 +284,8 @@ public CreateStreamResponse createStream(CreateStreamRequest request) { CreateStreamResponse.Builder::stream) .handleResponseHeaderString( "opc-request-id", CreateStreamResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", CreateStreamResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", CreateStreamResponse.Builder::etag) .callSync(); } @@ -301,6 +315,8 @@ public CreateStreamPoolResponse createStreamPool(CreateStreamPoolRequest request CreateStreamPoolResponse.Builder::streamPool) .handleResponseHeaderString( "opc-request-id", CreateStreamPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", CreateStreamPoolResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", CreateStreamPoolResponse.Builder::etag) .callSync(); } @@ -327,6 +343,9 @@ public DeleteConnectHarnessResponse deleteConnectHarness(DeleteConnectHarnessReq .operationUsesDefaultRetries() .handleResponseHeaderString( "opc-request-id", DeleteConnectHarnessResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + DeleteConnectHarnessResponse.Builder::opcWorkRequestId) .callSync(); } @@ -352,6 +371,8 @@ public DeleteStreamResponse deleteStream(DeleteStreamRequest request) { .operationUsesDefaultRetries() .handleResponseHeaderString( "opc-request-id", DeleteStreamResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", DeleteStreamResponse.Builder::opcWorkRequestId) .callSync(); } @@ -377,6 +398,8 @@ public DeleteStreamPoolResponse deleteStreamPool(DeleteStreamPoolRequest request .operationUsesDefaultRetries() .handleResponseHeaderString( "opc-request-id", DeleteStreamPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", DeleteStreamPoolResponse.Builder::opcWorkRequestId) .callSync(); } @@ -464,6 +487,33 @@ public GetStreamPoolResponse getStreamPool(GetStreamPoolRequest request) { .callSync(); } + @Override + public GetWorkRequestResponse getWorkRequest(GetWorkRequestRequest request) { + + Validate.notBlank(request.getWorkRequestId(), "workRequestId must not be blank"); + + return clientCall(request, GetWorkRequestResponse::builder) + .logger(LOG, "getWorkRequest") + .serviceDetails( + "StreamAdmin", + "GetWorkRequest", + "https://docs.oracle.com/iaas/api/#/en/streaming/20180418/WorkRequest/GetWorkRequest") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(GetWorkRequestRequest::builder) + .basePath("/20180418") + .appendPathParam("workRequests") + .appendPathParam(request.getWorkRequestId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.streaming.model.WorkRequest.class, + GetWorkRequestResponse.Builder::workRequest) + .handleResponseHeaderString( + "opc-request-id", GetWorkRequestResponse.Builder::opcRequestId) + .callSync(); + } + @Override public ListConnectHarnessesResponse listConnectHarnesses(ListConnectHarnessesRequest request) { Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required"); @@ -575,6 +625,114 @@ public ListStreamsResponse listStreams(ListStreamsRequest request) { .callSync(); } + @Override + public ListWorkRequestErrorsResponse listWorkRequestErrors( + ListWorkRequestErrorsRequest request) { + + Validate.notBlank(request.getWorkRequestId(), "workRequestId must not be blank"); + + return clientCall(request, ListWorkRequestErrorsResponse::builder) + .logger(LOG, "listWorkRequestErrors") + .serviceDetails( + "StreamAdmin", + "ListWorkRequestErrors", + "https://docs.oracle.com/iaas/api/#/en/streaming/20180418/WorkRequestErrorCollection/ListWorkRequestErrors") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListWorkRequestErrorsRequest::builder) + .basePath("/20180418") + .appendPathParam("workRequests") + .appendPathParam(request.getWorkRequestId()) + .appendPathParam("errors") + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.streaming.model.WorkRequestErrorCollection.class, + ListWorkRequestErrorsResponse.Builder::workRequestErrorCollection) + .handleResponseHeaderString( + "opc-next-page", ListWorkRequestErrorsResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-prev-page", ListWorkRequestErrorsResponse.Builder::opcPrevPage) + .handleResponseHeaderString( + "opc-request-id", ListWorkRequestErrorsResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public ListWorkRequestLogsResponse listWorkRequestLogs(ListWorkRequestLogsRequest request) { + + Validate.notBlank(request.getWorkRequestId(), "workRequestId must not be blank"); + + return clientCall(request, ListWorkRequestLogsResponse::builder) + .logger(LOG, "listWorkRequestLogs") + .serviceDetails( + "StreamAdmin", + "ListWorkRequestLogs", + "https://docs.oracle.com/iaas/api/#/en/streaming/20180418/WorkRequestLogEntry/ListWorkRequestLogs") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListWorkRequestLogsRequest::builder) + .basePath("/20180418") + .appendPathParam("workRequests") + .appendPathParam(request.getWorkRequestId()) + .appendPathParam("logs") + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.streaming.model.WorkRequestLogEntryCollection.class, + ListWorkRequestLogsResponse.Builder::workRequestLogEntryCollection) + .handleResponseHeaderString( + "opc-next-page", ListWorkRequestLogsResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-prev-page", ListWorkRequestLogsResponse.Builder::opcPrevPage) + .handleResponseHeaderString( + "opc-request-id", ListWorkRequestLogsResponse.Builder::opcRequestId) + .callSync(); + } + + @Override + public ListWorkRequestsResponse listWorkRequests(ListWorkRequestsRequest request) { + + return clientCall(request, ListWorkRequestsResponse::builder) + .logger(LOG, "listWorkRequests") + .serviceDetails( + "StreamAdmin", + "ListWorkRequests", + "https://docs.oracle.com/iaas/api/#/en/streaming/20180418/WorkRequestSummaryCollection/ListWorkRequests") + .method(com.oracle.bmc.http.client.Method.GET) + .requestBuilder(ListWorkRequestsRequest::builder) + .basePath("/20180418") + .appendPathParam("workRequests") + .appendQueryParam("workRequestId", request.getWorkRequestId()) + .appendQueryParam("compartmentId", request.getCompartmentId()) + .appendQueryParam("page", request.getPage()) + .appendQueryParam("limit", request.getLimit()) + .appendEnumQueryParam("sortOrder", request.getSortOrder()) + .appendEnumQueryParam("sortBy", request.getSortBy()) + .appendQueryParam("resourceId", request.getResourceId()) + .accept("application/json") + .appendHeader("opc-request-id", request.getOpcRequestId()) + .operationUsesDefaultRetries() + .handleBody( + com.oracle.bmc.streaming.model.WorkRequestSummaryCollection.class, + ListWorkRequestsResponse.Builder::workRequestSummaryCollection) + .handleResponseHeaderString( + "opc-next-page", ListWorkRequestsResponse.Builder::opcNextPage) + .handleResponseHeaderString( + "opc-prev-page", ListWorkRequestsResponse.Builder::opcPrevPage) + .handleResponseHeaderString( + "opc-request-id", ListWorkRequestsResponse.Builder::opcRequestId) + .callSync(); + } + @Override public UpdateConnectHarnessResponse updateConnectHarness(UpdateConnectHarnessRequest request) { @@ -604,6 +762,9 @@ public UpdateConnectHarnessResponse updateConnectHarness(UpdateConnectHarnessReq UpdateConnectHarnessResponse.Builder::connectHarness) .handleResponseHeaderString( "opc-request-id", UpdateConnectHarnessResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", + UpdateConnectHarnessResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", UpdateConnectHarnessResponse.Builder::etag) .callSync(); } @@ -635,6 +796,8 @@ public UpdateStreamResponse updateStream(UpdateStreamRequest request) { UpdateStreamResponse.Builder::stream) .handleResponseHeaderString( "opc-request-id", UpdateStreamResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", UpdateStreamResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", UpdateStreamResponse.Builder::etag) .callSync(); } @@ -667,6 +830,8 @@ public UpdateStreamPoolResponse updateStreamPool(UpdateStreamPoolRequest request UpdateStreamPoolResponse.Builder::streamPool) .handleResponseHeaderString( "opc-request-id", UpdateStreamPoolResponse.Builder::opcRequestId) + .handleResponseHeaderString( + "opc-work-request-id", UpdateStreamPoolResponse.Builder::opcWorkRequestId) .handleResponseHeaderString("etag", UpdateStreamPoolResponse.Builder::etag) .callSync(); } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminPaginators.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminPaginators.java index 15633363efe..3944f40728b 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminPaginators.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminPaginators.java @@ -386,4 +386,360 @@ public java.util.List apply( } }); } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listWorkRequestErrors 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 listWorkRequestErrorsResponseIterator( + final ListWorkRequestErrorsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListWorkRequestErrorsRequest.Builder, + ListWorkRequestErrorsRequest, + ListWorkRequestErrorsResponse>( + new java.util.function.Supplier() { + @Override + public ListWorkRequestErrorsRequest.Builder get() { + return ListWorkRequestErrorsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListWorkRequestErrorsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestErrorsRequest.Builder>, + ListWorkRequestErrorsRequest>() { + @Override + public ListWorkRequestErrorsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestErrorsRequest.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< + ListWorkRequestErrorsRequest, ListWorkRequestErrorsResponse>() { + @Override + public ListWorkRequestErrorsResponse apply( + ListWorkRequestErrorsRequest request) { + return client.listWorkRequestErrors(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.streaming.model.WorkRequestError} objects contained in responses from the + * listWorkRequestErrors 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.streaming.model.WorkRequestError} objects contained in responses received + * from the service. + */ + public Iterable + listWorkRequestErrorsRecordIterator(final ListWorkRequestErrorsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListWorkRequestErrorsRequest.Builder, + ListWorkRequestErrorsRequest, + ListWorkRequestErrorsResponse, + com.oracle.bmc.streaming.model.WorkRequestError>( + new java.util.function.Supplier() { + @Override + public ListWorkRequestErrorsRequest.Builder get() { + return ListWorkRequestErrorsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListWorkRequestErrorsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestErrorsRequest.Builder>, + ListWorkRequestErrorsRequest>() { + @Override + public ListWorkRequestErrorsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestErrorsRequest.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< + ListWorkRequestErrorsRequest, ListWorkRequestErrorsResponse>() { + @Override + public ListWorkRequestErrorsResponse apply( + ListWorkRequestErrorsRequest request) { + return client.listWorkRequestErrors(request); + } + }, + new java.util.function.Function< + ListWorkRequestErrorsResponse, + java.util.List>() { + @Override + public java.util.List apply( + ListWorkRequestErrorsResponse response) { + return response.getWorkRequestErrorCollection().getItems(); + } + }); + } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listWorkRequestLogs 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 listWorkRequestLogsResponseIterator( + final ListWorkRequestLogsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListWorkRequestLogsRequest.Builder, + ListWorkRequestLogsRequest, + ListWorkRequestLogsResponse>( + new java.util.function.Supplier() { + @Override + public ListWorkRequestLogsRequest.Builder get() { + return ListWorkRequestLogsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListWorkRequestLogsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestLogsRequest.Builder>, + ListWorkRequestLogsRequest>() { + @Override + public ListWorkRequestLogsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestLogsRequest.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< + ListWorkRequestLogsRequest, ListWorkRequestLogsResponse>() { + @Override + public ListWorkRequestLogsResponse apply(ListWorkRequestLogsRequest request) { + return client.listWorkRequestLogs(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.streaming.model.WorkRequestLogEntry} objects contained in responses from the + * listWorkRequestLogs 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.streaming.model.WorkRequestLogEntry} objects contained in responses + * received from the service. + */ + public Iterable + listWorkRequestLogsRecordIterator(final ListWorkRequestLogsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListWorkRequestLogsRequest.Builder, + ListWorkRequestLogsRequest, + ListWorkRequestLogsResponse, + com.oracle.bmc.streaming.model.WorkRequestLogEntry>( + new java.util.function.Supplier() { + @Override + public ListWorkRequestLogsRequest.Builder get() { + return ListWorkRequestLogsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListWorkRequestLogsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestLogsRequest.Builder>, + ListWorkRequestLogsRequest>() { + @Override + public ListWorkRequestLogsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestLogsRequest.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< + ListWorkRequestLogsRequest, ListWorkRequestLogsResponse>() { + @Override + public ListWorkRequestLogsResponse apply(ListWorkRequestLogsRequest request) { + return client.listWorkRequestLogs(request); + } + }, + new java.util.function.Function< + ListWorkRequestLogsResponse, + java.util.List>() { + @Override + public java.util.List apply( + ListWorkRequestLogsResponse response) { + return response.getWorkRequestLogEntryCollection().getItems(); + } + }); + } + + /** + * Creates a new iterable which will iterate over the responses received from the + * listWorkRequests 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 listWorkRequestsResponseIterator( + final ListWorkRequestsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseIterable< + ListWorkRequestsRequest.Builder, ListWorkRequestsRequest, ListWorkRequestsResponse>( + new java.util.function.Supplier() { + @Override + public ListWorkRequestsRequest.Builder get() { + return ListWorkRequestsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListWorkRequestsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestsRequest.Builder>, + ListWorkRequestsRequest>() { + @Override + public ListWorkRequestsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestsRequest.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< + ListWorkRequestsRequest, ListWorkRequestsResponse>() { + @Override + public ListWorkRequestsResponse apply(ListWorkRequestsRequest request) { + return client.listWorkRequests(request); + } + }); + } + + /** + * Creates a new iterable which will iterate over the {@link + * com.oracle.bmc.streaming.model.WorkRequestSummary} objects contained in responses from the + * listWorkRequests 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.streaming.model.WorkRequestSummary} objects contained in responses + * received from the service. + */ + public Iterable + listWorkRequestsRecordIterator(final ListWorkRequestsRequest request) { + return new com.oracle.bmc.paginator.internal.ResponseRecordIterable< + ListWorkRequestsRequest.Builder, + ListWorkRequestsRequest, + ListWorkRequestsResponse, + com.oracle.bmc.streaming.model.WorkRequestSummary>( + new java.util.function.Supplier() { + @Override + public ListWorkRequestsRequest.Builder get() { + return ListWorkRequestsRequest.builder().copy(request); + } + }, + new java.util.function.Function() { + @Override + public String apply(ListWorkRequestsResponse response) { + return response.getOpcNextPage(); + } + }, + new java.util.function.Function< + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestsRequest.Builder>, + ListWorkRequestsRequest>() { + @Override + public ListWorkRequestsRequest apply( + com.oracle.bmc.paginator.internal.RequestBuilderAndToken< + ListWorkRequestsRequest.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< + ListWorkRequestsRequest, ListWorkRequestsResponse>() { + @Override + public ListWorkRequestsResponse apply(ListWorkRequestsRequest request) { + return client.listWorkRequests(request); + } + }, + new java.util.function.Function< + ListWorkRequestsResponse, + java.util.List>() { + @Override + public java.util.List apply( + ListWorkRequestsResponse response) { + return response.getWorkRequestSummaryCollection().getItems(); + } + }); + } } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminWaiters.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminWaiters.java index cd89879f1e3..029e2aa7f65 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminWaiters.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/StreamAdminWaiters.java @@ -330,4 +330,60 @@ public boolean test(GetStreamPoolResponse response) { com.oracle.bmc.streaming.model.StreamPool.LifecycleState.Deleted)), request); } + + /** + * Creates a new {@link com.oracle.bmc.waiter.Waiter} using default configuration. + * + * @param request the request to send + * @return a new {@code Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forWorkRequest(GetWorkRequestRequest request) { + return forWorkRequest(com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request); + } + + /** + * 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 {@linkcom.oracle.bmc.waiter. DelayStrategy} to use + * @return a new {@code com.oracle.bmc.waiter.Waiter} instance + */ + public com.oracle.bmc.waiter.Waiter + forWorkRequest( + GetWorkRequestRequest request, + com.oracle.bmc.waiter.TerminationStrategy terminationStrategy, + com.oracle.bmc.waiter.DelayStrategy delayStrategy) { + return forWorkRequest( + com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy), + request); + } + + // Helper method to create a new Waiter for WorkRequest. + private com.oracle.bmc.waiter.Waiter + forWorkRequest( + com.oracle.bmc.waiter.BmcGenericWaiter waiter, + final GetWorkRequestRequest request) { + return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>( + executorService, + waiter.toCallable( + () -> request, + new java.util.function.Function< + GetWorkRequestRequest, GetWorkRequestResponse>() { + @Override + public GetWorkRequestResponse apply(GetWorkRequestRequest request) { + return client.getWorkRequest(request); + } + }, + new java.util.function.Predicate() { + @Override + public boolean test(GetWorkRequestResponse response) { + // work requests are complete once the time finished is available + return response.getWorkRequest().getTimeFinished() != null; + } + }, + false), + request); + } } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/ActionType.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/ActionType.java new file mode 100644 index 00000000000..d3129c5ed52 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/ActionType.java @@ -0,0 +1,56 @@ +/** + * 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.streaming.model; + +/** Possible types of actions. */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public enum ActionType implements com.oracle.bmc.http.internal.BmcEnum { + Created("CREATED"), + Updated("UPDATED"), + Deleted("DELETED"), + InProgress("IN_PROGRESS"), + Related("RELATED"), + 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(ActionType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (ActionType v : ActionType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + ActionType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static ActionType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'ActionType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/OperationStatus.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/OperationStatus.java new file mode 100644 index 00000000000..58f25621d5e --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/OperationStatus.java @@ -0,0 +1,59 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.streaming.model; + +/** The status of the work request. */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public enum OperationStatus implements com.oracle.bmc.http.internal.BmcEnum { + Accepted("ACCEPTED"), + InProgress("IN_PROGRESS"), + Waiting("WAITING"), + NeedsAttention("NEEDS_ATTENTION"), + Failed("FAILED"), + Succeeded("SUCCEEDED"), + Canceling("CANCELING"), + Canceled("CANCELED"), + + /** + * 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(OperationStatus.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (OperationStatus v : OperationStatus.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + OperationStatus(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static OperationStatus create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'OperationStatus', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/OperationType.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/OperationType.java new file mode 100644 index 00000000000..d0aa29cd0bf --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/OperationType.java @@ -0,0 +1,60 @@ +/** + * 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.streaming.model; + +/** The asynchronous operation tracked by the work request. */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public enum OperationType implements com.oracle.bmc.http.internal.BmcEnum { + CreateStream("CREATE_STREAM"), + UpdateStream("UPDATE_STREAM"), + DeleteStream("DELETE_STREAM"), + CreateStreamPool("CREATE_STREAM_POOL"), + UpdateStreamPool("UPDATE_STREAM_POOL"), + DeleteStreamPool("DELETE_STREAM_POOL"), + CreateConnectHarness("CREATE_CONNECT_HARNESS"), + UpdateConnectHarness("UPDATE_CONNECT_HARNESS"), + DeleteConnectHarness("DELETE_CONNECT_HARNESS"), + + /** + * 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(OperationType.class); + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (OperationType v : OperationType.values()) { + if (v != UnknownEnumValue) { + map.put(v.getValue(), v); + } + } + } + + OperationType(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static OperationType create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + LOG.warn( + "Received unknown value '{}' for enum 'OperationType', returning UnknownEnumValue", + key); + return UnknownEnumValue; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/UpdateStreamPoolDetails.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/UpdateStreamPoolDetails.java index 32bced8b739..09510b75ff3 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/UpdateStreamPoolDetails.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/UpdateStreamPoolDetails.java @@ -49,10 +49,22 @@ public UpdateStreamPoolDetails( @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { - + /** + * The name of the stream pool. Avoid entering confidential information. + * + *

Example: {@code MyStreamPool} + */ @com.fasterxml.jackson.annotation.JsonProperty("name") private String name; + /** + * The name of the stream pool. Avoid entering confidential information. + * + *

Example: {@code MyStreamPool} + * + * @param name the value to set + * @return this builder + */ public Builder name(String name) { this.name = name; this.__explicitlySet__.add("name"); @@ -210,9 +222,21 @@ public Builder toBuilder() { return new Builder().copy(this); } + /** + * The name of the stream pool. Avoid entering confidential information. + * + *

Example: {@code MyStreamPool} + */ @com.fasterxml.jackson.annotation.JsonProperty("name") private final String name; + /** + * The name of the stream pool. Avoid entering confidential information. + * + *

Example: {@code MyStreamPool} + * + * @return the value + */ public String getName() { return name; } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequest.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequest.java new file mode 100644 index 00000000000..f19d65738d1 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequest.java @@ -0,0 +1,498 @@ +/** + * 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.streaming.model; + +/** + * An asynchronous work request. Work requests help you monitor long-running operations. When you + * start a long-running operation, the service creates a work request. A work request is an activity + * log that lets you track each step in the operation's progress. Each work request has an OCID that + * lets you interact with it programmatically and use it for automation.
+ * 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: 20180418") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = WorkRequest.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class WorkRequest extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "operationType", + "status", + "id", + "compartmentId", + "resources", + "percentComplete", + "timeAccepted", + "timeStarted", + "timeFinished" + }) + public WorkRequest( + OperationType operationType, + OperationStatus status, + String id, + String compartmentId, + java.util.List resources, + Float percentComplete, + java.util.Date timeAccepted, + java.util.Date timeStarted, + java.util.Date timeFinished) { + super(); + this.operationType = operationType; + this.status = status; + this.id = id; + this.compartmentId = compartmentId; + this.resources = resources; + this.percentComplete = percentComplete; + this.timeAccepted = timeAccepted; + this.timeStarted = timeStarted; + this.timeFinished = timeFinished; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The asynchronous operation tracked by this work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("operationType") + private OperationType operationType; + + /** + * The asynchronous operation tracked by this work request. + * + * @param operationType the value to set + * @return this builder + */ + public Builder operationType(OperationType operationType) { + this.operationType = operationType; + this.__explicitlySet__.add("operationType"); + return this; + } + /** The status of the work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + private OperationStatus status; + + /** + * The status of the work request. + * + * @param status the value to set + * @return this builder + */ + public Builder status(OperationStatus status) { + this.status = status; + this.__explicitlySet__.add("status"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. + * + * @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 + * compartment that contains the work request. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment that contains the work request. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** The resources that are affected by the work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("resources") + private java.util.List resources; + + /** + * The resources that are affected by the work request. + * + * @param resources the value to set + * @return this builder + */ + public Builder resources(java.util.List resources) { + this.resources = resources; + this.__explicitlySet__.add("resources"); + return this; + } + /** + * Shows the progress of the operation tracked by the work request, as a percentage of the + * total work that must be performed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("percentComplete") + private Float percentComplete; + + /** + * Shows the progress of the operation tracked by the work request, as a percentage of the + * total work that must be performed. + * + * @param percentComplete the value to set + * @return this builder + */ + public Builder percentComplete(Float percentComplete) { + this.percentComplete = percentComplete; + this.__explicitlySet__.add("percentComplete"); + return this; + } + /** + * The date and time the request was created, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeAccepted") + private java.util.Date timeAccepted; + + /** + * The date and time the request was created, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + * + * @param timeAccepted the value to set + * @return this builder + */ + public Builder timeAccepted(java.util.Date timeAccepted) { + this.timeAccepted = timeAccepted; + this.__explicitlySet__.add("timeAccepted"); + return this; + } + /** + * The date and time the request was started, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeStarted") + private java.util.Date timeStarted; + + /** + * The date and time the request was started, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + * + * @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 the object was finished, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeFinished") + private java.util.Date timeFinished; + + /** + * The date and time the object was finished, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339). + * + * @param timeFinished the value to set + * @return this builder + */ + public Builder timeFinished(java.util.Date timeFinished) { + this.timeFinished = timeFinished; + this.__explicitlySet__.add("timeFinished"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public WorkRequest build() { + WorkRequest model = + new WorkRequest( + this.operationType, + this.status, + this.id, + this.compartmentId, + this.resources, + this.percentComplete, + this.timeAccepted, + this.timeStarted, + this.timeFinished); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(WorkRequest model) { + if (model.wasPropertyExplicitlySet("operationType")) { + this.operationType(model.getOperationType()); + } + if (model.wasPropertyExplicitlySet("status")) { + this.status(model.getStatus()); + } + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("resources")) { + this.resources(model.getResources()); + } + if (model.wasPropertyExplicitlySet("percentComplete")) { + this.percentComplete(model.getPercentComplete()); + } + if (model.wasPropertyExplicitlySet("timeAccepted")) { + this.timeAccepted(model.getTimeAccepted()); + } + if (model.wasPropertyExplicitlySet("timeStarted")) { + this.timeStarted(model.getTimeStarted()); + } + if (model.wasPropertyExplicitlySet("timeFinished")) { + this.timeFinished(model.getTimeFinished()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The asynchronous operation tracked by this work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("operationType") + private final OperationType operationType; + + /** + * The asynchronous operation tracked by this work request. + * + * @return the value + */ + public OperationType getOperationType() { + return operationType; + } + + /** The status of the work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + private final OperationStatus status; + + /** + * The status of the work request. + * + * @return the value + */ + public OperationStatus getStatus() { + return status; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. + * + * @return the value + */ + public String getId() { + return id; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment that contains the work request. + */ + @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 that contains the work request. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The resources that are affected by the work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("resources") + private final java.util.List resources; + + /** + * The resources that are affected by the work request. + * + * @return the value + */ + public java.util.List getResources() { + return resources; + } + + /** + * Shows the progress of the operation tracked by the work request, as a percentage of the total + * work that must be performed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("percentComplete") + private final Float percentComplete; + + /** + * Shows the progress of the operation tracked by the work request, as a percentage of the total + * work that must be performed. + * + * @return the value + */ + public Float getPercentComplete() { + return percentComplete; + } + + /** + * The date and time the request was created, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeAccepted") + private final java.util.Date timeAccepted; + + /** + * The date and time the request was created, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + * + * @return the value + */ + public java.util.Date getTimeAccepted() { + return timeAccepted; + } + + /** + * The date and time the request was started, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeStarted") + private final java.util.Date timeStarted; + + /** + * The date and time the request was started, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + * + * @return the value + */ + public java.util.Date getTimeStarted() { + return timeStarted; + } + + /** + * The date and time the object was finished, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeFinished") + private final java.util.Date timeFinished; + + /** + * The date and time the object was finished, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339). + * + * @return the value + */ + public java.util.Date getTimeFinished() { + return timeFinished; + } + + @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("WorkRequest("); + sb.append("super=").append(super.toString()); + sb.append("operationType=").append(String.valueOf(this.operationType)); + sb.append(", status=").append(String.valueOf(this.status)); + sb.append(", id=").append(String.valueOf(this.id)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", resources=").append(String.valueOf(this.resources)); + sb.append(", percentComplete=").append(String.valueOf(this.percentComplete)); + sb.append(", timeAccepted=").append(String.valueOf(this.timeAccepted)); + sb.append(", timeStarted=").append(String.valueOf(this.timeStarted)); + sb.append(", timeFinished=").append(String.valueOf(this.timeFinished)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof WorkRequest)) { + return false; + } + + WorkRequest other = (WorkRequest) o; + return java.util.Objects.equals(this.operationType, other.operationType) + && java.util.Objects.equals(this.status, other.status) + && java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.resources, other.resources) + && java.util.Objects.equals(this.percentComplete, other.percentComplete) + && java.util.Objects.equals(this.timeAccepted, other.timeAccepted) + && java.util.Objects.equals(this.timeStarted, other.timeStarted) + && java.util.Objects.equals(this.timeFinished, other.timeFinished) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.operationType == null ? 43 : this.operationType.hashCode()); + result = (result * PRIME) + (this.status == null ? 43 : this.status.hashCode()); + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.resources == null ? 43 : this.resources.hashCode()); + result = + (result * PRIME) + + (this.percentComplete == null ? 43 : this.percentComplete.hashCode()); + result = (result * PRIME) + (this.timeAccepted == null ? 43 : this.timeAccepted.hashCode()); + result = (result * PRIME) + (this.timeStarted == null ? 43 : this.timeStarted.hashCode()); + result = (result * PRIME) + (this.timeFinished == null ? 43 : this.timeFinished.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestError.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestError.java new file mode 100644 index 00000000000..cc41fef2c98 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestError.java @@ -0,0 +1,219 @@ +/** + * 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.streaming.model; + +/** + * An error encountered while performing an operation that is tracked by a work request.
+ * 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: 20180418") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = WorkRequestError.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class WorkRequestError + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"code", "message", "timestamp"}) + public WorkRequestError(String code, String message, java.util.Date timestamp) { + super(); + this.code = code; + this.message = message; + this.timestamp = timestamp; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** + * A machine-usable code for the error that occurred. For a list of error codes, see [API + * Errors](https://docs.oracle.com/iaas/Content/API/References/apierrors.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("code") + private String code; + + /** + * A machine-usable code for the error that occurred. For a list of error codes, see [API + * Errors](https://docs.oracle.com/iaas/Content/API/References/apierrors.htm). + * + * @param code the value to set + * @return this builder + */ + public Builder code(String code) { + this.code = code; + this.__explicitlySet__.add("code"); + return this; + } + /** A human-readable error message. */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + private String message; + + /** + * A human-readable error message. + * + * @param message the value to set + * @return this builder + */ + public Builder message(String message) { + this.message = message; + this.__explicitlySet__.add("message"); + return this; + } + /** + * The date and time the error occurred, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timestamp") + private java.util.Date timestamp; + + /** + * The date and time the error occurred, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + * @param timestamp the value to set + * @return this builder + */ + public Builder timestamp(java.util.Date timestamp) { + this.timestamp = timestamp; + this.__explicitlySet__.add("timestamp"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public WorkRequestError build() { + WorkRequestError model = new WorkRequestError(this.code, this.message, this.timestamp); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(WorkRequestError model) { + if (model.wasPropertyExplicitlySet("code")) { + this.code(model.getCode()); + } + if (model.wasPropertyExplicitlySet("message")) { + this.message(model.getMessage()); + } + if (model.wasPropertyExplicitlySet("timestamp")) { + this.timestamp(model.getTimestamp()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** + * A machine-usable code for the error that occurred. For a list of error codes, see [API + * Errors](https://docs.oracle.com/iaas/Content/API/References/apierrors.htm). + */ + @com.fasterxml.jackson.annotation.JsonProperty("code") + private final String code; + + /** + * A machine-usable code for the error that occurred. For a list of error codes, see [API + * Errors](https://docs.oracle.com/iaas/Content/API/References/apierrors.htm). + * + * @return the value + */ + public String getCode() { + return code; + } + + /** A human-readable error message. */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + private final String message; + + /** + * A human-readable error message. + * + * @return the value + */ + public String getMessage() { + return message; + } + + /** + * The date and time the error occurred, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timestamp") + private final java.util.Date timestamp; + + /** + * The date and time the error occurred, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + * @return the value + */ + public java.util.Date getTimestamp() { + return timestamp; + } + + @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("WorkRequestError("); + sb.append("super=").append(super.toString()); + sb.append("code=").append(String.valueOf(this.code)); + sb.append(", message=").append(String.valueOf(this.message)); + sb.append(", timestamp=").append(String.valueOf(this.timestamp)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof WorkRequestError)) { + return false; + } + + WorkRequestError other = (WorkRequestError) o; + return java.util.Objects.equals(this.code, other.code) + && java.util.Objects.equals(this.message, other.message) + && java.util.Objects.equals(this.timestamp, other.timestamp) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.code == null ? 43 : this.code.hashCode()); + result = (result * PRIME) + (this.message == null ? 43 : this.message.hashCode()); + result = (result * PRIME) + (this.timestamp == null ? 43 : this.timestamp.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestErrorCollection.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestErrorCollection.java new file mode 100644 index 00000000000..a67275483bc --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestErrorCollection.java @@ -0,0 +1,134 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.streaming.model; + +/** + * A list of work request errors. Can contain both errors and other information, such as metadata. + *
+ * 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: 20180418") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = WorkRequestErrorCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class WorkRequestErrorCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public WorkRequestErrorCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** A list of work request errors. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * A list of work request errors. + * + * @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 WorkRequestErrorCollection build() { + WorkRequestErrorCollection model = new WorkRequestErrorCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(WorkRequestErrorCollection 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); + } + + /** A list of work request errors. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * A list of work request errors. + * + * @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("WorkRequestErrorCollection("); + 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 WorkRequestErrorCollection)) { + return false; + } + + WorkRequestErrorCollection other = (WorkRequestErrorCollection) 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-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestLogEntry.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestLogEntry.java new file mode 100644 index 00000000000..3173e988091 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestLogEntry.java @@ -0,0 +1,177 @@ +/** + * 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.streaming.model; + +/** + * A log message from performing an operation that is tracked by a work request.
+ * 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: 20180418") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = WorkRequestLogEntry.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class WorkRequestLogEntry + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"message", "timestamp"}) + public WorkRequestLogEntry(String message, java.util.Date timestamp) { + super(); + this.message = message; + this.timestamp = timestamp; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** A human-readable log message. */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + private String message; + + /** + * A human-readable log message. + * + * @param message the value to set + * @return this builder + */ + public Builder message(String message) { + this.message = message; + this.__explicitlySet__.add("message"); + return this; + } + /** + * The date and time the log message was written, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timestamp") + private java.util.Date timestamp; + + /** + * The date and time the log message was written, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + * @param timestamp the value to set + * @return this builder + */ + public Builder timestamp(java.util.Date timestamp) { + this.timestamp = timestamp; + this.__explicitlySet__.add("timestamp"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public WorkRequestLogEntry build() { + WorkRequestLogEntry model = new WorkRequestLogEntry(this.message, this.timestamp); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(WorkRequestLogEntry model) { + if (model.wasPropertyExplicitlySet("message")) { + this.message(model.getMessage()); + } + if (model.wasPropertyExplicitlySet("timestamp")) { + this.timestamp(model.getTimestamp()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** A human-readable log message. */ + @com.fasterxml.jackson.annotation.JsonProperty("message") + private final String message; + + /** + * A human-readable log message. + * + * @return the value + */ + public String getMessage() { + return message; + } + + /** + * The date and time the log message was written, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timestamp") + private final java.util.Date timestamp; + + /** + * The date and time the log message was written, in the format defined by [RFC + * 3339](https://tools.ietf.org/html/rfc3339). + * + * @return the value + */ + public java.util.Date getTimestamp() { + return timestamp; + } + + @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("WorkRequestLogEntry("); + sb.append("super=").append(super.toString()); + sb.append("message=").append(String.valueOf(this.message)); + sb.append(", timestamp=").append(String.valueOf(this.timestamp)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof WorkRequestLogEntry)) { + return false; + } + + WorkRequestLogEntry other = (WorkRequestLogEntry) o; + return java.util.Objects.equals(this.message, other.message) + && java.util.Objects.equals(this.timestamp, other.timestamp) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.message == null ? 43 : this.message.hashCode()); + result = (result * PRIME) + (this.timestamp == null ? 43 : this.timestamp.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestLogEntryCollection.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestLogEntryCollection.java new file mode 100644 index 00000000000..d7b123cf5bc --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestLogEntryCollection.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.streaming.model; + +/** + * A list of work request logs. Can contain both logs and other information, such as metadata.
+ * 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: 20180418") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = WorkRequestLogEntryCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class WorkRequestLogEntryCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public WorkRequestLogEntryCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** A list of work request log entries. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * A list of work request log entries. + * + * @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 WorkRequestLogEntryCollection build() { + WorkRequestLogEntryCollection model = new WorkRequestLogEntryCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(WorkRequestLogEntryCollection 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); + } + + /** A list of work request log entries. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * A list of work request log entries. + * + * @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("WorkRequestLogEntryCollection("); + 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 WorkRequestLogEntryCollection)) { + return false; + } + + WorkRequestLogEntryCollection other = (WorkRequestLogEntryCollection) 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-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestResource.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestResource.java new file mode 100644 index 00000000000..d9f54be1d6e --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestResource.java @@ -0,0 +1,266 @@ +/** + * 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.streaming.model; + +/** + * A resource created or operated on by a work request.
+ * 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: 20180418") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = WorkRequestResource.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class WorkRequestResource + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"entityType", "actionType", "identifier", "entityUri"}) + public WorkRequestResource( + String entityType, ActionType actionType, String identifier, String entityUri) { + super(); + this.entityType = entityType; + this.actionType = actionType; + this.identifier = identifier; + this.entityUri = entityUri; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The resource type that the work request affects. */ + @com.fasterxml.jackson.annotation.JsonProperty("entityType") + private String entityType; + + /** + * The resource type that the work request affects. + * + * @param entityType the value to set + * @return this builder + */ + public Builder entityType(String entityType) { + this.entityType = entityType; + this.__explicitlySet__.add("entityType"); + return this; + } + /** + * The way in which this resource is affected by the operation tracked in the work request. + * A resource being created, updated, or deleted remains in the IN_PROGRESS state until work + * is complete for that resource, at which point it transitions to CREATED, UPDATED, or + * DELETED, respectively. + */ + @com.fasterxml.jackson.annotation.JsonProperty("actionType") + private ActionType actionType; + + /** + * The way in which this resource is affected by the operation tracked in the work request. + * A resource being created, updated, or deleted remains in the IN_PROGRESS state until work + * is complete for that resource, at which point it transitions to CREATED, UPDATED, or + * DELETED, respectively. + * + * @param actionType the value to set + * @return this builder + */ + public Builder actionType(ActionType actionType) { + this.actionType = actionType; + this.__explicitlySet__.add("actionType"); + return this; + } + /** + * An [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) or other + * unique identifier for the resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("identifier") + private String identifier; + + /** + * An [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) or other + * unique identifier for the resource. + * + * @param identifier the value to set + * @return this builder + */ + public Builder identifier(String identifier) { + this.identifier = identifier; + this.__explicitlySet__.add("identifier"); + return this; + } + /** The URI path that you can use for a GET request to access the resource metadata */ + @com.fasterxml.jackson.annotation.JsonProperty("entityUri") + private String entityUri; + + /** + * The URI path that you can use for a GET request to access the resource metadata + * + * @param entityUri the value to set + * @return this builder + */ + public Builder entityUri(String entityUri) { + this.entityUri = entityUri; + this.__explicitlySet__.add("entityUri"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public WorkRequestResource build() { + WorkRequestResource model = + new WorkRequestResource( + this.entityType, this.actionType, this.identifier, this.entityUri); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(WorkRequestResource model) { + if (model.wasPropertyExplicitlySet("entityType")) { + this.entityType(model.getEntityType()); + } + if (model.wasPropertyExplicitlySet("actionType")) { + this.actionType(model.getActionType()); + } + if (model.wasPropertyExplicitlySet("identifier")) { + this.identifier(model.getIdentifier()); + } + if (model.wasPropertyExplicitlySet("entityUri")) { + this.entityUri(model.getEntityUri()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The resource type that the work request affects. */ + @com.fasterxml.jackson.annotation.JsonProperty("entityType") + private final String entityType; + + /** + * The resource type that the work request affects. + * + * @return the value + */ + public String getEntityType() { + return entityType; + } + + /** + * The way in which this resource is affected by the operation tracked in the work request. A + * resource being created, updated, or deleted remains in the IN_PROGRESS state until work is + * complete for that resource, at which point it transitions to CREATED, UPDATED, or DELETED, + * respectively. + */ + @com.fasterxml.jackson.annotation.JsonProperty("actionType") + private final ActionType actionType; + + /** + * The way in which this resource is affected by the operation tracked in the work request. A + * resource being created, updated, or deleted remains in the IN_PROGRESS state until work is + * complete for that resource, at which point it transitions to CREATED, UPDATED, or DELETED, + * respectively. + * + * @return the value + */ + public ActionType getActionType() { + return actionType; + } + + /** + * An [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) or other + * unique identifier for the resource. + */ + @com.fasterxml.jackson.annotation.JsonProperty("identifier") + private final String identifier; + + /** + * An [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) or other + * unique identifier for the resource. + * + * @return the value + */ + public String getIdentifier() { + return identifier; + } + + /** The URI path that you can use for a GET request to access the resource metadata */ + @com.fasterxml.jackson.annotation.JsonProperty("entityUri") + private final String entityUri; + + /** + * The URI path that you can use for a GET request to access the resource metadata + * + * @return the value + */ + public String getEntityUri() { + return entityUri; + } + + @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("WorkRequestResource("); + sb.append("super=").append(super.toString()); + sb.append("entityType=").append(String.valueOf(this.entityType)); + sb.append(", actionType=").append(String.valueOf(this.actionType)); + sb.append(", identifier=").append(String.valueOf(this.identifier)); + sb.append(", entityUri=").append(String.valueOf(this.entityUri)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof WorkRequestResource)) { + return false; + } + + WorkRequestResource other = (WorkRequestResource) o; + return java.util.Objects.equals(this.entityType, other.entityType) + && java.util.Objects.equals(this.actionType, other.actionType) + && java.util.Objects.equals(this.identifier, other.identifier) + && java.util.Objects.equals(this.entityUri, other.entityUri) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = (result * PRIME) + (this.entityType == null ? 43 : this.entityType.hashCode()); + result = (result * PRIME) + (this.actionType == null ? 43 : this.actionType.hashCode()); + result = (result * PRIME) + (this.identifier == null ? 43 : this.identifier.hashCode()); + result = (result * PRIME) + (this.entityUri == null ? 43 : this.entityUri.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestSummary.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestSummary.java new file mode 100644 index 00000000000..b0ea76e3f14 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestSummary.java @@ -0,0 +1,500 @@ +/** + * 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.streaming.model; + +/** + * An asynchronous work request. Work requests help you monitor long-running operations. When you + * start a long-running operation, the service creates a work request. A work request is an activity + * log that lets you track each step in the operation's progress. Each work request has an OCID that + * lets you interact with it programmatically and use it for automation.
+ * 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: 20180418") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = WorkRequestSummary.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class WorkRequestSummary + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({ + "operationType", + "status", + "id", + "compartmentId", + "resources", + "percentComplete", + "timeAccepted", + "timeStarted", + "timeFinished" + }) + public WorkRequestSummary( + OperationType operationType, + OperationStatus status, + String id, + String compartmentId, + java.util.List resources, + Float percentComplete, + java.util.Date timeAccepted, + java.util.Date timeStarted, + java.util.Date timeFinished) { + super(); + this.operationType = operationType; + this.status = status; + this.id = id; + this.compartmentId = compartmentId; + this.resources = resources; + this.percentComplete = percentComplete; + this.timeAccepted = timeAccepted; + this.timeStarted = timeStarted; + this.timeFinished = timeFinished; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** The asynchronous operation tracked by this work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("operationType") + private OperationType operationType; + + /** + * The asynchronous operation tracked by this work request. + * + * @param operationType the value to set + * @return this builder + */ + public Builder operationType(OperationType operationType) { + this.operationType = operationType; + this.__explicitlySet__.add("operationType"); + return this; + } + /** The status of the work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + private OperationStatus status; + + /** + * The status of the work request. + * + * @param status the value to set + * @return this builder + */ + public Builder status(OperationStatus status) { + this.status = status; + this.__explicitlySet__.add("status"); + return this; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * work request. + * + * @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 + * compartment that contains the work request. + */ + @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") + private String compartmentId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment that contains the work request. + * + * @param compartmentId the value to set + * @return this builder + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + this.__explicitlySet__.add("compartmentId"); + return this; + } + /** The resources that are affected by the work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("resources") + private java.util.List resources; + + /** + * The resources that are affected by the work request. + * + * @param resources the value to set + * @return this builder + */ + public Builder resources(java.util.List resources) { + this.resources = resources; + this.__explicitlySet__.add("resources"); + return this; + } + /** + * Shows the progress of the operation tracked by the work request, as a percentage of the + * total work that must be performed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("percentComplete") + private Float percentComplete; + + /** + * Shows the progress of the operation tracked by the work request, as a percentage of the + * total work that must be performed. + * + * @param percentComplete the value to set + * @return this builder + */ + public Builder percentComplete(Float percentComplete) { + this.percentComplete = percentComplete; + this.__explicitlySet__.add("percentComplete"); + return this; + } + /** + * The date and time the request was created, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeAccepted") + private java.util.Date timeAccepted; + + /** + * The date and time the request was created, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + * + * @param timeAccepted the value to set + * @return this builder + */ + public Builder timeAccepted(java.util.Date timeAccepted) { + this.timeAccepted = timeAccepted; + this.__explicitlySet__.add("timeAccepted"); + return this; + } + /** + * The date and time the request was started, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeStarted") + private java.util.Date timeStarted; + + /** + * The date and time the request was started, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + * + * @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 the object was finished, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeFinished") + private java.util.Date timeFinished; + + /** + * The date and time the object was finished, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339). + * + * @param timeFinished the value to set + * @return this builder + */ + public Builder timeFinished(java.util.Date timeFinished) { + this.timeFinished = timeFinished; + this.__explicitlySet__.add("timeFinished"); + return this; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + private final java.util.Set __explicitlySet__ = new java.util.HashSet(); + + public WorkRequestSummary build() { + WorkRequestSummary model = + new WorkRequestSummary( + this.operationType, + this.status, + this.id, + this.compartmentId, + this.resources, + this.percentComplete, + this.timeAccepted, + this.timeStarted, + this.timeFinished); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(WorkRequestSummary model) { + if (model.wasPropertyExplicitlySet("operationType")) { + this.operationType(model.getOperationType()); + } + if (model.wasPropertyExplicitlySet("status")) { + this.status(model.getStatus()); + } + if (model.wasPropertyExplicitlySet("id")) { + this.id(model.getId()); + } + if (model.wasPropertyExplicitlySet("compartmentId")) { + this.compartmentId(model.getCompartmentId()); + } + if (model.wasPropertyExplicitlySet("resources")) { + this.resources(model.getResources()); + } + if (model.wasPropertyExplicitlySet("percentComplete")) { + this.percentComplete(model.getPercentComplete()); + } + if (model.wasPropertyExplicitlySet("timeAccepted")) { + this.timeAccepted(model.getTimeAccepted()); + } + if (model.wasPropertyExplicitlySet("timeStarted")) { + this.timeStarted(model.getTimeStarted()); + } + if (model.wasPropertyExplicitlySet("timeFinished")) { + this.timeFinished(model.getTimeFinished()); + } + return this; + } + } + + /** Create a new builder. */ + public static Builder builder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder().copy(this); + } + + /** The asynchronous operation tracked by this work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("operationType") + private final OperationType operationType; + + /** + * The asynchronous operation tracked by this work request. + * + * @return the value + */ + public OperationType getOperationType() { + return operationType; + } + + /** The status of the work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("status") + private final OperationStatus status; + + /** + * The status of the work request. + * + * @return the value + */ + public OperationStatus getStatus() { + return status; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. + */ + @com.fasterxml.jackson.annotation.JsonProperty("id") + private final String id; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the work + * request. + * + * @return the value + */ + public String getId() { + return id; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * compartment that contains the work request. + */ + @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 that contains the work request. + * + * @return the value + */ + public String getCompartmentId() { + return compartmentId; + } + + /** The resources that are affected by the work request. */ + @com.fasterxml.jackson.annotation.JsonProperty("resources") + private final java.util.List resources; + + /** + * The resources that are affected by the work request. + * + * @return the value + */ + public java.util.List getResources() { + return resources; + } + + /** + * Shows the progress of the operation tracked by the work request, as a percentage of the total + * work that must be performed. + */ + @com.fasterxml.jackson.annotation.JsonProperty("percentComplete") + private final Float percentComplete; + + /** + * Shows the progress of the operation tracked by the work request, as a percentage of the total + * work that must be performed. + * + * @return the value + */ + public Float getPercentComplete() { + return percentComplete; + } + + /** + * The date and time the request was created, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeAccepted") + private final java.util.Date timeAccepted; + + /** + * The date and time the request was created, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + * + * @return the value + */ + public java.util.Date getTimeAccepted() { + return timeAccepted; + } + + /** + * The date and time the request was started, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeStarted") + private final java.util.Date timeStarted; + + /** + * The date and time the request was started, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. + * + * @return the value + */ + public java.util.Date getTimeStarted() { + return timeStarted; + } + + /** + * The date and time the object was finished, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339). + */ + @com.fasterxml.jackson.annotation.JsonProperty("timeFinished") + private final java.util.Date timeFinished; + + /** + * The date and time the object was finished, as described in [RFC + * 3339](https://tools.ietf.org/rfc/rfc3339). + * + * @return the value + */ + public java.util.Date getTimeFinished() { + return timeFinished; + } + + @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("WorkRequestSummary("); + sb.append("super=").append(super.toString()); + sb.append("operationType=").append(String.valueOf(this.operationType)); + sb.append(", status=").append(String.valueOf(this.status)); + sb.append(", id=").append(String.valueOf(this.id)); + sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(", resources=").append(String.valueOf(this.resources)); + sb.append(", percentComplete=").append(String.valueOf(this.percentComplete)); + sb.append(", timeAccepted=").append(String.valueOf(this.timeAccepted)); + sb.append(", timeStarted=").append(String.valueOf(this.timeStarted)); + sb.append(", timeFinished=").append(String.valueOf(this.timeFinished)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof WorkRequestSummary)) { + return false; + } + + WorkRequestSummary other = (WorkRequestSummary) o; + return java.util.Objects.equals(this.operationType, other.operationType) + && java.util.Objects.equals(this.status, other.status) + && java.util.Objects.equals(this.id, other.id) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.resources, other.resources) + && java.util.Objects.equals(this.percentComplete, other.percentComplete) + && java.util.Objects.equals(this.timeAccepted, other.timeAccepted) + && java.util.Objects.equals(this.timeStarted, other.timeStarted) + && java.util.Objects.equals(this.timeFinished, other.timeFinished) + && super.equals(other); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = 1; + result = + (result * PRIME) + + (this.operationType == null ? 43 : this.operationType.hashCode()); + result = (result * PRIME) + (this.status == null ? 43 : this.status.hashCode()); + result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.resources == null ? 43 : this.resources.hashCode()); + result = + (result * PRIME) + + (this.percentComplete == null ? 43 : this.percentComplete.hashCode()); + result = (result * PRIME) + (this.timeAccepted == null ? 43 : this.timeAccepted.hashCode()); + result = (result * PRIME) + (this.timeStarted == null ? 43 : this.timeStarted.hashCode()); + result = (result * PRIME) + (this.timeFinished == null ? 43 : this.timeFinished.hashCode()); + result = (result * PRIME) + super.hashCode(); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestSummaryCollection.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestSummaryCollection.java new file mode 100644 index 00000000000..0747c4f2a6b --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/model/WorkRequestSummaryCollection.java @@ -0,0 +1,134 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.streaming.model; + +/** + * A list of work requests. Can contain both work requests and other information, such as metadata. + *
+ * 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: 20180418") +@com.fasterxml.jackson.databind.annotation.JsonDeserialize( + builder = WorkRequestSummaryCollection.Builder.class) +@com.fasterxml.jackson.annotation.JsonFilter( + com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) +public final class WorkRequestSummaryCollection + extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { + @Deprecated + @java.beans.ConstructorProperties({"items"}) + public WorkRequestSummaryCollection(java.util.List items) { + super(); + this.items = items; + } + + @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") + public static class Builder { + /** A list of work requests. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private java.util.List items; + + /** + * A list of work requests. + * + * @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 WorkRequestSummaryCollection build() { + WorkRequestSummaryCollection model = new WorkRequestSummaryCollection(this.items); + for (String explicitlySetProperty : this.__explicitlySet__) { + model.markPropertyAsExplicitlySet(explicitlySetProperty); + } + return model; + } + + @com.fasterxml.jackson.annotation.JsonIgnore + public Builder copy(WorkRequestSummaryCollection 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); + } + + /** A list of work requests. */ + @com.fasterxml.jackson.annotation.JsonProperty("items") + private final java.util.List items; + + /** + * A list of work requests. + * + * @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("WorkRequestSummaryCollection("); + 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 WorkRequestSummaryCollection)) { + return false; + } + + WorkRequestSummaryCollection other = (WorkRequestSummaryCollection) 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-streaming/src/main/java/com/oracle/bmc/streaming/requests/GetWorkRequestRequest.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/GetWorkRequestRequest.java new file mode 100644 index 00000000000..b66042f941d --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/GetWorkRequestRequest.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.streaming.requests; + +import com.oracle.bmc.streaming.model.*; +/** + * Example: Click here to see how to use GetWorkRequestRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public class GetWorkRequestRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + */ + private String workRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + */ + public String getWorkRequestId() { + return workRequestId; + } + /** + * The 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; + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + GetWorkRequestRequest, 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 + * asynchronous work request. + */ + private String workRequestId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + * + * @param workRequestId the value to set + * @return this builder instance + */ + public Builder workRequestId(String workRequestId) { + this.workRequestId = workRequestId; + return this; + } + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle + * about a particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle + * about a particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(GetWorkRequestRequest o) { + workRequestId(o.getWorkRequestId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of GetWorkRequestRequest 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 GetWorkRequestRequest + */ + public GetWorkRequestRequest build() { + GetWorkRequestRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of GetWorkRequestRequest 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 GetWorkRequestRequest + */ + public GetWorkRequestRequest buildWithoutInvocationCallback() { + GetWorkRequestRequest request = new GetWorkRequestRequest(); + request.workRequestId = workRequestId; + request.opcRequestId = opcRequestId; + return request; + // new GetWorkRequestRequest(workRequestId, 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().workRequestId(workRequestId).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(",workRequestId=").append(String.valueOf(this.workRequestId)); + 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 GetWorkRequestRequest)) { + return false; + } + + GetWorkRequestRequest other = (GetWorkRequestRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.workRequestId, other.workRequestId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.workRequestId == null ? 43 : this.workRequestId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestErrorsRequest.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestErrorsRequest.java new file mode 100644 index 00000000000..577d8680b6c --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestErrorsRequest.java @@ -0,0 +1,413 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.streaming.requests; + +import com.oracle.bmc.streaming.model.*; +/** + * Example: Click here to see how to use + * ListWorkRequestErrorsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public class ListWorkRequestErrorsRequest + extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + */ + private String workRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + */ + public String getWorkRequestId() { + return workRequestId; + } + /** The page at which to start retrieving results. */ + private String page; + + /** The page at which to start retrieving results. */ + public String getPage() { + return page; + } + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is 10. + */ + private Integer limit; + + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is 10. + */ + public Integer getLimit() { + return limit; + } + /** The sort order to use, either 'asc' or 'desc'. */ + private SortOrder sortOrder; + + /** The sort order to use, either 'asc' or '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 'asc' or 'desc'. */ + public SortOrder getSortOrder() { + return sortOrder; + } + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + private SortBy sortBy; + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum { + Timeaccepted("TIMEACCEPTED"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortBy v : SortBy.values()) { + map.put(v.getValue(), v); + } + } + + SortBy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortBy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortBy: " + key); + } + }; + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + public SortBy getSortBy() { + return sortBy; + } + /** + * The 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; + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListWorkRequestErrorsRequest, 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 + * asynchronous work request. + */ + private String workRequestId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + * + * @param workRequestId the value to set + * @return this builder instance + */ + public Builder workRequestId(String workRequestId) { + this.workRequestId = workRequestId; + return this; + } + + /** The page at which to start retrieving results. */ + private String page = null; + + /** + * The page at which to start retrieving results. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is + * 10. + */ + private Integer limit = null; + + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is + * 10. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** The sort order to use, either 'asc' or 'desc'. */ + private SortOrder sortOrder = null; + + /** + * The sort order to use, either 'asc' or 'desc'. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + private SortBy sortBy = null; + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(SortBy sortBy) { + this.sortBy = sortBy; + return this; + } + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle + * about a particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle + * about a particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(ListWorkRequestErrorsRequest o) { + workRequestId(o.getWorkRequestId()); + page(o.getPage()); + limit(o.getLimit()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListWorkRequestErrorsRequest 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 ListWorkRequestErrorsRequest + */ + public ListWorkRequestErrorsRequest build() { + ListWorkRequestErrorsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListWorkRequestErrorsRequest 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 ListWorkRequestErrorsRequest + */ + public ListWorkRequestErrorsRequest buildWithoutInvocationCallback() { + ListWorkRequestErrorsRequest request = new ListWorkRequestErrorsRequest(); + request.workRequestId = workRequestId; + request.page = page; + request.limit = limit; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.opcRequestId = opcRequestId; + return request; + // new ListWorkRequestErrorsRequest(workRequestId, page, limit, sortOrder, sortBy, + // opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .workRequestId(workRequestId) + .page(page) + .limit(limit) + .sortOrder(sortOrder) + .sortBy(sortBy) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",workRequestId=").append(String.valueOf(this.workRequestId)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",limit=").append(String.valueOf(this.limit)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListWorkRequestErrorsRequest)) { + return false; + } + + ListWorkRequestErrorsRequest other = (ListWorkRequestErrorsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.workRequestId, other.workRequestId) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.workRequestId == null ? 43 : this.workRequestId.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestLogsRequest.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestLogsRequest.java new file mode 100644 index 00000000000..0cf4566b7d4 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestLogsRequest.java @@ -0,0 +1,411 @@ +/** + * 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.streaming.requests; + +import com.oracle.bmc.streaming.model.*; +/** + * Example: Click here to see how to use ListWorkRequestLogsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public class ListWorkRequestLogsRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + */ + private String workRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + */ + public String getWorkRequestId() { + return workRequestId; + } + /** The page at which to start retrieving results. */ + private String page; + + /** The page at which to start retrieving results. */ + public String getPage() { + return page; + } + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is 10. + */ + private Integer limit; + + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is 10. + */ + public Integer getLimit() { + return limit; + } + /** The sort order to use, either 'asc' or 'desc'. */ + private SortOrder sortOrder; + + /** The sort order to use, either 'asc' or '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 'asc' or 'desc'. */ + public SortOrder getSortOrder() { + return sortOrder; + } + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + private SortBy sortBy; + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum { + Timeaccepted("TIMEACCEPTED"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortBy v : SortBy.values()) { + map.put(v.getValue(), v); + } + } + + SortBy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortBy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortBy: " + key); + } + }; + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + public SortBy getSortBy() { + return sortBy; + } + /** + * The 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; + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListWorkRequestLogsRequest, 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 + * asynchronous work request. + */ + private String workRequestId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + * + * @param workRequestId the value to set + * @return this builder instance + */ + public Builder workRequestId(String workRequestId) { + this.workRequestId = workRequestId; + return this; + } + + /** The page at which to start retrieving results. */ + private String page = null; + + /** + * The page at which to start retrieving results. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is + * 10. + */ + private Integer limit = null; + + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is + * 10. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** The sort order to use, either 'asc' or 'desc'. */ + private SortOrder sortOrder = null; + + /** + * The sort order to use, either 'asc' or 'desc'. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + private SortBy sortBy = null; + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(SortBy sortBy) { + this.sortBy = sortBy; + return this; + } + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle + * about a particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle + * about a particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(ListWorkRequestLogsRequest o) { + workRequestId(o.getWorkRequestId()); + page(o.getPage()); + limit(o.getLimit()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListWorkRequestLogsRequest 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 ListWorkRequestLogsRequest + */ + public ListWorkRequestLogsRequest build() { + ListWorkRequestLogsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListWorkRequestLogsRequest 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 ListWorkRequestLogsRequest + */ + public ListWorkRequestLogsRequest buildWithoutInvocationCallback() { + ListWorkRequestLogsRequest request = new ListWorkRequestLogsRequest(); + request.workRequestId = workRequestId; + request.page = page; + request.limit = limit; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.opcRequestId = opcRequestId; + return request; + // new ListWorkRequestLogsRequest(workRequestId, page, limit, sortOrder, sortBy, + // opcRequestId); + } + } + + /** + * Return an instance of {@link Builder} that allows you to modify request properties. + * + * @return instance of {@link Builder} that allows you to modify request properties. + */ + public Builder toBuilder() { + return new Builder() + .workRequestId(workRequestId) + .page(page) + .limit(limit) + .sortOrder(sortOrder) + .sortBy(sortBy) + .opcRequestId(opcRequestId); + } + + /** + * Return a new builder for this request object. + * + * @return builder for the request object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",workRequestId=").append(String.valueOf(this.workRequestId)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",limit=").append(String.valueOf(this.limit)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",opcRequestId=").append(String.valueOf(this.opcRequestId)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListWorkRequestLogsRequest)) { + return false; + } + + ListWorkRequestLogsRequest other = (ListWorkRequestLogsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.workRequestId, other.workRequestId) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.workRequestId == null ? 43 : this.workRequestId.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestsRequest.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestsRequest.java new file mode 100644 index 00000000000..f7f4f54ba63 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/requests/ListWorkRequestsRequest.java @@ -0,0 +1,487 @@ +/** + * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved. + * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. + */ +package com.oracle.bmc.streaming.requests; + +import com.oracle.bmc.streaming.model.*; +/** + * Example: Click here to see how to use ListWorkRequestsRequest. + */ +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public class ListWorkRequestsRequest extends com.oracle.bmc.requests.BmcRequest { + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + */ + private String workRequestId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + */ + public String getWorkRequestId() { + return workRequestId; + } + /** + * The OCID of the compartment. Is exclusive with the {@code streamPoolId} parameter. One of + * them is required. + */ + private String compartmentId; + + /** + * The OCID of the compartment. Is exclusive with the {@code streamPoolId} parameter. One of + * them is required. + */ + public String getCompartmentId() { + return compartmentId; + } + /** The page at which to start retrieving results. */ + private String page; + + /** The page at which to start retrieving results. */ + public String getPage() { + return page; + } + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is 10. + */ + private Integer limit; + + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is 10. + */ + public Integer getLimit() { + return limit; + } + /** The sort order to use, either 'asc' or 'desc'. */ + private SortOrder sortOrder; + + /** The sort order to use, either 'asc' or '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 'asc' or 'desc'. */ + public SortOrder getSortOrder() { + return sortOrder; + } + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + private SortBy sortBy; + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + public enum SortBy implements com.oracle.bmc.http.internal.BmcEnum { + Timeaccepted("TIMEACCEPTED"), + ; + + private final String value; + private static java.util.Map map; + + static { + map = new java.util.HashMap<>(); + for (SortBy v : SortBy.values()) { + map.put(v.getValue(), v); + } + } + + SortBy(String value) { + this.value = value; + } + + @com.fasterxml.jackson.annotation.JsonValue + public String getValue() { + return value; + } + + @com.fasterxml.jackson.annotation.JsonCreator + public static SortBy create(String key) { + if (map.containsKey(key)) { + return map.get(key); + } + throw new IllegalArgumentException("Invalid SortBy: " + key); + } + }; + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + public SortBy getSortBy() { + return sortBy; + } + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * resource affected by the work request. + */ + private String resourceId; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * resource affected by the work request. + */ + public String getResourceId() { + return resourceId; + } + /** + * The 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; + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, please provide the request ID. + */ + public String getOpcRequestId() { + return opcRequestId; + } + + public static class Builder + implements com.oracle.bmc.requests.BmcRequest.Builder< + ListWorkRequestsRequest, 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 + * asynchronous work request. + */ + private String workRequestId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * asynchronous work request. + * + * @param workRequestId the value to set + * @return this builder instance + */ + public Builder workRequestId(String workRequestId) { + this.workRequestId = workRequestId; + return this; + } + + /** + * The OCID of the compartment. Is exclusive with the {@code streamPoolId} parameter. One of + * them is required. + */ + private String compartmentId = null; + + /** + * The OCID of the compartment. Is exclusive with the {@code streamPoolId} parameter. One of + * them is required. + * + * @param compartmentId the value to set + * @return this builder instance + */ + public Builder compartmentId(String compartmentId) { + this.compartmentId = compartmentId; + return this; + } + + /** The page at which to start retrieving results. */ + private String page = null; + + /** + * The page at which to start retrieving results. + * + * @param page the value to set + * @return this builder instance + */ + public Builder page(String page) { + this.page = page; + return this; + } + + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is + * 10. + */ + private Integer limit = null; + + /** + * The maximum number of items to return. The value must be between 1 and 50. The default is + * 10. + * + * @param limit the value to set + * @return this builder instance + */ + public Builder limit(Integer limit) { + this.limit = limit; + return this; + } + + /** The sort order to use, either 'asc' or 'desc'. */ + private SortOrder sortOrder = null; + + /** + * The sort order to use, either 'asc' or 'desc'. + * + * @param sortOrder the value to set + * @return this builder instance + */ + public Builder sortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + */ + private SortBy sortBy = null; + + /** + * The field to sort by. Only one sort order may be provided. Default order for {@code + * timeAccepted} is descending. + * + * @param sortBy the value to set + * @return this builder instance + */ + public Builder sortBy(SortBy sortBy) { + this.sortBy = sortBy; + return this; + } + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * resource affected by the work request. + */ + private String resourceId = null; + + /** + * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the + * resource affected by the work request. + * + * @param resourceId the value to set + * @return this builder instance + */ + public Builder resourceId(String resourceId) { + this.resourceId = resourceId; + return this; + } + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle + * about a particular request, please provide the request ID. + */ + private String opcRequestId = null; + + /** + * The unique Oracle-assigned identifier for the request. If you need to contact Oracle + * about a particular request, please provide the request ID. + * + * @param opcRequestId the value to set + * @return this builder instance + */ + public Builder opcRequestId(String opcRequestId) { + this.opcRequestId = opcRequestId; + return this; + } + + /** + * Set the invocation callback for the request to be built. + * + * @param invocationCallback the invocation callback to be set for the request + * @return this builder instance + */ + public Builder invocationCallback( + com.oracle.bmc.http.client.RequestInterceptor invocationCallback) { + this.invocationCallback = invocationCallback; + return this; + } + + /** + * Set the retry configuration for the request to be built. + * + * @param retryConfiguration the retry configuration to be used for the request + * @return this builder instance + */ + public Builder retryConfiguration( + com.oracle.bmc.retrier.RetryConfiguration retryConfiguration) { + this.retryConfiguration = retryConfiguration; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + public Builder copy(ListWorkRequestsRequest o) { + workRequestId(o.getWorkRequestId()); + compartmentId(o.getCompartmentId()); + page(o.getPage()); + limit(o.getLimit()); + sortOrder(o.getSortOrder()); + sortBy(o.getSortBy()); + resourceId(o.getResourceId()); + opcRequestId(o.getOpcRequestId()); + invocationCallback(o.getInvocationCallback()); + retryConfiguration(o.getRetryConfiguration()); + return this; + } + + /** + * Build the instance of ListWorkRequestsRequest 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 ListWorkRequestsRequest + */ + public ListWorkRequestsRequest build() { + ListWorkRequestsRequest request = buildWithoutInvocationCallback(); + request.setInvocationCallback(invocationCallback); + request.setRetryConfiguration(retryConfiguration); + return request; + } + + /** + * Build the instance of ListWorkRequestsRequest 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 ListWorkRequestsRequest + */ + public ListWorkRequestsRequest buildWithoutInvocationCallback() { + ListWorkRequestsRequest request = new ListWorkRequestsRequest(); + request.workRequestId = workRequestId; + request.compartmentId = compartmentId; + request.page = page; + request.limit = limit; + request.sortOrder = sortOrder; + request.sortBy = sortBy; + request.resourceId = resourceId; + request.opcRequestId = opcRequestId; + return request; + // new ListWorkRequestsRequest(workRequestId, compartmentId, page, limit, sortOrder, + // sortBy, resourceId, 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() + .workRequestId(workRequestId) + .compartmentId(compartmentId) + .page(page) + .limit(limit) + .sortOrder(sortOrder) + .sortBy(sortBy) + .resourceId(resourceId) + .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(",workRequestId=").append(String.valueOf(this.workRequestId)); + sb.append(",compartmentId=").append(String.valueOf(this.compartmentId)); + sb.append(",page=").append(String.valueOf(this.page)); + sb.append(",limit=").append(String.valueOf(this.limit)); + sb.append(",sortOrder=").append(String.valueOf(this.sortOrder)); + sb.append(",sortBy=").append(String.valueOf(this.sortBy)); + sb.append(",resourceId=").append(String.valueOf(this.resourceId)); + 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 ListWorkRequestsRequest)) { + return false; + } + + ListWorkRequestsRequest other = (ListWorkRequestsRequest) o; + return super.equals(o) + && java.util.Objects.equals(this.workRequestId, other.workRequestId) + && java.util.Objects.equals(this.compartmentId, other.compartmentId) + && java.util.Objects.equals(this.page, other.page) + && java.util.Objects.equals(this.limit, other.limit) + && java.util.Objects.equals(this.sortOrder, other.sortOrder) + && java.util.Objects.equals(this.sortBy, other.sortBy) + && java.util.Objects.equals(this.resourceId, other.resourceId) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = + (result * PRIME) + + (this.workRequestId == null ? 43 : this.workRequestId.hashCode()); + result = + (result * PRIME) + + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); + result = (result * PRIME) + (this.page == null ? 43 : this.page.hashCode()); + result = (result * PRIME) + (this.limit == null ? 43 : this.limit.hashCode()); + result = (result * PRIME) + (this.sortOrder == null ? 43 : this.sortOrder.hashCode()); + result = (result * PRIME) + (this.sortBy == null ? 43 : this.sortBy.hashCode()); + result = (result * PRIME) + (this.resourceId == null ? 43 : this.resourceId.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeConnectHarnessCompartmentResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeConnectHarnessCompartmentResponse.java index 978bde6bd49..c8027ce045e 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeConnectHarnessCompartmentResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeConnectHarnessCompartmentResponse.java @@ -24,13 +24,36 @@ public String getOpcRequestId() { return opcRequestId; } - @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcWorkRequestId" + }) private ChangeConnectHarnessCompartmentResponse( int __httpStatusCode__, java.util.Map> headers, - String opcRequestId) { + String opcRequestId, + String opcWorkRequestId) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; } public static class Builder @@ -70,6 +93,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @param opcWorkRequestId the value to set + * @return this builder + */ + public Builder opcWorkRequestId(String opcWorkRequestId) { + this.opcWorkRequestId = opcWorkRequestId; + return this; + } + /** * Copy method to populate the builder with values from the given instance. * @@ -80,6 +121,7 @@ public Builder copy(ChangeConnectHarnessCompartmentResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); return this; } @@ -92,7 +134,7 @@ public Builder copy(ChangeConnectHarnessCompartmentResponse o) { @Override public ChangeConnectHarnessCompartmentResponse build() { return new ChangeConnectHarnessCompartmentResponse( - __httpStatusCode__, headers, opcRequestId); + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId); } } @@ -111,6 +153,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(")"); return sb.toString(); } @@ -125,7 +168,9 @@ public boolean equals(Object o) { } ChangeConnectHarnessCompartmentResponse other = (ChangeConnectHarnessCompartmentResponse) o; - return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId); } @Override @@ -133,6 +178,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); return result; } } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeStreamCompartmentResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeStreamCompartmentResponse.java index 0cbb9dc5398..38aa4556136 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeStreamCompartmentResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeStreamCompartmentResponse.java @@ -24,13 +24,36 @@ public String getOpcRequestId() { return opcRequestId; } - @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcWorkRequestId" + }) private ChangeStreamCompartmentResponse( int __httpStatusCode__, java.util.Map> headers, - String opcRequestId) { + String opcRequestId, + String opcWorkRequestId) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; } public static class Builder @@ -70,6 +93,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @param opcWorkRequestId the value to set + * @return this builder + */ + public Builder opcWorkRequestId(String opcWorkRequestId) { + this.opcWorkRequestId = opcWorkRequestId; + return this; + } + /** * Copy method to populate the builder with values from the given instance. * @@ -80,6 +121,7 @@ public Builder copy(ChangeStreamCompartmentResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); return this; } @@ -91,7 +133,8 @@ public Builder copy(ChangeStreamCompartmentResponse o) { */ @Override public ChangeStreamCompartmentResponse build() { - return new ChangeStreamCompartmentResponse(__httpStatusCode__, headers, opcRequestId); + return new ChangeStreamCompartmentResponse( + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId); } } @@ -110,6 +153,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(")"); return sb.toString(); } @@ -124,7 +168,9 @@ public boolean equals(Object o) { } ChangeStreamCompartmentResponse other = (ChangeStreamCompartmentResponse) o; - return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId); } @Override @@ -132,6 +178,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); return result; } } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeStreamPoolCompartmentResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeStreamPoolCompartmentResponse.java index 05a7840ff60..4175fd95d1d 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeStreamPoolCompartmentResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ChangeStreamPoolCompartmentResponse.java @@ -24,13 +24,36 @@ public String getOpcRequestId() { return opcRequestId; } - @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcWorkRequestId" + }) private ChangeStreamPoolCompartmentResponse( int __httpStatusCode__, java.util.Map> headers, - String opcRequestId) { + String opcRequestId, + String opcWorkRequestId) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; } public static class Builder @@ -70,6 +93,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @param opcWorkRequestId the value to set + * @return this builder + */ + public Builder opcWorkRequestId(String opcWorkRequestId) { + this.opcWorkRequestId = opcWorkRequestId; + return this; + } + /** * Copy method to populate the builder with values from the given instance. * @@ -80,6 +121,7 @@ public Builder copy(ChangeStreamPoolCompartmentResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); return this; } @@ -92,7 +134,7 @@ public Builder copy(ChangeStreamPoolCompartmentResponse o) { @Override public ChangeStreamPoolCompartmentResponse build() { return new ChangeStreamPoolCompartmentResponse( - __httpStatusCode__, headers, opcRequestId); + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId); } } @@ -111,6 +153,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(")"); return sb.toString(); } @@ -125,7 +168,9 @@ public boolean equals(Object o) { } ChangeStreamPoolCompartmentResponse other = (ChangeStreamPoolCompartmentResponse) o; - return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId); } @Override @@ -133,6 +178,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); return result; } } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateConnectHarnessResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateConnectHarnessResponse.java index 1fd68a0ddf9..445f9d40afa 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateConnectHarnessResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateConnectHarnessResponse.java @@ -24,6 +24,22 @@ public String getOpcRequestId() { return opcRequestId; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + /** For optimistic concurrency control. See {@code if-match}. */ private String etag; @@ -52,6 +68,7 @@ public com.oracle.bmc.streaming.model.ConnectHarness getConnectHarness() { "__httpStatusCode__", "headers", "opcRequestId", + "opcWorkRequestId", "etag", "connectHarness" }) @@ -59,10 +76,12 @@ private CreateConnectHarnessResponse( int __httpStatusCode__, java.util.Map> headers, String opcRequestId, + String opcWorkRequestId, String etag, com.oracle.bmc.streaming.model.ConnectHarness connectHarness) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; this.etag = etag; this.connectHarness = connectHarness; } @@ -103,6 +122,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @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; @@ -142,6 +179,7 @@ public Builder copy(CreateConnectHarnessResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); etag(o.getEtag()); connectHarness(o.getConnectHarness()); @@ -156,7 +194,12 @@ public Builder copy(CreateConnectHarnessResponse o) { @Override public CreateConnectHarnessResponse build() { return new CreateConnectHarnessResponse( - __httpStatusCode__, headers, opcRequestId, etag, connectHarness); + __httpStatusCode__, + headers, + opcRequestId, + opcWorkRequestId, + etag, + connectHarness); } } @@ -175,6 +218,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(",etag=").append(String.valueOf(etag)); sb.append(",connectHarness=").append(String.valueOf(connectHarness)); sb.append(")"); @@ -193,6 +237,7 @@ public boolean equals(Object o) { CreateConnectHarnessResponse other = (CreateConnectHarnessResponse) o; return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) && java.util.Objects.equals(this.etag, other.etag) && java.util.Objects.equals(this.connectHarness, other.connectHarness); } @@ -202,6 +247,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); result = (result * PRIME) diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateStreamPoolResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateStreamPoolResponse.java index 90cc27f820a..2babd519243 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateStreamPoolResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateStreamPoolResponse.java @@ -24,6 +24,22 @@ public String getOpcRequestId() { return opcRequestId; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + /** For optimistic concurrency control. See {@code if-match}. */ private String etag; @@ -52,6 +68,7 @@ public com.oracle.bmc.streaming.model.StreamPool getStreamPool() { "__httpStatusCode__", "headers", "opcRequestId", + "opcWorkRequestId", "etag", "streamPool" }) @@ -59,10 +76,12 @@ private CreateStreamPoolResponse( int __httpStatusCode__, java.util.Map> headers, String opcRequestId, + String opcWorkRequestId, String etag, com.oracle.bmc.streaming.model.StreamPool streamPool) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; this.etag = etag; this.streamPool = streamPool; } @@ -103,6 +122,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @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; @@ -141,6 +178,7 @@ public Builder copy(CreateStreamPoolResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); etag(o.getEtag()); streamPool(o.getStreamPool()); @@ -155,7 +193,7 @@ public Builder copy(CreateStreamPoolResponse o) { @Override public CreateStreamPoolResponse build() { return new CreateStreamPoolResponse( - __httpStatusCode__, headers, opcRequestId, etag, streamPool); + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId, etag, streamPool); } } @@ -174,6 +212,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(",etag=").append(String.valueOf(etag)); sb.append(",streamPool=").append(String.valueOf(streamPool)); sb.append(")"); @@ -192,6 +231,7 @@ public boolean equals(Object o) { CreateStreamPoolResponse other = (CreateStreamPoolResponse) o; return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) && java.util.Objects.equals(this.etag, other.etag) && java.util.Objects.equals(this.streamPool, other.streamPool); } @@ -201,6 +241,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); result = (result * PRIME) + (this.streamPool == null ? 43 : this.streamPool.hashCode()); return result; diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateStreamResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateStreamResponse.java index 1df72180aed..b8580ae76bc 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateStreamResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/CreateStreamResponse.java @@ -24,6 +24,22 @@ public String getOpcRequestId() { return opcRequestId; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + /** For optimistic concurrency control. See {@code if-match}. */ private String etag; @@ -52,6 +68,7 @@ public com.oracle.bmc.streaming.model.Stream getStream() { "__httpStatusCode__", "headers", "opcRequestId", + "opcWorkRequestId", "etag", "stream" }) @@ -59,10 +76,12 @@ private CreateStreamResponse( int __httpStatusCode__, java.util.Map> headers, String opcRequestId, + String opcWorkRequestId, String etag, com.oracle.bmc.streaming.model.Stream stream) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; this.etag = etag; this.stream = stream; } @@ -103,6 +122,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @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; @@ -141,6 +178,7 @@ public Builder copy(CreateStreamResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); etag(o.getEtag()); stream(o.getStream()); @@ -155,7 +193,7 @@ public Builder copy(CreateStreamResponse o) { @Override public CreateStreamResponse build() { return new CreateStreamResponse( - __httpStatusCode__, headers, opcRequestId, etag, stream); + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId, etag, stream); } } @@ -174,6 +212,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(",etag=").append(String.valueOf(etag)); sb.append(",stream=").append(String.valueOf(stream)); sb.append(")"); @@ -192,6 +231,7 @@ public boolean equals(Object o) { CreateStreamResponse other = (CreateStreamResponse) o; return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) && java.util.Objects.equals(this.etag, other.etag) && java.util.Objects.equals(this.stream, other.stream); } @@ -201,6 +241,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); result = (result * PRIME) + (this.stream == null ? 43 : this.stream.hashCode()); return result; diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteConnectHarnessResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteConnectHarnessResponse.java index 70d94478521..5d7f08837bb 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteConnectHarnessResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteConnectHarnessResponse.java @@ -24,13 +24,36 @@ public String getOpcRequestId() { return opcRequestId; } - @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcWorkRequestId" + }) private DeleteConnectHarnessResponse( int __httpStatusCode__, java.util.Map> headers, - String opcRequestId) { + String opcRequestId, + String opcWorkRequestId) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; } public static class Builder @@ -69,6 +92,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @param opcWorkRequestId the value to set + * @return this builder + */ + public Builder opcWorkRequestId(String opcWorkRequestId) { + this.opcWorkRequestId = opcWorkRequestId; + return this; + } + /** * Copy method to populate the builder with values from the given instance. * @@ -79,6 +120,7 @@ public Builder copy(DeleteConnectHarnessResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); return this; } @@ -90,7 +132,8 @@ public Builder copy(DeleteConnectHarnessResponse o) { */ @Override public DeleteConnectHarnessResponse build() { - return new DeleteConnectHarnessResponse(__httpStatusCode__, headers, opcRequestId); + return new DeleteConnectHarnessResponse( + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId); } } @@ -109,6 +152,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(")"); return sb.toString(); } @@ -123,7 +167,9 @@ public boolean equals(Object o) { } DeleteConnectHarnessResponse other = (DeleteConnectHarnessResponse) o; - return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId); } @Override @@ -131,6 +177,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); return result; } } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteStreamPoolResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteStreamPoolResponse.java index bf71cc33fac..ce8ac30b34c 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteStreamPoolResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteStreamPoolResponse.java @@ -24,13 +24,36 @@ public String getOpcRequestId() { return opcRequestId; } - @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcWorkRequestId" + }) private DeleteStreamPoolResponse( int __httpStatusCode__, java.util.Map> headers, - String opcRequestId) { + String opcRequestId, + String opcWorkRequestId) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; } public static class Builder @@ -69,6 +92,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @param opcWorkRequestId the value to set + * @return this builder + */ + public Builder opcWorkRequestId(String opcWorkRequestId) { + this.opcWorkRequestId = opcWorkRequestId; + return this; + } + /** * Copy method to populate the builder with values from the given instance. * @@ -79,6 +120,7 @@ public Builder copy(DeleteStreamPoolResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); return this; } @@ -90,7 +132,8 @@ public Builder copy(DeleteStreamPoolResponse o) { */ @Override public DeleteStreamPoolResponse build() { - return new DeleteStreamPoolResponse(__httpStatusCode__, headers, opcRequestId); + return new DeleteStreamPoolResponse( + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId); } } @@ -109,6 +152,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(")"); return sb.toString(); } @@ -123,7 +167,9 @@ public boolean equals(Object o) { } DeleteStreamPoolResponse other = (DeleteStreamPoolResponse) o; - return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId); } @Override @@ -131,6 +177,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); return result; } } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteStreamResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteStreamResponse.java index 8ae5b1aae50..b93b7de0412 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteStreamResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/DeleteStreamResponse.java @@ -24,13 +24,36 @@ public String getOpcRequestId() { return opcRequestId; } - @java.beans.ConstructorProperties({"__httpStatusCode__", "headers", "opcRequestId"}) + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "opcWorkRequestId" + }) private DeleteStreamResponse( int __httpStatusCode__, java.util.Map> headers, - String opcRequestId) { + String opcRequestId, + String opcWorkRequestId) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; } public static class Builder @@ -69,6 +92,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @param opcWorkRequestId the value to set + * @return this builder + */ + public Builder opcWorkRequestId(String opcWorkRequestId) { + this.opcWorkRequestId = opcWorkRequestId; + return this; + } + /** * Copy method to populate the builder with values from the given instance. * @@ -79,6 +120,7 @@ public Builder copy(DeleteStreamResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); return this; } @@ -90,7 +132,8 @@ public Builder copy(DeleteStreamResponse o) { */ @Override public DeleteStreamResponse build() { - return new DeleteStreamResponse(__httpStatusCode__, headers, opcRequestId); + return new DeleteStreamResponse( + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId); } } @@ -109,6 +152,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(")"); return sb.toString(); } @@ -123,7 +167,9 @@ public boolean equals(Object o) { } DeleteStreamResponse other = (DeleteStreamResponse) o; - return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId); + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId); } @Override @@ -131,6 +177,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); return result; } } diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/GetWorkRequestResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/GetWorkRequestResponse.java new file mode 100644 index 00000000000..8155258d6f2 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/GetWorkRequestResponse.java @@ -0,0 +1,175 @@ +/** + * 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.streaming.responses; + +import com.oracle.bmc.streaming.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public class GetWorkRequestResponse 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 WorkRequest} instance. */ + private com.oracle.bmc.streaming.model.WorkRequest workRequest; + + /** + * The returned {@code WorkRequest} instance. + * + * @return the value + */ + public com.oracle.bmc.streaming.model.WorkRequest getWorkRequest() { + return workRequest; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcRequestId", + "workRequest" + }) + private GetWorkRequestResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcRequestId, + com.oracle.bmc.streaming.model.WorkRequest workRequest) { + super(__httpStatusCode__, headers); + this.opcRequestId = opcRequestId; + this.workRequest = workRequest; + } + + 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; + } + + /** The returned {@code WorkRequest} instance. */ + private com.oracle.bmc.streaming.model.WorkRequest workRequest; + + /** + * The returned {@code WorkRequest} instance. + * + * @param workRequest the value to set + * @return this builder + */ + public Builder workRequest(com.oracle.bmc.streaming.model.WorkRequest workRequest) { + this.workRequest = workRequest; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(GetWorkRequestResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcRequestId(o.getOpcRequestId()); + workRequest(o.getWorkRequest()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public GetWorkRequestResponse build() { + return new GetWorkRequestResponse( + __httpStatusCode__, headers, opcRequestId, workRequest); + } + } + + /** + * 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(",workRequest=").append(String.valueOf(workRequest)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GetWorkRequestResponse)) { + return false; + } + + GetWorkRequestResponse other = (GetWorkRequestResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.workRequest, other.workRequest); + } + + @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.workRequest == null ? 43 : this.workRequest.hashCode()); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestErrorsResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestErrorsResponse.java new file mode 100644 index 00000000000..9515a6baf34 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestErrorsResponse.java @@ -0,0 +1,280 @@ +/** + * 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.streaming.responses; + +import com.oracle.bmc.streaming.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public class ListWorkRequestErrorsResponse 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; + } + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcPrevPage; + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. 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 getOpcPrevPage() { + return opcPrevPage; + } + + /** + * 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 WorkRequestErrorCollection} instance. */ + private com.oracle.bmc.streaming.model.WorkRequestErrorCollection workRequestErrorCollection; + + /** + * The returned {@code WorkRequestErrorCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.streaming.model.WorkRequestErrorCollection + getWorkRequestErrorCollection() { + return workRequestErrorCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcNextPage", + "opcPrevPage", + "opcRequestId", + "workRequestErrorCollection" + }) + private ListWorkRequestErrorsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcNextPage, + String opcPrevPage, + String opcRequestId, + com.oracle.bmc.streaming.model.WorkRequestErrorCollection workRequestErrorCollection) { + super(__httpStatusCode__, headers); + this.opcNextPage = opcNextPage; + this.opcPrevPage = opcPrevPage; + this.opcRequestId = opcRequestId; + this.workRequestErrorCollection = workRequestErrorCollection; + } + + 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 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; + } + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcPrevPage; + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcPrevPage the value to set + * @return this builder + */ + public Builder opcPrevPage(String opcPrevPage) { + this.opcPrevPage = opcPrevPage; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, 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 WorkRequestErrorCollection} instance. */ + private com.oracle.bmc.streaming.model.WorkRequestErrorCollection + workRequestErrorCollection; + + /** + * The returned {@code WorkRequestErrorCollection} instance. + * + * @param workRequestErrorCollection the value to set + * @return this builder + */ + public Builder workRequestErrorCollection( + com.oracle.bmc.streaming.model.WorkRequestErrorCollection + workRequestErrorCollection) { + this.workRequestErrorCollection = workRequestErrorCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListWorkRequestErrorsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcNextPage(o.getOpcNextPage()); + opcPrevPage(o.getOpcPrevPage()); + opcRequestId(o.getOpcRequestId()); + workRequestErrorCollection(o.getWorkRequestErrorCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListWorkRequestErrorsResponse build() { + return new ListWorkRequestErrorsResponse( + __httpStatusCode__, + headers, + opcNextPage, + opcPrevPage, + opcRequestId, + workRequestErrorCollection); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + sb.append(",opcPrevPage=").append(String.valueOf(opcPrevPage)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",workRequestErrorCollection=") + .append(String.valueOf(workRequestErrorCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListWorkRequestErrorsResponse)) { + return false; + } + + ListWorkRequestErrorsResponse other = (ListWorkRequestErrorsResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcNextPage, other.opcNextPage) + && java.util.Objects.equals(this.opcPrevPage, other.opcPrevPage) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals( + this.workRequestErrorCollection, other.workRequestErrorCollection); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode()); + result = (result * PRIME) + (this.opcPrevPage == null ? 43 : this.opcPrevPage.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.workRequestErrorCollection == null + ? 43 + : this.workRequestErrorCollection.hashCode()); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestLogsResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestLogsResponse.java new file mode 100644 index 00000000000..5eb714586d7 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestLogsResponse.java @@ -0,0 +1,282 @@ +/** + * 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.streaming.responses; + +import com.oracle.bmc.streaming.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public class ListWorkRequestLogsResponse 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; + } + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcPrevPage; + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. 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 getOpcPrevPage() { + return opcPrevPage; + } + + /** + * 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 WorkRequestLogEntryCollection} instance. */ + private com.oracle.bmc.streaming.model.WorkRequestLogEntryCollection + workRequestLogEntryCollection; + + /** + * The returned {@code WorkRequestLogEntryCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.streaming.model.WorkRequestLogEntryCollection + getWorkRequestLogEntryCollection() { + return workRequestLogEntryCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcNextPage", + "opcPrevPage", + "opcRequestId", + "workRequestLogEntryCollection" + }) + private ListWorkRequestLogsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcNextPage, + String opcPrevPage, + String opcRequestId, + com.oracle.bmc.streaming.model.WorkRequestLogEntryCollection + workRequestLogEntryCollection) { + super(__httpStatusCode__, headers); + this.opcNextPage = opcNextPage; + this.opcPrevPage = opcPrevPage; + this.opcRequestId = opcRequestId; + this.workRequestLogEntryCollection = workRequestLogEntryCollection; + } + + 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 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; + } + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcPrevPage; + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcPrevPage the value to set + * @return this builder + */ + public Builder opcPrevPage(String opcPrevPage) { + this.opcPrevPage = opcPrevPage; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, 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 WorkRequestLogEntryCollection} instance. */ + private com.oracle.bmc.streaming.model.WorkRequestLogEntryCollection + workRequestLogEntryCollection; + + /** + * The returned {@code WorkRequestLogEntryCollection} instance. + * + * @param workRequestLogEntryCollection the value to set + * @return this builder + */ + public Builder workRequestLogEntryCollection( + com.oracle.bmc.streaming.model.WorkRequestLogEntryCollection + workRequestLogEntryCollection) { + this.workRequestLogEntryCollection = workRequestLogEntryCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListWorkRequestLogsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcNextPage(o.getOpcNextPage()); + opcPrevPage(o.getOpcPrevPage()); + opcRequestId(o.getOpcRequestId()); + workRequestLogEntryCollection(o.getWorkRequestLogEntryCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListWorkRequestLogsResponse build() { + return new ListWorkRequestLogsResponse( + __httpStatusCode__, + headers, + opcNextPage, + opcPrevPage, + opcRequestId, + workRequestLogEntryCollection); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + sb.append(",opcPrevPage=").append(String.valueOf(opcPrevPage)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",workRequestLogEntryCollection=") + .append(String.valueOf(workRequestLogEntryCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListWorkRequestLogsResponse)) { + return false; + } + + ListWorkRequestLogsResponse other = (ListWorkRequestLogsResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcNextPage, other.opcNextPage) + && java.util.Objects.equals(this.opcPrevPage, other.opcPrevPage) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals( + this.workRequestLogEntryCollection, other.workRequestLogEntryCollection); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode()); + result = (result * PRIME) + (this.opcPrevPage == null ? 43 : this.opcPrevPage.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.workRequestLogEntryCollection == null + ? 43 + : this.workRequestLogEntryCollection.hashCode()); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestsResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestsResponse.java new file mode 100644 index 00000000000..4cf99e91aa0 --- /dev/null +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/ListWorkRequestsResponse.java @@ -0,0 +1,282 @@ +/** + * 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.streaming.responses; + +import com.oracle.bmc.streaming.model.*; + +@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20180418") +public class ListWorkRequestsResponse 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; + } + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcPrevPage; + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. 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 getOpcPrevPage() { + return opcPrevPage; + } + + /** + * 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 WorkRequestSummaryCollection} instance. */ + private com.oracle.bmc.streaming.model.WorkRequestSummaryCollection + workRequestSummaryCollection; + + /** + * The returned {@code WorkRequestSummaryCollection} instance. + * + * @return the value + */ + public com.oracle.bmc.streaming.model.WorkRequestSummaryCollection + getWorkRequestSummaryCollection() { + return workRequestSummaryCollection; + } + + @java.beans.ConstructorProperties({ + "__httpStatusCode__", + "headers", + "opcNextPage", + "opcPrevPage", + "opcRequestId", + "workRequestSummaryCollection" + }) + private ListWorkRequestsResponse( + int __httpStatusCode__, + java.util.Map> headers, + String opcNextPage, + String opcPrevPage, + String opcRequestId, + com.oracle.bmc.streaming.model.WorkRequestSummaryCollection + workRequestSummaryCollection) { + super(__httpStatusCode__, headers); + this.opcNextPage = opcNextPage; + this.opcPrevPage = opcPrevPage; + this.opcRequestId = opcRequestId; + this.workRequestSummaryCollection = workRequestSummaryCollection; + } + + 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 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; + } + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + */ + private String opcPrevPage; + + /** + * For list pagination. When this header appears in the response, previous pages of results + * exist. For important details about how pagination works, see [List + * Pagination](https://docs.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + * + * @param opcPrevPage the value to set + * @return this builder + */ + public Builder opcPrevPage(String opcPrevPage) { + this.opcPrevPage = opcPrevPage; + return this; + } + + /** + * Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + * particular request, 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 WorkRequestSummaryCollection} instance. */ + private com.oracle.bmc.streaming.model.WorkRequestSummaryCollection + workRequestSummaryCollection; + + /** + * The returned {@code WorkRequestSummaryCollection} instance. + * + * @param workRequestSummaryCollection the value to set + * @return this builder + */ + public Builder workRequestSummaryCollection( + com.oracle.bmc.streaming.model.WorkRequestSummaryCollection + workRequestSummaryCollection) { + this.workRequestSummaryCollection = workRequestSummaryCollection; + return this; + } + + /** + * Copy method to populate the builder with values from the given instance. + * + * @return this builder instance + */ + @Override + public Builder copy(ListWorkRequestsResponse o) { + __httpStatusCode__(o.get__httpStatusCode__()); + headers(o.getHeaders()); + opcNextPage(o.getOpcNextPage()); + opcPrevPage(o.getOpcPrevPage()); + opcRequestId(o.getOpcRequestId()); + workRequestSummaryCollection(o.getWorkRequestSummaryCollection()); + + return this; + } + + /** + * Build the response object. + * + * @return the response object + */ + @Override + public ListWorkRequestsResponse build() { + return new ListWorkRequestsResponse( + __httpStatusCode__, + headers, + opcNextPage, + opcPrevPage, + opcRequestId, + workRequestSummaryCollection); + } + } + + /** + * Return a new builder for this response object. + * + * @return builder for the response object + */ + public static Builder builder() { + return new Builder(); + } + + @Override + public String toString() { + java.lang.StringBuilder sb = new java.lang.StringBuilder(); + sb.append("("); + sb.append("super=").append(super.toString()); + sb.append(",opcNextPage=").append(String.valueOf(opcNextPage)); + sb.append(",opcPrevPage=").append(String.valueOf(opcPrevPage)); + sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",workRequestSummaryCollection=") + .append(String.valueOf(workRequestSummaryCollection)); + sb.append(")"); + return sb.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ListWorkRequestsResponse)) { + return false; + } + + ListWorkRequestsResponse other = (ListWorkRequestsResponse) o; + return super.equals(o) + && java.util.Objects.equals(this.opcNextPage, other.opcNextPage) + && java.util.Objects.equals(this.opcPrevPage, other.opcPrevPage) + && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals( + this.workRequestSummaryCollection, other.workRequestSummaryCollection); + } + + @Override + public int hashCode() { + final int PRIME = 59; + int result = super.hashCode(); + result = (result * PRIME) + (this.opcNextPage == null ? 43 : this.opcNextPage.hashCode()); + result = (result * PRIME) + (this.opcPrevPage == null ? 43 : this.opcPrevPage.hashCode()); + result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.workRequestSummaryCollection == null + ? 43 + : this.workRequestSummaryCollection.hashCode()); + return result; + } +} diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateConnectHarnessResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateConnectHarnessResponse.java index 8fea33e6af2..aa9a88613bd 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateConnectHarnessResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateConnectHarnessResponse.java @@ -24,6 +24,22 @@ public String getOpcRequestId() { return opcRequestId; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + /** For optimistic concurrency control. See {@code if-match}. */ private String etag; @@ -52,6 +68,7 @@ public com.oracle.bmc.streaming.model.ConnectHarness getConnectHarness() { "__httpStatusCode__", "headers", "opcRequestId", + "opcWorkRequestId", "etag", "connectHarness" }) @@ -59,10 +76,12 @@ private UpdateConnectHarnessResponse( int __httpStatusCode__, java.util.Map> headers, String opcRequestId, + String opcWorkRequestId, String etag, com.oracle.bmc.streaming.model.ConnectHarness connectHarness) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; this.etag = etag; this.connectHarness = connectHarness; } @@ -103,6 +122,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @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; @@ -142,6 +179,7 @@ public Builder copy(UpdateConnectHarnessResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); etag(o.getEtag()); connectHarness(o.getConnectHarness()); @@ -156,7 +194,12 @@ public Builder copy(UpdateConnectHarnessResponse o) { @Override public UpdateConnectHarnessResponse build() { return new UpdateConnectHarnessResponse( - __httpStatusCode__, headers, opcRequestId, etag, connectHarness); + __httpStatusCode__, + headers, + opcRequestId, + opcWorkRequestId, + etag, + connectHarness); } } @@ -175,6 +218,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(",etag=").append(String.valueOf(etag)); sb.append(",connectHarness=").append(String.valueOf(connectHarness)); sb.append(")"); @@ -193,6 +237,7 @@ public boolean equals(Object o) { UpdateConnectHarnessResponse other = (UpdateConnectHarnessResponse) o; return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) && java.util.Objects.equals(this.etag, other.etag) && java.util.Objects.equals(this.connectHarness, other.connectHarness); } @@ -202,6 +247,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); result = (result * PRIME) diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateStreamPoolResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateStreamPoolResponse.java index 99c5c0be879..75eb2776dc2 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateStreamPoolResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateStreamPoolResponse.java @@ -24,6 +24,22 @@ public String getOpcRequestId() { return opcRequestId; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + /** For optimistic concurrency control. See {@code if-match}. */ private String etag; @@ -52,6 +68,7 @@ public com.oracle.bmc.streaming.model.StreamPool getStreamPool() { "__httpStatusCode__", "headers", "opcRequestId", + "opcWorkRequestId", "etag", "streamPool" }) @@ -59,10 +76,12 @@ private UpdateStreamPoolResponse( int __httpStatusCode__, java.util.Map> headers, String opcRequestId, + String opcWorkRequestId, String etag, com.oracle.bmc.streaming.model.StreamPool streamPool) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; this.etag = etag; this.streamPool = streamPool; } @@ -103,6 +122,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @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; @@ -141,6 +178,7 @@ public Builder copy(UpdateStreamPoolResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); etag(o.getEtag()); streamPool(o.getStreamPool()); @@ -155,7 +193,7 @@ public Builder copy(UpdateStreamPoolResponse o) { @Override public UpdateStreamPoolResponse build() { return new UpdateStreamPoolResponse( - __httpStatusCode__, headers, opcRequestId, etag, streamPool); + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId, etag, streamPool); } } @@ -174,6 +212,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(",etag=").append(String.valueOf(etag)); sb.append(",streamPool=").append(String.valueOf(streamPool)); sb.append(")"); @@ -192,6 +231,7 @@ public boolean equals(Object o) { UpdateStreamPoolResponse other = (UpdateStreamPoolResponse) o; return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) && java.util.Objects.equals(this.etag, other.etag) && java.util.Objects.equals(this.streamPool, other.streamPool); } @@ -201,6 +241,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); result = (result * PRIME) + (this.streamPool == null ? 43 : this.streamPool.hashCode()); return result; diff --git a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateStreamResponse.java b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateStreamResponse.java index dbfb0336701..ea366a21ed9 100644 --- a/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateStreamResponse.java +++ b/bmc-streaming/src/main/java/com/oracle/bmc/streaming/responses/UpdateStreamResponse.java @@ -24,6 +24,22 @@ public String getOpcRequestId() { return opcRequestId; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @return the value + */ + public String getOpcWorkRequestId() { + return opcWorkRequestId; + } + /** For optimistic concurrency control. See {@code if-match}. */ private String etag; @@ -52,6 +68,7 @@ public com.oracle.bmc.streaming.model.Stream getStream() { "__httpStatusCode__", "headers", "opcRequestId", + "opcWorkRequestId", "etag", "stream" }) @@ -59,10 +76,12 @@ private UpdateStreamResponse( int __httpStatusCode__, java.util.Map> headers, String opcRequestId, + String opcWorkRequestId, String etag, com.oracle.bmc.streaming.model.Stream stream) { super(__httpStatusCode__, headers); this.opcRequestId = opcRequestId; + this.opcWorkRequestId = opcWorkRequestId; this.etag = etag; this.stream = stream; } @@ -103,6 +122,24 @@ public Builder opcRequestId(String opcRequestId) { return this; } + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + */ + private String opcWorkRequestId; + + /** + * Unique Oracle-assigned identifier for the asynchronous request. You can use this to query + * status of the asynchronous operation. + * + * @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; @@ -141,6 +178,7 @@ public Builder copy(UpdateStreamResponse o) { __httpStatusCode__(o.get__httpStatusCode__()); headers(o.getHeaders()); opcRequestId(o.getOpcRequestId()); + opcWorkRequestId(o.getOpcWorkRequestId()); etag(o.getEtag()); stream(o.getStream()); @@ -155,7 +193,7 @@ public Builder copy(UpdateStreamResponse o) { @Override public UpdateStreamResponse build() { return new UpdateStreamResponse( - __httpStatusCode__, headers, opcRequestId, etag, stream); + __httpStatusCode__, headers, opcRequestId, opcWorkRequestId, etag, stream); } } @@ -174,6 +212,7 @@ public String toString() { sb.append("("); sb.append("super=").append(super.toString()); sb.append(",opcRequestId=").append(String.valueOf(opcRequestId)); + sb.append(",opcWorkRequestId=").append(String.valueOf(opcWorkRequestId)); sb.append(",etag=").append(String.valueOf(etag)); sb.append(",stream=").append(String.valueOf(stream)); sb.append(")"); @@ -192,6 +231,7 @@ public boolean equals(Object o) { UpdateStreamResponse other = (UpdateStreamResponse) o; return super.equals(o) && java.util.Objects.equals(this.opcRequestId, other.opcRequestId) + && java.util.Objects.equals(this.opcWorkRequestId, other.opcWorkRequestId) && java.util.Objects.equals(this.etag, other.etag) && java.util.Objects.equals(this.stream, other.stream); } @@ -201,6 +241,9 @@ public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.opcRequestId == null ? 43 : this.opcRequestId.hashCode()); + result = + (result * PRIME) + + (this.opcWorkRequestId == null ? 43 : this.opcWorkRequestId.hashCode()); result = (result * PRIME) + (this.etag == null ? 43 : this.etag.hashCode()); result = (result * PRIME) + (this.stream == null ? 43 : this.stream.hashCode()); return result; diff --git a/bmc-streaming/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-streaming/reflect-config.json b/bmc-streaming/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-streaming/reflect-config.json index f95fbcd879b..bf4a99c4eaf 100644 --- a/bmc-streaming/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-streaming/reflect-config.json +++ b/bmc-streaming/src/main/resources/META-INF/native-image/com.oracle.oci.sdk/oci-java-sdk-streaming/reflect-config.json @@ -1,4 +1,10 @@ [ + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.ActionType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.streaming.model.ChangeConnectHarnessCompartmentDetails", @@ -253,6 +259,18 @@ "allDeclaredMethods": true, "allDeclaredConstructors": true }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.OperationStatus", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.OperationType", + "allDeclaredFields": true, + "allDeclaredMethods": true + }, { "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, "name": "com.oracle.bmc.streaming.model.PartitionReservation", @@ -492,5 +510,117 @@ "allDeclaredFields": true, "allDeclaredMethods": true, "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequest", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequest$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestError", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestError$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestErrorCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestErrorCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestLogEntry", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestLogEntry$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestLogEntryCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestLogEntryCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestResource", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestResource$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestSummary", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestSummary$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestSummaryCollection", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "queryAllDeclaredConstructors": true + }, + { + "condition" : { "typeReachable" : "com.fasterxml.jackson.databind.ObjectMapper" }, + "name": "com.oracle.bmc.streaming.model.WorkRequestSummaryCollection$Builder", + "allDeclaredFields": true, + "allDeclaredMethods": true, + "allDeclaredConstructors": true } ] \ No newline at end of file diff --git a/bmc-tenantmanagercontrolplane/pom.xml b/bmc-tenantmanagercontrolplane/pom.xml index 16a80132c19..0311f8a69c1 100644 --- a/bmc-tenantmanagercontrolplane/pom.xml +++ b/bmc-tenantmanagercontrolplane/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-tenantmanagercontrolplane @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-threatintelligence/pom.xml b/bmc-threatintelligence/pom.xml index 5d13245ae59..56075bbc312 100644 --- a/bmc-threatintelligence/pom.xml +++ b/bmc-threatintelligence/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-threatintelligence @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-usage/pom.xml b/bmc-usage/pom.xml index 85f7b10c555..e9542e21e22 100644 --- a/bmc-usage/pom.xml +++ b/bmc-usage/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-usage @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-usageapi/pom.xml b/bmc-usageapi/pom.xml index 48476a358fd..efbf2602a4d 100644 --- a/bmc-usageapi/pom.xml +++ b/bmc-usageapi/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-usageapi @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-vault/pom.xml b/bmc-vault/pom.xml index 5ea96b30847..e56526647c8 100644 --- a/bmc-vault/pom.xml +++ b/bmc-vault/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-vault @@ -15,12 +15,12 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 com.oracle.oci.sdk oci-java-sdk-workrequests - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-vbsinst/pom.xml b/bmc-vbsinst/pom.xml index 5e74ba385a5..f630090aff1 100644 --- a/bmc-vbsinst/pom.xml +++ b/bmc-vbsinst/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-vbsinst @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-visualbuilder/pom.xml b/bmc-visualbuilder/pom.xml index 3bec2074ead..ae47c840e38 100644 --- a/bmc-visualbuilder/pom.xml +++ b/bmc-visualbuilder/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-visualbuilder @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-vnmonitoring/pom.xml b/bmc-vnmonitoring/pom.xml index f58a4918a1a..faa8841b23a 100644 --- a/bmc-vnmonitoring/pom.xml +++ b/bmc-vnmonitoring/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-vnmonitoring @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-vulnerabilityscanning/pom.xml b/bmc-vulnerabilityscanning/pom.xml index 1f975fa009a..5b486aeb9c9 100644 --- a/bmc-vulnerabilityscanning/pom.xml +++ b/bmc-vulnerabilityscanning/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-vulnerabilityscanning @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-waa/pom.xml b/bmc-waa/pom.xml index f1275d5ab24..d9a6bebdef1 100644 --- a/bmc-waa/pom.xml +++ b/bmc-waa/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-waa @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-waas/pom.xml b/bmc-waas/pom.xml index 5cb71ee8a3d..409dc3b385f 100644 --- a/bmc-waas/pom.xml +++ b/bmc-waas/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-waas @@ -16,7 +16,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-waf/pom.xml b/bmc-waf/pom.xml index 5147750ecff..1363d87e8d5 100644 --- a/bmc-waf/pom.xml +++ b/bmc-waf/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-waf @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-wlms/pom.xml b/bmc-wlms/pom.xml index d1c76b31014..2eae0016952 100644 --- a/bmc-wlms/pom.xml +++ b/bmc-wlms/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-wlms @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-workrequests/pom.xml b/bmc-workrequests/pom.xml index 4a1377f7626..8057b558f6f 100644 --- a/bmc-workrequests/pom.xml +++ b/bmc-workrequests/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-workrequests @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/bmc-zpr/pom.xml b/bmc-zpr/pom.xml index cf438f1dd33..ade401c43a8 100644 --- a/bmc-zpr/pom.xml +++ b/bmc-zpr/pom.xml @@ -4,7 +4,7 @@ com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 ../pom.xml oci-java-sdk-zpr @@ -15,7 +15,7 @@ com.oracle.oci.sdk oci-java-sdk-common - 3.86.2 + 3.87.0 \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0512ebffad2..f07df9b4eb0 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.oracle.oci.sdk oci-java-sdk - 3.86.2 + 3.87.0 pom Oracle Cloud Infrastructure SDK This project contains the SDK used for Oracle Cloud Infrastructure @@ -678,6 +678,7 @@ bmc-self bmc-containerregistry bmc-databasetoolsruntime + bmc-costad bmc-containerengine bmc-keymanagement bmc-resourcesearch