Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { AccountID *json.Number `json:"account_id"` AWSProfileBackend *string `json:"aws_profile_backend"` AWSProfileProvider *string `json:"aws_profile_provider"` AWSProviderVersion *string `json:"aws_provider_version,omitempty"` AWSRegionBackend *string `json:"aws_region_backend"` AWSRegionProvider *string `json:"aws_region_provider"` AWSRegions []string `json:"aws_regions"` ExtraVars map[string]string `json:"extra_vars,omitempty"` InfraBucket *string `json:"infra_s3_bucket"` InfraDynamoTable *string `json:"infra_dynamo_db_table"` Owner *string `json:"owner"` Project *string `json:"project"` TerraformVersion *string `json:"terraform_version"` TfLint *TfLint `json:"tflint,omitempty"` }
type Component ¶
type Component struct { AccountID *json.Number `json:"account_id"` AWSProfileBackend *string `json:"aws_profile_backend"` AWSProfileProvider *string `json:"aws_profile_provider"` AWSProviderVersion *string `json:"aws_provider_version,omitempty"` AWSRegionBackend *string `json:"aws_region_backend"` AWSRegionProvider *string `json:"aws_region_provider"` AWSRegions []string `json:"aws_regions"` EKS *EKSConfig `json:"eks,omitempty"` ExtraVars map[string]string `json:"extra_vars,omitempty"` InfraBucket *string `json:"infra_s3_bucket"` InfraDynamoTable *string `json:"infra_dynamo_db_table"` Kind *ComponentKind `json:"kind,omitempty"` ModuleSource *string `json:"module_source"` Owner *string `json:"owner"` Project *string `json:"project"` TerraformVersion *string `json:"terraform_version"` TfLint *TfLint `json:"tflint,omitempty"` }
type ComponentKind ¶
type ComponentKind string
ComponentKind is the kind of this component
const ( // DefaultComponentKind defaults to terraform component DefaultComponentKind ComponentKind = "terraform" // ComponentKindTerraform is a terraform component ComponentKindTerraform = DefaultComponentKind // ComponentKindHelmTemplate is a helm template component ComponentKindHelmTemplate ComponentKind = "helm_template" )
func (*ComponentKind) GetOrDefault ¶
func (ck *ComponentKind) GetOrDefault() ComponentKind
GetOrDefault gets the component kind or default
type Config ¶
type Config struct { Accounts map[string]Account `json:"accounts"` Defaults Defaults `json:"defaults"` Docker bool `json:"docker,omitempty"` Envs map[string]Env `json:"envs"` Modules map[string]Module `json:"modules"` Plugins Plugins `json:"plugins,omitempty"` TravisCI *TravisCI `json:"travis_ci,omitempty"` }
func ReadConfig ¶
type Defaults ¶
type Defaults struct { AccountID json.Number `json:"account_id,omitempty" validate:"required"` AWSProfileBackend string `json:"aws_profile_backend" validate:"required"` AWSProfileProvider string `json:"aws_profile_provider" validate:"required"` AWSProviderVersion string `json:"aws_provider_version" validate:"required"` AWSRegionBackend string `json:"aws_region_backend" validate:"required"` AWSRegionProvider string `json:"aws_region_provider" validate:"required"` AWSRegions []string `json:"aws_regions,omitempty"` ExtraVars map[string]string `json:"extra_vars"` InfraBucket string `json:"infra_s3_bucket" validate:"required"` InfraDynamoTable string `json:"infra_dynamo_db_table"` Owner string `json:"owner" validate:"required"` Project string `json:"project" validate:"required"` TerraformVersion string `json:"terraform_version" validate:"required"` TfLint *TfLint `json:"tflint,omitempty"` }
type EKSConfig ¶
type EKSConfig struct {
ClusterName string `json:"cluster_name" yaml:"cluster_name"`
}
EKSConfig is the configuration for an eks cluster
type Env ¶
type Env struct { AccountID *json.Number `json:"account_id"` AWSProfileBackend *string `json:"aws_profile_backend"` AWSProfileProvider *string `json:"aws_profile_provider"` AWSProviderVersion *string `json:"aws_provider_version,omitempty"` AWSRegionBackend *string `json:"aws_region_backend"` AWSRegionProvider *string `json:"aws_region_provider"` AWSRegions []string `json:"aws_regions"` ExtraVars map[string]string `json:"extra_vars,omitempty"` InfraBucket *string `json:"infra_s3_bucket"` InfraDynamoTable *string `json:"infra_dynamo_db_table"` Owner *string `json:"owner"` Project *string `json:"project"` TerraformVersion *string `json:"terraform_version"` TfLint *TfLint `json:"tflint,omitempty"` Components map[string]*Component `json:"components"` }
type Module ¶
type Module struct {
TerraformVersion *string `json:"terraform_version,omitempty" yaml:"terraform_version,omitempty"`
}
Module is a module
type Plugins ¶
type Plugins struct { CustomPlugins map[string]*plugins.CustomPlugin `json:"custom_plugins,omitempty" yaml:"custom_plugins,omitempty"` TerraformProviders map[string]*plugins.CustomPlugin `json:"terraform_providers,omitempty" yaml:"terraform_providers,omitempty"` }
Plugins contains configuration around plugins
type TfLint ¶
type TfLint struct {
Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`
}
type TravisCI ¶
type TravisCI struct { Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` AWSIAMRoleName *string `json:"aws_iam_role_name" yaml:"aws_iam_role_name,omitempty"` TestBuckets *int `json:"test_buckets" yaml:"test_buckets,omitempty"` Command *string `json:"command,omitempty" yaml:"command,omitempty"` }
Click to show internal directories.
Click to hide internal directories.