Documentation
¶
Index ¶
- func ApplyVars(ctx context.Context, variables *definitions.ParsedVars, dataCtx plugin.MapData) (diags diagnostics.Diag)
- type Content
- type ContentProviders
- type DataSources
- type Document
- func (doc *Document) FetchData(ctx context.Context) (plugin.Data, diagnostics.Diag)
- func (doc *Document) Publish(ctx context.Context, content plugin.Content, data plugin.Data) diagnostics.Diag
- func (doc *Document) RenderContent(ctx context.Context, docDataCtx plugin.MapData) (plugin.Content, plugin.Data, diagnostics.Diag)
- type PluginAction
- type PluginContentAction
- type PluginDataAction
- type PluginPublishAction
- type Plugins
- type Publishers
- type Section
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)
type PluginAction ¶
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 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)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.