Documentation
¶
Index ¶
- func ApplyVars(ctx context.Context, variables *definitions.ParsedVars, dataCtx plugindata.Map) (diags diagnostics.Diag)
- type Content
- type ContentProviders
- type DataSources
- type Document
- func (doc *Document) FetchData(ctx context.Context) (plugindata.Data, diagnostics.Diag)
- func (doc *Document) FetchDataWithPath(ctx context.Context, path []string) (plugindata.Data, diagnostics.Diag)
- func (doc *Document) Publish(ctx context.Context, content plugin.Content, data plugindata.Data, ...) diagnostics.Diag
- func (doc *Document) RenderContent(ctx context.Context, docDataCtx plugindata.Map, requiredTags []string) (*plugin.ContentSection, plugindata.Data, diagnostics.Diag)
- type Dynamic
- type PluginAction
- type PluginContentAction
- type PluginDataAction
- type PluginPublishAction
- type Plugins
- type Publishers
- type Section
- func (block *Section) PrepareData(ctx context.Context, dataCtx plugindata.Map, ...) (diags diagnostics.Diag)
- func (block *Section) RenderContent(ctx context.Context, dataCtx plugindata.Map, ...) (diags diagnostics.Diag)
- func (block *Section) Unwrap(ctx context.Context, dataCtx plugindata.Map) (include bool, children []*Content, diags diagnostics.Diag)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyVars ¶
func ApplyVars(ctx context.Context, variables *definitions.ParsedVars, dataCtx plugindata.Map) (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
Dynamic *Dynamic
}
func LoadContent ¶
func LoadContent(ctx context.Context, providers ContentProviders, node *definitions.ParsedContent) (_ *Content, diags diagnostics.Diag)
func UnwrapDynamicContent ¶
func UnwrapDynamicContent(ctx context.Context, children []*Content, dataCtx plugindata.Map) (res []*Content, diags diagnostics.Diag)
unwrapDynamicContent unwraps dynamic content in children
func (*Content) InvocationOrder ¶
func (action *Content) InvocationOrder() plugin.InvocationOrder
func (*Content) RenderContent ¶
func (action *Content) RenderContent(ctx context.Context, dataCtx plugindata.Map, doc, parent *plugin.ContentSection, contentID uint32) 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 {
Source *definitions.Document
Meta *definitions.MetaBlock
Vars *definitions.ParsedVars
RequiredVars []string
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) (plugindata.Data, diagnostics.Diag)
func (*Document) FetchDataWithPath ¶
func (doc *Document) FetchDataWithPath(ctx context.Context, path []string) (plugindata.Data, diagnostics.Diag)
func (*Document) Publish ¶
func (doc *Document) Publish(ctx context.Context, content plugin.Content, data plugindata.Data, documentName string) diagnostics.Diag
func (*Document) RenderContent ¶
func (doc *Document) RenderContent(ctx context.Context, docDataCtx plugindata.Map, requiredTags []string) (*plugin.ContentSection, plugindata.Data, diagnostics.Diag)
type Dynamic ¶
type Dynamic struct {
// contains filtered or unexported fields
}
func LoadDynamic ¶
func LoadDynamic(ctx context.Context, providers ContentProviders, node *definitions.ParsedDynamic) (_ *Dynamic, diags diagnostics.Diag)
type PluginAction ¶
type PluginContentAction ¶
type PluginContentAction struct {
*PluginAction
Provider *plugin.ContentProvider
Vars *definitions.ParsedVars
RequiredVars []string
DependsOn []string
}
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 plugindata.Map, doc, parent *plugin.ContentSection, contentID uint32) (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) (plugindata.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 plugindata.Map, documentName string) 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, diags diagnostics.Diag)
func (*Section) PrepareData ¶
func (block *Section) PrepareData(ctx context.Context, dataCtx plugindata.Map, doc, parent *plugin.ContentSection) (diags diagnostics.Diag)
func (*Section) RenderContent ¶
func (block *Section) RenderContent(ctx context.Context, dataCtx plugindata.Map, doc, parent *plugin.ContentSection, contentID uint32) (diags diagnostics.Diag)
Click to show internal directories.
Click to hide internal directories.