diff --git a/services/iaas/oas_commit b/services/iaas/oas_commit index 2fd4b6b8b..abd8d51b0 100644 --- a/services/iaas/oas_commit +++ b/services/iaas/oas_commit @@ -1 +1 @@ -f05986bf33be92fa5cbe425bcf5e4a11dd3c7463 +46f03c1468dd453695c05e72c088a6bfb5a4bbab diff --git a/services/iaas/v1api/model_area_id.go b/services/iaas/v1api/model_area_id.go index 4c26ea620..370cb216e 100644 --- a/services/iaas/v1api/model_area_id.go +++ b/services/iaas/v1api/model_area_id.go @@ -14,6 +14,7 @@ package v1api import ( "encoding/json" "fmt" + "regexp" ) // AreaId - The identifier (ID) of an area. @@ -57,10 +58,13 @@ func (dst *AreaId) UnmarshalJSON(data []byte) error { err = json.Unmarshal(data, &dst.String) if err == nil { jsonString, _ := json.Marshal(dst.String) - if string(jsonString) == "{}" { // empty struct - dst.String = nil - } else { + // OVERRIDE: this pattern match is custom + regex := `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` + isMatched, _ := regexp.MatchString(regex, *dst.String) + if string(jsonString) != "{}" && isMatched { // empty struct match++ + } else { + dst.String = nil } } else { dst.String = nil diff --git a/services/iaas/v2api/model_area_id.go b/services/iaas/v2api/model_area_id.go index 3c516b052..bd0b814d4 100644 --- a/services/iaas/v2api/model_area_id.go +++ b/services/iaas/v2api/model_area_id.go @@ -14,6 +14,7 @@ package v2api import ( "encoding/json" "fmt" + "regexp" ) // AreaId - The identifier (ID) of an area. @@ -57,10 +58,13 @@ func (dst *AreaId) UnmarshalJSON(data []byte) error { err = json.Unmarshal(data, &dst.String) if err == nil { jsonString, _ := json.Marshal(dst.String) - if string(jsonString) == "{}" { // empty struct - dst.String = nil - } else { + // OVERRIDE: this pattern match is custom + regex := `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` + isMatched, _ := regexp.MatchString(regex, *dst.String) + if string(jsonString) != "{}" && isMatched { // empty struct match++ + } else { + dst.String = nil } } else { dst.String = nil diff --git a/services/iaas/v2beta1api/model_area_id.go b/services/iaas/v2beta1api/model_area_id.go index 938c9d001..e6adbeb20 100644 --- a/services/iaas/v2beta1api/model_area_id.go +++ b/services/iaas/v2beta1api/model_area_id.go @@ -14,6 +14,7 @@ package v2beta1api import ( "encoding/json" "fmt" + "regexp" ) // AreaId - The identifier (ID) of an area. @@ -44,10 +45,13 @@ func (dst *AreaId) UnmarshalJSON(data []byte) error { err = json.Unmarshal(data, &dst.StaticAreaID) if err == nil { jsonStaticAreaID, _ := json.Marshal(dst.StaticAreaID) - if string(jsonStaticAreaID) == "{}" { // empty struct - dst.StaticAreaID = nil - } else { + // OVERRIDE: this pattern match is custom + regex := `^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$` + isMatched, _ := regexp.MatchString(regex, string(*dst.StaticAreaID)) + if string(jsonStaticAreaID) != "{}" && isMatched { // empty struct match++ + } else { + dst.StaticAreaID = nil } } else { dst.StaticAreaID = nil