Skip to content

Commit 0644aaf

Browse files
Releasing version ..
Releasing version ..
2 parents 8369e26 + 774aca9 commit 0644aaf

40 files changed

+2219
-369
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](http://keepachangelog.com/)
66

7+
## 65.99.0 - 2025-08-19
8+
### Added
9+
- Support for calling Oracle Cloud Infrastructure services in the eu-budapest-1 region
10+
- Support for pluggable database snapshot for Oracle Exadata Database Service
11+
- Support for new GenericChatRequest parameters in Generative AI inference service
12+
- Support for Flexible CIDR for secondary IPs on a VNIC for Virtual Cloud Network Service
13+
14+
### Breaking Changes
15+
- Removed deprecated service Anomaly Detection
16+
- Removed deprecated service Data Transfer Service
17+
- Removed deprecated service OS Management Service
18+
- Removed deprecated service Service Mesh
19+
720
## 65.98.0 - 2025-08-12
821
### Added
922
- Support for calling Oracle Cloud Infrastructure services in the us-newark-1 region

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
DOC_SERVER_URL=https:\/\/docs.oracle.com
22

3-
GEN_TARGETS = identity core objectstorage loadbalancer database audit dns filestorage email containerengine resourcesearch keymanagement announcementsservice healthchecks waas autoscaling streaming ons monitoring resourcemanager budget workrequests functions limits events dts oce oda analytics integration osmanagement marketplace apigateway datacatalog dataflow datascience nosql secrets vault bds cims datasafe mysql dataintegration ocvp usageapi blockchain loggingingestion logging loganalytics managementdashboard sch loggingsearch managementagent cloudguard opsi computeinstanceagent optimizer tenantmanagercontrolplane rover databasemanagement artifacts apmsynthetics goldengate apmcontrolplane apmtraces networkloadbalancer vulnerabilityscanning databasemigration servicecatalog ailanguage operatoraccesscontrol bastion genericartifactscontent jms devops aianomalydetection datalabelingservice datalabelingservicedataplane apmconfig waf certificates certificatesmanagement usage databasetools servicemanagerproxy appmgmtcontrol ospgateway identitydataplane visualbuilder osubusage osubsubscription osuborganizationsubscription osubbillingschedule dashboardservice threatintelligence aivision aispeech stackmonitoring servicemesh adm licensemanager onesubscription governancerulescontrolplane waa networkfirewall vnmonitoring emwarehouse lockbox fusionapps mediaservices opa opensearch cloudmigrations cloudbridge disasterrecovery containerinstances aidocument queue recovery vbsinst identitydomains accessgovernancecp ocicontrolcenter osmanagementhub fleetsoftwareupdate computecloudatcustomer marketplacepublisher redis jmsjavadownloads psql generativeai generativeaiinference capacitymanagement globallydistributeddatabase desktops emaildataplane clusterplacementgroups marketplaceprivateoffer resourcescheduler demandsignal fleetappsmanagement delegateaccesscontrol generativeaiagent generativeaiagentruntime securityattribute zpr dblm mngdmac lustrefilestorage modeldeployment distributeddatabase apiaccesscontrol wlms dbmulticloud apiplatform multicloud ##SPECNAME##
3+
GEN_TARGETS = identity core objectstorage loadbalancer database audit dns filestorage email containerengine resourcesearch keymanagement announcementsservice healthchecks waas autoscaling streaming ons monitoring resourcemanager budget workrequests functions limits events oce oda analytics integration marketplace apigateway datacatalog dataflow datascience nosql secrets vault bds cims datasafe mysql dataintegration ocvp usageapi blockchain loggingingestion logging loganalytics managementdashboard sch loggingsearch managementagent cloudguard opsi computeinstanceagent optimizer tenantmanagercontrolplane rover databasemanagement artifacts apmsynthetics goldengate apmcontrolplane apmtraces networkloadbalancer vulnerabilityscanning databasemigration servicecatalog ailanguage operatoraccesscontrol bastion genericartifactscontent jms devops datalabelingservice datalabelingservicedataplane apmconfig waf certificates certificatesmanagement usage databasetools servicemanagerproxy appmgmtcontrol ospgateway identitydataplane visualbuilder osubusage osubsubscription osuborganizationsubscription osubbillingschedule dashboardservice threatintelligence aivision aispeech stackmonitoring adm licensemanager onesubscription governancerulescontrolplane waa networkfirewall vnmonitoring emwarehouse lockbox fusionapps mediaservices opa opensearch cloudmigrations cloudbridge disasterrecovery containerinstances aidocument queue recovery vbsinst identitydomains accessgovernancecp ocicontrolcenter osmanagementhub fleetsoftwareupdate computecloudatcustomer marketplacepublisher redis jmsjavadownloads psql generativeai generativeaiinference capacitymanagement globallydistributeddatabase desktops emaildataplane clusterplacementgroups marketplaceprivateoffer resourcescheduler demandsignal fleetappsmanagement delegateaccesscontrol generativeaiagent generativeaiagentruntime securityattribute zpr dblm mngdmac lustrefilestorage modeldeployment distributeddatabase apiaccesscontrol wlms dbmulticloud apiplatform multicloud ##SPECNAME##
44
NON_GEN_TARGETS = common common/auth objectstorage/transfer example
55
TARGETS = $(NON_GEN_TARGETS) $(GEN_TARGETS)
66

common/client.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,9 @@ const (
122122

123123
//defaultRefreshIntervalForCustomCerts is the default refresh interval in minutes
124124
defaultRefreshIntervalForCustomCerts = 30
125+
126+
// CustomClientTimeoutEnvVar allows the user to set the timeout in seconds to be used by each service client.
127+
CustomClientTimeoutEnvVar = "OCI_CUSTOM_CLIENT_TIMEOUT"
125128
)
126129

127130
// OciGlobalRefreshIntervalForCustomCerts is the global policy for overriding the refresh interval in minutes.
@@ -242,8 +245,21 @@ func defaultHTTPDispatcher() http.Client {
242245
RefreshRate: time.Duration(refreshInterval) * time.Minute,
243246
TLSConfigProvider: GetTLSConfigTemplateForTransport(),
244247
}
248+
249+
// Set client timeout to default or value set in environment variable
250+
clientTimeout := defaultTimeout
251+
if customTimeout := os.Getenv(CustomClientTimeoutEnvVar); customTimeout != "" {
252+
if timeInSeconds, err := strconv.Atoi(customTimeout); err != nil || timeInSeconds < 0 {
253+
Logf("WARNING: %s set but could not be converted to a postive integer", CustomClientTimeoutEnvVar)
254+
} else {
255+
Debugf("Using custom client timeout of %s seconds", customTimeout)
256+
clientTimeout = time.Duration(timeInSeconds) * time.Second
257+
}
258+
}
259+
260+
// Create the underlying HTTP client
245261
httpClient = http.Client{
246-
Timeout: defaultTimeout,
262+
Timeout: clientTimeout,
247263
Transport: tp,
248264
}
249265
return httpClient

common/client_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,18 @@ key_file=%s
678678
assert.Error(t, err)
679679
}
680680

681+
func TestBaseClient_withCustomTimeout(t *testing.T) {
682+
os.Setenv(CustomClientTimeoutEnvVar, "20")
683+
c := defaultHTTPDispatcher()
684+
assert.Equal(t, 20*time.Second, c.Timeout)
685+
os.Setenv(CustomClientTimeoutEnvVar, "abc")
686+
c = defaultHTTPDispatcher()
687+
assert.Equal(t, defaultTimeout, c.Timeout) // waring thrown, fallback to default
688+
os.Unsetenv(CustomClientTimeoutEnvVar)
689+
c = defaultHTTPDispatcher()
690+
assert.Equal(t, defaultTimeout, c.Timeout)
691+
}
692+
681693
func TestHomeDir(t *testing.T) {
682694
h := getHomeFolder()
683695
_, e := os.Stat(h)

0 commit comments

Comments
 (0)