diff --git a/apis/management.cattle.io/v3/cluster_types.go b/apis/management.cattle.io/v3/cluster_types.go index 765e56db..f1574914 100644 --- a/apis/management.cattle.io/v3/cluster_types.go +++ b/apis/management.cattle.io/v3/cluster_types.go @@ -31,6 +31,7 @@ const ( ClusterActionRestoreFromEtcdBackup = "restoreFromEtcdBackup" ClusterActionRotateCertificates = "rotateCertificates" ClusterActionRunCISScan = "runSecurityScan" + ClusterActionSaveAsTemplate = "saveAsTemplate" // ClusterConditionReady Cluster ready to serve API (healthy when true, unhealthy when false) ClusterConditionReady condition.Cond = "Ready" @@ -289,3 +290,8 @@ type LocalClusterAuthEndpoint struct { type CertExpiration struct { ExpirationDate string `json:"expirationDate,omitempty"` } + +type SaveAsTemplateInput struct { + ClusterTemplateName string `json:"clusterTemplateName,omitempty"` + ClusterTemplateRevisionName string `json:"clusterTemplateRevisionName,omitempty"` +} diff --git a/apis/management.cattle.io/v3/schema/schema.go b/apis/management.cattle.io/v3/schema/schema.go index 5c549990..a4da5dae 100644 --- a/apis/management.cattle.io/v3/schema/schema.go +++ b/apis/management.cattle.io/v3/schema/schema.go @@ -215,6 +215,7 @@ func clusterTypes(schemas *types.Schemas) *types.Schemas { MustImport(&Version, v3.MonitoringInput{}). MustImport(&Version, v3.MonitoringOutput{}). MustImport(&Version, v3.RestoreFromEtcdBackupInput{}). + MustImport(&Version, v3.SaveAsTemplateInput{}). MustImportAndCustomize(&Version, v3.ETCDService{}, func(schema *types.Schema) { schema.MustCustomizeField("extraArgs", func(field types.Field) types.Field { field.Default = map[string]interface{}{ @@ -259,6 +260,9 @@ func clusterTypes(schemas *types.Schemas) *types.Schemas { Output: "rotateCertificateOutput", } schema.ResourceActions[v3.ClusterActionRunCISScan] = types.Action{} + schema.ResourceActions[v3.ClusterActionSaveAsTemplate] = types.Action{ + Input: "saveAsTemplateInput", + } }) }