Documentation
¶
Index ¶
- Variables
- func CustomDomainsToModel(priorCustomDomains types.List, specCustomDomain *string, ...) (types.String, types.List, diag.Diagnostics)
- func CustomDomainsToSDK(ctx context.Context, customDomain types.String, customDomains types.List) (*string, []string, diag.Diagnostics)
- func DataSourceCustomDomainsToModel(specCustomDomain *string, specCustomDomains []string) (types.String, types.List, diag.Diagnostics)
- func DatadogToSDK(datadog *DatadogModel) *client.DatadogSpecInput
- func FormatDeleteError(envName string, err error) string
- func KeyValueToSDK(input []KeyValueModel) []*client.KeyValueInput
- func ListStringToModel(input []string) []types.String
- func ListStringToSDK(input []basetypes.StringValue) []string
- func ListToModel(input []string) (types.List, diag.Diagnostics)
- func MaintenanceWindowsToSDK(maintenanceWindows []MaintenanceWindowModel) []*client.MaintenanceWindowSpecInput
- func ReorderByKey[M any, S any](model []M, items []S, getModelKey func(M) string, getItemKey func(S) string) []S
- func ReorderList(ctx context.Context, model types.List, input []string) ([]string, diag.Diagnostics)
- func ReorderNodeGroupZones[M any, S any](ctx context.Context, model []M, items []S, getModelKey func(M) string, ...) diag.Diagnostics
- func ReservationsToModel(input []client.NodeReservation) (types.Set, diag.Diagnostics)
- func SetToModel(input []string) (types.Set, diag.Diagnostics)
- func ValidateDatadog(datadog *DatadogModel) diag.Diagnostics
- func ValidateDisconnected(envName string, errorCode string, appliedSpecRevision int64, ...) diag.Diagnostics
- func ValidateForceDestroy(envName string, forceDestroy bool) diag.Diagnostics
- func WaitForDeletion(ctx context.Context, resp *resource.DeleteResponse, envName string, ...)
- type DatadogModel
- type EnvResourceBase
- type KeyValueModel
- type MaintenanceWindowModel
- type NodeGroupsModel
- type StatusCheckFunc
Constants ¶
This section is empty.
Variables ¶
var DeletePollInterval = 30 * time.Second
var DeleteTimeout = 60 * time.Minute
var MFATimeout = 5 * time.Minute
Functions ¶
func CustomDomainsToModel ¶ added in v0.7.0
func CustomDomainsToModel(priorCustomDomains types.List, specCustomDomain *string, specCustomDomains []string) (types.String, types.List, diag.Diagnostics)
CustomDomainsToModel maps the API response back to the two mutually-exclusive model fields for a resource Read. It is driven by prior state (priorCustomDomains): if the user manages domains via the list, refresh the list and keep the deprecated scalar null; otherwise mirror the deprecated scalar and keep the list null. This avoids the API's customDomains[0] echo flipping a list-managed resource into a permanent diff on the deprecated attribute. Data sources expose both fields directly and must not use this helper.
func CustomDomainsToSDK ¶ added in v0.7.0
func CustomDomainsToSDK(ctx context.Context, customDomain types.String, customDomains types.List) (*string, []string, diag.Diagnostics)
CustomDomainsToSDK resolves the deprecated custom_domain and the custom_domains list into SDK inputs. They are mutually exclusive at config level (enforced by a ConflictsWith validator), so prefer the list when set and fall back to the deprecated scalar otherwise. Both are unknown-safe (treated as "not set").
func DataSourceCustomDomainsToModel ¶ added in v0.7.0
func DataSourceCustomDomainsToModel(specCustomDomain *string, specCustomDomains []string) (types.String, types.List, diag.Diagnostics)
DataSourceCustomDomainsToModel populates both the deprecated custom_domain and the custom_domains list from the API response. Data sources are read-only and have no "user intent" to preserve, so they expose the actual values of both attributes.
func DatadogToSDK ¶ added in v0.7.0
func DatadogToSDK(datadog *DatadogModel) *client.DatadogSpecInput
func FormatDeleteError ¶ added in v0.6.0
FormatDeleteError returns a user-friendly error message for delete failures.
func KeyValueToSDK ¶
func KeyValueToSDK(input []KeyValueModel) []*client.KeyValueInput
func ListStringToModel ¶
func ListStringToSDK ¶
func ListStringToSDK(input []basetypes.StringValue) []string
func ListToModel ¶
func ListToModel(input []string) (types.List, diag.Diagnostics)
func MaintenanceWindowsToSDK ¶
func MaintenanceWindowsToSDK(maintenanceWindows []MaintenanceWindowModel) []*client.MaintenanceWindowSpecInput
func ReorderByKey ¶ added in v0.6.0
func ReorderByKey[M any, S any](model []M, items []S, getModelKey func(M) string, getItemKey func(S) string) []S
ReorderByKey returns items reordered to match the order of model, pairing by key. Matching is positional: each model entry consumes the first not-yet-used item with the same key, so duplicate keys (valid for e.g. tolerations or unnamed catalogs) pair in config order instead of collapsing to the first match. Every item is emitted exactly once; items with no model counterpart are appended at the end. The result always has len(items) elements — no duplication, no loss.
func ReorderList ¶ added in v0.4.13
func ReorderNodeGroupZones ¶ added in v0.7.3
func ReorderNodeGroupZones[M any, S any]( ctx context.Context, model []M, items []S, getModelKey func(M) string, getItemKey func(S) string, modelList func(M) types.List, itemList func(S) *[]string, ) diag.Diagnostics
Pairing mirrors ReorderByKey so both resolve the same model/item pairs; mutates items via itemList.
func ReservationsToModel ¶
func ReservationsToModel(input []client.NodeReservation) (types.Set, diag.Diagnostics)
func SetToModel ¶
func SetToModel(input []string) (types.Set, diag.Diagnostics)
func ValidateDatadog ¶ added in v0.7.0
func ValidateDatadog(datadog *DatadogModel) diag.Diagnostics
ValidateDatadog enforces that enc_api_key is provided when the Datadog agent is enabled. Unknown values are skipped: enc_api_key commonly references a secret resource whose value is not known until apply, so it can only be checked once resolved.
func ValidateDisconnected ¶ added in v0.6.0
func ValidateDisconnected(envName string, errorCode string, appliedSpecRevision int64, skipDeprovision, allowDeleteDisconnected bool) diag.Diagnostics
ValidateDisconnected checks if the environment is DISCONNECTED and returns differentiated error messages based on whether the env was ever provisioned.
func ValidateForceDestroy ¶ added in v0.6.0
func ValidateForceDestroy(envName string, forceDestroy bool) diag.Diagnostics
ValidateForceDestroy checks if the environment is protected from deletion.
func WaitForDeletion ¶ added in v0.6.0
Types ¶
type DatadogModel ¶ added in v0.7.0
type EnvResourceBase ¶ added in v0.3.0
func (*EnvResourceBase) Configure ¶ added in v0.3.0
func (r *EnvResourceBase) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
func (*EnvResourceBase) ImportState ¶ added in v0.3.0
func (r *EnvResourceBase) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
func (*EnvResourceBase) ModifyPlan ¶ added in v0.3.0
func (r *EnvResourceBase) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, resp *resource.ModifyPlanResponse)