util

package
v1.3.6 Latest Latest
Warning

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

Go to latest
Published: May 14, 2019 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyTemplate added in v1.0.0

func ApplyTemplate() bool

ApplyTemplate determines if go template should be applied on terraform files.

func CanonicalPath added in v0.6.0

func CanonicalPath(path string, basePath string) (string, error)

CanonicalPath returns the canonical version of the given path, relative to the given base path. That is, if the given path is a relative path, assume it is relative to the given base path. A canonical path is an absolute path with all relative components (e.g. "../") fully resolved, which makes it safe to compare paths as strings.

func CanonicalPaths added in v0.6.0

func CanonicalPaths(paths []string, basePath string) ([]string, error)

CanonicalPaths returns the canonical version of the given paths, relative to the given base path. That is, if a given path is a relative path, assume it is relative to the given base path. A canonical path is an absolute path with all relative components (e.g. "../") fully resolved, which makes it safe to compare paths as strings.

func CleanPath added in v0.9.0

func CleanPath(path string) string

CleanPath is used to clean paths to ensure the returned path uses / as the path separator to improve cross-platform compatibility.

func CommaSeparatedStrings added in v0.12.17

func CommaSeparatedStrings(list []string) string

CommaSeparatedStrings returns an HCL compliant formated list of strings (each string within double quote)

func ConvertToMap added in v1.0.0

func ConvertToMap(value interface{}, keys ...string) interface{}

ConvertToMap builds a map with the keys supplied

func CopyFile added in v0.9.4

func CopyFile(source string, destination string) error

CopyFile copies a file from source to destination

func CopyFolderContents added in v0.9.4

func CopyFolderContents(source string, destination string) error

CopyFolderContents copies the files and folders within the source folder into the destination folder. Note that hidden files and folders (those starting with a dot) will be skipped.

func CreateLogger added in v0.6.0

func CreateLogger(prefix string) *logging.Logger

CreateLogger creates a logger with the given prefix

func DeleteFiles added in v0.9.7

func DeleteFiles(files []string) error

DeleteFiles deletes the given list of files. Note: this function ONLY deletes files and will return an error if you pass in a folder path.

func EncodeBase64Sha1 added in v0.9.7

func EncodeBase64Sha1(str string) string

EncodeBase64Sha1 returns the base 64 encoded sha1 hash of the given string

func ExpandArguments added in v1.0.0

func ExpandArguments(args []interface{}, folder string) (result []interface{})

ExpandArguments expands the list of arguments like x shell do

func FileExists

func FileExists(path string) bool

FileExists returns true if the given file exists.

func FileStat added in v1.0.0

func FileStat(path string) (result os.FileInfo, err error)

FileStat calls os.Stat with retries When multiple projects are running in parallel, the os.Stat() function returns 'bad file descriptor' if the file is being overwritten while being read.

func GetLoggingLevel added in v1.0.0

func GetLoggingLevel() logging.Level

GetLoggingLevel returns the current logging level

func GetPathRelativeTo added in v0.4.0

func GetPathRelativeTo(path, basePath string) (string, error)

GetPathRelativeTo returns the relative path you would have to take to get from basePath to path

func GetPathRelativeToMax added in v1.0.0

func GetPathRelativeToMax(path, basePath string, maxLevel uint) (result string)

GetPathRelativeToMax returns either an absolute path or a relative path if it is not too far from relatively to the base path

func GetPathRelativeToWorkingDir added in v1.0.0

func GetPathRelativeToWorkingDir(path string) (result string)

GetPathRelativeToWorkingDir returns the path relative to the current working directory

func GetPathRelativeToWorkingDirMax added in v1.0.0

func GetPathRelativeToWorkingDirMax(path string, maxLevel uint) (result string)

GetPathRelativeToWorkingDirMax returns either an absolute path or a relative path if it is not too far from relatively to the current directory

func GetRandomTime added in v0.6.4

func GetRandomTime(lowerBound, upperBound time.Duration) time.Duration

GetRandomTime returns random time duration between the lower bound and upper bound. This is useful because some of our

automated tests wound up flooding the AWS API all at once, leading to a "Subscriber limit exceeded" error.

TODO: Some of the more exotic test cases fail, but it's not worth catching them given the intended use of this function.

func GetSource added in v1.0.0

func GetSource(source, pwd string, logger *logging.Logger) (string, error)

GetSource gets the content of the source in a temporary folder and returns the local path. The function manages a cache to avoid multiple remote calls if the content has not changed

func GetTempDownloadFolder added in v1.0.0

func GetTempDownloadFolder(folders ...string) string

GetTempDownloadFolder returns the fo

func Grep

func Grep(regex *regexp.Regexp, glob string) (bool, error)

Grep returns true if the given regex can be found in any of the files matched by the given glob

func IndexOrDefault added in v1.0.0

func IndexOrDefault(list []string, index int, defVal string) string

IndexOrDefault returns the item at index position or default value if the array is shorter than index

func InitLogging added in v1.0.0

func InitLogging(levelName string, defaultLevel logging.Level, color bool) (int, error)

InitLogging must be called to set the logging string, initialize color and logging level

func JoinPath added in v0.9.0

func JoinPath(elem ...string) string

JoinPath always use / as the separator. Windows systems use \ as the path separator *nix uses / Use this function when joining paths to force the returned path to use / as the path separator This will improve cross-platform compatibility

func KindOf added in v0.12.9

func KindOf(value interface{}) reflect.Kind

KindOf returns the kind of the type or Invalid if value is nil

func ListContainsElement added in v0.6.0

func ListContainsElement(list []string, element string) bool

ListContainsElement returns true if the given list contains the given element

func ListContainsElementInterface added in v1.0.0

func ListContainsElementInterface(list []interface{}, element interface{}) bool

ListContainsElementInterface returns true if the given list contains the given element

func LoadDefaultValues added in v1.0.0

func LoadDefaultValues(folder string) (result map[string]interface{}, err error)

LoadDefaultValues returns a map of the variables defined in the tfvars file

func LoadVariables added in v1.0.0

func LoadVariables(content string, cwd string, context ...interface{}) (map[string]interface{}, error)

LoadVariables returns a map of the variables defined in the content provider

func LoadVariablesFromFile added in v1.0.0

func LoadVariablesFromFile(path, cwd string, context ...interface{}) (map[string]interface{}, error)

LoadVariablesFromFile returns a map of the variables defined in the tfvars file

func LoadVariablesFromSource added in v1.0.0

func LoadVariablesFromSource(content, fileName, cwd string, context ...interface{}) (result map[string]interface{}, err error)

LoadVariablesFromSource returns a map of the variables defined in the content provider

func PathContainsHiddenFileOrFolder added in v0.12.22

func PathContainsHiddenFileOrFolder(path string) bool

PathContainsHiddenFileOrFolder returns true if folder contains files starting with . (except . and ..)

func ReadFileAsString added in v0.4.0

func ReadFileAsString(path string) (string, error)

ReadFileAsString returns the contents of the file at the given path as a string

func ReadFileAsStringFromSource added in v1.0.0

func ReadFileAsStringFromSource(source, path string, logger *logging.Logger) (localFile, content string, err error)

ReadFileAsStringFromSource returns the contents of the file at the given path from an external source (github, s3, etc.) as a string It uses terraform to execute its command

func RemoveDuplicatesFromList added in v0.12.11

func RemoveDuplicatesFromList(list []string, keepLast bool, getKey func(key string) string) []string

RemoveDuplicatesFromList returns a copy of the given list with all duplicates removed (keeping the last encountereds) Params:

  list: The list to filter
  keepLast: Indicates whether the last or first encountered duplicate element should be kept
	 getKey: Function used to extract the actual key from the string

func RemoveDuplicatesFromListKeepFirst added in v1.0.0

func RemoveDuplicatesFromListKeepFirst(list []string) []string

RemoveDuplicatesFromListKeepFirst returns a copy of the given list with all duplicates removed (keeping the first encountereds)

func RemoveDuplicatesFromListKeepLast added in v0.12.11

func RemoveDuplicatesFromListKeepLast(list []string) []string

RemoveDuplicatesFromListKeepLast returns a copy of the given list with all duplicates removed (keeping the last encountereds)

func RemoveElementFromList added in v0.6.0

func RemoveElementFromList(list []string, element string) []string

RemoveElementFromList returns a copy of the given list with all instances of the given element removed

func SetLoggingLevel added in v1.0.0

func SetLoggingLevel(level int)

SetLoggingLevel sets the logging level

func SplitEnvVariable added in v1.0.0

func SplitEnvVariable(str string) (key, value string, err error)

SplitEnvVariable returns the two parts of an environment variable

func WriteFileWithSamePermissions added in v0.9.4

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 LogCatcher added in v1.0.0

type LogCatcher struct {
	Writer io.Writer
	Logger *logging.Logger
	// contains filtered or unexported fields
}

LogCatcher traps messsage containing logging level [LOGLEVEL] and redirect them to the logging system

func (*LogCatcher) Close added in v1.2.4

func (catcher *LogCatcher) Close() error

Close implements io.Closer

func (*LogCatcher) Write added in v1.0.0

func (catcher *LogCatcher) Write(writeBuffer []byte) (resultCount int, err error)

This methods intercepts every message written to stream and determines if a logging function should be used.

Jump to

Keyboard shortcuts

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