Documentation ¶
Overview ¶
Package state manages terraform state.
Index ¶
- Variables
- func NewCommand(client *otfapi.Client) *cobra.Command
- type CLI
- type Client
- func (c *Client) Create(ctx context.Context, opts CreateStateVersionOptions) (*Version, error)
- func (c *Client) Delete(ctx context.Context, svID string) error
- func (c *Client) Download(ctx context.Context, svID string) ([]byte, error)
- func (c *Client) DownloadCurrent(ctx context.Context, workspaceID string) ([]byte, error)
- func (c *Client) GetCurrent(ctx context.Context, workspaceID string) (*Version, error)
- func (c *Client) List(ctx context.Context, workspaceID string, opts resource.PageOptions) (*resource.Page[*Version], error)
- func (c *Client) Rollback(ctx context.Context, svID string) (*Version, error)
- type CreateStateVersionOptions
- type File
- type FileOutput
- type Options
- type Output
- type Resource
- type Service
- func (a *Service) AddHandlers(r *mux.Router)
- func (a *Service) CanAccess(ctx context.Context, action rbac.Action, svID string) (internal.Subject, error)
- func (a *Service) Create(ctx context.Context, opts CreateStateVersionOptions) (*Version, error)
- func (a *Service) Delete(ctx context.Context, versionID string) error
- func (a *Service) Download(ctx context.Context, svID string) ([]byte, error)
- func (a *Service) DownloadCurrent(ctx context.Context, workspaceID string) ([]byte, error)
- func (a *Service) Get(ctx context.Context, versionID string) (*Version, error)
- func (a *Service) GetCurrent(ctx context.Context, workspaceID string) (*Version, error)
- func (a *Service) GetOutput(ctx context.Context, outputID string) (*Output, error)
- func (a *Service) List(ctx context.Context, workspaceID string, opts resource.PageOptions) (*resource.Page[*Version], error)
- func (a *Service) Rollback(ctx context.Context, versionID string) (*Version, error)
- func (a *Service) Upload(ctx context.Context, svID string, state []byte) error
- type StateVersionListOptions
- type Status
- type Version
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrSerialNotGreaterThanCurrent = errors.New("the serial provided in the state file is not greater than the serial currently known remotely") ErrSerialMD5Mismatch = errors.New("the MD5 hash of the state provided does not match what is currently known for the same serial number") ErrUploadNonPending = errors.New("cannot upload state to a state version with a non-pending status") )
View Source
var ErrCurrentVersionDeletionAttempt = errors.New("deleting the current state version is not allowed")
Functions ¶
Types ¶
type Client ¶
func (*Client) DownloadCurrent ¶ added in v0.2.2
func (*Client) GetCurrent ¶ added in v0.2.2
type CreateStateVersionOptions ¶
type CreateStateVersionOptions struct { State []byte // Terraform state file. Optional. WorkspaceID *string // ID of state version's workspace. Required. Serial *int64 // State serial number. Required. }
CreateStateVersionOptions are options for creating a state version.
type File ¶
type File struct { Version int TerraformVersion string `json:"terraform_version"` Serial int64 Lineage string Outputs map[string]FileOutput Resources []Resource }
File is the terraform state file contents
type FileOutput ¶
type FileOutput struct { Value json.RawMessage Sensitive bool }
FileOutput is an output in the terraform state file
func (FileOutput) StringValue ¶ added in v0.1.3
func (r FileOutput) StringValue() string
func (FileOutput) Type ¶ added in v0.1.3
func (r FileOutput) Type() (string, error)
Type determines the HCL type of the output value
type Resource ¶ added in v0.1.3
func (Resource) ModuleName ¶ added in v0.1.3
type Service ¶
Service provides access to state and state versions
func NewService ¶
func (*Service) AddHandlers ¶ added in v0.2.2
func (*Service) DownloadCurrent ¶ added in v0.2.2
func (*Service) GetCurrent ¶ added in v0.2.2
type StateVersionListOptions ¶
type StateVersionListOptions struct { resource.PageOptions Organization string `schema:"filter[organization][name],required"` Workspace string `schema:"filter[workspace][name],required"` }
StateVersionListOptions represents the options for listing state versions.
type Version ¶
type Version struct { ID string `jsonapi:"primary,state-versions"` CreatedAt time.Time `jsonapi:"attribute" json:"created-at"` Serial int64 `jsonapi:"attribute" json:"serial"` State []byte `jsonapi:"attribute" json:"state"` Status Status `jsonapi:"attribute" json:"status"` Outputs map[string]*Output `jsonapi:"attribute" json:"outputs"` WorkspaceID string `jsonapi:"attribute" json:"workspace-id"` }
Version is a specific version of terraform state. It includes important metadata as well as the state file itself.
https://developer.hashicorp.com/terraform/cloud-docs/api-docs/state-versions
Click to show internal directories.
Click to hide internal directories.