utils

package
v0.11.9 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddConnectionSchema

func AddConnectionSchema(providedSchema map[string]*schema.Schema)

Returns the common connection schema for all the Elasticsearch resources, which defines the fields which can be used to configure the API access

func CheckError

func CheckError(res *esapi.Response, errMsg string) sdkdiag.Diagnostics

func CheckHttpError added in v0.6.0

func CheckHttpError(res *http.Response, errMsg string) sdkdiag.Diagnostics

func CheckHttpErrorFromFW added in v0.11.0

func CheckHttpErrorFromFW(res *http.Response, errMsg string) fwdiag.Diagnostics

func ConvertSDKDiagnosticsToFramework added in v0.11.7

func ConvertSDKDiagnosticsToFramework(sdkDiags sdkdiag.Diagnostics) fwdiag.Diagnostics

func ConvertSettingsKeyToTFFieldKey added in v0.5.0

func ConvertSettingsKeyToTFFieldKey(settingKey string) string

func ConvertToAttrDiags added in v0.11.7

func ConvertToAttrDiags(diags fwdiag.Diagnostics, path path.Path) fwdiag.Diagnostics

ConvertToAttrDiags wraps an existing collection of diagnostics with an attribute path.

func Deref added in v0.11.8

func Deref[T any](value *T) T

Deref returns the value referenced by the given pointer. If the value is nil, a zero value is returned.

func DiffIndexSettingSuppress added in v0.2.0

func DiffIndexSettingSuppress(k, old, new string, d *schema.ResourceData) bool

func DiffJsonSuppress

func DiffJsonSuppress(k, old, new string, d *schema.ResourceData) bool

func DiffNullMapEntriesSuppress added in v0.6.0

func DiffNullMapEntriesSuppress(key, old, new string, d *schema.ResourceData) bool

func ExpandIndividuallyDefinedSettings added in v0.5.0

func ExpandIndividuallyDefinedSettings(ctx context.Context, d *schema.ResourceData, settingsKeys map[string]schema.ValueType) map[string]interface{}

func ExpandStringSet added in v0.4.0

func ExpandStringSet(set *schema.Set) []string

func FlattenMap

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

Flattens the multilevel map, and concatenates keys together with dot "." # Examples map of form:

map := map[string]interface{}{
        "index": map[string]interface{}{
                "key": 1
        }
}

becomes:

map := map[string]interface{}{
        "index.key": 1
}

func FlipMap added in v0.7.0

func FlipMap[K comparable, V comparable](m map[K]V) map[V]K

func FormatStrictDateTime added in v0.5.0

func FormatStrictDateTime(t time.Time) string

func FrameworkDiagsFromSDK added in v0.11.7

func FrameworkDiagsFromSDK(sdkDiags sdkdiag.Diagnostics) fwdiag.Diagnostics

func FwDiagsAsError added in v0.11.8

func FwDiagsAsError(diags fwdiag.Diagnostics) error

func IsEmpty

func IsEmpty(v interface{}) bool

func IsKnown added in v0.11.4

func IsKnown(value attr.Value) bool

func JSONBytesEqual

func JSONBytesEqual(a, b []byte) (bool, error)

Compares the JSON in two byte slices

func ListTypeAs added in v0.11.8

func ListTypeAs[T any](ctx context.Context, value types.List, p path.Path, diags diag.Diagnostics) []T

ListTypeAs converts a types.List into a tfsdk aware []T.

func ListTypeToMap added in v0.11.8

func ListTypeToMap[T1 any, T2 any](ctx context.Context, value types.List, p path.Path, diags diag.Diagnostics, iteratee func(item T1, meta ListMeta) (key string, elem T2)) map[string]T2

ListTypeToMap converts a types.List first into a tfsdk aware map[string]T1 and transforms the result into a map[string]T2.

func ListTypeToSlice added in v0.11.8

func ListTypeToSlice[T1 any, T2 any](ctx context.Context, value types.List, p path.Path, diags diag.Diagnostics, iteratee func(item T1, meta ListMeta) T2) []T2

ListTypeToSlice converts a types.List first into a tfsdk aware []T1 and transforms the result into a []T2.

func ListTypeToSlice_String added in v0.11.8

func ListTypeToSlice_String(ctx context.Context, value types.List, p path.Path, diags diag.Diagnostics) []string

ListTypeToSlice_String converts a types.List into a []string. This is a shorthand ListTypeToSlice helper for strings.

func MapRef added in v0.11.8

func MapRef[T any](value map[string]T) *map[string]T

MapRef is similar to Pointer, in that it takes the reference of the given value, however if the value is already nil then it returns nil rather than a pointer to nil.

func MapToNormalizedType added in v0.11.8

func MapToNormalizedType[T any](value map[string]T, p path.Path, diags diag.Diagnostics) jsontypes.Normalized

MapToNormalizedType marshals a map into a jsontypes.Normalized.

func MapsEqual

func MapsEqual(m1, m2 interface{}) bool

func MergeSchemaMaps

func MergeSchemaMaps(maps ...map[string]*schema.Schema) map[string]*schema.Schema

func NewDebugTransport added in v0.6.2

func NewDebugTransport(name string, transport http.RoundTripper) *debugRoundTripper

func NormalizeIndexSettings added in v0.2.0

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

func NormalizedTypeToMap added in v0.11.8

func NormalizedTypeToMap[T any](value jsontypes.Normalized, p path.Path, diags diag.Diagnostics) map[string]T

NormalizedTypeToMap unmarshals a jsontypes.Normalized to a map[string]T.

func Pointer added in v0.6.0

func Pointer[T any](value T) *T

func PrettyPrintJSONLines added in v0.6.0

func PrettyPrintJSONLines(b []byte) string

PrettyPrintJSONLines iterates through a []byte line-by-line, transforming any lines that are complete json into pretty-printed json.

func SdkDiagsAsError added in v0.11.7

func SdkDiagsAsError(diags sdkdiag.Diagnostics) error

func SliceRef added in v0.11.8

func SliceRef[T any](value []T) *[]T

SliceRef is similar to Pointer, in that it takes the reference of the given value, however if the value is already nil then it returns nil rather than a pointer to nil.

func SliceToListType added in v0.11.7

func SliceToListType[T1 any, T2 any](ctx context.Context, value []T1, elemType attr.Type, p path.Path, diags diag.Diagnostics, iteratee func(item T1, meta ListMeta) T2) types.List

SliceToListType converts a tfsdk naive []T1 into an types.List of []T2. This handles both structs and simple types to attr.Values.

func SliceToListType_String added in v0.11.8

func SliceToListType_String(ctx context.Context, value []string, p path.Path, diags diag.Diagnostics) types.List

SliceToListType_String converts a tfsdk naive []string into a types.List. This is a shorthand SliceToListType helper for strings.

func StringIsDuration added in v0.6.0

func StringIsDuration(i interface{}, k string) (warnings []string, errors []error)

StringIsDuration is a SchemaValidateFunc which tests to make sure the supplied string is valid duration.

func StringIsElasticDuration added in v0.6.0

func StringIsElasticDuration(i interface{}, k string) (warnings []string, errors []error)

StringIsElasticDuration is a SchemaValidateFunc which tests to make sure the supplied string is valid duration using Elastic time units: d, h, m, s, ms, micros, nanos. (see https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#time-units)

func StringIsHours added in v0.11.7

func StringIsHours(i interface{}, k string) (warnings []string, errors []error)

StringIsHours is a SchemaValidateFunc which tests to make sure the supplied string is in the required format of HH:mm

func StringToHash added in v0.3.0

func StringToHash(s string) (*string, error)

func TestCheckResourceListAttr added in v0.4.0

func TestCheckResourceListAttr(name, key string, values []string) resource.TestCheckFunc

func TransformMapToSlice added in v0.11.8

func TransformMapToSlice[T1 any, T2 any](value map[string]T1, p path.Path, diags diag.Diagnostics, iteratee func(item T1, meta MapMeta) T2) []T2

TransformSliceToMap converts []T1 to map[string]]T2 via the iteratee.

func TransformSlice added in v0.11.7

func TransformSlice[T1 any, T2 any](value []T1, p path.Path, diags diag.Diagnostics, iteratee func(item T1, meta ListMeta) T2) []T2

TransformSlice converts []T1 to []T2 via the iteratee.

func TransformSliceToMap added in v0.11.8

func TransformSliceToMap[T1 any, T2 any](value []T1, p path.Path, diags diag.Diagnostics, iteratee func(item T1, meta ListMeta) (key string, elem T2)) map[string]T2

TransformSliceToMap converts []T1 to map[string]]T2 via the iteratee.

Types

type ListMeta added in v0.11.8

type ListMeta struct {
	Index int
	Path  path.Path
	Diags diag.Diagnostics
}

type MapMeta added in v0.11.8

type MapMeta struct {
	Key   string
	Path  path.Path
	Diags diag.Diagnostics
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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