util

package
v1.0.0-beta5 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2019 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const WIN = "windows"

Variables

This section is empty.

Functions

func CaseInsensitive added in v1.0.0

func CaseInsensitive(parameter string) func(word string) bool

CaseInsensitive returns a function which compares two words caseinsensitively

func CheckOutputFlag added in v1.0.0

func CheckOutputFlag(outputFlag string) bool

CheckOutputFlag returns true if specified output format is supported

func CheckPathExists added in v0.0.17

func CheckPathExists(path string) bool

CheckPathExists checks if a path exists or not

func ConvertKeyValueStringToMap added in v0.0.14

func ConvertKeyValueStringToMap(params []string) map[string]string

ConvertKeyValueStringToMap converts String Slice of Parameters to a Map[String]string Each value of the slice is expected to be in the key=value format Values that do not conform to this "spec", will be ignored

func ConvertLabelsToSelector

func ConvertLabelsToSelector(labels map[string]string) string

ConvertLabelsToSelector converts the given labels to selector

func CreateIfNotExists added in v1.0.0

func CreateIfNotExists(configFile string) error

CreateIfNotExists creates the directory and the file if it doesn't exist

func DeleteConfiguration added in v1.0.0

func DeleteConfiguration(info interface{}, parameter string) error

DeleteConfiguration sets a parameter to null in a struct using reflection

func ExtractComponentType added in v0.0.11

func ExtractComponentType(namespacedVersionedComponentType string) string

ExtractComponentType returns only component type part from passed component type(default unqualified, fully qualified, versioned, etc...and their combinations) for use as component name Possible types of parameters: 1. "myproject/python:3.5" -- Return python 2. "python:3.5" -- Return python 3. nodejs -- Return nodejs

func GenFileURL added in v0.0.17

func GenFileURL(location string, os ...string) string

GenFileURL Converts file path on windows to /C:/path/to/file to work in URL

func GenerateRandomString

func GenerateRandomString(n int) string

GenerateRandomString generates a random string of lower case characters of the given size

func GetAbsGlobExps added in v0.0.20

func GetAbsGlobExps(directory string, globExps []string) []string

GetAbsGlobExps converts the relative glob expressions into absolute glob expressions returns the absolute glob expressions

func GetAbsPath added in v0.0.17

func GetAbsPath(path string) (string, error)

GetAbsPath returns absolute path from passed file path resolving even ~ to user home dir and any other such symbols that are only shell expanded can also be handled here

func GetContainerPortsFromStrings added in v0.0.20

func GetContainerPortsFromStrings(ports []string) ([]corev1.ContainerPort, error)

GetContainerPortsFromStrings generates ContainerPort values from the array of string port values ports is the array containing the string port values

func GetDNS1123Name added in v0.0.15

func GetDNS1123Name(str string) string

GetDNS1123Name Converts passed string into DNS-1123 string

func GetFromFile added in v1.0.0

func GetFromFile(c interface{}, filename string) error

GetFromFile unmarshals a struct from a odo config file

func GetHostWithPort added in v0.0.18

func GetHostWithPort(inputURL string) (string, error)

GetHostWithPort parses provided url and returns string formated as host:port even if port was not specifically specified in the origin url. If port is not specified, standart port corresponding to url schema is provided. example: for url https://example.com function will return "example.com:443"

for url https://example.com:8443 function will return "example:8443"

func GetIgnoreRulesFromDirectory added in v0.0.18

func GetIgnoreRulesFromDirectory(directory string) ([]string, error)

GetIgnoreRulesFromDirectory reads the .odoignore file, if present, and reads the rules from it if the .odoignore file is not found, then .gitignore is searched for the rules if both are not found, return empty array directory is the name of the directory to look into for either of the files rules is the array of rules (in string form)

func GetLowerCaseParameters added in v1.0.0

func GetLowerCaseParameters(parameters []string) map[string]bool

GetLowerCaseParameters creates a set-like map of supported parameters from the supported parameter names

func GetRandomName added in v0.0.15

func GetRandomName(prefix string, prefixMaxLen int, existList []string, retries int) (string, error)

GetRandomName returns a randomly generated name which can be used for naming odo and/or openshift entities prefix: Desired prefix part of the name prefixMaxLen: Desired maximum length of prefix part of random name; if -1 is passed, no limit on length will be enforced existList: List to verify that the returned name does not already exist retries: number of retries to try generating a unique name Returns:

  1. randomname: is prefix-suffix, where: prefix: string passed as prefix or fetched current directory of length same as the passed prefixMaxLen suffix: 4 char random string
  2. error: if requested number of retries also failed to generate unique name

func GetSortedKeys added in v0.0.19

func GetSortedKeys(mapping map[string]string) []string

GetSortedKeys retrieves the alphabetically-sorted keys of the specified map

func GetSplitValuesFromStr added in v0.0.20

func GetSplitValuesFromStr(inputStr string) []string

returns a slice containing the split string, using ',' as a separator

func In added in v1.0.0

func In(arr []string, value string) bool

In checks if the value is in the array

func IsGlobExpMatch added in v0.0.20

func IsGlobExpMatch(strToMatch string, globExps []string) (bool, error)

IsGlobExpMatch compiles strToMatch against each of the passed globExps Parameters: strToMatch : a string for matching against the rules globExps : a list of glob patterns to match strToMatch with Returns: true if there is any match else false the error (if any) Notes: Source as well as glob expression to match is changed to forward slashes due to supporting Windows as well as support with the "github.com/gobwas/glob" library that we use.

func IsSet added in v1.0.0

func IsSet(info interface{}, parameter string) bool

IsSet uses reflection to check if a parameter is set in a struct using the name in a case insensitive manner only supports flat structs TODO: support deeper struct using recursion

func MachineOutput added in v1.0.0

func MachineOutput(outputFlag string, resource interface{}) (string, error)

MachineOutput provides string output and error if any In future if we support any new format, we just need to add case in following switch case

func NamespaceOpenShiftObject added in v0.0.7

func NamespaceOpenShiftObject(componentName string, applicationName string) (string, error)

Hyphenate applicationName and componentName

func OpenBrowser added in v0.0.15

func OpenBrowser(url string) error

OpenBrowser opens the URL within the users default browser

func ParseComponentImageName added in v0.0.19

func ParseComponentImageName(imageName string) (string, string, string, string)

ParseComponentImageName returns 1. image name 2. component type i.e, builder image name 3. component name default value is component type else the user requested component name 4. component version which is by default latest else version passed with builder image name

func ReadFilePath added in v0.0.11

func ReadFilePath(u *url.URL, os string) string

ReadFilePath Reads file path form URL file:///C:/path/to/file to C:\path\to\file

func RemoveDuplicates added in v1.0.0

func RemoveDuplicates(s []string) []string

RemoveDuplicates goes through a string slice and removes all duplicates. Reference: https://siongui.github.io/2018/04/14/go-remove-duplicates-from-slice-or-array/

func RemoveRelativePathFromFiles added in v1.0.0

func RemoveRelativePathFromFiles(files []string, path string) ([]string, error)

RemoveRelativePathFromFiles removes a specified path from a list of files

func RunIndexer added in v1.0.0

func RunIndexer(directory string, ignoreRules []string) (filesChanged []string, filesDeleted []string, err error)

RunIndexer walks the given directory and finds the files which have changed and which were deleted/renamed it reads the odo index file from the .odo folder if no such file is present, it means it's the first time the folder is being walked and thus returns a empty list after the walk, it stores the list of walked files with some information in a odo index file in the .odo folder The filemap stores the values as "relative filepath" => FileData but it the filesChanged and filesDeleted are absolute paths to the files

func SliceDifference added in v0.0.15

func SliceDifference(s1 []string, s2 []string) []string

SliceDifference returns the values of s2 that do not exist in s1

func TruncateString added in v0.0.15

func TruncateString(str string, maxLen int) string

TruncateString truncates passed string to given length Note: if -1 is passed, the original string is returned

func WriteToFile added in v1.0.0

func WriteToFile(c interface{}, filename string) error

WriteToFile marshals a struct to a file

Types

type FileData added in v1.0.0

type FileData struct {
	Size             int64
	LastModifiedDate time.Time
}

type FileIndex added in v1.0.0

type FileIndex struct {
	metav1.TypeMeta
	Files map[string]FileData
}

FileIndex holds the file index used for storing local file state change

func NewFileIndex added in v1.0.0

func NewFileIndex() *FileIndex

NewFileIndex returns a fileIndex

type ResourceRequirementInfo added in v0.0.17

type ResourceRequirementInfo struct {
	ResourceType corev1.ResourceName
	MinQty       resource.Quantity
	MaxQty       resource.Quantity
}

ResourceRequirementInfo holds resource quantity before transformation into its appropriate form in container spec

func FetchResourceQuantity added in v0.0.17

func FetchResourceQuantity(resourceType corev1.ResourceName, min string, max string, request string) (*ResourceRequirementInfo, error)

FetchResourceQuantity takes passed min, max and requested resource quantities and returns min and max resource requests

Jump to

Keyboard shortcuts

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