Help us shape the future of Go! Take the 2026 Go Developer Survey

core

package
v1.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Arazzo

type Arazzo struct {
	marshaller.CoreModel `model:"arazzo"`

	Arazzo             marshaller.Node[string]               `key:"arazzo"`
	Info               marshaller.Node[Info]                 `key:"info"`
	SourceDescriptions marshaller.Node[[]*SourceDescription] `key:"sourceDescriptions" required:"true"`
	Workflows          marshaller.Node[[]*Workflow]          `key:"workflows" required:"true"`
	Components         marshaller.Node[*Components]          `key:"components"`
	Extensions         core.Extensions                       `key:"extensions"`
}

type Components

type Components struct {
	marshaller.CoreModel `model:"components"`

	Inputs         marshaller.Node[*sequencedmap.Map[string, core.JSONSchema]] `key:"inputs"`
	Parameters     marshaller.Node[*sequencedmap.Map[string, *Parameter]]      `key:"parameters"`
	SuccessActions marshaller.Node[*sequencedmap.Map[string, *SuccessAction]]  `key:"successActions"`
	FailureActions marshaller.Node[*sequencedmap.Map[string, *FailureAction]]  `key:"failureActions"`
	Extensions     coreExtensions.Extensions                                   `key:"extensions"`
}

type Criterion

type Criterion struct {
	marshaller.CoreModel `model:"criterion"`

	Context    marshaller.Node[*string]            `key:"context"`
	Condition  marshaller.Node[string]             `key:"condition"`
	Type       marshaller.Node[CriterionTypeUnion] `key:"type" required:"false"`
	Extensions core.Extensions                     `key:"extensions"`
}

type CriterionExpressionType

type CriterionExpressionType struct {
	marshaller.CoreModel `model:"criterionExpressionType"`

	Type    marshaller.Node[string] `key:"type"`
	Version marshaller.Node[string] `key:"version"`
}

type CriterionTypeUnion

type CriterionTypeUnion struct {
	marshaller.CoreModel `model:"criterionTypeUnion"`

	Type           *string
	ExpressionType *CriterionExpressionType
}

func (*CriterionTypeUnion) SyncChanges

func (c *CriterionTypeUnion) SyncChanges(ctx context.Context, model any, valueNode *yaml.Node) (*yaml.Node, error)

func (*CriterionTypeUnion) Unmarshal

func (c *CriterionTypeUnion) Unmarshal(ctx context.Context, parentName string, node *yaml.Node) ([]error, error)

type FailureAction

type FailureAction struct {
	marshaller.CoreModel `model:"failureAction"`

	Name       marshaller.Node[string]       `key:"name"`
	Type       marshaller.Node[string]       `key:"type"`
	WorkflowID marshaller.Node[*string]      `key:"workflowId"`
	StepID     marshaller.Node[*string]      `key:"stepId"`
	RetryAfter marshaller.Node[*float64]     `key:"retryAfter"`
	RetryLimit marshaller.Node[*int]         `key:"retryLimit"`
	Criteria   marshaller.Node[[]*Criterion] `key:"criteria"`
	Extensions core.Extensions               `key:"extensions"`
}

type Info

type Info struct {
	marshaller.CoreModel `model:"info"`

	Title       marshaller.Node[string]  `key:"title"`
	Summary     marshaller.Node[*string] `key:"summary"`
	Description marshaller.Node[*string] `key:"description"`
	Version     marshaller.Node[string]  `key:"version"`
	Extensions  core.Extensions          `key:"extensions"`
}

type Parameter

type Parameter struct {
	marshaller.CoreModel `model:"parameter"`

	Name       marshaller.Node[string]                       `key:"name"`
	In         marshaller.Node[*string]                      `key:"in"`
	Value      marshaller.Node[expression.ValueOrExpression] `key:"value" required:"true"`
	Extensions core.Extensions                               `key:"extensions"`
}

type PayloadReplacement

type PayloadReplacement struct {
	marshaller.CoreModel `model:"payloadReplacement"`

	Target     marshaller.Node[string]                       `key:"target"`
	Value      marshaller.Node[expression.ValueOrExpression] `key:"value" required:"true"`
	Extensions core.Extensions                               `key:"extensions"`
}

type RequestBody

type RequestBody struct {
	marshaller.CoreModel `model:"requestBody"`

	ContentType  marshaller.Node[*string]                      `key:"contentType"`
	Payload      marshaller.Node[expression.ValueOrExpression] `key:"payload"`
	Replacements marshaller.Node[[]*PayloadReplacement]        `key:"replacements"`
	Extensions   core.Extensions                               `key:"extensions"`
}

type Reusable

type Reusable[T marshaller.CoreModeler] struct {
	marshaller.CoreModel `model:"reusable"`

	Reference marshaller.Node[*string]      `key:"reference"`
	Value     marshaller.Node[values.Value] `key:"value"`
	Object    T                             `populatorValue:"true"`
}

func (*Reusable[T]) SyncChanges

func (r *Reusable[T]) SyncChanges(ctx context.Context, model any, valueNode *yaml.Node) (*yaml.Node, error)

func (*Reusable[T]) Unmarshal

func (r *Reusable[T]) Unmarshal(ctx context.Context, parentName string, node *yaml.Node) ([]error, error)

type SourceDescription

type SourceDescription struct {
	marshaller.CoreModel `model:"sourceDescription"`

	Name       marshaller.Node[string] `key:"name"`
	URL        marshaller.Node[string] `key:"url"`
	Type       marshaller.Node[string] `key:"type"`
	Extensions core.Extensions         `key:"extensions"`
}

type Step

type Step struct {
	marshaller.CoreModel `model:"step"`

	StepID          marshaller.Node[string]                      `key:"stepId"`
	Description     marshaller.Node[*string]                     `key:"description"`
	OperationID     marshaller.Node[*string]                     `key:"operationId"`
	OperationPath   marshaller.Node[*string]                     `key:"operationPath"`
	WorkflowID      marshaller.Node[*string]                     `key:"workflowId"`
	Parameters      marshaller.Node[[]*Reusable[*Parameter]]     `key:"parameters"`
	RequestBody     marshaller.Node[*RequestBody]                `key:"requestBody"`
	SuccessCriteria marshaller.Node[[]*Criterion]                `key:"successCriteria"`
	OnSuccess       marshaller.Node[[]*Reusable[*SuccessAction]] `key:"onSuccess"`
	OnFailure       marshaller.Node[[]*Reusable[*FailureAction]] `key:"onFailure"`
	Outputs         marshaller.Node[Outputs]                     `key:"outputs"`
	Extensions      core.Extensions                              `key:"extensions"`
}

type SuccessAction

type SuccessAction struct {
	marshaller.CoreModel `model:"successAction"`

	Name       marshaller.Node[string]       `key:"name"`
	Type       marshaller.Node[string]       `key:"type"`
	WorkflowID marshaller.Node[*string]      `key:"workflowId"`
	StepID     marshaller.Node[*string]      `key:"stepId"`
	Criteria   marshaller.Node[[]*Criterion] `key:"criteria"`
	Extensions core.Extensions               `key:"extensions"`
}

type Workflow

type Workflow struct {
	marshaller.CoreModel `model:"workflow"`

	WorkflowID     marshaller.Node[string]                      `key:"workflowId"`
	Summary        marshaller.Node[*string]                     `key:"summary"`
	Description    marshaller.Node[*string]                     `key:"description"`
	Parameters     marshaller.Node[[]*Reusable[*Parameter]]     `key:"parameters"`
	Inputs         marshaller.Node[core.JSONSchema]             `key:"inputs"`
	DependsOn      marshaller.Node[[]marshaller.Node[string]]   `key:"dependsOn"`
	Steps          marshaller.Node[[]*Step]                     `key:"steps" required:"true"`
	SuccessActions marshaller.Node[[]*Reusable[*SuccessAction]] `key:"successActions"`
	FailureActions marshaller.Node[[]*Reusable[*FailureAction]] `key:"failureActions"`
	Outputs        marshaller.Node[Outputs]                     `key:"outputs"`
	Extensions     coreExtensions.Extensions                    `key:"extensions"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL