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", + } }) } diff --git a/apis/management.cattle.io/v3/zz_generated_deepcopy.go b/apis/management.cattle.io/v3/zz_generated_deepcopy.go index 82c6b688..96f05fce 100644 --- a/apis/management.cattle.io/v3/zz_generated_deepcopy.go +++ b/apis/management.cattle.io/v3/zz_generated_deepcopy.go @@ -8413,6 +8413,22 @@ func (in *SamlConfigTestOutput) DeepCopy() *SamlConfigTestOutput { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SaveAsTemplateInput) DeepCopyInto(out *SaveAsTemplateInput) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SaveAsTemplateInput. +func (in *SaveAsTemplateInput) DeepCopy() *SaveAsTemplateInput { + if in == nil { + return nil + } + out := new(SaveAsTemplateInput) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SchedulerService) DeepCopyInto(out *SchedulerService) { *out = *in diff --git a/client/management/v3/zz_generated_cluster.go b/client/management/v3/zz_generated_cluster.go index 0e570320..b479561a 100644 --- a/client/management/v3/zz_generated_cluster.go +++ b/client/management/v3/zz_generated_cluster.go @@ -148,6 +148,8 @@ type ClusterOperations interface { ActionRunSecurityScan(resource *Cluster) error + ActionSaveAsTemplate(resource *Cluster, input *SaveAsTemplateInput) error + ActionViewMonitoring(resource *Cluster) (*MonitoringOutput, error) } @@ -256,6 +258,11 @@ func (c *ClusterClient) ActionRunSecurityScan(resource *Cluster) error { return err } +func (c *ClusterClient) ActionSaveAsTemplate(resource *Cluster, input *SaveAsTemplateInput) error { + err := c.apiClient.Ops.DoAction(ClusterType, "saveAsTemplate", &resource.Resource, input, nil) + return err +} + func (c *ClusterClient) ActionViewMonitoring(resource *Cluster) (*MonitoringOutput, error) { resp := &MonitoringOutput{} err := c.apiClient.Ops.DoAction(ClusterType, "viewMonitoring", &resource.Resource, nil, resp) diff --git a/client/management/v3/zz_generated_save_as_template_input.go b/client/management/v3/zz_generated_save_as_template_input.go new file mode 100644 index 00000000..b756e4fe --- /dev/null +++ b/client/management/v3/zz_generated_save_as_template_input.go @@ -0,0 +1,12 @@ +package client + +const ( + SaveAsTemplateInputType = "saveAsTemplateInput" + SaveAsTemplateInputFieldClusterTemplateName = "clusterTemplateName" + SaveAsTemplateInputFieldClusterTemplateRevisionName = "clusterTemplateRevisionName" +) + +type SaveAsTemplateInput struct { + ClusterTemplateName string `json:"clusterTemplateName,omitempty" yaml:"clusterTemplateName,omitempty"` + ClusterTemplateRevisionName string `json:"clusterTemplateRevisionName,omitempty" yaml:"clusterTemplateRevisionName,omitempty"` +}