Documentation
¶
Index ¶
- Constants
- type CloudQuery
- type Config
- type Configuration
- type Connection
- type Option
- type Parser
- func (p *Parser) DecodePolicies(body hcl.Body, diags hcl.Diagnostics, basePath string) (*PolicyWrapper, hcl.Diagnostics)
- func (p *Parser) LoadConfigFile(path string) (*Config, hcl.Diagnostics)
- func (p *Parser) LoadConfigFromJson(name string, data []byte) (*Config, hcl.Diagnostics)
- func (p *Parser) LoadConfigFromSource(name string, data []byte) (*Config, hcl.Diagnostics)
- func (p *Parser) LoadHCLFile(path string) (hcl.Body, hcl.Diagnostics)
- type Policy
- type PolicyProvider
- type PolicyWrapper
- type Provider
- type Query
- type QueryType
- type RequiredProvider
- type SourceType
- type View
Constants ¶
const ( SourceJSON = "json" SourceHCL = "hcl" )
const EnvVarPrefix = "CQ_VAR_"
EnvVarPrefix is a prefix for environment variable names to be exported for HCL substitution.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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"`
}
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 []*Provider `hcl:"provider,block"`
}
type Configuration ¶ added in v0.13.8
type Configuration struct {
Providers []*PolicyProvider `hcl:"provider,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) DecodePolicies ¶ added in v0.13.8
func (p *Parser) DecodePolicies(body hcl.Body, diags hcl.Diagnostics, basePath string) (*PolicyWrapper, hcl.Diagnostics)
func (*Parser) LoadConfigFile ¶
func (*Parser) LoadConfigFromJson ¶ added in v0.13.3
func (*Parser) LoadConfigFromSource ¶
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 unless the filename ends with ".json", in which case the HCL JSON syntax will be used.
type PolicyProvider ¶ added in v0.13.8
type PolicyWrapper ¶ added in v0.13.8
type PolicyWrapper struct {
Policies []*Policy `hcl:"policy,block"`
}
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