Documentation ¶
Overview ¶
Package basetypes contains the implementations for framework-defined data types and values, such as boolean, floating point, integer, list, map, object, set, and string. Embed these implementations to create custom types.
Index ¶
- type BoolTypable
- type BoolType
- func (t BoolType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (t BoolType) Equal(o attr.Type) bool
- func (t BoolType) String() string
- func (t BoolType) TerraformType(_ context.Context) tftypes.Type
- func (t BoolType) ValueFromBool(_ context.Context, v BoolValue) (BoolValuable, diag.Diagnostics)
- func (t BoolType) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (t BoolType) ValueType(_ context.Context) attr.Value
- type BoolValuable
- type BoolValuableWithSemanticEquals
- type BoolValue
- func (b BoolValue) Equal(other attr.Value) bool
- func (b BoolValue) IsNull() bool
- func (b BoolValue) IsUnknown() bool
- func (b BoolValue) String() string
- func (b BoolValue) ToBoolValue(context.Context) (BoolValue, diag.Diagnostics)
- func (b BoolValue) ToTerraformValue(_ context.Context) (tftypes.Value, error)
- func (b BoolValue) Type(_ context.Context) attr.Type
- func (b BoolValue) ValueBool() bool
- func (b BoolValue) ValueBoolPointer() *bool
- type DynamicTypable
- type DynamicType
- func (t DynamicType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (t DynamicType) Equal(o attr.Type) bool
- func (t DynamicType) String() string
- func (t DynamicType) TerraformType(ctx context.Context) tftypes.Type
- func (t DynamicType) ValueFromDynamic(ctx context.Context, v DynamicValue) (DynamicValuable, diag.Diagnostics)
- func (t DynamicType) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (t DynamicType) ValueType(_ context.Context) attr.Value
- type DynamicValuable
- type DynamicValuableWithSemanticEquals
- type DynamicValue
- func (v DynamicValue) Equal(o attr.Value) bool
- func (v DynamicValue) IsNull() bool
- func (v DynamicValue) IsUnderlyingValueNull() bool
- func (v DynamicValue) IsUnderlyingValueUnknown() bool
- func (v DynamicValue) IsUnknown() bool
- func (v DynamicValue) String() string
- func (v DynamicValue) ToDynamicValue(ctx context.Context) (DynamicValue, diag.Diagnostics)
- func (v DynamicValue) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (v DynamicValue) Type(ctx context.Context) attr.Type
- func (v DynamicValue) UnderlyingValue() attr.Value
- type Float32Typable
- type Float32Type
- func (t Float32Type) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (t Float32Type) Equal(o attr.Type) bool
- func (t Float32Type) String() string
- func (t Float32Type) TerraformType(_ context.Context) tftypes.Type
- func (t Float32Type) ValueFromFloat32(_ context.Context, v Float32Value) (Float32Valuable, diag.Diagnostics)
- func (t Float32Type) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (t Float32Type) ValueType(_ context.Context) attr.Value
- type Float32Valuable
- type Float32ValuableWithSemanticEquals
- type Float32Value
- func (f Float32Value) Equal(other attr.Value) bool
- func (f Float32Value) Float32SemanticEquals(ctx context.Context, newValuable Float32Valuable) (bool, diag.Diagnostics)
- func (f Float32Value) IsNull() bool
- func (f Float32Value) IsUnknown() bool
- func (f Float32Value) String() string
- func (f Float32Value) ToFloat32Value(context.Context) (Float32Value, diag.Diagnostics)
- func (f Float32Value) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (f Float32Value) Type(ctx context.Context) attr.Type
- func (f Float32Value) ValueFloat32() float32
- func (f Float32Value) ValueFloat32Pointer() *float32
- type Float64Typable
- type Float64Type
- func (t Float64Type) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (t Float64Type) Equal(o attr.Type) bool
- func (t Float64Type) String() string
- func (t Float64Type) TerraformType(_ context.Context) tftypes.Type
- func (t Float64Type) Validate(ctx context.Context, in tftypes.Value, path path.Path) diag.Diagnostics
- func (t Float64Type) ValueFromFloat64(_ context.Context, v Float64Value) (Float64Valuable, diag.Diagnostics)
- func (t Float64Type) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (t Float64Type) ValueType(_ context.Context) attr.Value
- type Float64Valuable
- type Float64ValuableWithSemanticEquals
- type Float64Value
- func (f Float64Value) Equal(other attr.Value) bool
- func (f Float64Value) Float64SemanticEquals(ctx context.Context, newValuable Float64Valuable) (bool, diag.Diagnostics)
- func (f Float64Value) IsNull() bool
- func (f Float64Value) IsUnknown() bool
- func (f Float64Value) String() string
- func (f Float64Value) ToFloat64Value(context.Context) (Float64Value, diag.Diagnostics)
- func (f Float64Value) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (f Float64Value) Type(ctx context.Context) attr.Type
- func (f Float64Value) ValueFloat64() float64
- func (f Float64Value) ValueFloat64Pointer() *float64
- type Int32Typable
- type Int32Type
- func (t Int32Type) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (t Int32Type) Equal(o attr.Type) bool
- func (t Int32Type) String() string
- func (t Int32Type) TerraformType(_ context.Context) tftypes.Type
- func (t Int32Type) ValueFromInt32(_ context.Context, v Int32Value) (Int32Valuable, diag.Diagnostics)
- func (t Int32Type) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (t Int32Type) ValueType(_ context.Context) attr.Value
- type Int32Valuable
- type Int32ValuableWithSemanticEquals
- type Int32Value
- func (i Int32Value) Equal(other attr.Value) bool
- func (i Int32Value) IsNull() bool
- func (i Int32Value) IsUnknown() bool
- func (i Int32Value) String() string
- func (i Int32Value) ToInt32Value(context.Context) (Int32Value, diag.Diagnostics)
- func (i Int32Value) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (i Int32Value) Type(ctx context.Context) attr.Type
- func (i Int32Value) ValueInt32() int32
- func (i Int32Value) ValueInt32Pointer() *int32
- type Int64Typable
- type Int64Type
- func (t Int64Type) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (t Int64Type) Equal(o attr.Type) bool
- func (t Int64Type) String() string
- func (t Int64Type) TerraformType(_ context.Context) tftypes.Type
- func (t Int64Type) Validate(ctx context.Context, in tftypes.Value, path path.Path) diag.Diagnostics
- func (t Int64Type) ValueFromInt64(_ context.Context, v Int64Value) (Int64Valuable, diag.Diagnostics)
- func (t Int64Type) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (t Int64Type) ValueType(_ context.Context) attr.Value
- type Int64Valuable
- type Int64ValuableWithSemanticEquals
- type Int64Value
- func (i Int64Value) Equal(other attr.Value) bool
- func (i Int64Value) IsNull() bool
- func (i Int64Value) IsUnknown() bool
- func (i Int64Value) String() string
- func (i Int64Value) ToInt64Value(context.Context) (Int64Value, diag.Diagnostics)
- func (i Int64Value) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (i Int64Value) Type(ctx context.Context) attr.Type
- func (i Int64Value) ValueInt64() int64
- func (i Int64Value) ValueInt64Pointer() *int64
- type ListTypable
- type ListType
- func (l ListType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (l ListType) ElementType() attr.Type
- func (l ListType) Equal(o attr.Type) bool
- func (l ListType) String() string
- func (l ListType) TerraformType(ctx context.Context) tftypes.Type
- func (l ListType) Validate(ctx context.Context, in tftypes.Value, path path.Path) diag.Diagnostics
- func (l ListType) ValueFromList(_ context.Context, list ListValue) (ListValuable, diag.Diagnostics)
- func (l ListType) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (l ListType) ValueType(_ context.Context) attr.Value
- func (l ListType) WithElementType(typ attr.Type) attr.TypeWithElementType
- type ListValuable
- type ListValuableWithSemanticEquals
- type ListValue
- func NewListNull(elementType attr.Type) ListValue
- func NewListUnknown(elementType attr.Type) ListValue
- func NewListValue(elementType attr.Type, elements []attr.Value) (ListValue, diag.Diagnostics)
- func NewListValueFrom(ctx context.Context, elementType attr.Type, elements any) (ListValue, diag.Diagnostics)
- func NewListValueMust(elementType attr.Type, elements []attr.Value) ListValue
- func (l ListValue) ElementType(_ context.Context) attr.Type
- func (l ListValue) Elements() []attr.Value
- func (l ListValue) ElementsAs(ctx context.Context, target interface{}, allowUnhandled bool) diag.Diagnostics
- func (l ListValue) Equal(o attr.Value) bool
- func (l ListValue) IsNull() bool
- func (l ListValue) IsUnknown() bool
- func (l ListValue) String() string
- func (l ListValue) ToListValue(context.Context) (ListValue, diag.Diagnostics)
- func (l ListValue) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (l ListValue) Type(ctx context.Context) attr.Type
- type MapTypable
- type MapType
- func (m MapType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (m MapType) ElementType() attr.Type
- func (m MapType) Equal(o attr.Type) bool
- func (m MapType) String() string
- func (m MapType) TerraformType(ctx context.Context) tftypes.Type
- func (m MapType) Validate(ctx context.Context, in tftypes.Value, path path.Path) diag.Diagnostics
- func (m MapType) ValueFromMap(_ context.Context, ma MapValue) (MapValuable, diag.Diagnostics)
- func (m MapType) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (m MapType) ValueType(_ context.Context) attr.Value
- func (m MapType) WithElementType(typ attr.Type) attr.TypeWithElementType
- type MapValuable
- type MapValuableWithSemanticEquals
- type MapValue
- func NewMapNull(elementType attr.Type) MapValue
- func NewMapUnknown(elementType attr.Type) MapValue
- func NewMapValue(elementType attr.Type, elements map[string]attr.Value) (MapValue, diag.Diagnostics)
- func NewMapValueFrom(ctx context.Context, elementType attr.Type, elements any) (MapValue, diag.Diagnostics)
- func NewMapValueMust(elementType attr.Type, elements map[string]attr.Value) MapValue
- func (m MapValue) ElementType(_ context.Context) attr.Type
- func (m MapValue) Elements() map[string]attr.Value
- func (m MapValue) ElementsAs(ctx context.Context, target interface{}, allowUnhandled bool) diag.Diagnostics
- func (m MapValue) Equal(o attr.Value) bool
- func (m MapValue) IsNull() bool
- func (m MapValue) IsUnknown() bool
- func (m MapValue) String() string
- func (m MapValue) ToMapValue(context.Context) (MapValue, diag.Diagnostics)
- func (m MapValue) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (m MapValue) Type(ctx context.Context) attr.Type
- type NumberTypable
- type NumberType
- func (t NumberType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (t NumberType) Equal(o attr.Type) bool
- func (t NumberType) String() string
- func (t NumberType) TerraformType(_ context.Context) tftypes.Type
- func (t NumberType) ValueFromNumber(_ context.Context, v NumberValue) (NumberValuable, diag.Diagnostics)
- func (t NumberType) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (t NumberType) ValueType(_ context.Context) attr.Value
- type NumberValuable
- type NumberValuableWithSemanticEquals
- type NumberValue
- func (n NumberValue) Equal(other attr.Value) bool
- func (n NumberValue) IsNull() bool
- func (n NumberValue) IsUnknown() bool
- func (n NumberValue) String() string
- func (n NumberValue) ToNumberValue(context.Context) (NumberValue, diag.Diagnostics)
- func (n NumberValue) ToTerraformValue(_ context.Context) (tftypes.Value, error)
- func (n NumberValue) Type(_ context.Context) attr.Type
- func (n NumberValue) ValueBigFloat() *big.Float
- type ObjectAsOptions
- type ObjectTypable
- type ObjectType
- func (o ObjectType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (o ObjectType) AttributeTypes() map[string]attr.Type
- func (o ObjectType) Equal(candidate attr.Type) bool
- func (o ObjectType) String() string
- func (o ObjectType) TerraformType(ctx context.Context) tftypes.Type
- func (o ObjectType) ValueFromObject(_ context.Context, obj ObjectValue) (ObjectValuable, diag.Diagnostics)
- func (o ObjectType) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (o ObjectType) ValueType(_ context.Context) attr.Value
- func (o ObjectType) WithAttributeTypes(typs map[string]attr.Type) attr.TypeWithAttributeTypes
- type ObjectValuable
- type ObjectValuableWithSemanticEquals
- type ObjectValue
- func NewObjectNull(attributeTypes map[string]attr.Type) ObjectValue
- func NewObjectUnknown(attributeTypes map[string]attr.Type) ObjectValue
- func NewObjectValue(attributeTypes map[string]attr.Type, attributes map[string]attr.Value) (ObjectValue, diag.Diagnostics)
- func NewObjectValueFrom(ctx context.Context, attributeTypes map[string]attr.Type, attributes any) (ObjectValue, diag.Diagnostics)
- func NewObjectValueMust(attributeTypes map[string]attr.Type, attributes map[string]attr.Value) ObjectValue
- func (o ObjectValue) As(ctx context.Context, target interface{}, opts ObjectAsOptions) diag.Diagnostics
- func (o ObjectValue) AttributeTypes(_ context.Context) map[string]attr.Type
- func (o ObjectValue) Attributes() map[string]attr.Value
- func (o ObjectValue) Equal(c attr.Value) bool
- func (o ObjectValue) IsNull() bool
- func (o ObjectValue) IsUnknown() bool
- func (o ObjectValue) String() string
- func (o ObjectValue) ToObjectValue(context.Context) (ObjectValue, diag.Diagnostics)
- func (o ObjectValue) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (o ObjectValue) Type(ctx context.Context) attr.Type
- type SetTypable
- type SetType
- func (st SetType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (st SetType) ElementType() attr.Type
- func (st SetType) Equal(o attr.Type) bool
- func (st SetType) String() string
- func (st SetType) TerraformType(ctx context.Context) tftypes.Type
- func (st SetType) Validate(ctx context.Context, in tftypes.Value, path path.Path) diag.Diagnostics
- func (st SetType) ValueFromSet(_ context.Context, set SetValue) (SetValuable, diag.Diagnostics)
- func (st SetType) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (st SetType) ValueType(_ context.Context) attr.Value
- func (st SetType) WithElementType(typ attr.Type) attr.TypeWithElementType
- type SetValuable
- type SetValuableWithSemanticEquals
- type SetValue
- func NewSetNull(elementType attr.Type) SetValue
- func NewSetUnknown(elementType attr.Type) SetValue
- func NewSetValue(elementType attr.Type, elements []attr.Value) (SetValue, diag.Diagnostics)
- func NewSetValueFrom(ctx context.Context, elementType attr.Type, elements any) (SetValue, diag.Diagnostics)
- func NewSetValueMust(elementType attr.Type, elements []attr.Value) SetValue
- func (s SetValue) ElementType(_ context.Context) attr.Type
- func (s SetValue) Elements() []attr.Value
- func (s SetValue) ElementsAs(ctx context.Context, target interface{}, allowUnhandled bool) diag.Diagnostics
- func (s SetValue) Equal(o attr.Value) bool
- func (s SetValue) IsNull() bool
- func (s SetValue) IsUnknown() bool
- func (s SetValue) String() string
- func (s SetValue) ToSetValue(context.Context) (SetValue, diag.Diagnostics)
- func (s SetValue) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (s SetValue) Type(ctx context.Context) attr.Type
- type StringTypable
- type StringType
- func (t StringType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (t StringType) Equal(o attr.Type) bool
- func (t StringType) String() string
- func (t StringType) TerraformType(_ context.Context) tftypes.Type
- func (t StringType) ValueFromString(_ context.Context, v StringValue) (StringValuable, diag.Diagnostics)
- func (t StringType) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (t StringType) ValueType(_ context.Context) attr.Value
- type StringValuable
- type StringValuableWithSemanticEquals
- type StringValue
- func (s StringValue) Equal(other attr.Value) bool
- func (s StringValue) IsNull() bool
- func (s StringValue) IsUnknown() bool
- func (s StringValue) String() string
- func (s StringValue) ToStringValue(context.Context) (StringValue, diag.Diagnostics)
- func (s StringValue) ToTerraformValue(_ context.Context) (tftypes.Value, error)
- func (s StringValue) Type(_ context.Context) attr.Type
- func (s StringValue) ValueString() string
- func (s StringValue) ValueStringPointer() *string
- type TupleType
- func (t TupleType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
- func (t TupleType) ElementTypes() []attr.Type
- func (t TupleType) Equal(o attr.Type) bool
- func (t TupleType) String() string
- func (t TupleType) TerraformType(ctx context.Context) tftypes.Type
- func (t TupleType) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error)
- func (t TupleType) ValueType(_ context.Context) attr.Value
- func (t TupleType) WithElementTypes(types []attr.Type) attr.TypeWithElementTypes
- type TupleValue
- func (v TupleValue) ElementTypes(ctx context.Context) []attr.Type
- func (v TupleValue) Elements() []attr.Value
- func (v TupleValue) Equal(o attr.Value) bool
- func (v TupleValue) IsNull() bool
- func (v TupleValue) IsUnknown() bool
- func (v TupleValue) String() string
- func (v TupleValue) ToTerraformValue(ctx context.Context) (tftypes.Value, error)
- func (v TupleValue) Type(ctx context.Context) attr.Type
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BoolTypable ¶
type BoolTypable interface { attr.Type // ValueFromBool should convert the Bool to a BoolValuable type. ValueFromBool(context.Context, BoolValue) (BoolValuable, diag.Diagnostics) }
BoolTypable extends attr.Type for bool types. Implement this interface to create a custom BoolType type.
type BoolType ¶
type BoolType struct{}
BoolType is the base framework type for a boolean. BoolValue is the associated value type.
func (BoolType) ApplyTerraform5AttributePathStep ¶
func (t BoolType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the type.
func (BoolType) TerraformType ¶
TerraformType returns the tftypes.Type that should be used to represent this framework type.
func (BoolType) ValueFromBool ¶
func (t BoolType) ValueFromBool(_ context.Context, v BoolValue) (BoolValuable, diag.Diagnostics)
ValueFromBool returns a BoolValuable type given a BoolValue.
func (BoolType) ValueFromTerraform ¶
ValueFromTerraform returns a Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
type BoolValuable ¶
type BoolValuable interface { attr.Value // ToBoolValue should convert the value type to a Bool. ToBoolValue(ctx context.Context) (BoolValue, diag.Diagnostics) }
BoolValuable extends attr.Value for boolean value types. Implement this interface to create a custom Bool value type.
type BoolValuableWithSemanticEquals ¶ added in v1.3.0
type BoolValuableWithSemanticEquals interface { BoolValuable // BoolSemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. BoolSemanticEquals(context.Context, BoolValuable) (bool, diag.Diagnostics) }
BoolValuableWithSemanticEquals extends BoolValuable with semantic equality logic.
type BoolValue ¶
type BoolValue struct {
// contains filtered or unexported fields
}
BoolValue represents a boolean value.
func NewBoolNull ¶
func NewBoolNull() BoolValue
NewBoolNull creates a Bool with a null value. Determine whether the value is null via the Bool type IsNull method.
func NewBoolPointerValue ¶ added in v1.2.0
NewBoolPointerValue creates a Bool with a null value if nil or a known value. Access the value via the Bool type ValueBoolPointer method.
func NewBoolUnknown ¶
func NewBoolUnknown() BoolValue
NewBoolUnknown creates a Bool with an unknown value. Determine whether the value is unknown via the Bool type IsUnknown method.
func NewBoolValue ¶
NewBoolValue creates a Bool with a known value. Access the value via the Bool type ValueBool method.
func (BoolValue) IsUnknown ¶
IsUnknown returns true if the Bool represents a currently unknown value.
func (BoolValue) String ¶
String returns a human-readable representation of the Bool value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (BoolValue) ToBoolValue ¶
ToBoolValue returns Bool.
func (BoolValue) ToTerraformValue ¶
ToTerraformValue returns the data contained in the Bool as a tftypes.Value.
func (BoolValue) ValueBool ¶
ValueBool returns the known bool value. If Bool is null or unknown, returns false.
func (BoolValue) ValueBoolPointer ¶ added in v1.2.0
ValueBoolPointer returns a pointer to the known bool value, nil for a null value, or a pointer to false for an unknown value.
type DynamicTypable ¶ added in v1.7.0
type DynamicTypable interface { attr.Type // ValueFromDynamic should convert the DynamicValue to a DynamicValuable type. ValueFromDynamic(context.Context, DynamicValue) (DynamicValuable, diag.Diagnostics) }
DynamicTypable extends attr.Type for dynamic types. Implement this interface to create a custom DynamicType type.
type DynamicType ¶ added in v1.7.0
type DynamicType struct{}
DynamicType is the base framework type for a dynamic. Static types are always preferable over dynamic types in Terraform as practitioners will receive less helpful configuration assistance from validation error diagnostics and editor integrations.
DynamicValue is the associated value type and, when known, contains a concrete value of another framework type. (StringValue, ListValue, ObjectValue, MapValue, etc.)
func (DynamicType) ApplyTerraform5AttributePathStep ¶ added in v1.7.0
func (t DynamicType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the type.
func (DynamicType) Equal ¶ added in v1.7.0
func (t DynamicType) Equal(o attr.Type) bool
Equal returns true if the given type is equivalent.
Dynamic types do not contain a reference to the underlying `attr.Value` type, so this equality check only asserts that both types are DynamicType.
func (DynamicType) String ¶ added in v1.7.0
func (t DynamicType) String() string
String returns a human-friendly description of the DynamicType.
func (DynamicType) TerraformType ¶ added in v1.7.0
func (t DynamicType) TerraformType(ctx context.Context) tftypes.Type
TerraformType returns the tftypes.Type that should be used to represent this type.
func (DynamicType) ValueFromDynamic ¶ added in v1.7.0
func (t DynamicType) ValueFromDynamic(ctx context.Context, v DynamicValue) (DynamicValuable, diag.Diagnostics)
ValueFromDynamic returns a DynamicValuable type given a DynamicValue.
func (DynamicType) ValueFromTerraform ¶ added in v1.7.0
ValueFromTerraform returns an attr.Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
type DynamicValuable ¶ added in v1.7.0
type DynamicValuable interface { attr.Value // ToDynamicValue should convert the value type to a DynamicValue. ToDynamicValue(context.Context) (DynamicValue, diag.Diagnostics) }
DynamicValuable extends attr.Value for dynamic value types. Implement this interface to create a custom Dynamic value type.
type DynamicValuableWithSemanticEquals ¶ added in v1.7.0
type DynamicValuableWithSemanticEquals interface { DynamicValuable // DynamicSemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. DynamicSemanticEquals(context.Context, DynamicValuable) (bool, diag.Diagnostics) }
DynamicValuableWithSemanticEquals extends DynamicValuable with semantic equality logic.
type DynamicValue ¶ added in v1.7.0
type DynamicValue struct {
// contains filtered or unexported fields
}
DynamicValue represents a dynamic value. Static types are always preferable over dynamic types in Terraform as practitioners will receive less helpful configuration assistance from validation error diagnostics and editor integrations.
func NewDynamicNull ¶ added in v1.7.0
func NewDynamicNull() DynamicValue
NewDynamicNull creates a Dynamic with a null value. The concrete value type returned to Terraform from this value will be tftypes.DynamicPseudoType.
func NewDynamicUnknown ¶ added in v1.7.0
func NewDynamicUnknown() DynamicValue
NewDynamicUnknown creates a Dynamic with an unknown value. The concrete value type returned to Terraform from this value will be tftypes.DynamicPseudoType.
func NewDynamicValue ¶ added in v1.7.0
func NewDynamicValue(value attr.Value) DynamicValue
NewDynamicValue creates a Dynamic with a known value. Access the value via the Dynamic type UnderlyingValue method. The concrete value type returned to Terraform from this value will be determined by the provided `(attr.Value).ToTerraformValue` function.
func (DynamicValue) Equal ¶ added in v1.7.0
func (v DynamicValue) Equal(o attr.Value) bool
Equal returns true if the given attr.Value is also a DynamicValue and contains an equal underlying value as defined by its Equal method.
func (DynamicValue) IsNull ¶ added in v1.7.0
func (v DynamicValue) IsNull() bool
IsNull returns true if the DynamicValue represents a null value.
func (DynamicValue) IsUnderlyingValueNull ¶ added in v1.7.0
func (v DynamicValue) IsUnderlyingValueNull() bool
IsUnderlyingValueNull is a helper method that return true only in the case where the underlying value has a known type but the value is null. This method will return false if the underlying type is not known.
IsNull should be used to determine if the dynamic value does not have a known type and the value is null.
An example of a known type with a null underlying value would be:
types.DynamicValue(types.StringNull())
func (DynamicValue) IsUnderlyingValueUnknown ¶ added in v1.7.0
func (v DynamicValue) IsUnderlyingValueUnknown() bool
IsUnderlyingValueUnknown is a helper method that return true only in the case where the underlying value has a known type but the value is unknown. This method will return false if the underlying type is not known.
IsUnknown should be used to determine if the dynamic value does not have a known type and the value is unknown.
An example of a known type with an unknown underlying value would be:
types.DynamicValue(types.StringUnknown())
func (DynamicValue) IsUnknown ¶ added in v1.7.0
func (v DynamicValue) IsUnknown() bool
IsUnknown returns true if the DynamicValue represents an unknown value.
func (DynamicValue) String ¶ added in v1.7.0
func (v DynamicValue) String() string
String returns a human-readable representation of the DynamicValue. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (DynamicValue) ToDynamicValue ¶ added in v1.7.0
func (v DynamicValue) ToDynamicValue(ctx context.Context) (DynamicValue, diag.Diagnostics)
ToDynamicValue returns DynamicValue.
func (DynamicValue) ToTerraformValue ¶ added in v1.7.0
ToTerraformValue returns the equivalent tftypes.Value for the DynamicValue.
func (DynamicValue) Type ¶ added in v1.7.0
func (v DynamicValue) Type(ctx context.Context) attr.Type
Type returns DynamicType.
func (DynamicValue) UnderlyingValue ¶ added in v1.7.0
func (v DynamicValue) UnderlyingValue() attr.Value
UnderlyingValue returns the concrete underlying value in the DynamicValue. This will return `nil` if DynamicValue is null or unknown.
A known DynamicValue can have an underlying value that is in null or unknown state in the scenario that the underlying value type has been refined by Terraform.
type Float32Typable ¶ added in v1.10.0
type Float32Typable interface { attr.Type // ValueFromFloat32 should convert the Float32 to a Float32Valuable type. ValueFromFloat32(context.Context, Float32Value) (Float32Valuable, diag.Diagnostics) }
Float32Typable extends attr.Type for float32 types. Implement this interface to create a custom Float32Type type.
type Float32Type ¶ added in v1.10.0
type Float32Type struct{}
Float32Type is the base framework type for a floating point number. Float32Value is the associated value type.
func (Float32Type) ApplyTerraform5AttributePathStep ¶ added in v1.10.0
func (t Float32Type) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the type.
func (Float32Type) Equal ¶ added in v1.10.0
func (t Float32Type) Equal(o attr.Type) bool
Equal returns true if the given type is equivalent.
func (Float32Type) String ¶ added in v1.10.0
func (t Float32Type) String() string
String returns a human readable string of the type name.
func (Float32Type) TerraformType ¶ added in v1.10.0
func (t Float32Type) TerraformType(_ context.Context) tftypes.Type
TerraformType returns the tftypes.Type that should be used to represent this framework type.
func (Float32Type) ValueFromFloat32 ¶ added in v1.10.0
func (t Float32Type) ValueFromFloat32(_ context.Context, v Float32Value) (Float32Valuable, diag.Diagnostics)
ValueFromFloat32 returns a Float32Valuable type given a Float32Value.
func (Float32Type) ValueFromTerraform ¶ added in v1.10.0
ValueFromTerraform returns a Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
type Float32Valuable ¶ added in v1.10.0
type Float32Valuable interface { attr.Value // ToFloat32Value should convert the value type to a Float32. ToFloat32Value(ctx context.Context) (Float32Value, diag.Diagnostics) }
Float32Valuable extends attr.Value for float32 value types. Implement this interface to create a custom Float32 value type.
type Float32ValuableWithSemanticEquals ¶ added in v1.10.0
type Float32ValuableWithSemanticEquals interface { Float32Valuable // Float32SemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as rounding. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. Float32SemanticEquals(context.Context, Float32Valuable) (bool, diag.Diagnostics) }
Float32ValuableWithSemanticEquals extends Float32Valuable with semantic equality logic.
type Float32Value ¶ added in v1.10.0
type Float32Value struct {
// contains filtered or unexported fields
}
Float32Value represents a 32-bit floating point value, exposed as a float32.
func NewFloat32Null ¶ added in v1.10.0
func NewFloat32Null() Float32Value
NewFloat32Null creates a Float32 with a null value. Determine whether the value is null via the Float32 type IsNull method.
func NewFloat32PointerValue ¶ added in v1.10.0
func NewFloat32PointerValue(value *float32) Float32Value
NewFloat32PointerValue creates a Float32 with a null value if nil or a known value. Access the value via the Float32 type ValueFloat32Pointer method. Passing a value of `NaN` will result in a panic.
func NewFloat32Unknown ¶ added in v1.10.0
func NewFloat32Unknown() Float32Value
NewFloat32Unknown creates a Float32 with an unknown value. Determine whether the value is unknown via the Float32 type IsUnknown method.
func NewFloat32Value ¶ added in v1.10.0
func NewFloat32Value(value float32) Float32Value
NewFloat32Value creates a Float32 with a known value. Access the value via the Float32 type ValueFloat32 method. Passing a value of `NaN` will result in a panic.
func (Float32Value) Equal ¶ added in v1.10.0
func (f Float32Value) Equal(other attr.Value) bool
Equal returns true if `other` is a Float32 and has the same value as `f`.
func (Float32Value) Float32SemanticEquals ¶ added in v1.10.0
func (f Float32Value) Float32SemanticEquals(ctx context.Context, newValuable Float32Valuable) (bool, diag.Diagnostics)
Float32SemanticEquals returns true if the given Float32Value is semantically equal to the current Float32Value. The underlying value *big.Float can store more precise float values then the Go built-in float32 type. This only compares the precision of the value that can be represented as the Go built-in float32, which is 53 bits of precision.
func (Float32Value) IsNull ¶ added in v1.10.0
func (f Float32Value) IsNull() bool
IsNull returns true if the Float32 represents a null value.
func (Float32Value) IsUnknown ¶ added in v1.10.0
func (f Float32Value) IsUnknown() bool
IsUnknown returns true if the Float32 represents a currently unknown value.
func (Float32Value) String ¶ added in v1.10.0
func (f Float32Value) String() string
String returns a human-readable representation of the Float32 value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (Float32Value) ToFloat32Value ¶ added in v1.10.0
func (f Float32Value) ToFloat32Value(context.Context) (Float32Value, diag.Diagnostics)
ToFloat32Value returns Float32.
func (Float32Value) ToTerraformValue ¶ added in v1.10.0
ToTerraformValue returns the data contained in the Float32 as a tftypes.Value.
func (Float32Value) Type ¶ added in v1.10.0
func (f Float32Value) Type(ctx context.Context) attr.Type
Type returns a Float32Type.
func (Float32Value) ValueFloat32 ¶ added in v1.10.0
func (f Float32Value) ValueFloat32() float32
ValueFloat32 returns the known float32 value. If Float32 is null or unknown, returns 0.0.
func (Float32Value) ValueFloat32Pointer ¶ added in v1.10.0
func (f Float32Value) ValueFloat32Pointer() *float32
ValueFloat32Pointer returns a pointer to the known float32 value, nil for a null value, or a pointer to 0.0 for an unknown value.
type Float64Typable ¶
type Float64Typable interface { //nolint:staticcheck // xattr.TypeWithValidate is deprecated, but we still need to support it. xattr.TypeWithValidate // ValueFromFloat64 should convert the Float64 to a Float64Valuable type. ValueFromFloat64(context.Context, Float64Value) (Float64Valuable, diag.Diagnostics) }
Float64Typable extends attr.Type for float64 types. Implement this interface to create a custom Float64Type type.
type Float64Type ¶
type Float64Type struct{}
Float64Type is the base framework type for a floating point number. Float64Value is the associated value type.
func (Float64Type) ApplyTerraform5AttributePathStep ¶
func (t Float64Type) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the type.
func (Float64Type) Equal ¶
func (t Float64Type) Equal(o attr.Type) bool
Equal returns true if the given type is equivalent.
func (Float64Type) String ¶
func (t Float64Type) String() string
String returns a human readable string of the type name.
func (Float64Type) TerraformType ¶
func (t Float64Type) TerraformType(_ context.Context) tftypes.Type
TerraformType returns the tftypes.Type that should be used to represent this framework type.
func (Float64Type) Validate ¶
func (t Float64Type) Validate(ctx context.Context, in tftypes.Value, path path.Path) diag.Diagnostics
Validate implements type validation.
func (Float64Type) ValueFromFloat64 ¶
func (t Float64Type) ValueFromFloat64(_ context.Context, v Float64Value) (Float64Valuable, diag.Diagnostics)
ValueFromFloat64 returns a Float64Valuable type given a Float64Value.
func (Float64Type) ValueFromTerraform ¶
ValueFromTerraform returns a Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
type Float64Valuable ¶
type Float64Valuable interface { attr.Value // ToFloat64Value should convert the value type to a Float64. ToFloat64Value(ctx context.Context) (Float64Value, diag.Diagnostics) }
Float64Valuable extends attr.Value for float64 value types. Implement this interface to create a custom Float64 value type.
type Float64ValuableWithSemanticEquals ¶ added in v1.3.0
type Float64ValuableWithSemanticEquals interface { Float64Valuable // Float64SemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as rounding. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. Float64SemanticEquals(context.Context, Float64Valuable) (bool, diag.Diagnostics) }
Float64ValuableWithSemanticEquals extends Float64Valuable with semantic equality logic.
type Float64Value ¶
type Float64Value struct {
// contains filtered or unexported fields
}
Float64Value represents a 64-bit floating point value, exposed as a float64.
func NewFloat64Null ¶
func NewFloat64Null() Float64Value
Float64Null creates a Float64 with a null value. Determine whether the value is null via the Float64 type IsNull method.
func NewFloat64PointerValue ¶ added in v1.2.0
func NewFloat64PointerValue(value *float64) Float64Value
NewFloat64PointerValue creates a Float64 with a null value if nil or a known value. Access the value via the Float64 type ValueFloat64Pointer method. Passing a value of `NaN` will result in a panic.
func NewFloat64Unknown ¶
func NewFloat64Unknown() Float64Value
Float64Unknown creates a Float64 with an unknown value. Determine whether the value is unknown via the Float64 type IsUnknown method.
Setting the deprecated Float64 type Null, Unknown, or Value fields after creating a Float64 with this function has no effect.
func NewFloat64Value ¶
func NewFloat64Value(value float64) Float64Value
Float64Value creates a Float64 with a known value. Access the value via the Float64 type ValueFloat64 method. Passing a value of `NaN` will result in a panic.
Setting the deprecated Float64 type Null, Unknown, or Value fields after creating a Float64 with this function has no effect.
func (Float64Value) Equal ¶
func (f Float64Value) Equal(other attr.Value) bool
Equal returns true if `other` is a Float64 and has the same value as `f`.
func (Float64Value) Float64SemanticEquals ¶ added in v1.3.4
func (f Float64Value) Float64SemanticEquals(ctx context.Context, newValuable Float64Valuable) (bool, diag.Diagnostics)
Float64SemanticEquals returns true if the given Float64Value is semantically equal to the current Float64Value. The underlying value *big.Float can store more precise float values then the Go built-in float64 type. This only compares the precision of the value that can be represented as the Go built-in float64, which is 53 bits of precision.
func (Float64Value) IsNull ¶
func (f Float64Value) IsNull() bool
IsNull returns true if the Float64 represents a null value.
func (Float64Value) IsUnknown ¶
func (f Float64Value) IsUnknown() bool
IsUnknown returns true if the Float64 represents a currently unknown value.
func (Float64Value) String ¶
func (f Float64Value) String() string
String returns a human-readable representation of the Float64 value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (Float64Value) ToFloat64Value ¶
func (f Float64Value) ToFloat64Value(context.Context) (Float64Value, diag.Diagnostics)
ToFloat64Value returns Float64.
func (Float64Value) ToTerraformValue ¶
ToTerraformValue returns the data contained in the Float64 as a tftypes.Value.
func (Float64Value) Type ¶
func (f Float64Value) Type(ctx context.Context) attr.Type
Type returns a Float64Type.
func (Float64Value) ValueFloat64 ¶
func (f Float64Value) ValueFloat64() float64
ValueFloat64 returns the known float64 value. If Float64 is null or unknown, returns 0.0.
func (Float64Value) ValueFloat64Pointer ¶ added in v1.2.0
func (f Float64Value) ValueFloat64Pointer() *float64
ValueFloat64Pointer returns a pointer to the known float64 value, nil for a null value, or a pointer to 0.0 for an unknown value.
type Int32Typable ¶ added in v1.10.0
type Int32Typable interface { attr.Type // ValueFromInt32 should convert the Int32 to a Int32Valuable type. ValueFromInt32(context.Context, Int32Value) (Int32Valuable, diag.Diagnostics) }
Int32Typable extends attr.Type for int32 types. Implement this interface to create a custom Int32Type type.
type Int32Type ¶ added in v1.10.0
type Int32Type struct{}
Int32Type is the base framework type for an integer number. Int32Value is the associated value type.
func (Int32Type) ApplyTerraform5AttributePathStep ¶ added in v1.10.0
func (t Int32Type) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the type.
func (Int32Type) TerraformType ¶ added in v1.10.0
TerraformType returns the tftypes.Type that should be used to represent this framework type.
func (Int32Type) ValueFromInt32 ¶ added in v1.10.0
func (t Int32Type) ValueFromInt32(_ context.Context, v Int32Value) (Int32Valuable, diag.Diagnostics)
ValueFromInt32 returns a Int32Valuable type given a Int32Value.
func (Int32Type) ValueFromTerraform ¶ added in v1.10.0
ValueFromTerraform returns a Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
type Int32Valuable ¶ added in v1.10.0
type Int32Valuable interface { attr.Value // ToInt32Value should convert the value type to an Int32. ToInt32Value(ctx context.Context) (Int32Value, diag.Diagnostics) }
Int32Valuable extends attr.Value for int32 value types. Implement this interface to create a custom Int32 value type.
type Int32ValuableWithSemanticEquals ¶ added in v1.10.0
type Int32ValuableWithSemanticEquals interface { Int32Valuable // Int32SemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as rounding. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. Int32SemanticEquals(context.Context, Int32Valuable) (bool, diag.Diagnostics) }
Int32ValuableWithSemanticEquals extends Int32Valuable with semantic equality logic.
type Int32Value ¶ added in v1.10.0
type Int32Value struct {
// contains filtered or unexported fields
}
Int32Value represents a 32-bit integer value, exposed as an int32.
func NewInt32Null ¶ added in v1.10.0
func NewInt32Null() Int32Value
NewInt32Null creates an Int32 with a null value. Determine whether the value is null via the Int32 type IsNull method.
func NewInt32PointerValue ¶ added in v1.10.0
func NewInt32PointerValue(value *int32) Int32Value
NewInt32PointerValue creates an Int32 with a null value if nil or a known value. Access the value via the Int32 type ValueInt32Pointer method.
func NewInt32Unknown ¶ added in v1.10.0
func NewInt32Unknown() Int32Value
NewInt32Unknown creates an Int32 with an unknown value. Determine whether the value is unknown via the Int32 type IsUnknown method.
func NewInt32Value ¶ added in v1.10.0
func NewInt32Value(value int32) Int32Value
NewInt32Value creates an Int32 with a known value. Access the value via the Int32 type ValueInt32 method.
func (Int32Value) Equal ¶ added in v1.10.0
func (i Int32Value) Equal(other attr.Value) bool
Equal returns true if `other` is an Int32 and has the same value as `i`.
func (Int32Value) IsNull ¶ added in v1.10.0
func (i Int32Value) IsNull() bool
IsNull returns true if the Int32 represents a null value.
func (Int32Value) IsUnknown ¶ added in v1.10.0
func (i Int32Value) IsUnknown() bool
IsUnknown returns true if the Int32 represents a currently unknown value.
func (Int32Value) String ¶ added in v1.10.0
func (i Int32Value) String() string
String returns a human-readable representation of the Int32 value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (Int32Value) ToInt32Value ¶ added in v1.10.0
func (i Int32Value) ToInt32Value(context.Context) (Int32Value, diag.Diagnostics)
ToInt32Value returns Int32.
func (Int32Value) ToTerraformValue ¶ added in v1.10.0
ToTerraformValue returns the data contained in the Int32 as a tftypes.Value.
func (Int32Value) Type ¶ added in v1.10.0
func (i Int32Value) Type(ctx context.Context) attr.Type
Type returns a Int32Type.
func (Int32Value) ValueInt32 ¶ added in v1.10.0
func (i Int32Value) ValueInt32() int32
ValueInt32 returns the known int32 value. If Int32 is null or unknown, returns 0.
func (Int32Value) ValueInt32Pointer ¶ added in v1.10.0
func (i Int32Value) ValueInt32Pointer() *int32
ValueInt32Pointer returns a pointer to the known int32 value, nil for a null value, or a pointer to 0 for an unknown value.
type Int64Typable ¶
type Int64Typable interface { //nolint:staticcheck // xattr.TypeWithValidate is deprecated, but we still need to support it. xattr.TypeWithValidate // ValueFromInt64 should convert the Int64 to a Int64Valuable type. ValueFromInt64(context.Context, Int64Value) (Int64Valuable, diag.Diagnostics) }
Int64Typable extends attr.Type for int64 types. Implement this interface to create a custom Int64Type type.
type Int64Type ¶
type Int64Type struct{}
Int64Type is the base framework type for an integer number. Int64Value is the associated value type.
func (Int64Type) ApplyTerraform5AttributePathStep ¶
func (t Int64Type) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the type.
func (Int64Type) TerraformType ¶
TerraformType returns the tftypes.Type that should be used to represent this framework type.
func (Int64Type) ValueFromInt64 ¶
func (t Int64Type) ValueFromInt64(_ context.Context, v Int64Value) (Int64Valuable, diag.Diagnostics)
ValueFromInt64 returns a Int64Valuable type given a Int64Value.
func (Int64Type) ValueFromTerraform ¶
ValueFromTerraform returns a Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
type Int64Valuable ¶
type Int64Valuable interface { attr.Value // ToInt64Value should convert the value type to an Int64. ToInt64Value(ctx context.Context) (Int64Value, diag.Diagnostics) }
Int64Valuable extends attr.Value for int64 value types. Implement this interface to create a custom Int64 value type.
type Int64ValuableWithSemanticEquals ¶ added in v1.3.0
type Int64ValuableWithSemanticEquals interface { Int64Valuable // Int64SemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as rounding. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. Int64SemanticEquals(context.Context, Int64Valuable) (bool, diag.Diagnostics) }
Int64ValuableWithSemanticEquals extends Int64Valuable with semantic equality logic.
type Int64Value ¶
type Int64Value struct {
// contains filtered or unexported fields
}
Int64Value represents a 64-bit integer value, exposed as an int64.
func NewInt64Null ¶
func NewInt64Null() Int64Value
NewInt64Null creates a Int64 with a null value. Determine whether the value is null via the Int64 type IsNull method.
func NewInt64PointerValue ¶ added in v1.2.0
func NewInt64PointerValue(value *int64) Int64Value
NewInt64PointerValue creates a Int64 with a null value if nil or a known value. Access the value via the Int64 type ValueInt64Pointer method.
func NewInt64Unknown ¶
func NewInt64Unknown() Int64Value
NewInt64Unknown creates a Int64 with an unknown value. Determine whether the value is unknown via the Int64 type IsUnknown method.
func NewInt64Value ¶
func NewInt64Value(value int64) Int64Value
NewInt64Value creates a Int64 with a known value. Access the value via the Int64 type ValueInt64 method.
func (Int64Value) Equal ¶
func (i Int64Value) Equal(other attr.Value) bool
Equal returns true if `other` is an Int64 and has the same value as `i`.
func (Int64Value) IsNull ¶
func (i Int64Value) IsNull() bool
IsNull returns true if the Int64 represents a null value.
func (Int64Value) IsUnknown ¶
func (i Int64Value) IsUnknown() bool
IsUnknown returns true if the Int64 represents a currently unknown value.
func (Int64Value) String ¶
func (i Int64Value) String() string
String returns a human-readable representation of the Int64 value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (Int64Value) ToInt64Value ¶
func (i Int64Value) ToInt64Value(context.Context) (Int64Value, diag.Diagnostics)
ToInt64Value returns Int64.
func (Int64Value) ToTerraformValue ¶
ToTerraformValue returns the data contained in the Int64 as a tftypes.Value.
func (Int64Value) Type ¶
func (i Int64Value) Type(ctx context.Context) attr.Type
Type returns a Int64Type.
func (Int64Value) ValueInt64 ¶
func (i Int64Value) ValueInt64() int64
ValueInt64 returns the known int64 value. If Int64 is null or unknown, returns 0.
func (Int64Value) ValueInt64Pointer ¶ added in v1.2.0
func (i Int64Value) ValueInt64Pointer() *int64
ValueInt64Pointer returns a pointer to the known int64 value, nil for a null value, or a pointer to 0 for an unknown value.
type ListTypable ¶
type ListTypable interface { attr.Type // ValueFromList should convert the List to a ListValuable type. ValueFromList(context.Context, ListValue) (ListValuable, diag.Diagnostics) }
ListTypable extends attr.Type for list types. Implement this interface to create a custom ListType type.
type ListType ¶
ListType is an AttributeType representing a list of values. All values must be of the same type, which the provider must specify as the ElemType property.
func (ListType) ApplyTerraform5AttributePathStep ¶
func (l ListType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the list.
func (ListType) ElementType ¶
ElementType returns the attr.Type elements will be created from.
func (ListType) TerraformType ¶
TerraformType returns the tftypes.Type that should be used to represent this type. This constrains what user input will be accepted and what kind of data can be set in state. The framework will use this to translate the AttributeType to something Terraform can understand.
func (ListType) Validate ¶
Validate validates all elements of the list that are of type xattr.TypeWithValidate.
func (ListType) ValueFromList ¶
func (l ListType) ValueFromList(_ context.Context, list ListValue) (ListValuable, diag.Diagnostics)
ValueFromList returns a ListValuable type given a List.
func (ListType) ValueFromTerraform ¶
ValueFromTerraform returns an attr.Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
func (ListType) WithElementType ¶
func (l ListType) WithElementType(typ attr.Type) attr.TypeWithElementType
WithElementType returns a ListType that is identical to `l`, but with the element type set to `typ`.
type ListValuable ¶
type ListValuable interface { attr.Value // ToListValue should convert the value type to a List. ToListValue(ctx context.Context) (ListValue, diag.Diagnostics) }
ListValuable extends attr.Value for list value types. Implement this interface to create a custom List value type.
type ListValuableWithSemanticEquals ¶ added in v1.3.0
type ListValuableWithSemanticEquals interface { ListValuable // ListSemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as computed elements added by // a remote system. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. ListSemanticEquals(context.Context, ListValuable) (bool, diag.Diagnostics) }
ListValuableWithSemanticEquals extends ListValuable with semantic equality logic.
type ListValue ¶
type ListValue struct {
// contains filtered or unexported fields
}
ListValue represents a list of attr.Values, all of the same type, indicated by ElemType.
func NewListNull ¶
NewListNull creates a List with a null value. Determine whether the value is null via the List type IsNull method.
func NewListUnknown ¶
NewListUnknown creates a List with an unknown value. Determine whether the value is unknown via the List type IsUnknown method.
func NewListValue ¶
NewListValue creates a List with a known value. Access the value via the List type Elements or ElementsAs methods.
func NewListValueFrom ¶
func NewListValueFrom(ctx context.Context, elementType attr.Type, elements any) (ListValue, diag.Diagnostics)
NewListValueFrom creates a List with a known value, using reflection rules. The elements must be a slice which can convert into the given element type. Access the value via the List type Elements or ElementsAs methods.
func NewListValueMust ¶
NewListValueMust creates a List with a known value, converting any diagnostics into a panic at runtime. Access the value via the List type Elements or ElementsAs methods.
This creation function is only recommended to create List values which will not potentially affect practitioners, such as testing, or exhaustively tested provider logic.
func (ListValue) ElementType ¶
ElementType returns the element type for the List.
func (ListValue) ElementsAs ¶
func (l ListValue) ElementsAs(ctx context.Context, target interface{}, allowUnhandled bool) diag.Diagnostics
ElementsAs populates `target` with the elements of the ListValue, throwing an error if the elements cannot be stored in `target`.
func (ListValue) Equal ¶
Equal returns true if the given attr.Value is also a ListValue, has the same element type, same value state, and contains exactly the element values as defined by the Equal method of the element type.
func (ListValue) IsUnknown ¶
IsUnknown returns true if the List represents a currently unknown value. Returns false if the List has a known number of elements, even if all are unknown values.
func (ListValue) String ¶
String returns a human-readable representation of the List value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (ListValue) ToListValue ¶
ToListValue returns the List.
func (ListValue) ToTerraformValue ¶
ToTerraformValue returns the data contained in the List as a tftypes.Value.
type MapTypable ¶
type MapTypable interface { attr.Type // ValueFromMap should convert the Map to a MapValuable type. ValueFromMap(context.Context, MapValue) (MapValuable, diag.Diagnostics) }
MapTypable extends attr.Type for map types. Implement this interface to create a custom MapType type.
type MapType ¶
MapType is an AttributeType representing a map of values. All values must be of the same type, which the provider must specify as the ElemType property. Keys will always be strings.
func (MapType) ApplyTerraform5AttributePathStep ¶
func (m MapType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the map.
func (MapType) ElementType ¶
ElementType returns the type's element type.
func (MapType) TerraformType ¶
TerraformType returns the tftypes.Type that should be used to represent this type. This constrains what user input will be accepted and what kind of data can be set in state. The framework will use this to translate the AttributeType to something Terraform can understand.
func (MapType) Validate ¶
Validate validates all elements of the map that are of type xattr.TypeWithValidate.
func (MapType) ValueFromMap ¶
func (m MapType) ValueFromMap(_ context.Context, ma MapValue) (MapValuable, diag.Diagnostics)
ValueFromMap returns a MapValuable type given a Map.
func (MapType) ValueFromTerraform ¶
ValueFromTerraform returns an attr.Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
func (MapType) WithElementType ¶
func (m MapType) WithElementType(typ attr.Type) attr.TypeWithElementType
WithElementType returns a new copy of the type with its element type set.
type MapValuable ¶
type MapValuable interface { attr.Value // ToMapValue should convert the value type to a Map. ToMapValue(ctx context.Context) (MapValue, diag.Diagnostics) }
MapValuable extends attr.Value for map value types. Implement this interface to create a custom Map value type.
type MapValuableWithSemanticEquals ¶ added in v1.3.0
type MapValuableWithSemanticEquals interface { MapValuable // MapSemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as computed elements added by // a remote system. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. MapSemanticEquals(context.Context, MapValuable) (bool, diag.Diagnostics) }
MapValuableWithSemanticEquals extends MapValuable with semantic equality logic.
type MapValue ¶
type MapValue struct {
// contains filtered or unexported fields
}
MapValue represents a mapping of string keys to attr.Value values of a single type.
func NewMapNull ¶
NewMapNull creates a Map with a null value. Determine whether the value is null via the Map type IsNull method.
func NewMapUnknown ¶
NewMapUnknown creates a Map with an unknown value. Determine whether the value is unknown via the Map type IsUnknown method.
func NewMapValue ¶
func NewMapValue(elementType attr.Type, elements map[string]attr.Value) (MapValue, diag.Diagnostics)
NewMapValue creates a Map with a known value. Access the value via the Map type Elements or ElementsAs methods.
func NewMapValueFrom ¶
func NewMapValueFrom(ctx context.Context, elementType attr.Type, elements any) (MapValue, diag.Diagnostics)
NewMapValueFrom creates a Map with a known value, using reflection rules. The elements must be a map of string keys to values which can convert into the given element type. Access the value via the Map type Elements or ElementsAs methods.
func NewMapValueMust ¶
NewMapValueMust creates a Map with a known value, converting any diagnostics into a panic at runtime. Access the value via the Map type Elements or ElementsAs methods.
This creation function is only recommended to create Map values which will not potentially effect practitioners, such as testing, or exhaustively tested provider logic.
func (MapValue) ElementType ¶
ElementType returns the element type for the Map.
func (MapValue) ElementsAs ¶
func (m MapValue) ElementsAs(ctx context.Context, target interface{}, allowUnhandled bool) diag.Diagnostics
ElementsAs populates `target` with the elements of the MapValue, throwing an error if the elements cannot be stored in `target`.
func (MapValue) Equal ¶
Equal returns true if the given attr.Value is also a MapValue, has the same element type, same value state, and contains exactly the element values as defined by the Equal method of the element type.
func (MapValue) IsUnknown ¶
IsUnknown returns true if the Map represents a currently unknown value. Returns false if the Map has a known number of elements, even if all are unknown values.
func (MapValue) String ¶
String returns a human-readable representation of the Map value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (MapValue) ToMapValue ¶
ToMapValue returns the Map.
func (MapValue) ToTerraformValue ¶
ToTerraformValue returns the data contained in the Map as a tftypes.Value.
type NumberTypable ¶
type NumberTypable interface { attr.Type // ValueFromNumber should convert the Number to a NumberValuable type. ValueFromNumber(context.Context, NumberValue) (NumberValuable, diag.Diagnostics) }
NumberTypable extends attr.Type for number types. Implement this interface to create a custom NumberType type.
type NumberType ¶
type NumberType struct{}
NumberType is the base framework type for a floating point number. NumberValue is the associated value type.
func (NumberType) ApplyTerraform5AttributePathStep ¶
func (t NumberType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the type.
func (NumberType) Equal ¶
func (t NumberType) Equal(o attr.Type) bool
Equal returns true if the given type is equivalent.
func (NumberType) String ¶
func (t NumberType) String() string
String returns a human readable string of the type name.
func (NumberType) TerraformType ¶
func (t NumberType) TerraformType(_ context.Context) tftypes.Type
TerraformType returns the tftypes.Type that should be used to represent this framework type.
func (NumberType) ValueFromNumber ¶
func (t NumberType) ValueFromNumber(_ context.Context, v NumberValue) (NumberValuable, diag.Diagnostics)
ValueFromNumber returns a NumberValuable type given a NumberValue.
func (NumberType) ValueFromTerraform ¶
ValueFromTerraform returns a Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
type NumberValuable ¶
type NumberValuable interface { attr.Value // ToNumberValue should convert the value type to a Number. ToNumberValue(ctx context.Context) (NumberValue, diag.Diagnostics) }
NumberValuable extends attr.Value for number value types. Implement this interface to create a custom Number value type.
type NumberValuableWithSemanticEquals ¶ added in v1.3.0
type NumberValuableWithSemanticEquals interface { NumberValuable // NumberSemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as rounding. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. NumberSemanticEquals(context.Context, NumberValuable) (bool, diag.Diagnostics) }
NumberValuableWithSemanticEquals extends NumberValuable with semantic equality logic.
type NumberValue ¶
type NumberValue struct {
// contains filtered or unexported fields
}
NumberValue represents a number value, exposed as a *big.Float. Numbers can be floats or integers.
func NewNumberNull ¶
func NewNumberNull() NumberValue
NewNumberNull creates a Number with a null value. Determine whether the value is null via the Number type IsNull method.
func NewNumberUnknown ¶
func NewNumberUnknown() NumberValue
NewNumberUnknown creates a Number with an unknown value. Determine whether the value is unknown via the Number type IsUnknown method.
func NewNumberValue ¶
func NewNumberValue(value *big.Float) NumberValue
NewNumberValue creates a Number with a known value. Access the value via the Number type ValueBigFloat method. If the given value is nil, a null Number is created.
func (NumberValue) Equal ¶
func (n NumberValue) Equal(other attr.Value) bool
Equal returns true if `other` is a Number and has the same value as `n`.
func (NumberValue) IsNull ¶
func (n NumberValue) IsNull() bool
IsNull returns true if the Number represents a null value.
func (NumberValue) IsUnknown ¶
func (n NumberValue) IsUnknown() bool
IsUnknown returns true if the Number represents a currently unknown value.
func (NumberValue) String ¶
func (n NumberValue) String() string
String returns a human-readable representation of the Number value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (NumberValue) ToNumberValue ¶
func (n NumberValue) ToNumberValue(context.Context) (NumberValue, diag.Diagnostics)
ToNumberValue returns Number.
func (NumberValue) ToTerraformValue ¶
ToTerraformValue returns the data contained in the Number as a tftypes.Value.
func (NumberValue) Type ¶
func (n NumberValue) Type(_ context.Context) attr.Type
Type returns a NumberType.
func (NumberValue) ValueBigFloat ¶
func (n NumberValue) ValueBigFloat() *big.Float
ValueBigFloat returns the known *big.Float value. If Number is null or unknown, returns 0.0.
type ObjectAsOptions ¶
type ObjectAsOptions struct { // UnhandledNullAsEmpty controls what happens when As needs to put a // null value in a type that has no way to preserve that distinction. // When set to true, the type's empty value will be used. When set to // false, an error will be returned. UnhandledNullAsEmpty bool // UnhandledUnknownAsEmpty controls what happens when As needs to put // an unknown value in a type that has no way to preserve that // distinction. When set to true, the type's empty value will be used. // When set to false, an error will be returned. UnhandledUnknownAsEmpty bool }
ObjectAsOptions is a collection of toggles to control the behavior of Object.As.
type ObjectTypable ¶
type ObjectTypable interface { attr.Type // ValueFromObject should convert the Object to an ObjectValuable type. ValueFromObject(context.Context, ObjectValue) (ObjectValuable, diag.Diagnostics) }
ObjectTypable extends attr.Type for object types. Implement this interface to create a custom ObjectType type.
type ObjectType ¶
ObjectType is an AttributeType representing an object.
func (ObjectType) ApplyTerraform5AttributePathStep ¶
func (o ObjectType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the object.
func (ObjectType) AttributeTypes ¶
func (o ObjectType) AttributeTypes() map[string]attr.Type
AttributeTypes returns a copy of the type's attribute types.
func (ObjectType) Equal ¶
func (o ObjectType) Equal(candidate attr.Type) bool
Equal returns true if `candidate` is also an ObjectType and has the same AttributeTypes.
func (ObjectType) String ¶
func (o ObjectType) String() string
String returns a human-friendly description of the ObjectType.
func (ObjectType) TerraformType ¶
func (o ObjectType) TerraformType(ctx context.Context) tftypes.Type
TerraformType returns the tftypes.Type that should be used to represent this type. This constrains what user input will be accepted and what kind of data can be set in state. The framework will use this to translate the AttributeType to something Terraform can understand.
func (ObjectType) ValueFromObject ¶
func (o ObjectType) ValueFromObject(_ context.Context, obj ObjectValue) (ObjectValuable, diag.Diagnostics)
ValueFromObject returns an ObjectValuable type given an Object.
func (ObjectType) ValueFromTerraform ¶
ValueFromTerraform returns an attr.Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
func (ObjectType) ValueType ¶
func (o ObjectType) ValueType(_ context.Context) attr.Value
ValueType returns the Value type.
func (ObjectType) WithAttributeTypes ¶
func (o ObjectType) WithAttributeTypes(typs map[string]attr.Type) attr.TypeWithAttributeTypes
WithAttributeTypes returns a new copy of the type with its attribute types set.
type ObjectValuable ¶
type ObjectValuable interface { attr.Value // ToObjectValue should convert the value type to an Object. ToObjectValue(ctx context.Context) (ObjectValue, diag.Diagnostics) }
ObjectValuable extends attr.Value for object value types. Implement this interface to create a custom Object value type.
type ObjectValuableWithSemanticEquals ¶ added in v1.3.0
type ObjectValuableWithSemanticEquals interface { ObjectValuable // ObjectSemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as computed attribute values // changed by a remote system. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. ObjectSemanticEquals(context.Context, ObjectValuable) (bool, diag.Diagnostics) }
ObjectValuableWithSemanticEquals extends ObjectValuable with semantic equality logic.
type ObjectValue ¶
type ObjectValue struct {
// contains filtered or unexported fields
}
ObjectValue represents an object
func NewObjectNull ¶
func NewObjectNull(attributeTypes map[string]attr.Type) ObjectValue
NewObjectNull creates a Object with a null value. Determine whether the value is null via the Object type IsNull method.
func NewObjectUnknown ¶
func NewObjectUnknown(attributeTypes map[string]attr.Type) ObjectValue
NewObjectUnknown creates a Object with an unknown value. Determine whether the value is unknown via the Object type IsUnknown method.
func NewObjectValue ¶
func NewObjectValue(attributeTypes map[string]attr.Type, attributes map[string]attr.Value) (ObjectValue, diag.Diagnostics)
NewObjectValue creates a Object with a known value. Access the value via the Object type ElementsAs method.
func NewObjectValueFrom ¶
func NewObjectValueFrom(ctx context.Context, attributeTypes map[string]attr.Type, attributes any) (ObjectValue, diag.Diagnostics)
NewObjectValueFrom creates a Object with a known value, using reflection rules. The attributes must be a map of string attribute names to attribute values which can convert into the given attribute type or a struct with tfsdk field tags. Access the value via the Object type Elements or ElementsAs methods.
func NewObjectValueMust ¶
func NewObjectValueMust(attributeTypes map[string]attr.Type, attributes map[string]attr.Value) ObjectValue
NewObjectValueMust creates a Object with a known value, converting any diagnostics into a panic at runtime. Access the value via the Object type Elements or ElementsAs methods.
This creation function is only recommended to create Object values which will not potentially effect practitioners, such as testing, or exhaustively tested provider logic.
func (ObjectValue) As ¶
func (o ObjectValue) As(ctx context.Context, target interface{}, opts ObjectAsOptions) diag.Diagnostics
As populates `target` with the data in the ObjectValue, throwing an error if the data cannot be stored in `target`.
func (ObjectValue) AttributeTypes ¶
AttributeTypes returns a copy of the mapping of attribute types for the Object.
func (ObjectValue) Attributes ¶
func (o ObjectValue) Attributes() map[string]attr.Value
Attributes returns a copy of the mapping of known attribute values for the Object.
func (ObjectValue) Equal ¶
func (o ObjectValue) Equal(c attr.Value) bool
Equal returns true if the given attr.Value is also an ObjectValue, has the same value state, and contains exactly the same attribute types/values as defined by the Equal method of those underlying types/values.
func (ObjectValue) IsNull ¶
func (o ObjectValue) IsNull() bool
IsNull returns true if the Object represents a null value.
func (ObjectValue) IsUnknown ¶
func (o ObjectValue) IsUnknown() bool
IsUnknown returns true if the Object represents a currently unknown value.
func (ObjectValue) String ¶
func (o ObjectValue) String() string
String returns a human-readable representation of the Object value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (ObjectValue) ToObjectValue ¶
func (o ObjectValue) ToObjectValue(context.Context) (ObjectValue, diag.Diagnostics)
ToObjectValue returns the Object.
func (ObjectValue) ToTerraformValue ¶
ToTerraformValue returns the data contained in the attr.Value as a tftypes.Value.
type SetTypable ¶
type SetTypable interface { attr.Type // ValueFromSet should convert the Set to a SetValuable type. ValueFromSet(context.Context, SetValue) (SetValuable, diag.Diagnostics) }
SetTypable extends attr.Type for set types. Implement this interface to create a custom SetType type.
type SetType ¶
SetType is an AttributeType representing a set of values. All values must be of the same type, which the provider must specify as the ElemType property.
func (SetType) ApplyTerraform5AttributePathStep ¶
func (st SetType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the set.
func (SetType) ElementType ¶
ElementType returns the attr.Type elements will be created from.
func (SetType) TerraformType ¶
TerraformType returns the tftypes.Type that should be used to represent this type. This constrains what user input will be accepted and what kind of data can be set in state. The framework will use this to translate the AttributeType to something Terraform can understand.
func (SetType) Validate ¶
Validate implements type validation. This type requires all elements to be unique.
func (SetType) ValueFromSet ¶
func (st SetType) ValueFromSet(_ context.Context, set SetValue) (SetValuable, diag.Diagnostics)
ValueFromSet returns a SetValuable type given a Set.
func (SetType) ValueFromTerraform ¶
ValueFromTerraform returns an attr.Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
func (SetType) WithElementType ¶
func (st SetType) WithElementType(typ attr.Type) attr.TypeWithElementType
WithElementType returns a SetType that is identical to `l`, but with the element type set to `typ`.
type SetValuable ¶
type SetValuable interface { attr.Value // ToSetValue should convert the value type to a Set. ToSetValue(ctx context.Context) (SetValue, diag.Diagnostics) }
SetValuable extends attr.Value for set value types. Implement this interface to create a custom Set value type.
type SetValuableWithSemanticEquals ¶ added in v1.3.0
type SetValuableWithSemanticEquals interface { SetValuable // SetSemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as computed elements added by // a remote system. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. SetSemanticEquals(context.Context, SetValuable) (bool, diag.Diagnostics) }
SetValuableWithSemanticEquals extends SetValuable with semantic equality logic.
type SetValue ¶
type SetValue struct {
// contains filtered or unexported fields
}
SetValue represents a set of attr.Value, all of the same type, indicated by ElemType.
func NewSetNull ¶
NewSetNull creates a Set with a null value. Determine whether the value is null via the Set type IsNull method.
func NewSetUnknown ¶
NewSetUnknown creates a Set with an unknown value. Determine whether the value is unknown via the Set type IsUnknown method.
func NewSetValue ¶
NewSetValue creates a Set with a known value. Access the value via the Set type Elements or ElementsAs methods.
func NewSetValueFrom ¶
func NewSetValueFrom(ctx context.Context, elementType attr.Type, elements any) (SetValue, diag.Diagnostics)
NewSetValueFrom creates a Set with a known value, using reflection rules. The elements must be a slice which can convert into the given element type. Access the value via the Set type Elements or ElementsAs methods.
func NewSetValueMust ¶
NewSetValueMust creates a Set with a known value, converting any diagnostics into a panic at runtime. Access the value via the Set type Elements or ElementsAs methods.
This creation function is only recommended to create Set values which will not potentially effect practitioners, such as testing, or exhaustively tested provider logic.
func (SetValue) ElementType ¶
ElementType returns the element type for the Set.
func (SetValue) ElementsAs ¶
func (s SetValue) ElementsAs(ctx context.Context, target interface{}, allowUnhandled bool) diag.Diagnostics
ElementsAs populates `target` with the elements of the SetValue, throwing an error if the elements cannot be stored in `target`.
func (SetValue) Equal ¶
Equal returns true if the given attr.Value is also a SetValue, has the same element type, same value state, and contains exactly the element values as defined by the Equal method of the element type.
func (SetValue) IsUnknown ¶
IsUnknown returns true if the Set represents a currently unknown value. Returns false if the Set has a known number of elements, even if all are unknown values.
func (SetValue) String ¶
String returns a human-readable representation of the Set value. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (SetValue) ToSetValue ¶
ToSetValue returns the Set.
func (SetValue) ToTerraformValue ¶
ToTerraformValue returns the data contained in the Set as a tftypes.Value.
type StringTypable ¶
type StringTypable interface { attr.Type // ValueFromString should convert the String to a StringValuable type. ValueFromString(context.Context, StringValue) (StringValuable, diag.Diagnostics) }
StringTypable extends attr.Type for string types. Implement this interface to create a custom StringType type.
type StringType ¶
type StringType struct{}
StringType is the base framework type for a string. StringValue is the associated value type.
func (StringType) ApplyTerraform5AttributePathStep ¶
func (t StringType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the type.
func (StringType) Equal ¶
func (t StringType) Equal(o attr.Type) bool
Equal returns true if the given type is equivalent.
func (StringType) String ¶
func (t StringType) String() string
String returns a human readable string of the type name.
func (StringType) TerraformType ¶
func (t StringType) TerraformType(_ context.Context) tftypes.Type
TerraformType returns the tftypes.Type that should be used to represent this framework type.
func (StringType) ValueFromString ¶
func (t StringType) ValueFromString(_ context.Context, v StringValue) (StringValuable, diag.Diagnostics)
ValueFromString returns a StringValuable type given a StringValue.
func (StringType) ValueFromTerraform ¶
ValueFromTerraform returns a Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
type StringValuable ¶
type StringValuable interface { attr.Value // ToStringValue should convert the value type to a String. ToStringValue(ctx context.Context) (StringValue, diag.Diagnostics) }
StringValuable extends attr.Value for string value types. Implement this interface to create a custom String value type.
type StringValuableWithSemanticEquals ¶ added in v1.3.0
type StringValuableWithSemanticEquals interface { StringValuable // StringSemanticEquals should return true if the given value is // semantically equal to the current value. This logic is used to prevent // Terraform data consistency errors and resource drift where a value change // may have inconsequential differences, such as spacing character removal // in JSON formatted strings. // // Only known values are compared with this method as changing a value's // state implicitly represents a different value. StringSemanticEquals(context.Context, StringValuable) (bool, diag.Diagnostics) }
StringValuableWithSemanticEquals extends StringValuable with semantic equality logic.
type StringValue ¶
type StringValue struct {
// contains filtered or unexported fields
}
StringValue represents a UTF-8 string value.
func NewStringNull ¶
func NewStringNull() StringValue
NewStringNull creates a String with a null value. Determine whether the value is null via the String type IsNull method.
Setting the deprecated String type Null, Unknown, or Value fields after creating a String with this function has no effect.
func NewStringPointerValue ¶ added in v1.2.0
func NewStringPointerValue(value *string) StringValue
NewStringPointerValue creates a String with a null value if nil or a known value. Access the value via the String type ValueStringPointer method.
func NewStringUnknown ¶
func NewStringUnknown() StringValue
NewStringUnknown creates a String with an unknown value. Determine whether the value is unknown via the String type IsUnknown method.
Setting the deprecated String type Null, Unknown, or Value fields after creating a String with this function has no effect.
func NewStringValue ¶
func NewStringValue(value string) StringValue
NewStringValue creates a String with a known value. Access the value via the String type ValueString method.
Setting the deprecated String type Null, Unknown, or Value fields after creating a String with this function has no effect.
func (StringValue) Equal ¶
func (s StringValue) Equal(other attr.Value) bool
Equal returns true if `other` is a String and has the same value as `s`.
func (StringValue) IsNull ¶
func (s StringValue) IsNull() bool
IsNull returns true if the String represents a null value.
func (StringValue) IsUnknown ¶
func (s StringValue) IsUnknown() bool
IsUnknown returns true if the String represents a currently unknown value.
func (StringValue) String ¶
func (s StringValue) String() string
String returns a human-readable representation of the String value. Use the ValueString method for Terraform data handling instead.
The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (StringValue) ToStringValue ¶
func (s StringValue) ToStringValue(context.Context) (StringValue, diag.Diagnostics)
ToStringValue returns String.
func (StringValue) ToTerraformValue ¶
ToTerraformValue returns the data contained in the *String as a tftypes.Value.
func (StringValue) Type ¶
func (s StringValue) Type(_ context.Context) attr.Type
Type returns a StringType.
func (StringValue) ValueString ¶
func (s StringValue) ValueString() string
ValueString returns the known string value. If String is null or unknown, returns "".
func (StringValue) ValueStringPointer ¶ added in v1.2.0
func (s StringValue) ValueStringPointer() *string
ValueStringPointer returns a pointer to the known string value, nil for a null value, or a pointer to "" for an unknown value.
type TupleType ¶ added in v1.5.0
type TupleType struct { // ElemTypes is an ordered list of element types for the tuple. ElemTypes []attr.Type }
TupleType implements a tuple type definition. This type intentionally includes less functionality than other types in the type system as it has limited real world application and therefore is not exposed to provider developers.
func (TupleType) ApplyTerraform5AttributePathStep ¶ added in v1.5.0
func (t TupleType) ApplyTerraform5AttributePathStep(step tftypes.AttributePathStep) (interface{}, error)
ApplyTerraform5AttributePathStep applies the given AttributePathStep to the tuple.
func (TupleType) ElementTypes ¶ added in v1.5.0
ElementTypes returns the ordered attr.Type slice for the tuple.
func (TupleType) Equal ¶ added in v1.5.0
Equal returns true if `o` is also a TupleType and has the same ElemTypes in the same order.
func (TupleType) String ¶ added in v1.5.0
String returns a human-friendly description of the TupleType.
func (TupleType) TerraformType ¶ added in v1.5.0
TerraformType returns the tftypes.Type that should be used to represent this type.
func (TupleType) ValueFromTerraform ¶ added in v1.5.0
ValueFromTerraform returns an attr.Value given a tftypes.Value. This is meant to convert the tftypes.Value into a more convenient Go type for the provider to consume the data with.
func (TupleType) WithElementTypes ¶ added in v1.5.0
func (t TupleType) WithElementTypes(types []attr.Type) attr.TypeWithElementTypes
WithElementTypes returns a TupleType that is identical to `t`, but with the element types set to `types`.
type TupleValue ¶ added in v1.5.0
type TupleValue struct {
// contains filtered or unexported fields
}
TupleValue represents an ordered list of attr.Value, with an attr.Type for each element. This type intentionally includes less functionality than other types in the type system as it has limited real world application and therefore is not exposed to provider developers.
func NewTupleNull ¶ added in v1.5.0
func NewTupleNull(elementTypes []attr.Type) TupleValue
NewTupleNull creates a Tuple with a null value.
func NewTupleUnknown ¶ added in v1.5.0
func NewTupleUnknown(elementTypes []attr.Type) TupleValue
NewTupleUnknown creates a Tuple with an unknown value.
func NewTupleValue ¶ added in v1.5.0
func NewTupleValue(elementTypes []attr.Type, elements []attr.Value) (TupleValue, diag.Diagnostics)
NewTupleValue creates a Tuple with a known value. Access the value via the Tuple type Elements method.
func NewTupleValueMust ¶ added in v1.5.0
func NewTupleValueMust(elementTypes []attr.Type, elements []attr.Value) TupleValue
NewTupleValueMust creates a Tuple with a known value, converting any diagnostics into a panic at runtime. Access the value via the Tuple type Elements method.
This creation function is only recommended to create Tuple values which will not potentially affect practitioners, such as testing, or exhaustively tested provider logic.
func (TupleValue) ElementTypes ¶ added in v1.5.0
func (v TupleValue) ElementTypes(ctx context.Context) []attr.Type
ElementTypes returns the ordered list of element types for the Tuple.
func (TupleValue) Elements ¶ added in v1.5.0
func (v TupleValue) Elements() []attr.Value
Elements returns a copy of the ordered list of known values for the Tuple.
func (TupleValue) Equal ¶ added in v1.5.0
func (v TupleValue) Equal(o attr.Value) bool
Equal returns true if the given attr.Value is also a Tuple, has the same value state, and contains exactly the same element types/values as defined by the Equal method of those underlying types/values.
func (TupleValue) IsNull ¶ added in v1.5.0
func (v TupleValue) IsNull() bool
IsNull returns true if the Tuple represents a null value.
func (TupleValue) IsUnknown ¶ added in v1.5.0
func (v TupleValue) IsUnknown() bool
IsUnknown returns true if the Tuple represents an unknown value.
func (TupleValue) String ¶ added in v1.5.0
func (v TupleValue) String() string
String returns a human-readable representation of the Tuple. The string returned here is not protected by any compatibility guarantees, and is intended for logging and error reporting.
func (TupleValue) ToTerraformValue ¶ added in v1.5.0
ToTerraformValue returns the equivalent tftypes.Value for the Tuple.
Source Files ¶
- bool_type.go
- bool_value.go
- doc.go
- dynamic_type.go
- dynamic_value.go
- float32_type.go
- float32_value.go
- float64_type.go
- float64_value.go
- int32_type.go
- int32_value.go
- int64_type.go
- int64_value.go
- list_type.go
- list_value.go
- map_type.go
- map_value.go
- missing_type.go
- missing_value.go
- number_type.go
- number_value.go
- object_type.go
- object_value.go
- set_type.go
- set_value.go
- string_type.go
- string_value.go
- tuple_type.go
- tuple_value.go