Documentation ¶
Overview ¶
Package variable manages terraform workspace variables
Index ¶
- Constants
- Variables
- func WriteTerraformVars(dir string, vars []*Variable) error
- type Client
- type CreateVariableOptions
- type CreateVariableSetOptions
- type Options
- type Service
- func (s *Service) AddHandlers(r *mux.Router)
- func (s *Service) CreateWorkspaceVariable(ctx context.Context, workspaceID string, opts CreateVariableOptions) (*Variable, error)
- func (s *Service) DeleteWorkspaceVariable(ctx context.Context, variableID string) (*WorkspaceVariable, error)
- func (s *Service) GetWorkspaceVariable(ctx context.Context, variableID string) (*WorkspaceVariable, error)
- func (s *Service) ListEffectiveVariables(ctx context.Context, runID string) ([]*Variable, error)
- func (s *Service) ListWorkspaceVariables(ctx context.Context, workspaceID string) ([]*Variable, error)
- func (s *Service) UpdateWorkspaceVariable(ctx context.Context, variableID string, opts UpdateVariableOptions) (*WorkspaceVariable, error)
- type UpdateVariableOptions
- type UpdateVariableSetOptions
- type Variable
- type VariableCategory
- type VariableRow
- type VariableSet
- type VariableSetRow
- type WorkspaceVariable
Constants ¶
View Source
const ( // https://developer.hashicorp.com/terraform/cloud-docs/workspaces/variables/managing-variables#character-limits VariableDescriptionMaxChars = 512 VariableKeyMaxChars = 128 VariableValueMaxKB = 256 // 256*1024 bytes )
Variables ¶
View Source
var ( ErrVariableDescriptionMaxExceeded = fmt.Errorf("maximum variable description size (%d chars) exceeded", VariableDescriptionMaxChars) ErrVariableKeyMaxExceeded = fmt.Errorf("maximum variable key size (%d chars) exceeded", VariableKeyMaxChars) ErrVariableValueMaxExceeded = fmt.Errorf("maximum variable value size of %d KB exceeded", VariableValueMaxKB) ErrVariableConflict = errors.New("variable conflicts with another variable with the same name and type") )
Functions ¶
func WriteTerraformVars ¶
WriteTerraformVars writes workspace variables to a file named terraform.tfvars located in the given path. If the file already exists it'll be appended to.
Types ¶
type CreateVariableOptions ¶
type CreateVariableSetOptions ¶ added in v0.1.9
type Service ¶
func NewService ¶
func (*Service) AddHandlers ¶ added in v0.2.2
func (*Service) CreateWorkspaceVariable ¶ added in v0.1.9
func (*Service) DeleteWorkspaceVariable ¶ added in v0.1.9
func (*Service) GetWorkspaceVariable ¶ added in v0.1.9
func (*Service) ListEffectiveVariables ¶ added in v0.1.9
func (*Service) ListWorkspaceVariables ¶ added in v0.1.9
func (*Service) UpdateWorkspaceVariable ¶ added in v0.1.9
func (s *Service) UpdateWorkspaceVariable(ctx context.Context, variableID string, opts UpdateVariableOptions) (*WorkspaceVariable, error)
type UpdateVariableOptions ¶
type UpdateVariableSetOptions ¶ added in v0.1.9
type Variable ¶
type Variable struct { ID string `jsonapi:"primary,variables"` Key string `jsonapi:"attribute" json:"key"` Value string `jsonapi:"attribute" json:"value"` Description string `jsonapi:"attribute" json:"description"` Category VariableCategory `jsonapi:"attribute" json:"category"` Sensitive bool `jsonapi:"attribute" json:"sensitive"` HCL bool `jsonapi:"attribute" json:"hcl"` // OTF doesn't use this internally but the go-tfe integration tests // expect it to be a random value that changes on every update. VersionID string }
type VariableCategory ¶
type VariableCategory string
VariableCategory is the category of variable
const ( CategoryTerraform VariableCategory = "terraform" CategoryEnv VariableCategory = "env" )
func VariableCategoryPtr ¶
func VariableCategoryPtr(v VariableCategory) *VariableCategory
VariableCategoryPtr returns a pointer to the given category type.
type VariableRow ¶ added in v0.3.0
type VariableSet ¶ added in v0.1.9
type VariableSet struct { ID string Name string Description string Global bool Workspaces []string // workspace IDs Organization string // org name Variables []*Variable }
VariableSet is a set of variables
func (*VariableSet) LogValue ¶ added in v0.1.9
func (s *VariableSet) LogValue() slog.Value
type VariableSetRow ¶ added in v0.3.0
type WorkspaceVariable ¶ added in v0.1.9
Source Files ¶
Click to show internal directories.
Click to hide internal directories.