Versions in this module Expand all Collapse all v0 v0.0.2 Dec 20, 2023 v0.0.1 Dec 14, 2023 Changes in this version + var ErrorDataNotFound error = errors.New("data not found") + var ErrorNotImplemented error = errors.New("not implemented") + func BuildBlockPath(paths ...string) string + func ExprAsMap(expr hcl.Expression) (map[string][]string, hcl.Diagnostics) + func ExprAsStringSlice(expr hcl.Expression) ([]string, hcl.Diagnostics) + type Block interface + BlockName func() string + BlockType func() BlockType + Create func(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + Dependencies func() []string + Get func(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + ID func() int64 + PreProcessHCLBlock func(block *hcl.Block, evalCtx *hcl.EvalContext) error + ProcessConfiguration func(evalCtx *hcl.EvalContext) error + ToCtyValue func() (cty.Value, error) + type BlockType string + const DataBlockType + const GriffonBlockType + const InstanceBlockType + const OSBlockType + const PlanBlockType + const RegionBlockType + const ResourceBlockType + const SSHKeyBlockType + const StartupScriptBlockType + type Config struct + Data map[BlockType]map[string]Block + EvaluationOrder []int64 + Griffon GriffonBlock + Resources map[BlockType]map[string]Block + func (c *Config) AddData(b Block) + func (c *Config) AddResource(b Block) + type DataBlock struct + Config hcl.Body + DependsOn []string + GraphID int64 + Name string + Type BlockType + func (d *DataBlock) BlockName() string + func (d *DataBlock) BlockType() BlockType + func (d *DataBlock) Dependencies() []string + func (d *DataBlock) ID() int64 + func (d *DataBlock) PreProcessHCLBlock(block *hcl.Block, ctx *hcl.EvalContext) error + func (p *DataBlock) Create(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + type GriffonBlock struct + GraphID int64 + Region string + VultrAPIKey string + func (g *GriffonBlock) BlockName() string + func (g *GriffonBlock) BlockType() BlockType + func (g *GriffonBlock) Dependencies() []string + func (g *GriffonBlock) ID() int64 + func (g *GriffonBlock) PreProcessHCLBlock(block *hcl.Block, ctx *hcl.EvalContext) error + func (g *GriffonBlock) ProcessConfiguration(ctx *hcl.EvalContext) error + type InstanceBlock struct + DateCreated string + DefaultPassword string + Disk int + Hostname string + InternalIP string + MainIP string + Os string + OsID int + Plan string + PowerStatus string + RAM int + Region string + ServerStatus string + SshKeyID string + StartupScriptID string + Status string + Tags []string + VCPUCount int + VID string + func (i *InstanceBlock) Create(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + func (i *InstanceBlock) ProcessConfiguration(ctx *hcl.EvalContext) error + func (i *InstanceBlock) ToCtyValue() (cty.Value, error) + type OSDataBlock struct + Arch string + Family string + OSName string + VID int + func (o *OSDataBlock) Get(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + func (o *OSDataBlock) ProcessConfiguration(ctx *hcl.EvalContext) error + func (o *OSDataBlock) ToCtyValue() (cty.Value, error) + type PlanDataBlock struct + Bandwidth int + Disk int + DiskCount int + Locations []string + MonthlyCost float32 + PlanType string + RAM int + VCPUCount int + VID string + func (p *PlanDataBlock) Get(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + func (p *PlanDataBlock) ProcessConfiguration(evalCtx *hcl.EvalContext) error + func (p *PlanDataBlock) ToCtyValue() (cty.Value, error) + type RegionDataBlock struct + City string + Continent string + Country string + Options []string + VID string + func (r *RegionDataBlock) Get(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + func (r *RegionDataBlock) ProcessConfiguration(ctx *hcl.EvalContext) error + func (r *RegionDataBlock) ToCtyValue() (cty.Value, error) + type ResourceBlock struct + Config hcl.Body + DependsOn []string + GraphID int64 + Name string + Type BlockType + func (r *ResourceBlock) BlockName() string + func (r *ResourceBlock) BlockType() BlockType + func (r *ResourceBlock) Dependencies() []string + func (r *ResourceBlock) Get(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + func (r *ResourceBlock) ID() int64 + func (r *ResourceBlock) PreProcessHCLBlock(block *hcl.Block, ctx *hcl.EvalContext) error + type SSHKeyBlock struct + DateCreated string + SSHKey string + VID string + func (s *SSHKeyBlock) Create(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + func (s *SSHKeyBlock) ProcessConfiguration(ctx *hcl.EvalContext) error + func (s *SSHKeyBlock) ToCtyValue() (cty.Value, error) + type StartupScriptBlock struct + Script string + VDateCreated string + VDateModified string + VID string + VType string + func (s *StartupScriptBlock) Create(ctx context.Context, evalCtx *hcl.EvalContext, vc *govultr.Client) error + func (s *StartupScriptBlock) ProcessConfiguration(ctx *hcl.EvalContext) error + func (s *StartupScriptBlock) ToCtyValue() (cty.Value, error)