diff --git a/apis/management.cattle.io/v3/zz_generated_deepcopy.go b/apis/management.cattle.io/v3/zz_generated_deepcopy.go index c97eaace..e3872087 100644 --- a/apis/management.cattle.io/v3/zz_generated_deepcopy.go +++ b/apis/management.cattle.io/v3/zz_generated_deepcopy.go @@ -3178,6 +3178,22 @@ func (in *NodeCondition) DeepCopy() *NodeCondition { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeDrainInput) DeepCopyInto(out *NodeDrainInput) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeDrainInput. +func (in *NodeDrainInput) DeepCopy() *NodeDrainInput { + if in == nil { + return nil + } + out := new(NodeDrainInput) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NodeDriver) DeepCopyInto(out *NodeDriver) { *out = *in @@ -3454,6 +3470,15 @@ func (in *NodeSpec) DeepCopyInto(out *NodeSpec) { (*out)[key] = val } } + if in.NodeDrainInput != nil { + in, out := &in.NodeDrainInput, &out.NodeDrainInput + if *in == nil { + *out = nil + } else { + *out = new(NodeDrainInput) + **out = **in + } + } return } diff --git a/client/management/v3/zz_generated_node.go b/client/management/v3/zz_generated_node.go index 8b015252..41a51312 100644 --- a/client/management/v3/zz_generated_node.go +++ b/client/management/v3/zz_generated_node.go @@ -114,6 +114,8 @@ type NodeOperations interface { ActionCordon(resource *Node) error + ActionDrain(resource *Node, input *NodeDrainInput) error + ActionUncordon(resource *Node) error } @@ -167,6 +169,11 @@ func (c *NodeClient) ActionCordon(resource *Node) error { return err } +func (c *NodeClient) ActionDrain(resource *Node, input *NodeDrainInput) error { + err := c.apiClient.Ops.DoAction(NodeType, "drain", &resource.Resource, input, nil) + return err +} + func (c *NodeClient) ActionUncordon(resource *Node) error { err := c.apiClient.Ops.DoAction(NodeType, "uncordon", &resource.Resource, nil, nil) return err diff --git a/client/management/v3/zz_generated_node_drain_input.go b/client/management/v3/zz_generated_node_drain_input.go new file mode 100644 index 00000000..4a60eda5 --- /dev/null +++ b/client/management/v3/zz_generated_node_drain_input.go @@ -0,0 +1,18 @@ +package client + +const ( + NodeDrainInputType = "nodeDrainInput" + NodeDrainInputFieldDeleteLocalData = "deleteLocalData" + NodeDrainInputFieldForce = "force" + NodeDrainInputFieldGracePeriod = "gracePeriod" + NodeDrainInputFieldIgnoreDaemonSets = "ignoreDaemonSets" + NodeDrainInputFieldTimeout = "timeout" +) + +type NodeDrainInput struct { + DeleteLocalData bool `json:"deleteLocalData,omitempty" yaml:"deleteLocalData,omitempty"` + Force bool `json:"force,omitempty" yaml:"force,omitempty"` + GracePeriod int64 `json:"gracePeriod,omitempty" yaml:"gracePeriod,omitempty"` + IgnoreDaemonSets bool `json:"ignoreDaemonSets,omitempty" yaml:"ignoreDaemonSets,omitempty"` + Timeout int64 `json:"timeout,omitempty" yaml:"timeout,omitempty"` +} diff --git a/client/management/v3/zz_generated_node_spec.go b/client/management/v3/zz_generated_node_spec.go index 615016b6..0a714238 100644 --- a/client/management/v3/zz_generated_node_spec.go +++ b/client/management/v3/zz_generated_node_spec.go @@ -11,6 +11,7 @@ const ( NodeSpecFieldDisplayName = "displayName" NodeSpecFieldEtcd = "etcd" NodeSpecFieldImported = "imported" + NodeSpecFieldNodeDrainInput = "nodeDrainInput" NodeSpecFieldNodePoolId = "nodePoolId" NodeSpecFieldNodeTemplateId = "nodeTemplateId" NodeSpecFieldPodCidr = "podCidr" @@ -31,6 +32,7 @@ type NodeSpec struct { DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` Etcd bool `json:"etcd,omitempty" yaml:"etcd,omitempty"` Imported bool `json:"imported,omitempty" yaml:"imported,omitempty"` + NodeDrainInput *NodeDrainInput `json:"nodeDrainInput,omitempty" yaml:"nodeDrainInput,omitempty"` NodePoolId string `json:"nodePoolId,omitempty" yaml:"nodePoolId,omitempty"` NodeTemplateId string `json:"nodeTemplateId,omitempty" yaml:"nodeTemplateId,omitempty"` PodCidr string `json:"podCidr,omitempty" yaml:"podCidr,omitempty"`