// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.

package org_tangled

// schema: org.tangled.ci.retryPipeline

import (
	"context"

	"github.com/bluesky-social/indigo/lex/util"
)

const (
	CiRetryPipelineNSID = "org.tangled.ci.retryPipeline"
)

// CiRetryPipeline_Input is the input argument to a org.tangled.ci.retryPipeline call.
type CiRetryPipeline_Input struct {
	// pipeline: pipeline id
	Pipeline string `json:"pipeline" cborgen:"pipeline"`
	// repo: git repository DID
	Repo string `json:"repo" cborgen:"repo"`
	// workflows: Workflow names to filter. When not provided, entire pipeline will be duplicated.
	Workflows []string `json:"workflows,omitempty" cborgen:"workflows,omitempty"`
}

// CiRetryPipeline_Output is the output of a org.tangled.ci.retryPipeline call.
type CiRetryPipeline_Output struct {
	// pipeline: Scheduled pipeline id
	Pipeline string `json:"pipeline" cborgen:"pipeline"`
}

// CiRetryPipeline calls the XRPC method "org.tangled.ci.retryPipeline".
func CiRetryPipeline(ctx context.Context, c util.LexClient, input *CiRetryPipeline_Input) (*CiRetryPipeline_Output, error) {
	var out CiRetryPipeline_Output
	if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.ci.retryPipeline", nil, input, &out); err != nil {
		return nil, err
	}

	return &out, nil
}
