diff --git a/apis/management.cattle.io/v3/machine_types.go b/apis/management.cattle.io/v3/machine_types.go index 29dc662a..d0c3d065 100644 --- a/apis/management.cattle.io/v3/machine_types.go +++ b/apis/management.cattle.io/v3/machine_types.go @@ -319,5 +319,6 @@ type CloudCredential struct { } type CloudCredentialSpec struct { + DisplayName string `json:"displayName"` Description string `json:"description,omitempty"` } diff --git a/apis/management.cattle.io/v3/schema/schema.go b/apis/management.cattle.io/v3/schema/schema.go index 09dc324a..2173df1b 100644 --- a/apis/management.cattle.io/v3/schema/schema.go +++ b/apis/management.cattle.io/v3/schema/schema.go @@ -76,7 +76,9 @@ func schemaTypes(schemas *types.Schemas) *types.Schemas { func credTypes(schemas *types.Schemas) *types.Schemas { return schemas. AddMapperForType(&Version, v3.CloudCredential{}, + &m.DisplayName{}, &mapper.CredentialMapper{}, + &m.AnnotationField{Field: "name"}, &m.Drop{Field: "namespaceId"}). MustImport(&Version, v3.CloudCredential{}) } diff --git a/mapper/credentialmapper.go b/mapper/credentialmapper.go index dd09155e..c551a3b1 100644 --- a/mapper/credentialmapper.go +++ b/mapper/credentialmapper.go @@ -14,6 +14,13 @@ type CredentialMapper struct { func (s CredentialMapper) FromInternal(data map[string]interface{}) { formatData(data) + name := convert.ToString(values.GetValueN(data, "name")) + if name == "" { + id := convert.ToString(values.GetValueN(data, "id")) + if id != "" { + data["name"] = id + } + } delete(data, "data") }