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) Init(log *logging.SimpleLogger, path string, workspace string, ...) ([]string, error)
- func (c *DefaultClient) RunCommandWithVersion(log *logging.SimpleLogger, path string, args []string, v *version.Version, ...) (string, error)
- func (c *DefaultClient) Version() *version.Version
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 Client ¶
type Client interface { Version() *version.Version RunCommandWithVersion(log *logging.SimpleLogger, path string, args []string, v *version.Version, workspace string) (string, error) Init(log *logging.SimpleLogger, path string, workspace string, extraInitArgs []string, version *version.Version) ([]string, error) }
type DefaultClient ¶ added in v0.2.2
type DefaultClient struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(dataDir string) (*DefaultClient, error)
func (*DefaultClient) Init ¶ added in v0.2.2
func (c *DefaultClient) Init(log *logging.SimpleLogger, path string, workspace string, extraInitArgs []string, version *version.Version) ([]string, error)
Init executes "terraform init" and "terraform workspace select" in path. workspace is the workspace to select and extraInitArgs are additional arguments applied to the init command. version is the terraform version being executed. Init is guaranteed to be called with version >= 0.9 since the init command was only introduced in that version. It properly handles the renaming of the env command to workspace since 0.10.
Returns the string outputs of running each command.
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 and workspace is the workspace specified by the user commenting "atlantis plan/apply {workspace}" which is set to "default" by default.
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.