Documentation
¶
Overview ¶
Package models holds all models that are needed across packages. We place these models in their own package so as to avoid circular dependencies between packages (which is a compile error).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plan ¶
type Plan struct {
// Project is the project this plan is for.
Project Project
// LocalPath is the absolute path to the plan on disk
// (versus the relative path from the repo root).
LocalPath string
}
Plan is the result of running an Atlantis plan command. This model is used to represent a plan on disk.
type Project ¶
type Project struct {
// RepoFullName is the owner and repo name, ex. "hootsuite/atlantis"
RepoFullName string
// Path to project root in the repo.
// If "." then project is at root.
// Never ends in "/".
Path string
}
Project represents a Terraform project. Since there may be multiple Terraform projects in a single repo we also include Path to the project root relative to the repo root.
func NewProject ¶
NewProject constructs a Project. Use this constructor because it sets Path correctly.
type ProjectLock ¶
type ProjectLock struct {
// Project is the project that is being locked.
Project Project
// Pull is the pull request from which the command was run that
// created this lock.
Pull PullRequest
// User is the GitHub username of the user that ran the command
// that created this lock.
User User
// Env is the Terraform environment that this
// lock is being held against.
Env string
// Time is the time at which the lock was first created.
Time time.Time
}
ProjectLock represents a lock on a project.
type PullRequest ¶
type PullRequest struct {
// Num is the pull request number or ID.
Num int
// HeadCommit points to the head of the branch that is being
// pull requested into the base.
HeadCommit string
// BaseCommit points to the head of the branch that this
// pull request will be merged into.
BaseCommit string
// URL is the url of the pull request.
// ex. "https://github.com/hootsuite/atlantis/pull/1"
URL string
// Branch is the name of the head branch (not the base).
Branch string
// Author is the GitHub username of the pull request author.
Author string
}
PullRequest is a GitHub pull request.
type Repo ¶
type Repo struct {
// FullName is the owner and repo name separated
// by a "/", ex. "hootsuite/atlantis".
FullName string
// Owner is just the repo owner, ex. "hootsuite".
Owner string
// Name is just the repo name, ex. "atlantis".
Name string
// CloneURL is the full HTTPS url for cloning with username and token string
// ex. "https://username:token@github.com/atlantis/atlantis.git".
CloneURL string
// SanitizedCloneURL is the full HTTPS url for cloning without the username and password.
// ex. "https://github.com/atlantis/atlantis.git".
SanitizedCloneURL string
}
Repo is a GitHub repository.