config

package
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2021 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddAuthHeaders added in v0.7.11

func AddAuthHeaders(apiKey string, req *http.Request)

func AddNoAuthHeaders added in v0.7.11

func AddNoAuthHeaders(req *http.Request)

func CredentialsFilePath added in v0.7.17

func CredentialsFilePath() string

func DetectProjectMetadata added in v0.9.0

func DetectProjectMetadata(projectCfg *Project) *schema.ProjectMetadata

func IsFalsy added in v0.7.17

func IsFalsy(s string) bool

func IsTruthy

func IsTruthy(s string) bool

func RootDir

func RootDir() string

func TraceID added in v0.7.11

func TraceID() string

Types

type Config

type Config struct {
	Environment *Environment
	State       *State
	Credentials Credentials

	Version         string `yaml:"version,omitempty" ignored:"true"`
	LogLevel        string `yaml:"log_level,omitempty" envconfig:"INFRACOST_LOG_LEVEL"`
	NoColor         bool   `yaml:"no_color,omitempty" envconfig:"INFRACOST_NO_COLOR"`
	SkipUpdateCheck bool   `yaml:"skip_update_check,omitempty" envconfig:"INFRACOST_SKIP_UPDATE_CHECK"`

	APIKey                    string `envconfig:"INFRACOST_API_KEY"`
	PricingAPIEndpoint        string `yaml:"pricing_api_endpoint,omitempty" envconfig:"INFRACOST_PRICING_API_ENDPOINT"`
	DefaultPricingAPIEndpoint string `yaml:"default_pricing_api_endpoint,omitempty" envconfig:"INFRACOST_DEFAULT_PRICING_API_ENDPOINT"`
	DashboardAPIEndpoint      string `yaml:"dashboard_api_endpoint,omitempty" envconfig:"INFRACOST_DASHBOARD_API_ENDPOINT"`

	Projects      []*Project `yaml:"projects" ignored:"true"`
	Format        string     `yaml:"format,omitempty" ignored:"true"`
	ShowSkipped   bool       `yaml:"show_skipped,omitempty" ignored:"true"`
	SyncUsageFile bool       `yaml:"sync_usage_file,omitempty" ignored:"true"`
	Fields        []string   `yaml:"fields,omitempty" ignored:"true"`
}

func DefaultConfig added in v0.7.17

func DefaultConfig() *Config

func (*Config) ConfigureLogger added in v0.7.17

func (c *Config) ConfigureLogger() error

func (*Config) IsLogging added in v0.7.17

func (c *Config) IsLogging() bool

func (*Config) LoadFromConfigFile added in v0.8.0

func (c *Config) LoadFromConfigFile(path string) error

func (*Config) LoadFromEnv added in v0.7.17

func (c *Config) LoadFromEnv() error

type ConfigFileSpec added in v0.8.0

type ConfigFileSpec struct {
	Version  string     `yaml:"version"`
	Projects []*Project `yaml:"projects" ignored:"true"`
}

func LoadConfigFile added in v0.8.0

func LoadConfigFile(path string) (ConfigFileSpec, error)

type Credentials added in v0.7.17

type Credentials map[string]CredentialsProfileSpec

func (Credentials) Save added in v0.7.17

func (c Credentials) Save() error

type CredentialsProfileSpec added in v0.7.17

type CredentialsProfileSpec struct {
	APIKey string `yaml:"api_key"`
}

type Environment added in v0.7.11

type Environment struct {
	Version                             string   `json:"version"`
	FullVersion                         string   `json:"fullVersion"`
	IsTest                              bool     `json:"isTest"`
	IsDev                               bool     `json:"isDev"`
	InstallID                           string   `json:"installId"`
	IsDefaultPricingAPIEndpoint         bool     `json:"isDefaultPricingAPIEndpoint"`
	OS                                  string   `json:"os"`
	CIPlatform                          string   `json:"ciPlatform,omitempty"`
	CIScript                            string   `json:"ciScript,omitempty"`
	Command                             string   `json:"command"`
	Flags                               []string `json:"flags"`
	OutputFormat                        string   `json:"outputFormat"`
	ProjectType                         string   `json:"projectType"`
	TerraformBinary                     string   `json:"terraformBinary"`
	TerraformFullVersion                string   `json:"terraformFullVersion"`
	TerraformVersion                    string   `json:"terraformVersion"`
	TerraformRemoteExecutionModeEnabled bool     `json:"terraformRemoteExecutionModeEnabled"`
	TerraformInfracostProviderEnabled   bool     `json:"terraformInfracostProviderEnabled"`
	IsAWSChina                          bool     `json:"isAwsChina"`
	HasConfigFile                       bool     `json:"hasConfigFile"`
	HasUsageFile                        bool     `json:"hasUsageFile"`
}

func NewEnvironment added in v0.7.17

func NewEnvironment() *Environment

func (*Environment) SetProjectEnvironment added in v0.8.0

func (e *Environment) SetProjectEnvironment(projectType string, projectCfg *Project)

type Project added in v0.8.0

type Project struct {
	Path                string `yaml:"path,omitempty" ignored:"true"`
	TerraformPlanFlags  string `yaml:"terraform_plan_flags,omitempty" ignored:"true"`
	TerraformBinary     string `yaml:"terraform_binary,omitempty" envconfig:"INFRACOST_TERRAFORM_BINARY"`
	TerraformWorkspace  string `yaml:"terraform_workspace,omitempty" envconfig:"INFRACOST_TERRAFORM_WORKSPACE"`
	TerraformCloudHost  string `yaml:"terraform_cloud_host,omitempty" envconfig:"INFRACOST_TERRAFORM_CLOUD_HOST"`
	TerraformCloudToken string `yaml:"terraform_cloud_token,omitempty" envconfig:"INFRACOST_TERRAFORM_CLOUD_TOKEN"`
	UsageFile           string `yaml:"usage_file,omitempty" ignored:"true"`
	TerraformUseState   bool   `yaml:"terraform_use_state,omitempty" ignored:"true"`
}

type State added in v0.7.17

type State struct {
	InstallID              string `json:"installId"`
	LatestReleaseVersion   string `json:"latestReleaseVersion"`
	LatestReleaseCheckedAt string `json:"latestReleaseCheckedAt"`
}

func (*State) Save added in v0.7.17

func (s *State) Save() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL