in internal/retry/retryable_errors.go [404:476]
func (v RetryValue) ToTerraformValue(ctx context.Context) (tftypes.Value, error) {
attrTypes := make(map[string]tftypes.Type, 5)
var val tftypes.Value
var err error
attrTypes["error_message_regex"] = basetypes.ListType{
ElemType: types.StringType,
}.TerraformType(ctx)
attrTypes["interval_seconds"] = basetypes.Int64Type{}.TerraformType(ctx)
attrTypes["max_interval_seconds"] = basetypes.Int64Type{}.TerraformType(ctx)
attrTypes["multiplier"] = basetypes.Float64Type{}.TerraformType(ctx)
attrTypes["randomization_factor"] = basetypes.Float64Type{}.TerraformType(ctx)
objectType := tftypes.Object{AttributeTypes: attrTypes}
switch v.state {
case attr.ValueStateKnown:
vals := make(map[string]tftypes.Value, 5)
val, err = v.ErrorMessageRegex.ToTerraformValue(ctx)
if err != nil {
return tftypes.NewValue(objectType, tftypes.UnknownValue), err
}
vals["error_message_regex"] = val
val, err = v.IntervalSeconds.ToTerraformValue(ctx)
if err != nil {
return tftypes.NewValue(objectType, tftypes.UnknownValue), err
}
vals["interval_seconds"] = val
val, err = v.MaxIntervalSeconds.ToTerraformValue(ctx)
if err != nil {
return tftypes.NewValue(objectType, tftypes.UnknownValue), err
}
vals["max_interval_seconds"] = val
val, err = v.Multiplier.ToTerraformValue(ctx)
if err != nil {
return tftypes.NewValue(objectType, tftypes.UnknownValue), err
}
vals["multiplier"] = val
val, err = v.RandomizationFactor.ToTerraformValue(ctx)
if err != nil {
return tftypes.NewValue(objectType, tftypes.UnknownValue), err
}
vals["randomization_factor"] = val
if err := tftypes.ValidateValue(objectType, vals); err != nil {
return tftypes.NewValue(objectType, tftypes.UnknownValue), err
}
return tftypes.NewValue(objectType, vals), nil
case attr.ValueStateNull:
return tftypes.NewValue(objectType, nil), nil
case attr.ValueStateUnknown:
return tftypes.NewValue(objectType, tftypes.UnknownValue), nil
default:
panic(fmt.Sprintf("unhandled Object state in ToTerraformValue: %s", v.state))
}
}