diff --git a/apis/management.cattle.io/v3/cluster_types.go b/apis/management.cattle.io/v3/cluster_types.go index 4f1525ed..9ce800d1 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" @@ -288,3 +289,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 0f52abc6..6b1eef08 100644 --- a/apis/management.cattle.io/v3/schema/schema.go +++ b/apis/management.cattle.io/v3/schema/schema.go @@ -214,6 +214,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{}{ @@ -258,6 +259,9 @@ func clusterTypes(schemas *types.Schemas) *types.Schemas { Output: "rotateCertificateOutput", } schema.ResourceActions[v3.ClusterActionRunCISScan] = types.Action{} + schema.ResourceActions[v3.ClusterActionSaveAsTemplate] = types.Action{ + Input: "saveAsTemplateInput", + } }) }