Documentation ¶
Overview ¶
Copyright 2017 HootSuite Media Inc.
Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Modified hereafter by contributors to runatlantis/atlantis.
Package terraform handles the actual running of terraform commands.
Index ¶
- func MustConstraint(v string) version.Constraints
- type Client
- type DefaultClient
- func (c *DefaultClient) RunCommandAsync(log *logging.SimpleLogger, path string, args []string, v *version.Version, ...) (chan<- string, <-chan Line)
- func (c *DefaultClient) RunCommandWithVersion(log *logging.SimpleLogger, path string, args []string, v *version.Version, ...) (string, error)
- func (c *DefaultClient) Version() *version.Version
- type DefaultDownloader
- type Downloader
- type Line
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MustConstraint ¶ added in v0.2.2
func MustConstraint(v string) version.Constraints
MustConstraint will parse one or more constraints from the given constraint string. The string must be a comma-separated list of constraints. It panics if there is an error.
Types ¶
type DefaultClient ¶ added in v0.2.2
type DefaultClient struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(log *logging.SimpleLogger, dataDir string, tfeToken string, defaultVersionStr string, defaultVersionFlagName string, tfDownloader Downloader) (*DefaultClient, error)
NewClient constructs a terraform client. tfeToken is an optional terraform enterprise token. defaultVersionStr is an optional default terraform version to use unless a specific version is set. defaultVersionFlagName is the name of the flag that sets the default terraform version. tfDownloader is used to download terraform versions. Will asynchronously download the required version if it doesn't exist already.
func (*DefaultClient) RunCommandAsync ¶ added in v0.5.0
func (c *DefaultClient) RunCommandAsync(log *logging.SimpleLogger, path string, args []string, v *version.Version, workspace string) (chan<- string, <-chan Line)
RunCommandAsync runs terraform with args. It immediately returns an input and output channel. Callers can use the output channel to get the realtime output from the command. Callers can use the input channel to pass stdin input to the command. If any error is passed on the out channel, there will be no further output (so callers are free to exit).
func (*DefaultClient) RunCommandWithVersion ¶ added in v0.2.2
func (c *DefaultClient) RunCommandWithVersion(log *logging.SimpleLogger, path string, args []string, v *version.Version, workspace string) (string, error)
RunCommandWithVersion executes the provided version of terraform with the provided args in path. v is the version of terraform executable to use. If v is nil, will use the default version. Workspace is the terraform workspace to run in. We won't switch workspaces, just set a WORKSPACE environment variable.
func (*DefaultClient) Version ¶ added in v0.2.2
func (c *DefaultClient) Version() *version.Version
Version returns the version of the terraform executable in our $PATH.
type DefaultDownloader ¶ added in v0.6.0
type DefaultDownloader struct{}
func (*DefaultDownloader) GetFile ¶ added in v0.6.0
func (d *DefaultDownloader) GetFile(dst, src string, opts ...getter.ClientOption) error
type Downloader ¶ added in v0.6.0
Downloader is for downloading terraform versions.