helper

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: May 19, 2022 License: MPL-2.0 Imports: 15 Imported by: 981

Documentation

Overview

These functions are coming from consul/lib/cluster.go

These functions are coming from consul/lib/eof.go

These functions are coming from consul/lib/math.go

These functions are coming from consul/path.go

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BoolToPtr

func BoolToPtr(b bool) *bool

BoolToPtr returns the pointer to a boolean.

func CheckHCLKeys added in v0.7.0

func CheckHCLKeys(node ast.Node, valid []string) error

func CheckNamespaceScope added in v0.12.2

func CheckNamespaceScope(provided string, requested []string) []string

CheckNamespaceScope ensures that the provided namespace is equal to or a parent of the requested namespaces. Returns requested namespaces which are not equal to or a child of the provided namespace.

func CleanEnvVar added in v0.5.5

func CleanEnvVar(s string, r byte) string

CleanEnvVar replaces all occurrences of illegal characters in an environment variable with the specified byte.

func CleanFilename added in v1.0.0

func CleanFilename(filename string, replace string) string

CleanFilename replaces invalid characters in filename

func CleanFilenameASCIIOnly added in v1.0.0

func CleanFilenameASCIIOnly(filename string, replace string) string

CleanFilenameASCIIOnly replaces invalid and non-ASCII characters in filename

func CleanFilenameStrict added in v1.0.0

func CleanFilenameStrict(filename string, replace string) string

CleanFilenameStrict replaces invalid and punctuation characters in filename

func CompareMapStringString added in v0.9.0

func CompareMapStringString(a, b map[string]string) bool

CompareMapStringString returns true if the maps are equivalent. A nil and empty map are considered not equal.

func CompareSliceSetString added in v0.10.0

func CompareSliceSetString(a, b []string) bool

CompareSliceSetString returns true if the slices contain the same strings. Order is ignored. The slice may be copied but is never altered. The slice is assumed to be a set. Multiple instances of an entry are treated the same as a single instance.

func CompareTimePtrs added in v0.12.4

func CompareTimePtrs(a, b *time.Duration) bool

CompareTimePtrs return true if a is the same as b.

func CopyMapStringFloat64

func CopyMapStringFloat64(m map[string]float64) map[string]float64

func CopyMapStringInt

func CopyMapStringInt(m map[string]int) map[string]int

func CopyMapStringInterface added in v0.12.4

func CopyMapStringInterface(m map[string]interface{}) map[string]interface{}

func CopyMapStringSliceString added in v0.6.1

func CopyMapStringSliceString(m map[string][]string) map[string][]string

CopyMapStringSliceString copies a map of strings to string slices such as http.Header

func CopyMapStringString

func CopyMapStringString(m map[string]string) map[string]string

func CopyMapStringStruct added in v0.6.1

func CopyMapStringStruct(m map[string]struct{}) map[string]struct{}

func CopySliceInt

func CopySliceInt(s []int) []int

func CopySliceString

func CopySliceString(s []string) []string

func EnsurePath added in v1.3.0

func EnsurePath(path string, dir bool) error

EnsurePath is used to make sure a path exists

func Float64ToPtr added in v0.9.0

func Float64ToPtr(f float64) *float64

Float64ToPtr returns the pointer to an float64

func HashUUID added in v0.6.0

func HashUUID(input string) (output string, hashed bool)

HashUUID takes an input UUID and returns a hashed version of the UUID to ensure it is well distributed.

func Int32ToPtr added in v1.3.0

func Int32ToPtr(i int32) *int32

Int32ToPtr returns the pointer to an int32

func Int64ToPtr added in v0.6.0

func Int64ToPtr(i int64) *int64

Int64ToPtr returns the pointer to an int64

func Int8ToPtr added in v0.9.0

func Int8ToPtr(i int8) *int8

Int8ToPtr returns the pointer to an int8

func IntMax added in v0.6.1

func IntMax(a, b int) int

func IntMin added in v0.6.0

func IntMin(a, b int) int

func IntToPtr added in v0.5.5

func IntToPtr(i int) *int

IntToPtr returns the pointer to an int

func IsErrEOF added in v1.3.0

func IsErrEOF(err error) bool

IsErrEOF returns true if we get an EOF error from the socket itself, or an EOF equivalent error from yamux.

func IsUUID added in v0.5.5

func IsUUID(str string) bool

IsUUID returns true if the given string is a valid UUID.

func IsValidInterpVariable added in v0.9.0

func IsValidInterpVariable(str string) bool

IsValidInterpVariable returns true if a valid dotted variable names for interpolation. The string must begin with one or more non-dot characters which may be followed by sequences containing a dot followed by a one or more non-dot characters.

func MapStringStringSliceValueSet

func MapStringStringSliceValueSet(m map[string][]string) []string

MapStringStringSliceValueSet returns the set of values in a map[string][]string

func MaxInt added in v1.3.0

func MaxInt(a, b int) int

func MergeMapStringString added in v1.2.13

func MergeMapStringString(m map[string]string, n map[string]string) map[string]string

MergeMapStringString will merge two maps into one. If a duplicate key exists the value in the second map will replace the value in the first map. If both maps are empty or nil this returns an empty map.

func MinInt added in v1.3.0

func MinInt(a, b int) int

func PathEscapesSandbox added in v0.10.7

func PathEscapesSandbox(sandboxDir, path string) bool

PathEscapesSandbox returns whether previously cleaned path inside the sandbox directory (typically this will be the allocation directory) escapes.

func RandomStagger added in v1.3.0

func RandomStagger(intv time.Duration) time.Duration

RandomStagger returns an interval between 0 and the duration

func RateScaledInterval added in v1.3.0

func RateScaledInterval(rate float64, min time.Duration, n int) time.Duration

RateScaledInterval is used to choose an interval to perform an action in order to target an aggregate number of actions per second across the whole cluster.

func RemoveEqualFold added in v0.11.0

func RemoveEqualFold(xs *[]string, search string)

RemoveEqualFold removes the first string that EqualFold matches. It updates xs in place

func SetToSliceString added in v1.3.0

func SetToSliceString(set map[string]struct{}) []string

func SliceSetDisjoint

func SliceSetDisjoint(first, second []string) (bool, []string)

func SliceStringContains added in v0.12.2

func SliceStringContains(list []string, item string) bool

SliceStringContains returns whether item exists at least once in list.

func SliceStringHasPrefix added in v1.0.13

func SliceStringHasPrefix(list []string, prefix string) bool

SliceStringHasPrefix returns true if any string in list starts with prefix

func SliceStringIsSubset

func SliceStringIsSubset(larger, smaller []string) (bool, []string)

SliceStringIsSubset returns whether the smaller set of strings is a subset of the larger. If the smaller slice is not a subset, the offending elements are returned.

func SliceStringToSet

func SliceStringToSet(s []string) map[string]struct{}

func StringHasPrefixInSlice added in v1.0.13

func StringHasPrefixInSlice(s string, prefixes []string) bool

StringHasPrefixInSlice returns true if string starts with any prefix in list

func StringToPtr added in v0.5.5

func StringToPtr(str string) *string

StringToPtr returns the pointer to a string

func TimeToPtr added in v0.5.5

func TimeToPtr(t time.Duration) *time.Duration

TimeToPtr returns the pointer to a time.Duration.

func Uint64Max added in v0.6.1

func Uint64Max(a, b uint64) uint64

func Uint64ToPtr added in v0.5.5

func Uint64ToPtr(u uint64) *uint64

Uint64ToPtr returns the pointer to an uint64

func UintToPtr added in v0.9.0

func UintToPtr(u uint) *uint

UintToPtr returns the pointer to an uint

func UnusedKeys added in v0.11.0

func UnusedKeys(obj interface{}) error

UnusedKeys returns a pretty-printed error if any `hcl:",unusedKeys"` is not empty

Types

type StopFunc added in v1.1.13

type StopFunc func()

StopFunc is used to stop a time.Timer created with NewSafeTimer

func NewSafeTimer added in v1.1.13

func NewSafeTimer(duration time.Duration) (*time.Timer, StopFunc)

NewSafeTimer creates a time.Timer but does not panic if duration is <= 0.

Using a time.Timer is recommended instead of time.After when it is necessary to avoid leaking goroutines (e.g. in a select inside a loop).

Returns the time.Timer and also a StopFunc, forcing the caller to deal with stopping the time.Timer to avoid leaking a goroutine.

Directories

Path Synopsis
Package boltdd contains a wrapper around BBoltDB to deduplicate writes and encode values using mgspack.
Package boltdd contains a wrapper around BBoltDB to deduplicate writes and encode values using mgspack.
constraints
semver
semver is a Semver Constraints package copied from github.com/hashicorp/go-version @ 2046c9d0f0b03c779670f5186a2a4b2c85493a71 Unlike Constraints in go-version, Semver constraints use Semver 2.0 ordering rules and only accept properly formatted Semver versions.
semver is a Semver Constraints package copied from github.com/hashicorp/go-version @ 2046c9d0f0b03c779670f5186a2a4b2c85493a71 Unlike Constraints in go-version, Semver constraints use Semver 2.0 ordering rules and only accept properly formatted Semver versions.
Package envoy provides a high level view of the variables that go into selecting an envoy version.
Package envoy provides a high level view of the variables that go into selecting an envoy version.
Copied from github.com/hashicorp/consul/sdk/freeport and tweaked for use by Nomad.
Copied from github.com/hashicorp/consul/sdk/freeport and tweaked for use by Nomad.
grpc-middleware
Package noxssrw (No XSS ResponseWriter) behaves like the Go standard library's ResponseWriter by detecting the Content-Type of a response if it has not been explicitly set.
Package noxssrw (No XSS ResponseWriter) behaves like the Go standard library's ResponseWriter by detecting the Content-Type of a response if it has not been explicitly set.
pluginutils
catalog
Package catalog is used to register internal plugins such that they can be loaded.
Package catalog is used to register internal plugins such that they can be loaded.
Code generated by go generate; DO NOT EDIT.
Code generated by go generate; DO NOT EDIT.
The archive utilities manage the internal format of a snapshot, which is a tar file with the following contents: meta.json - JSON-encoded snapshot metadata from Raft state.bin - Encoded snapshot data from Raft SHA256SUMS - SHA-256 sums of the above two files The integrity information is automatically created and checked, and a failure there just looks like an error to the caller.
The archive utilities manage the internal format of a snapshot, which is a tar file with the following contents: meta.json - JSON-encoded snapshot metadata from Raft state.bin - Encoded snapshot data from Raft SHA256SUMS - SHA-256 sums of the above two files The integrity information is automatically created and checked, and a failure there just looks like an error to the caller.
Package testlog creates a *log.Logger backed by *testing.T to ease logging in tests.
Package testlog creates a *log.Logger backed by *testing.T to ease logging in tests.
Package testtask implements a portable set of commands useful as stand-ins for user tasks.
Package testtask implements a portable set of commands useful as stand-ins for user tasks.

Jump to

Keyboard shortcuts

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