eval

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyVars

func ApplyVars(ctx context.Context, variables *definitions.ParsedVars, dataCtx plugin.MapData) (diags diagnostics.Diag)

Evaluates `variables` and stores the results in `dataCtx` under the key "vars".

Types

type Content

type Content struct {
	Section *Section
	Plugin  *PluginContentAction
}

func LoadContent

func LoadContent(ctx context.Context, providers ContentProviders, node *definitions.ParsedContent) (_ *Content, diags diagnostics.Diag)

func (*Content) InvocationOrder

func (action *Content) InvocationOrder() plugin.InvocationOrder

func (*Content) RenderContent

func (action *Content) RenderContent(ctx context.Context, dataCtx plugin.MapData, doc, parent *plugin.ContentSection, contentID uint32) (*plugin.ContentResult, diagnostics.Diag)

type ContentProviders

type ContentProviders interface {
	ContentProvider(name string) (*plugin.ContentProvider, bool)
}

type DataSources

type DataSources interface {
	DataSource(name string) (*plugin.DataSource, bool)
}

type Document

type Document struct {
	Meta          *definitions.MetaBlock
	Vars          *definitions.ParsedVars
	DataBlocks    []*PluginDataAction
	ContentBlocks []*Content
	PublishBlocks []*PluginPublishAction
}

func LoadDocument

func LoadDocument(ctx context.Context, plugins Plugins, node *definitions.ParsedDocument) (_ *Document, diags diagnostics.Diag)

func (*Document) FetchData

func (doc *Document) FetchData(ctx context.Context) (plugin.Data, diagnostics.Diag)

func (*Document) Publish

func (doc *Document) Publish(ctx context.Context, content plugin.Content, data plugin.Data) diagnostics.Diag

func (*Document) RenderContent

func (doc *Document) RenderContent(ctx context.Context, docDataCtx plugin.MapData) (plugin.Content, plugin.Data, diagnostics.Diag)

type PluginAction

type PluginAction struct {
	PluginName string
	BlockName  string
	Meta       *definitions.MetaBlock
	Config     cty.Value
	Args       cty.Value
}

type PluginContentAction

type PluginContentAction struct {
	*PluginAction
	Provider *plugin.ContentProvider
	Vars     *definitions.ParsedVars
}

func LoadPluginContentAction

func LoadPluginContentAction(ctx context.Context, providers ContentProviders, node *definitions.ParsedPlugin) (_ *PluginContentAction, diags diagnostics.Diag)

func (*PluginContentAction) RenderContent

func (action *PluginContentAction) RenderContent(ctx context.Context, dataCtx plugin.MapData, doc, parent *plugin.ContentSection, contentID uint32) (res *plugin.ContentResult, diags diagnostics.Diag)

type PluginDataAction

type PluginDataAction struct {
	*PluginAction
	Source   *plugin.DataSource
	SrcRange hcl.Range
}

func LoadDataAction

func LoadDataAction(ctx context.Context, sources DataSources, node *definitions.ParsedPlugin) (_ *PluginDataAction, diags diagnostics.Diag)

func (*PluginDataAction) FetchData

func (action *PluginDataAction) FetchData(ctx context.Context) (plugin.Data, diagnostics.Diag)

type PluginPublishAction

type PluginPublishAction struct {
	*PluginAction
	Publisher *plugin.Publisher
	Format    plugin.OutputFormat
}

func LoadPluginPublishAction

func LoadPluginPublishAction(ctx context.Context, publishers Publishers, node *definitions.ParsedPlugin) (_ *PluginPublishAction, diags diagnostics.Diag)

func (*PluginPublishAction) Publish

func (block *PluginPublishAction) Publish(ctx context.Context, dataCtx plugin.MapData) diagnostics.Diag

type Plugins

type Plugins interface {
	DataSources
	ContentProviders
	Publishers
}

type Publishers

type Publishers interface {
	Publisher(name string) (*plugin.Publisher, bool)
}

type Section

type Section struct {
	// contains filtered or unexported fields
}

func LoadSection

func LoadSection(ctx context.Context, providers ContentProviders, node *definitions.ParsedSection) (_ *Section, diag diagnostics.Diag)

func (*Section) RenderContent

func (block *Section) RenderContent(ctx context.Context, dataCtx plugin.MapData, doc, parent *plugin.ContentSection, contentID uint32) (_ *plugin.ContentResult, diags diagnostics.Diag)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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