Skip to content

Commit

Permalink
Releasing version 65.82.0
Browse files Browse the repository at this point in the history
Releasing version 65.82.0
  • Loading branch information
oci-dex-release-bot authored Jan 28, 2025
2 parents 7703dcd + 1c97b2f commit 7e2ef08
Show file tree
Hide file tree
Showing 171 changed files with 10,072 additions and 153 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.

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

## 65.82.0 - 2025-01-28
### Added
- Support for external MySQL database management in the Database Management service
- Support for fetching highly available metrics for managed databases in the Database Management service
- Support for Exadata Infrastructure on Exadata Cloud@Customer in the Database service
- Support for disaster recovery for cloud native applications running on OKE clusters in the Disaster Recovery service
- Support for subscription assignment at creation of the child tenancies in the Organizations service
- Support for additional actionable insights content-types for news reports in the Operations Insights service
- Support for MySQL Heatwave database systems in the Operations Insights service

### Breaking Changes
- The enum ClassicSubscriptionEnvironmentNameEnum was removed from the Organizations service

## 65.81.3 - 2025-01-21
### Added
- Support for Bring Your Own ASN (BYOASN) in the Networking service
Expand Down
25 changes: 23 additions & 2 deletions common/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -526,8 +526,29 @@ func addToHeader(request *http.Request, value reflect.Value, field reflect.Struc
}

//Otherwise get value and set header
if headerValue, e = toStringValue(value, field); e != nil {
return
encoding := strings.ToLower(field.Tag.Get("collectionFormat"))
var collectionFormatStringValues []string
switch encoding {
case "csv", "multi":
if value.Kind() != reflect.Slice && value.Kind() != reflect.Array {
e = fmt.Errorf("header is tagged as csv or multi yet its type is neither an Array nor a Slice: %s", field.Name)
return
}

numOfElements := value.Len()
collectionFormatStringValues = make([]string, numOfElements)
for i := 0; i < numOfElements; i++ {
collectionFormatStringValues[i], e = toStringValue(value.Index(i), field)
if e != nil {
Debugf("Header element could not be marshalled to a string: %w", e)
return
}
}
headerValue = strings.Join(collectionFormatStringValues, ",")
default:
if headerValue, e = toStringValue(value, field); e != nil {
return
}
}

if e = setWellKnownHeaders(request, headerName, headerValue, contentLenSpecified); e != nil {
Expand Down
15 changes: 15 additions & 0 deletions common/http_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -901,6 +901,10 @@ type structWithHeaderCollections struct {
Meta map[string]string `contributesTo:"header-collection" prefix:"meta-prefix-"`
}

type structWithHeaderArray struct {
Recipients []string `contributesTo:"header" name:"recipients" collectionFormat:"csv"`
}

func TestMarshalWithHeaderCollections(t *testing.T) {
vals := make(map[string]string)
vals["key1"] = "val1"
Expand All @@ -913,6 +917,17 @@ func TestMarshalWithHeaderCollections(t *testing.T) {
assert.Equal(t, s.Meta["key2"], request.Header.Get("Meta-prefix-key2"))
}

func TestMarshalWithHeaderArray(t *testing.T) {
vals := make([]string, 3)
vals[0] = "bob"
vals[1] = "rachel"
vals[2] = "alex"
s := structWithHeaderArray{Recipients: vals}
request, err := MakeDefaultHTTPRequestWithTaggedStruct("GET", "/", s)
assert.NoError(t, err)
assert.Equal(t, "bob,rachel,alex", request.Header.Get("recipients"))
}

func TestMarshalWithHeaderCollections_BadCollectionType(t *testing.T) {
vals := make(map[string]int)
vals["key1"] = 1
Expand Down
4 changes: 2 additions & 2 deletions common/version.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

54 changes: 54 additions & 0 deletions database/cloud_exadata_infrastructure.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,15 @@ type CloudExadataInfrastructure struct {

// If true, the infrastructure is using granular maintenance scheduling preference.
IsSchedulingPolicyAssociated *bool `mandatory:"false" json:"isSchedulingPolicyAssociated"`

// The database server type of the Exadata infrastructure.
DatabaseServerType *string `mandatory:"false" json:"databaseServerType"`

// The storage server type of the Exadata infrastructure.
StorageServerType *string `mandatory:"false" json:"storageServerType"`

// The compute model of the Autonomous Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy.
ComputeModel CloudExadataInfrastructureComputeModelEnum `mandatory:"false" json:"computeModel,omitempty"`
}

func (m CloudExadataInfrastructure) String() string {
Expand All @@ -152,6 +161,9 @@ func (m CloudExadataInfrastructure) ValidateEnumValue() (bool, error) {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", m.LifecycleState, strings.Join(GetCloudExadataInfrastructureLifecycleStateEnumStringValues(), ",")))
}

if _, ok := GetMappingCloudExadataInfrastructureComputeModelEnum(string(m.ComputeModel)); !ok && m.ComputeModel != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for ComputeModel: %s. Supported values are: %s.", m.ComputeModel, strings.Join(GetCloudExadataInfrastructureComputeModelEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
Expand Down Expand Up @@ -219,3 +231,45 @@ func GetMappingCloudExadataInfrastructureLifecycleStateEnum(val string) (CloudEx
enum, ok := mappingCloudExadataInfrastructureLifecycleStateEnumLowerCase[strings.ToLower(val)]
return enum, ok
}

// CloudExadataInfrastructureComputeModelEnum Enum with underlying type: string
type CloudExadataInfrastructureComputeModelEnum string

// Set of constants representing the allowable values for CloudExadataInfrastructureComputeModelEnum
const (
CloudExadataInfrastructureComputeModelEcpu CloudExadataInfrastructureComputeModelEnum = "ECPU"
CloudExadataInfrastructureComputeModelOcpu CloudExadataInfrastructureComputeModelEnum = "OCPU"
)

var mappingCloudExadataInfrastructureComputeModelEnum = map[string]CloudExadataInfrastructureComputeModelEnum{
"ECPU": CloudExadataInfrastructureComputeModelEcpu,
"OCPU": CloudExadataInfrastructureComputeModelOcpu,
}

var mappingCloudExadataInfrastructureComputeModelEnumLowerCase = map[string]CloudExadataInfrastructureComputeModelEnum{
"ecpu": CloudExadataInfrastructureComputeModelEcpu,
"ocpu": CloudExadataInfrastructureComputeModelOcpu,
}

// GetCloudExadataInfrastructureComputeModelEnumValues Enumerates the set of values for CloudExadataInfrastructureComputeModelEnum
func GetCloudExadataInfrastructureComputeModelEnumValues() []CloudExadataInfrastructureComputeModelEnum {
values := make([]CloudExadataInfrastructureComputeModelEnum, 0)
for _, v := range mappingCloudExadataInfrastructureComputeModelEnum {
values = append(values, v)
}
return values
}

// GetCloudExadataInfrastructureComputeModelEnumStringValues Enumerates the set of values in String for CloudExadataInfrastructureComputeModelEnum
func GetCloudExadataInfrastructureComputeModelEnumStringValues() []string {
return []string{
"ECPU",
"OCPU",
}
}

// GetMappingCloudExadataInfrastructureComputeModelEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingCloudExadataInfrastructureComputeModelEnum(val string) (CloudExadataInfrastructureComputeModelEnum, bool) {
enum, ok := mappingCloudExadataInfrastructureComputeModelEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
54 changes: 54 additions & 0 deletions database/cloud_exadata_infrastructure_summary.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,15 @@ type CloudExadataInfrastructureSummary struct {

// If true, the infrastructure is using granular maintenance scheduling preference.
IsSchedulingPolicyAssociated *bool `mandatory:"false" json:"isSchedulingPolicyAssociated"`

// The database server type of the Exadata infrastructure.
DatabaseServerType *string `mandatory:"false" json:"databaseServerType"`

// The storage server type of the Exadata infrastructure.
StorageServerType *string `mandatory:"false" json:"storageServerType"`

// The compute model of the Autonomous Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy.
ComputeModel CloudExadataInfrastructureSummaryComputeModelEnum `mandatory:"false" json:"computeModel,omitempty"`
}

func (m CloudExadataInfrastructureSummary) String() string {
Expand All @@ -152,6 +161,9 @@ func (m CloudExadataInfrastructureSummary) ValidateEnumValue() (bool, error) {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", m.LifecycleState, strings.Join(GetCloudExadataInfrastructureSummaryLifecycleStateEnumStringValues(), ",")))
}

if _, ok := GetMappingCloudExadataInfrastructureSummaryComputeModelEnum(string(m.ComputeModel)); !ok && m.ComputeModel != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for ComputeModel: %s. Supported values are: %s.", m.ComputeModel, strings.Join(GetCloudExadataInfrastructureSummaryComputeModelEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
Expand Down Expand Up @@ -219,3 +231,45 @@ func GetMappingCloudExadataInfrastructureSummaryLifecycleStateEnum(val string) (
enum, ok := mappingCloudExadataInfrastructureSummaryLifecycleStateEnumLowerCase[strings.ToLower(val)]
return enum, ok
}

// CloudExadataInfrastructureSummaryComputeModelEnum Enum with underlying type: string
type CloudExadataInfrastructureSummaryComputeModelEnum string

// Set of constants representing the allowable values for CloudExadataInfrastructureSummaryComputeModelEnum
const (
CloudExadataInfrastructureSummaryComputeModelEcpu CloudExadataInfrastructureSummaryComputeModelEnum = "ECPU"
CloudExadataInfrastructureSummaryComputeModelOcpu CloudExadataInfrastructureSummaryComputeModelEnum = "OCPU"
)

var mappingCloudExadataInfrastructureSummaryComputeModelEnum = map[string]CloudExadataInfrastructureSummaryComputeModelEnum{
"ECPU": CloudExadataInfrastructureSummaryComputeModelEcpu,
"OCPU": CloudExadataInfrastructureSummaryComputeModelOcpu,
}

var mappingCloudExadataInfrastructureSummaryComputeModelEnumLowerCase = map[string]CloudExadataInfrastructureSummaryComputeModelEnum{
"ecpu": CloudExadataInfrastructureSummaryComputeModelEcpu,
"ocpu": CloudExadataInfrastructureSummaryComputeModelOcpu,
}

// GetCloudExadataInfrastructureSummaryComputeModelEnumValues Enumerates the set of values for CloudExadataInfrastructureSummaryComputeModelEnum
func GetCloudExadataInfrastructureSummaryComputeModelEnumValues() []CloudExadataInfrastructureSummaryComputeModelEnum {
values := make([]CloudExadataInfrastructureSummaryComputeModelEnum, 0)
for _, v := range mappingCloudExadataInfrastructureSummaryComputeModelEnum {
values = append(values, v)
}
return values
}

// GetCloudExadataInfrastructureSummaryComputeModelEnumStringValues Enumerates the set of values in String for CloudExadataInfrastructureSummaryComputeModelEnum
func GetCloudExadataInfrastructureSummaryComputeModelEnumStringValues() []string {
return []string{
"ECPU",
"OCPU",
}
}

// GetMappingCloudExadataInfrastructureSummaryComputeModelEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingCloudExadataInfrastructureSummaryComputeModelEnum(val string) (CloudExadataInfrastructureSummaryComputeModelEnum, bool) {
enum, ok := mappingCloudExadataInfrastructureSummaryComputeModelEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
48 changes: 48 additions & 0 deletions database/cloud_vm_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,9 @@ type CloudVmCluster struct {

CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"`

// The compute model of the Autonomous Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy.
ComputeModel CloudVmClusterComputeModelEnum `mandatory:"false" json:"computeModel,omitempty"`

IormConfigCache *ExadataIormConfig `mandatory:"false" json:"iormConfigCache"`
}

Expand All @@ -214,6 +217,9 @@ func (m CloudVmCluster) ValidateEnumValue() (bool, error) {
if _, ok := GetMappingCloudVmClusterDiskRedundancyEnum(string(m.DiskRedundancy)); !ok && m.DiskRedundancy != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for DiskRedundancy: %s. Supported values are: %s.", m.DiskRedundancy, strings.Join(GetCloudVmClusterDiskRedundancyEnumStringValues(), ",")))
}
if _, ok := GetMappingCloudVmClusterComputeModelEnum(string(m.ComputeModel)); !ok && m.ComputeModel != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for ComputeModel: %s. Supported values are: %s.", m.ComputeModel, strings.Join(GetCloudVmClusterComputeModelEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
Expand Down Expand Up @@ -365,3 +371,45 @@ func GetMappingCloudVmClusterDiskRedundancyEnum(val string) (CloudVmClusterDiskR
enum, ok := mappingCloudVmClusterDiskRedundancyEnumLowerCase[strings.ToLower(val)]
return enum, ok
}

// CloudVmClusterComputeModelEnum Enum with underlying type: string
type CloudVmClusterComputeModelEnum string

// Set of constants representing the allowable values for CloudVmClusterComputeModelEnum
const (
CloudVmClusterComputeModelEcpu CloudVmClusterComputeModelEnum = "ECPU"
CloudVmClusterComputeModelOcpu CloudVmClusterComputeModelEnum = "OCPU"
)

var mappingCloudVmClusterComputeModelEnum = map[string]CloudVmClusterComputeModelEnum{
"ECPU": CloudVmClusterComputeModelEcpu,
"OCPU": CloudVmClusterComputeModelOcpu,
}

var mappingCloudVmClusterComputeModelEnumLowerCase = map[string]CloudVmClusterComputeModelEnum{
"ecpu": CloudVmClusterComputeModelEcpu,
"ocpu": CloudVmClusterComputeModelOcpu,
}

// GetCloudVmClusterComputeModelEnumValues Enumerates the set of values for CloudVmClusterComputeModelEnum
func GetCloudVmClusterComputeModelEnumValues() []CloudVmClusterComputeModelEnum {
values := make([]CloudVmClusterComputeModelEnum, 0)
for _, v := range mappingCloudVmClusterComputeModelEnum {
values = append(values, v)
}
return values
}

// GetCloudVmClusterComputeModelEnumStringValues Enumerates the set of values in String for CloudVmClusterComputeModelEnum
func GetCloudVmClusterComputeModelEnumStringValues() []string {
return []string{
"ECPU",
"OCPU",
}
}

// GetMappingCloudVmClusterComputeModelEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingCloudVmClusterComputeModelEnum(val string) (CloudVmClusterComputeModelEnum, bool) {
enum, ok := mappingCloudVmClusterComputeModelEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
48 changes: 48 additions & 0 deletions database/cloud_vm_cluster_summary.go
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,9 @@ type CloudVmClusterSummary struct {
FileSystemConfigurationDetails []FileSystemConfigurationDetail `mandatory:"false" json:"fileSystemConfigurationDetails"`

CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"`

// The compute model of the Autonomous Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy.
ComputeModel CloudVmClusterSummaryComputeModelEnum `mandatory:"false" json:"computeModel,omitempty"`
}

func (m CloudVmClusterSummary) String() string {
Expand All @@ -212,6 +215,9 @@ func (m CloudVmClusterSummary) ValidateEnumValue() (bool, error) {
if _, ok := GetMappingCloudVmClusterSummaryDiskRedundancyEnum(string(m.DiskRedundancy)); !ok && m.DiskRedundancy != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for DiskRedundancy: %s. Supported values are: %s.", m.DiskRedundancy, strings.Join(GetCloudVmClusterSummaryDiskRedundancyEnumStringValues(), ",")))
}
if _, ok := GetMappingCloudVmClusterSummaryComputeModelEnum(string(m.ComputeModel)); !ok && m.ComputeModel != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for ComputeModel: %s. Supported values are: %s.", m.ComputeModel, strings.Join(GetCloudVmClusterSummaryComputeModelEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
Expand Down Expand Up @@ -363,3 +369,45 @@ func GetMappingCloudVmClusterSummaryDiskRedundancyEnum(val string) (CloudVmClust
enum, ok := mappingCloudVmClusterSummaryDiskRedundancyEnumLowerCase[strings.ToLower(val)]
return enum, ok
}

// CloudVmClusterSummaryComputeModelEnum Enum with underlying type: string
type CloudVmClusterSummaryComputeModelEnum string

// Set of constants representing the allowable values for CloudVmClusterSummaryComputeModelEnum
const (
CloudVmClusterSummaryComputeModelEcpu CloudVmClusterSummaryComputeModelEnum = "ECPU"
CloudVmClusterSummaryComputeModelOcpu CloudVmClusterSummaryComputeModelEnum = "OCPU"
)

var mappingCloudVmClusterSummaryComputeModelEnum = map[string]CloudVmClusterSummaryComputeModelEnum{
"ECPU": CloudVmClusterSummaryComputeModelEcpu,
"OCPU": CloudVmClusterSummaryComputeModelOcpu,
}

var mappingCloudVmClusterSummaryComputeModelEnumLowerCase = map[string]CloudVmClusterSummaryComputeModelEnum{
"ecpu": CloudVmClusterSummaryComputeModelEcpu,
"ocpu": CloudVmClusterSummaryComputeModelOcpu,
}

// GetCloudVmClusterSummaryComputeModelEnumValues Enumerates the set of values for CloudVmClusterSummaryComputeModelEnum
func GetCloudVmClusterSummaryComputeModelEnumValues() []CloudVmClusterSummaryComputeModelEnum {
values := make([]CloudVmClusterSummaryComputeModelEnum, 0)
for _, v := range mappingCloudVmClusterSummaryComputeModelEnum {
values = append(values, v)
}
return values
}

// GetCloudVmClusterSummaryComputeModelEnumStringValues Enumerates the set of values in String for CloudVmClusterSummaryComputeModelEnum
func GetCloudVmClusterSummaryComputeModelEnumStringValues() []string {
return []string{
"ECPU",
"OCPU",
}
}

// GetMappingCloudVmClusterSummaryComputeModelEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingCloudVmClusterSummaryComputeModelEnum(val string) (CloudVmClusterSummaryComputeModelEnum, bool) {
enum, ok := mappingCloudVmClusterSummaryComputeModelEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
6 changes: 6 additions & 0 deletions database/create_cloud_exadata_infrastructure_details.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@ type CreateCloudExadataInfrastructureDetails struct {

// Customer contacts.
CustomerContacts []CustomerContact `mandatory:"false" json:"customerContacts"`

// The database server type of the Exadata infrastructure.
DatabaseServerType *string `mandatory:"false" json:"databaseServerType"`

// The storage server type of the Exadata infrastructure.
StorageServerType *string `mandatory:"false" json:"storageServerType"`
}

func (m CreateCloudExadataInfrastructureDetails) String() string {
Expand Down
6 changes: 6 additions & 0 deletions database/create_exadata_infrastructure_details.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,12 @@ type CreateExadataInfrastructureDetails struct {

NetworkBondingModeDetails *NetworkBondingModeDetails `mandatory:"false" json:"networkBondingModeDetails"`

// The database server type of the Exadata infrastructure.
DatabaseServerType *string `mandatory:"false" json:"databaseServerType"`

// The storage server type of the Exadata infrastructure.
StorageServerType *string `mandatory:"false" json:"storageServerType"`

// 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.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
// Example: `{"Department": "Finance"}`
Expand Down
Loading

0 comments on commit 7e2ef08

Please sign in to comment.