Documentation
¶
Index ¶
- Constants
- func EnvToHCLContext(evalContext *hcl.EvalContext, prefix string, vars []string)
- func ReadModuleConfigProfiles(module string, block hcl.Body) (map[string]hcl.Body, error)
- type CloudQuery
- type Config
- type Connection
- type Option
- type Parser
- func (p *Parser) LoadConfigFile(path string) (*Config, hcl.Diagnostics)
- func (p *Parser) LoadConfigFromSource(name string, data []byte) (*Config, hcl.Diagnostics)
- func (p *Parser) LoadFromSource(name string, data []byte) (hcl.Body, hcl.Diagnostics)
- func (p *Parser) LoadHCLFile(path string) (hcl.Body, hcl.Diagnostics)
- type Provider
- type Providers
- type RequiredProvider
- type SourceType
Constants ¶
const EnvVarPrefix = "CQ_VAR_"
EnvVarPrefix is a prefix for environment variable names to be exported for HCL substitution.
const (
SourceHCL = "hcl"
)
Variables ¶
This section is empty.
Functions ¶
func EnvToHCLContext ¶ added in v0.15.11
func ReadModuleConfigProfiles ¶ added in v0.15.11
ReadModuleConfigProfiles separates the module config from the modules block, where block identifier is the module name.
Types ¶
type CloudQuery ¶
type CloudQuery struct {
PluginDirectory string `hcl:"plugin_directory,optional"`
PolicyDirectory string `hcl:"policy_directory,optional"`
Logger *logging.Config `hcl:"logging,block"`
Providers []*RequiredProvider `hcl:"provider,block"`
Connection *Connection `hcl:"connection,block"`
History *history.Config `hcl:"history,block"`
}
func (CloudQuery) GetRequiredProvider ¶ added in v0.14.5
func (c CloudQuery) GetRequiredProvider(name string) (*RequiredProvider, error)
type Config ¶
type Config struct {
CloudQuery CloudQuery `hcl:"cloudquery,block"`
Providers Providers `hcl:"provider,block"`
Policies []*policy.Policy `hcl:"policy,block"`
Modules hcl.Body `hcl:"modules,block"`
}
type Connection ¶
type Connection struct {
DSN string `hcl:"dsn,attr"`
}
type Option ¶ added in v0.15.5
type Option func(*Parser)
func WithEnvironmentVariables ¶ added in v0.15.5
WithEnvironmentVariables fills hcl.Context with values of environment variables given in vars. Only variables that start with given prefix are considered. Prefix is removed from the name and the name is lower cased then.
type Parser ¶
type Parser struct {
HCLContext hcl.EvalContext
// contains filtered or unexported fields
}
Parser is the main interface to read configuration files and other related files from disk.
It retains a cache of all files that are loaded so that they can be used to create source code snippets in diagnostics, etc.
func (*Parser) LoadConfigFile ¶
func (*Parser) LoadConfigFromSource ¶
func (*Parser) LoadFromSource ¶ added in v0.16.0
func (*Parser) LoadHCLFile ¶
LoadHCLFile is a low-level method that reads the file at the given path, parses it, and returns the hcl.Body representing its root. In many cases it is better to use one of the other Load*File methods on this type, which additionally decode the root body in some way and return a higher-level construct.
If the file cannot be read at all -- e.g. because it does not exist -- then this method will return a nil body and error diagnostics. In this case callers may wish to ignore the provided error diagnostics and produce a more context-sensitive error instead.
The file will be parsed using the HCL native syntax
type Provider ¶
type Provider struct {
Name string `hcl:"name,label"`
Alias string `hcl:"alias,optional"`
EnablePartialFetch bool `hcl:"enable_partial_fetch,optional"`
Resources []string `hcl:"resources,optional"`
Env []string `hcl:"env,optional"`
Configuration []byte
MaxParallelResourceFetchLimit uint64 `hcl:"max_parallel_resource_fetch_limit"`
}
type RequiredProvider ¶
type RequiredProvider struct {
Name string `hcl:"name,label"`
Source *string `hcl:"source,optional"`
Version string `hcl:"version"`
}
func (RequiredProvider) String ¶ added in v0.13.7
func (r RequiredProvider) String() string
type SourceType ¶
type SourceType string