Documentation
¶
Index ¶
- Constants
- func EnvToHCLContext(evalContext *hcl.EvalContext, prefix string, vars []string)
- func IsNameYAML(name string) bool
- func ValidateCQBlock(cq *CloudQuery) diag.Diagnostics
- type CloudQuery
- type Config
- type Connection
- type Option
- type Parser
- func (p *Parser) LoadConfigFile(path string) (*Config, diag.Diagnostics)
- func (p *Parser) LoadConfigFromSource(name string, data []byte) (*Config, diag.Diagnostics)
- func (p *Parser) LoadFile(path string) ([]byte, diag.Diagnostics)
- func (p *Parser) LoadFromSource(name string, data []byte) (hcl.Body, diag.Diagnostics)
- type Policy
- type Provider
- type Providers
- type RequiredProvider
- type RequiredProviders
Constants ¶
const EnvVarPrefix = "CQ_VAR_"
EnvVarPrefix is a prefix for environment variable names to be exported for HCL substitution.
Variables ¶
This section is empty.
Functions ¶
func EnvToHCLContext ¶ added in v0.15.11
func EnvToHCLContext(evalContext *hcl.EvalContext, prefix string, vars []string)
func IsNameYAML ¶ added in v0.27.0
func ValidateCQBlock ¶ added in v0.27.0
func ValidateCQBlock(cq *CloudQuery) diag.Diagnostics
Types ¶
type CloudQuery ¶
type CloudQuery struct {
Logger *logging.Config `yaml:"logging,omitempty" json:"logging,omitempty" hcl:"logging,block"`
Providers RequiredProviders `yaml:"providers,omitempty" json:"providers,omitempty" hcl:"provider,block"`
Connection *Connection `yaml:"connection,omitempty" json:"connection,omitempty" hcl:"connection,block"`
Policy *Policy `yaml:"policy,omitempty" json:"policy,omitempty" hcl:"policy,block"`
// Used internally
PluginDirectory string `yaml:"-" json:"-"`
PolicyDirectory string `yaml:"-" json:"-"`
}
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" yaml:"cloudquery" json:"cloudquery"`
Providers Providers `hcl:"provider,block" yaml:"providers" json:"providers"`
// contains filtered or unexported fields
}
func (Config) Format ¶ added in v0.27.0
func (c Config) Format() cqproto.ConfigFormat
type Connection ¶
type Connection struct {
DSN string `yaml:"dsn,omitempty" json:"dsn,omitempty" hcl:"dsn,optional"`
// These params are mutually exclusive with DSN
Type string `yaml:"type,omitempty" json:"type,omitempty" hcl:"type,optional"`
Username string `yaml:"username,omitempty" json:"username,omitempty" hcl:"username,optional"`
Password string `yaml:"password,omitempty" json:"password,omitempty" hcl:"password,optional"`
Host string `yaml:"host,omitempty" json:"host,omitempty" hcl:"host,optional"`
Port int `yaml:"port,omitempty" json:"port,omitempty" hcl:"port,optional"`
Database string `yaml:"database,omitempty" json:"database,omitempty" hcl:"database,optional"`
SSLMode string `yaml:"sslmode,omitempty" json:"sslmode,omitempty" hcl:"sslmode,optional"`
Extras []string `yaml:"extras,omitempty" json:"extras,omitempty" hcl:"extras,optional"`
}
func (*Connection) BuildFromConnParams ¶ added in v0.23.1
func (c *Connection) BuildFromConnParams() error
func (Connection) IsAnyConnParamsSet ¶ added in v0.23.1
func (c Connection) IsAnyConnParamsSet() bool
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.
func WithFileFunc ¶ added in v0.21.2
WithFileFunc adds the file() function to the parser.
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 (p *Parser) LoadConfigFile(path string) (*Config, diag.Diagnostics)
func (*Parser) LoadConfigFromSource ¶
func (*Parser) LoadFile ¶ added in v0.27.0
func (p *Parser) LoadFile(path string) ([]byte, diag.Diagnostics)
LoadFile is a low-level method that reads the file at the given path
func (*Parser) LoadFromSource ¶ added in v0.16.0
type Policy ¶
type Policy struct {
DBPersistence bool `yaml:"db_persistence,omitempty" json:"db_persistence,omitempty" hcl:"db_persistence,optional"`
}
type Provider ¶
type Provider struct {
Name string `yaml:"name,omitempty" json:"name,omitempty" hcl:"name,label"`
Alias string `yaml:"alias,omitempty" json:"alias,omitempty" hcl:"alias,optional"`
Resources []string `yaml:"resources,omitempty" json:"resources,omitempty" hcl:"resources,optional"`
SkipResources []string `yaml:"skip_resources,omitempty" json:"skip_resources,omitempty" hcl:"skip_resources,optional"`
Env []string `yaml:"env,omitempty" json:"env,omitempty" hcl:"env,optional"`
Configuration []byte `yaml:"-" json:"-"`
MaxParallelResourceFetchLimit uint64 `` /* 141-byte string literal not displayed */
MaxGoroutines uint64 `yaml:"max_goroutines,omitempty" json:"max_goroutines,omitempty" hcl:"max_goroutines"`
ResourceTimeout uint64 `yaml:"resource_timeout,omitempty" json:"resource_timeout,omitempty" hcl:"resource_timeout"`
// ConfigKeys is only used temporarily for provider-specific configuration when decoding YAML
ConfigKeys map[string]interface{} `yaml:",inline"`
}
type Providers ¶ added in v0.16.0
type Providers []*Provider
func ProcessValidateProviderBlock ¶ added in v0.27.0
func ProcessValidateProviderBlock(plist []*Provider) (Providers, diag.Diagnostics)
type RequiredProvider ¶
type RequiredProvider struct {
Name string `yaml:"name,omitempty" json:"name,omitempty" hcl:"name,label"`
Source *string `yaml:"source,omitempty" json:"source,omitempty" hcl:"source,optional"`
Version string `yaml:"version,omitempty" json:"version,omitempty" hcl:"version"`
}
func (RequiredProvider) String ¶ added in v0.13.7
func (r RequiredProvider) String() string
type RequiredProviders ¶ added in v0.21.0
type RequiredProviders []*RequiredProvider
func (RequiredProviders) Distinct ¶ added in v0.21.0
func (r RequiredProviders) Distinct() RequiredProviders
Distinct returns one name per provider
func (RequiredProviders) Get ¶ added in v0.23.0
func (r RequiredProviders) Get(name string) *RequiredProvider
func (RequiredProviders) Names ¶ added in v0.21.0
func (r RequiredProviders) Names() []string