terragrunt

package
v0.84.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 2, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SourceTypeLocal     = "local"
	SourceTypeRegistry  = "registry"
	SourceTypeGithub    = "github"
	SourceTypeGit       = "git"
	SourceTypeHttp      = "http"
	SourceTypeS3        = "s3"
	SourceTypeGCS       = "gcs"
	SourceTypeMercurial = "mercurial"
)
View Source
const (
	HclExtension string = ".hcl"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type MatchingRule

type MatchingRule struct {
	// `path` specifies a terragrunt manifest path pattern, the pattern requires to match all of name, not just a substring.
	Path string
	/*
		`modules` specifies a map of modules, the key is module url as seen in the different terragrunt manifests,
		the value is an optional semver version constraint.

		examples:
		“`
		- providers:
		  # Ignore modules update for a specific registry
		  tfr://registry.opentofu.org:
		  # Ignore modules updates for a very specific module
		  tfr://terraform-aws-modules/rdss/aws:
		  registry.terraform.io/hashicorp/aws:
		  # Ignore module updates for this version
		  git@github.com:hashicorp/exampleLongNameForSorting.git: "1.x"
		“`
	*/
	Modules map[string]string
}

MatchingRule allows to specifies rules to identify manifest

type MatchingRules

type MatchingRules []MatchingRule

type Spec

type Spec struct {
	// `rootdir` defines the root directory from where looking for terragrunt configuration
	RootDir string `yaml:",omitempty"`
	// `ignore` specifies rule to ignore `.terraform.lock.hcl` update.
	Ignore MatchingRules `yaml:",omitempty"`
	// `only` specify required rule to restrict `.terraform.lock.hcl` update.
	Only MatchingRules `yaml:",omitempty"`
	/*
		`versionfilter` provides parameters to specify the version pattern to use when generating manifest.

		kind - semver
			versionfilter of kind `semver` uses semantic versioning as version filtering
			pattern accepts one of:
				`patch` - patch only update patch version
				`minor` - minor only update minor version
				`major` - major only update major versions
				`a version constraint` such as `>= 1.0.0`

		kind - regex
			versionfilter of kind `regex` uses regular expression as version filtering
			pattern accepts a valid regular expression

		example:
		“`
			versionfilter:
				kind: semver
				pattern: minor
		“`

		and its type like regex, semver, or just latest.
	*/
	VersionFilter version.Filter `yaml:",omitempty"`
}

Spec defines the Terraform parameters.

type Terragrunt

type Terragrunt struct {
	// contains filtered or unexported fields
}

Terragrunt struct holds all information needed to generate terragrunt manifest.

func New

func New(spec interface{}, rootDir, scmID string) (Terragrunt, error)

New return a new valid Terragrunt object.

func (Terragrunt) DiscoverManifests

func (t Terragrunt) DiscoverManifests() ([][]byte, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL