|
@@ -1,646 +1,294 @@
|
|
|
package client
|
|
|
|
|
|
-const (
|
|
|
- createWorkflowRelativeUrl = "/api/v1/workflows/{namespace}"
|
|
|
- deleteWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/{name}"
|
|
|
- getWorkflowsInNamespaceRelativeUrl = "/api/v1/workflows/{namespace}"
|
|
|
- getWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/{name}"
|
|
|
- lintWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/lint"
|
|
|
- submitWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/submit"
|
|
|
- resubmitWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/{name}/resubmit"
|
|
|
- retryWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/{name}/retry"
|
|
|
- stopWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/{name}/stop"
|
|
|
- terminateWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/{name}/terminate"
|
|
|
- setWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/{name}/set"
|
|
|
- suspendWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/{name}/suspend"
|
|
|
- resumeWorkflowRelativeUrl = "/api/v1/workflows/{namespace}/{name}/resume"
|
|
|
- getWorkflowEventsStreamRelativeUrl = "/api/v1/workflow-events/{namespace}"
|
|
|
+import (
|
|
|
+ "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflow"
|
|
|
+ "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
|
|
|
+ "github.com/pkg/errors"
|
|
|
)
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+type CreateWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ WorkflowDefinition string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) CreateWorkflow(params CreateWorkflowParams) (string, error) {
|
|
|
+ wf := new(v1alpha1.Workflow)
|
|
|
+ err := unmarshalYamlToJsonStruct([]byte(params.WorkflowDefinition), wf)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+
|
|
|
+ response, err := c.workflowService.CreateWorkflow(c.ctx, &workflow.WorkflowCreateRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Workflow: wf,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return "", errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return response.Name, nil
|
|
|
+}
|
|
|
+
|
|
|
+type DeleteWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) DeleteWorkflow(params DeleteWorkflowParams) error {
|
|
|
+ _, err := c.workflowService.DeleteWorkflow(c.ctx, &workflow.WorkflowDeleteRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Name: params.Name,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+type GetWorkflowsInNamespaceParams struct {
|
|
|
+ Namespace string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) GetWorkflowsInNamespace(params GetWorkflowsInNamespaceParams) (v1alpha1.Workflows, error) {
|
|
|
+ response, err := c.workflowService.ListWorkflows(c.ctx, &workflow.WorkflowListRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return nil, errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return response.Items, nil
|
|
|
+}
|
|
|
+
|
|
|
+type GetWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) GetWorkflow(params GetWorkflowParams) (*v1alpha1.Workflow, error) {
|
|
|
+ response, err := c.workflowService.GetWorkflow(c.ctx, &workflow.WorkflowGetRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Name: params.Name,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return nil, errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return response, nil
|
|
|
+}
|
|
|
+
|
|
|
+type LintWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ WorkflowDefinition string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) LintWorkflow(params LintWorkflowParams) error {
|
|
|
+ wf := new(v1alpha1.Workflow)
|
|
|
+ err := unmarshalYamlToJsonStruct([]byte(params.WorkflowDefinition), wf)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ _, err = c.workflowService.LintWorkflow(c.ctx, &workflow.WorkflowLintRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Workflow: wf,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+type SubmitWorkflowFromWorkflowTemplateParams struct {
|
|
|
+ Namespace string
|
|
|
+ TemplateName string
|
|
|
+ Parameters []string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) SubmitWorkflowFromWorkflowTemplate(params SubmitWorkflowFromWorkflowTemplateParams) (string, error) {
|
|
|
+ response, err := c.workflowService.SubmitWorkflow(c.ctx, &workflow.WorkflowSubmitRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ ResourceKind: "WorkflowTemplate",
|
|
|
+ ResourceName: params.TemplateName,
|
|
|
+ SubmitOptions: &v1alpha1.SubmitOpts{
|
|
|
+ Parameters: params.Parameters,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return "", errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return response.Name, nil
|
|
|
+}
|
|
|
+
|
|
|
+type ResubmitWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+ Memoized bool
|
|
|
+ ResubmitParameters []string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) ResubmitWorkflow(params ResubmitWorkflowParams) (string, error) {
|
|
|
+ response, err := c.workflowService.ResubmitWorkflow(c.ctx, &workflow.WorkflowResubmitRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Name: params.Name,
|
|
|
+ Memoized: params.Memoized,
|
|
|
+ Parameters: params.ResubmitParameters,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return "", errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return response.Name, nil
|
|
|
+}
|
|
|
+
|
|
|
+type RetryWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+ RetryParameters []string
|
|
|
+ RetrySuccessfulWorkflow bool
|
|
|
+ RetryWorkflowNodeFieldSelector string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) RetryWorkflow(params RetryWorkflowParams) error {
|
|
|
+ _, err := c.workflowService.RetryWorkflow(c.ctx, &workflow.WorkflowRetryRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Name: params.Name,
|
|
|
+ RestartSuccessful: params.RetrySuccessfulWorkflow,
|
|
|
+ NodeFieldSelector: params.RetryWorkflowNodeFieldSelector,
|
|
|
+ Parameters: params.RetryParameters,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+type StopWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+ NodeFieldSelector string
|
|
|
+ Message string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) StopWorkflow(params StopWorkflowParams) error {
|
|
|
+ _, err := c.workflowService.StopWorkflow(c.ctx, &workflow.WorkflowStopRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Name: params.Name,
|
|
|
+ NodeFieldSelector: params.NodeFieldSelector,
|
|
|
+ Message: params.Message,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+type TerminateWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) TerminateWorkflow(params TerminateWorkflowParams) error {
|
|
|
+ _, err := c.workflowService.TerminateWorkflow(c.ctx, &workflow.WorkflowTerminateRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Name: params.Name,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+type SetWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+ NodeFieldSelector string
|
|
|
+ OutputParameters string
|
|
|
+ Message string
|
|
|
+ Phase string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) SetWorkflow(params SetWorkflowParams) error {
|
|
|
+ _, err := c.workflowService.SetWorkflow(c.ctx, &workflow.WorkflowSetRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Name: params.Name,
|
|
|
+ NodeFieldSelector: params.NodeFieldSelector,
|
|
|
+ Message: params.Message,
|
|
|
+ Phase: params.Phase,
|
|
|
+ OutputParameters: params.OutputParameters,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+type SuspendWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) SuspendWorkflow(params SuspendWorkflowParams) error {
|
|
|
+ _, err := c.workflowService.SuspendWorkflow(c.ctx, &workflow.WorkflowSuspendRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Name: params.Name,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+type ResumeWorkflowParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+ NodeFieldSelector string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) ResumeWorkflow(params ResumeWorkflowParams) error {
|
|
|
+ _, err := c.workflowService.ResumeWorkflow(c.ctx, &workflow.WorkflowResumeRequest{
|
|
|
+ Namespace: params.Namespace,
|
|
|
+ Name: params.Name,
|
|
|
+ NodeFieldSelector: params.NodeFieldSelector,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return errors.New(err.Error())
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+type EventCallback func(event map[string]any, eventErr error) error
|
|
|
+
|
|
|
+type GetWorkflowEventsStreamParams struct {
|
|
|
+ Namespace string
|
|
|
+ Name string
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func (c *Client) GetWorkflowEventsStream(params GetWorkflowEventsStreamParams, callback EventCallback) error {
|
|
|
+ return nil
|
|
|
+}
|