utils

package
v1.49.0 Latest Latest
Warning

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

Go to latest
Published: Jan 6, 2021 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Overview

Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with the License. A copy of the License is located at

http://aws.amazon.com/apache2.0/

or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with the License. A copy of the License is located at

http://aws.amazon.com/apache2.0/

or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

View Source
var (
	OpenFile = os.Open
)

Functions

func CompleteJsonUnmarshal

func CompleteJsonUnmarshal(b []byte, iface interface{}) error

CompleteJsonUnmarshal determines if a given struct has members corresponding to every key of a json object (passed as the json string). By default, Go ignores fields in an object which have no corresponding struct member and this can be used to determine if this ignoring has occurred Errors will result in "false" as a return value

func DefaultIfBlank

func DefaultIfBlank(str string, default_value string) string

func ExtractVersion added in v1.14.0

func ExtractVersion(input string) string

ExtractVersion extracts a matching version from the version number string

func GetCPUFlags added in v1.30.0

func GetCPUFlags(cpuInfo *CPUInfo) map[string]bool

GetCPUFlags merges all processors' flags and return as a map. Returning map makes it easy to check whether a flag exists or not.

func GetCanonicalPath added in v1.47.0

func GetCanonicalPath(path string) string

func GetENIAttachmentId added in v1.44.0

func GetENIAttachmentId(eniAttachmentArn string) (string, error)

GetENIAttachmentId retrieves the attachment ID from eni attachment ARN.

func GetTaskID added in v1.44.0

func GetTaskID(taskARN string) (string, error)

GetTaskID retrieves the task ID from task ARN.

func IsAWSErrorCodeEqual added in v1.18.0

func IsAWSErrorCodeEqual(err error, code string) bool

IsAWSErrorCodeEqual returns true if the err implements Error interface of awserr and it has the same error code as the passed in error code.

func JsonKeys

func JsonKeys(b []byte) ([]string, error)

JsonKeys takes an arbitrary byte array representing a json stringified object and returns all the keys of that object.

func MapToTags added in v1.22.0

func MapToTags(tagsMap map[string]string) []*ecs.Tag

MapToTags converts a map to a slice of tags.

func NewJitteredTicker added in v1.18.0

func NewJitteredTicker(ctx context.Context, start, end time.Duration) <-chan time.Time

NewJitteredTicker works like a time.Ticker except with randomly distributed ticks between start and end duration.

func ParseBool

func ParseBool(str string, default_ bool) bool

func ParseRepositoryTag added in v1.24.0

func ParseRepositoryTag(repoTag string) (repository string, tag string)

ParseRepositoryTag mimics the go-dockerclient's ParseReposirotyData. The only difference is that it doesn't ignore the sha when present.

func RandHex

func RandHex() string

func SearchStrInDir added in v1.32.1

func SearchStrInDir(dir, filePrefix, content string) error

SearchStrInDir searches the files in directory for specific content

func SignHTTPRequest added in v1.3.1

func SignHTTPRequest(req *http.Request, region, service string, creds *credentials.Credentials, body io.ReadSeeker) error

SignHTTPRequest signs an http.Request struct with authv4 using the given region, service, and credentials.

func SlicesDeepEqual

func SlicesDeepEqual(slice1, slice2 interface{}) bool

SlicesDeepEqual checks if slice1 and slice2 are equal, disregarding order.

func StrSliceContains added in v1.34.0

func StrSliceContains(strs []string, s string) bool

func StrSliceEqual

func StrSliceEqual(s1, s2 []string) bool

func Strptr

func Strptr(s string) *string

func Uint16SliceToStringSlice

func Uint16SliceToStringSlice(slice []uint16) []*string

Uint16SliceToStringSlice converts a slice of type uint16 to a slice of type *string. It uses strconv.Itoa on each element

func ZeroOrNil

func ZeroOrNil(obj interface{}) bool

Types

type CPUInfo added in v1.30.0

type CPUInfo struct {
	Processors []Processor `json:"processors"`
}

func ReadCPUInfo added in v1.30.0

func ReadCPUInfo(path string) (*CPUInfo, error)

type ChanSemaphore

type ChanSemaphore struct {
	Count int // Public for introspection; should not be written to
	// contains filtered or unexported fields
}

Implements semaphore

func (*ChanSemaphore) Post

func (s *ChanSemaphore) Post()

func (*ChanSemaphore) Wait

func (s *ChanSemaphore) Wait()

type LicenseProvider added in v1.5.0

type LicenseProvider interface {
	GetText() (string, error)
}

func NewLicenseProvider added in v1.5.0

func NewLicenseProvider() LicenseProvider

type Processor added in v1.30.0

type Processor struct {
	Flags []string `json:"flags"`
}

type Semaphore

type Semaphore interface {
	Post()
	Wait()
}

func NewSemaphore

func NewSemaphore(count int) Semaphore

type UUIDProvider added in v1.21.0

type UUIDProvider interface {
	New() string
}

UUIDProvider wraps 'uuid' methods for testing

func NewDynamicUUIDProvider added in v1.21.0

func NewDynamicUUIDProvider() UUIDProvider

NewDynamicUUIDProvider returns a new dynamicUUIDProvider

func NewStaticUUIDProvider added in v1.21.0

func NewStaticUUIDProvider(staticID string) UUIDProvider

NewStaticUUIDProvider returns a new staticUUIDProvider

type Version added in v1.14.0

type Version string

func (Version) Matches added in v1.14.0

func (lhs Version) Matches(selector string) (bool, error)

Matches returns whether or not a version matches a given selector. The selector can be any of the following:

* x.y.z -- Matches a version exactly the same as the selector version * >=x.y.z -- Matches a version greater than or equal to the selector version * >x.y.z -- Matches a version greater than the selector version * <=x.y.z -- Matches a version less than or equal to the selector version * <x.y.z -- Matches a version less than the selector version * x.y.z,a.b.c -- Matches if the version matches either of the two selector versions

Directories

Path Synopsis
mocks
Package mock_bufiowrapper is a generated GoMock package.
Package mock_bufiowrapper is a generated GoMock package.
Package cipher provides customized cipher configuration for agent client
Package cipher provides customized cipher configuration for agent client
mocks
Package mock_ioutilwrapper is a generated GoMock package.
Package mock_ioutilwrapper is a generated GoMock package.
mocks
Package mock_mobypkgwrapper is a generated GoMock package.
Package mock_mobypkgwrapper is a generated GoMock package.
Package mock_utils is a generated GoMock package.
Package mock_utils is a generated GoMock package.
mocks
Package mock_nswrapper is a generated GoMock package.
Package mock_nswrapper is a generated GoMock package.
mock
Package mock_retry is a generated GoMock package.
Package mock_retry is a generated GoMock package.
Package sync is an analogue to the stdlib sync package.
Package sync is an analogue to the stdlib sync package.
Package ttime implements a testable alternative to the Go "time" package.
Package ttime implements a testable alternative to the Go "time" package.
mocks
Package mock_ttime is a generated GoMock package.
Package mock_ttime is a generated GoMock package.

Jump to

Keyboard shortcuts

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