From 49e0df4b2fc8a0773c1f8fc7eb4ee92833a3341c Mon Sep 17 00:00:00 2001 From: Yuxing Date: Mon, 16 Apr 2018 17:05:03 +0800 Subject: [PATCH] Add Import Yaml Action and types Import action for project and cluster New struct: 1. ImportClusterYamlInput 2. ImportProjectYamlInput 3. ImportYamlOutput --- apis/management.cattle.io/v3/cluster_types.go | 13 ++++ apis/management.cattle.io/v3/schema/schema.go | 12 ++++ .../v3/zz_generated_deepcopy.go | 60 +++++++++++++++++++ client/management/v3/zz_generated_cluster.go | 11 ++++ .../zz_generated_import_cluster_yaml_input.go | 10 ++++ .../zz_generated_import_project_yaml_input.go | 12 ++++ .../v3/zz_generated_import_yaml_output.go | 10 ++++ client/management/v3/zz_generated_project.go | 11 ++++ 8 files changed, 139 insertions(+) create mode 100644 client/management/v3/zz_generated_import_cluster_yaml_input.go create mode 100644 client/management/v3/zz_generated_import_project_yaml_input.go create mode 100644 client/management/v3/zz_generated_import_yaml_output.go diff --git a/apis/management.cattle.io/v3/cluster_types.go b/apis/management.cattle.io/v3/cluster_types.go index 2832fd28..e61a4920 100644 --- a/apis/management.cattle.io/v3/cluster_types.go +++ b/apis/management.cattle.io/v3/cluster_types.go @@ -238,3 +238,16 @@ type ClusterRegistrationTokenStatus struct { type GenerateKubeConfigOutput struct { Config string `json:"config"` } + +type ImportClusterYamlInput struct { + Yaml string `json:"yaml,omitempty"` +} + +type ImportProjectYamlInput struct { + Yaml string `json:"yaml,omitempty"` + Namespace string `json:"namespace,omitempty"` +} + +type ImportYamlOutput struct { + OutputMessage string `json:"outputMessage,omitempty"` +} diff --git a/apis/management.cattle.io/v3/schema/schema.go b/apis/management.cattle.io/v3/schema/schema.go index 02fd0927..ab846f42 100644 --- a/apis/management.cattle.io/v3/schema/schema.go +++ b/apis/management.cattle.io/v3/schema/schema.go @@ -139,6 +139,8 @@ func clusterTypes(schemas *types.Schemas) *types.Schemas { MustImport(&Version, v3.ClusterEvent{}). MustImport(&Version, v3.ClusterRegistrationToken{}). MustImport(&Version, v3.GenerateKubeConfigOutput{}). + MustImport(&Version, v3.ImportClusterYamlInput{}). + MustImport(&Version, v3.ImportYamlOutput{}). MustImportAndCustomize(&Version, v3.Cluster{}, func(schema *types.Schema) { schema.MustCustomizeField("name", func(field types.Field) types.Field { field.Type = "dnsLabel" @@ -149,6 +151,10 @@ func clusterTypes(schemas *types.Schemas) *types.Schemas { schema.ResourceActions["generateKubeconfig"] = types.Action{ Output: "generateKubeConfigOutput", } + schema.ResourceActions["importYaml"] = types.Action{ + Input: "importClusterYamlInput", + Output: "importYamlOutput", + } }) } @@ -166,12 +172,18 @@ func authzTypes(schemas *types.Schemas) *types.Schemas { &mapper.NamespaceIDMapper{}, ). MustImport(&Version, v3.SetPodSecurityPolicyTemplateInput{}). + MustImport(&Version, v3.ImportProjectYamlInput{}). + MustImport(&Version, v3.ImportYamlOutput{}). MustImportAndCustomize(&Version, v3.Project{}, func(schema *types.Schema) { schema.ResourceActions = map[string]types.Action{ "setpodsecuritypolicytemplate": { Input: "setPodSecurityPolicyTemplateInput", Output: "project", }, + "importYaml": { + Input: "importProjectYamlInput", + Output: "importYamlOutput", + }, } }). MustImport(&Version, v3.GlobalRole{}). diff --git a/apis/management.cattle.io/v3/zz_generated_deepcopy.go b/apis/management.cattle.io/v3/zz_generated_deepcopy.go index f4cadee3..f4b9bc63 100644 --- a/apis/management.cattle.io/v3/zz_generated_deepcopy.go +++ b/apis/management.cattle.io/v3/zz_generated_deepcopy.go @@ -368,6 +368,18 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { in.(*HealthCheck).DeepCopyInto(out.(*HealthCheck)) return nil }, InType: reflect.TypeOf(&HealthCheck{})}, + conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { + in.(*ImportClusterYamlInput).DeepCopyInto(out.(*ImportClusterYamlInput)) + return nil + }, InType: reflect.TypeOf(&ImportClusterYamlInput{})}, + conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { + in.(*ImportProjectYamlInput).DeepCopyInto(out.(*ImportProjectYamlInput)) + return nil + }, InType: reflect.TypeOf(&ImportProjectYamlInput{})}, + conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { + in.(*ImportYamlOutput).DeepCopyInto(out.(*ImportYamlOutput)) + return nil + }, InType: reflect.TypeOf(&ImportYamlOutput{})}, conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { in.(*ImportedConfig).DeepCopyInto(out.(*ImportedConfig)) return nil @@ -3195,6 +3207,54 @@ func (in *HealthCheck) DeepCopy() *HealthCheck { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportClusterYamlInput) DeepCopyInto(out *ImportClusterYamlInput) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportClusterYamlInput. +func (in *ImportClusterYamlInput) DeepCopy() *ImportClusterYamlInput { + if in == nil { + return nil + } + out := new(ImportClusterYamlInput) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportProjectYamlInput) DeepCopyInto(out *ImportProjectYamlInput) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportProjectYamlInput. +func (in *ImportProjectYamlInput) DeepCopy() *ImportProjectYamlInput { + if in == nil { + return nil + } + out := new(ImportProjectYamlInput) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportYamlOutput) DeepCopyInto(out *ImportYamlOutput) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportYamlOutput. +func (in *ImportYamlOutput) DeepCopy() *ImportYamlOutput { + if in == nil { + return nil + } + out := new(ImportYamlOutput) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ImportedConfig) DeepCopyInto(out *ImportedConfig) { *out = *in diff --git a/client/management/v3/zz_generated_cluster.go b/client/management/v3/zz_generated_cluster.go index cdd3be7c..398f9eb6 100644 --- a/client/management/v3/zz_generated_cluster.go +++ b/client/management/v3/zz_generated_cluster.go @@ -99,6 +99,8 @@ type ClusterOperations interface { Delete(container *Cluster) error ActionGenerateKubeconfig(*Cluster) (*GenerateKubeConfigOutput, error) + + ActionImportYaml(*Cluster, *ImportClusterYamlInput) (*ImportYamlOutput, error) } func newClusterClient(apiClient *Client) *ClusterClient { @@ -154,3 +156,12 @@ func (c *ClusterClient) ActionGenerateKubeconfig(resource *Cluster) (*GenerateKu return resp, err } + +func (c *ClusterClient) ActionImportYaml(resource *Cluster, input *ImportClusterYamlInput) (*ImportYamlOutput, error) { + + resp := &ImportYamlOutput{} + + err := c.apiClient.Ops.DoAction(ClusterType, "importYaml", &resource.Resource, input, resp) + + return resp, err +} diff --git a/client/management/v3/zz_generated_import_cluster_yaml_input.go b/client/management/v3/zz_generated_import_cluster_yaml_input.go new file mode 100644 index 00000000..d4788cca --- /dev/null +++ b/client/management/v3/zz_generated_import_cluster_yaml_input.go @@ -0,0 +1,10 @@ +package client + +const ( + ImportClusterYamlInputType = "importClusterYamlInput" + ImportClusterYamlInputFieldYaml = "yaml" +) + +type ImportClusterYamlInput struct { + Yaml string `json:"yaml,omitempty" yaml:"yaml,omitempty"` +} diff --git a/client/management/v3/zz_generated_import_project_yaml_input.go b/client/management/v3/zz_generated_import_project_yaml_input.go new file mode 100644 index 00000000..9d55c01f --- /dev/null +++ b/client/management/v3/zz_generated_import_project_yaml_input.go @@ -0,0 +1,12 @@ +package client + +const ( + ImportProjectYamlInputType = "importProjectYamlInput" + ImportProjectYamlInputFieldNamespace = "namespace" + ImportProjectYamlInputFieldYaml = "yaml" +) + +type ImportProjectYamlInput struct { + Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty"` + Yaml string `json:"yaml,omitempty" yaml:"yaml,omitempty"` +} diff --git a/client/management/v3/zz_generated_import_yaml_output.go b/client/management/v3/zz_generated_import_yaml_output.go new file mode 100644 index 00000000..8717a383 --- /dev/null +++ b/client/management/v3/zz_generated_import_yaml_output.go @@ -0,0 +1,10 @@ +package client + +const ( + ImportYamlOutputType = "importYamlOutput" + ImportYamlOutputFieldOutputMessage = "outputMessage" +) + +type ImportYamlOutput struct { + OutputMessage string `json:"outputMessage,omitempty" yaml:"outputMessage,omitempty"` +} diff --git a/client/management/v3/zz_generated_project.go b/client/management/v3/zz_generated_project.go index c983beac..065d725f 100644 --- a/client/management/v3/zz_generated_project.go +++ b/client/management/v3/zz_generated_project.go @@ -60,6 +60,8 @@ type ProjectOperations interface { ByID(id string) (*Project, error) Delete(container *Project) error + ActionImportYaml(*Project, *ImportProjectYamlInput) (*ImportYamlOutput, error) + ActionSetpodsecuritypolicytemplate(*Project, *SetPodSecurityPolicyTemplateInput) (*Project, error) } @@ -108,6 +110,15 @@ func (c *ProjectClient) Delete(container *Project) error { return c.apiClient.Ops.DoResourceDelete(ProjectType, &container.Resource) } +func (c *ProjectClient) ActionImportYaml(resource *Project, input *ImportProjectYamlInput) (*ImportYamlOutput, error) { + + resp := &ImportYamlOutput{} + + err := c.apiClient.Ops.DoAction(ProjectType, "importYaml", &resource.Resource, input, resp) + + return resp, err +} + func (c *ProjectClient) ActionSetpodsecuritypolicytemplate(resource *Project, input *SetPodSecurityPolicyTemplateInput) (*Project, error) { resp := &Project{}