files

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package files allows to interact with files on a file system.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CopyFile

func CopyFile(source string, destination string) error

CopyFile copies a file from source to destination.

func CopyFolderContents

func CopyFolderContents(source string, destination string) error

CopyFolderContents copies all the files and folders within the given source folder to the destination folder.

func CopyFolderContentsWithFilter

func CopyFolderContentsWithFilter(source string, destination string, filter func(path string) bool) error

CopyFolderContentsWithFilter copies the files and folders within the given source folder that pass the given filter (return true) to the destination folder.

func CopyFolderToDest

func CopyFolderToDest(folderPath string, destRootFolder string, tempFolderPrefix string, filter func(path string) bool) (string, error)

CopyFolderToDest creates a copy of the given folder and all its filtered contents in a temp folder with a unique name and the given prefix.

func CopyFolderToTemp

func CopyFolderToTemp(folderPath string, tempFolderPrefix string, filter func(path string) bool) (string, error)

CopyFolderToTemp calls CopyFolderToDest, passing os.TempDir() as the root destination folder.

func CopyTerraformFolderToDest

func CopyTerraformFolderToDest(folderPath string, destRootFolder string, tempFolderPrefix string) (string, error)

CopyTerraformFolderToDest creates a copy of the given folder and all its contents in a specified folder with a unique name and the given prefix. This is useful when running multiple tests in parallel against the same set of Terraform files to ensure the tests don't overwrite each other's .terraform working directory and terraform.tfstate files. This method returns the path to the dest folder with the copied contents. Hidden files and folders (with the exception of the `.terraform-version` files used by the [tfenv tool](https://github.com/tfutils/tfenv) and `.terraform.lock.hcl` used by Terraform to lock providers versions), Terraform state files, and terraform.tfvars files are not copied to this temp folder, as you typically don't want them interfering with your tests. This method is useful when running through a build tool so the files are copied to a destination that is cleaned on each run of the pipeline.

func CopyTerraformFolderToTemp

func CopyTerraformFolderToTemp(folderPath string, tempFolderPrefix string) (string, error)

CopyTerraformFolderToTemp calls CopyTerraformFolderToDest, passing os.TempDir() as the root destination folder.

func CopyTerragruntFolderToDest

func CopyTerragruntFolderToDest(folderPath string, destRootFolder string, tempFolderPrefix string) (string, error)

CopyTerragruntFolderToDest creates a copy of the given folder and all its contents in a specified folder with a unique name and the given prefix. Since terragrunt uses tfvars files to specify modules, they are copied to the directory as well. Terraform state files are excluded as well as .terragrunt-cache to avoid overwriting contents.

func CopyTerragruntFolderToTemp

func CopyTerragruntFolderToTemp(folderPath string, tempFolderPrefix string) (string, error)

CopyTerragruntFolderToTemp calls CopyTerragruntFolderToDest, passing os.TempDir() as the root destination folder.

func FileExists

func FileExists(path string) bool

FileExists returns true if the given file exists.

func FileExistsE

func FileExistsE(path string) (bool, error)

FileExistsE returns true if the given file exists It will return an error if os.Stat error is not an ErrNotExist

func FindTerraformSourceFilesInDir

func FindTerraformSourceFilesInDir(dirPath string) ([]string, error)

FindTerraformSourceFilesInDir given a directory path, finds all the terraform source files contained in it. This will recursively search subdirectories, but will ignore any hidden files (which in turn ignores terraform data dirs like .terraform folder).

func IsExistingDir

func IsExistingDir(path string) bool

IsExistingDir returns true if the path exists and is a directory

func IsExistingFile

func IsExistingFile(path string) bool

IsExistingFile returns true if the path exists and is a file.

func PathContainsHiddenFileOrFolder

func PathContainsHiddenFileOrFolder(path string) bool

PathContainsHiddenFileOrFolder returns true if the given path contains a hidden file or folder.

func PathContainsTerraformState

func PathContainsTerraformState(path string) bool

PathContainsTerraformState returns true if the path corresponds to a Terraform state file.

func PathContainsTerraformStateOrVars

func PathContainsTerraformStateOrVars(path string) bool

PathContainsTerraformStateOrVars returns true if the path corresponds to a Terraform state file or .tfvars/.tfvars.json file.

func PathIsTerraformLockFile

func PathIsTerraformLockFile(path string) bool

PathIsTerraformLockFile return true if the given path is the special '.terraform.lock.hcl' file used by Terraform to lock providers versions

func PathIsTerraformVersionFile

func PathIsTerraformVersionFile(path string) bool

PathIsTerraformVersionFile returns true if the given path is the special '.terraform-version' file used by the [tfenv](https://github.com/tfutils/tfenv) tool.

func WriteFileWithSamePermissions

func WriteFileWithSamePermissions(source string, destination string, contents []byte) error

WriteFileWithSamePermissions writes a file to the given destination with the given contents using the same permissions as the file at source.

Types

type DirNotFoundError

type DirNotFoundError struct {
	Directory string
}

DirNotFoundError is an error that occurs if a directory doesn't exist

func (DirNotFoundError) Error

func (err DirNotFoundError) Error() string

Jump to

Keyboard shortcuts

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