framework

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2025 License: MPL-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultCustomError = func(_ *http.Response, _ *model.P1Error) diag.Diagnostics { return nil }

	CustomErrorResourceNotFoundWarning = func(r *http.Response, p1Error *model.P1Error) diag.Diagnostics {
		var diags diag.Diagnostics

		if p1Error != nil && p1Error.GetCode() == "NOT_FOUND" {
			diags.AddWarning("Requested resource not found", fmt.Sprintf("The requested resource configuration cannot be found in the PingOne service.  If the requested resource is managed in Terraform's state, it may have been removed outside of Terraform.\nAPI error: %s", p1Error.GetMessage()))

			return diags
		}

		if r != nil && r.StatusCode == 404 {
			diags.AddWarning("Requested resource not found", "The requested resource configuration cannot be found in the PingOne service.  If the requested resource is managed in Terraform's state, it may have been removed outside of Terraform.")

			return diags
		}

		return nil
	}

	CustomErrorInvalidValue = func(_ *http.Response, p1Error *model.P1Error) diag.Diagnostics {
		var diags diag.Diagnostics

		if p1Error != nil {
			if details, ok := p1Error.GetDetailsOk(); ok && details != nil && len(details) > 0 {
				if target, ok := details[0].GetTargetOk(); ok && details[0].GetCode() == "INVALID_VALUE" && *target == "name" {
					diags.AddError("Invalid Value", details[0].GetMessage())

					return diags
				}
			}
		}

		return nil
	}
)

Functions

func Attr_DataFilter

func Attr_DataFilter(description SchemaAttributeDescription, acceptableAttributes []string, mutuallyExclusiveAttributes []string) schema.ListNestedAttribute

func Attr_DataSourceReturnIDs

func Attr_DataSourceReturnIDs(description SchemaAttributeDescription) schema.ListAttribute

func Attr_DataSourceReturnIDsByElement added in v1.0.0

func Attr_DataSourceReturnIDsByElement(description SchemaAttributeDescription, elementType attr.Type) schema.ListAttribute

func Attr_DataSourceReturnIDsByElementSet added in v1.4.0

func Attr_DataSourceReturnIDsByElementSet(description SchemaAttributeDescription, elementType attr.Type) schema.SetAttribute

func Attr_DataSourceReturnIDsSet added in v1.4.0

func Attr_DataSourceReturnIDsSet(description SchemaAttributeDescription) schema.SetAttribute

func Attr_ID

func Attr_ID() schema.StringAttribute

Common schema attributes

func Attr_IDCustomType added in v1.0.0

func Attr_IDCustomType(customType basetypes.StringTypable) schema.StringAttribute

func Attr_LinkID added in v0.10.0

func Attr_LinkID(description SchemaAttributeDescription) schema.StringAttribute

func Attr_LinkIDWithValidators added in v0.11.0

func Attr_LinkIDWithValidators(description SchemaAttributeDescription, validators []validator.String) schema.StringAttribute

func Attr_SCIMFilter

func Attr_SCIMFilter(description SchemaAttributeDescription, acceptableAttributes []string, mutuallyExclusiveAttributes []string) schema.StringAttribute

func BoolOkToTF

func BoolOkToTF(b *bool, ok bool) basetypes.BoolValue

func CheckEnvironmentExistsOnPermissionsError added in v0.22.0

func CheckEnvironmentExistsOnPermissionsError(ctx context.Context, managementClient *management.APIClient, environmentID string, fO any, fR *http.Response, fErr error) (any, *http.Response, error)

func DaVinciResourceIDListOkToTF added in v1.0.0

func DaVinciResourceIDListOkToTF(v []string, ok bool) basetypes.ListValue

func DaVinciResourceIDListToTF added in v1.0.0

func DaVinciResourceIDListToTF(v []string) basetypes.ListValue

func DaVinciResourceIDOkToTF added in v1.0.0

func DaVinciResourceIDOkToTF(v *string, ok bool) davincitypes.ResourceIDValue

func DaVinciResourceIDSetOkToTF added in v1.0.0

func DaVinciResourceIDSetOkToTF(v []string, ok bool) basetypes.SetValue

func DaVinciResourceIDSetToTF added in v1.0.0

func DaVinciResourceIDSetToTF(v []string) basetypes.SetValue

func DaVinciResourceIDToTF added in v1.0.0

func DaVinciResourceIDToTF(v string) davincitypes.ResourceIDValue

func EnumOkToTF added in v0.14.0

func EnumOkToTF(v interface{}, ok bool) basetypes.StringValue

func EnumSetOkToTF added in v0.17.0

func EnumSetOkToTF(v interface{}, ok bool) basetypes.SetValue

func EnumToTF added in v0.23.0

func EnumToTF(v interface{}) basetypes.StringValue

func Float32OkToTF added in v0.10.0

func Float32OkToTF(i *float32, ok bool) basetypes.Float32Value

func Float64OkToTF added in v1.2.0

func Float64OkToTF(i *float64, ok bool) basetypes.Float64Value

func Int32OkToTF

func Int32OkToTF(i *int32, ok bool) basetypes.Int32Value

func Int32ToTF

func Int32ToTF(i int32) basetypes.Int32Value

func Int64OkToTF added in v1.2.0

func Int64OkToTF(i *int64, ok bool) basetypes.Int64Value

func Int64ToTF added in v1.2.0

func Int64ToTF(i int64) basetypes.Int64Value

func JSONNormalizedOkToTF added in v1.0.0

func JSONNormalizedOkToTF(v map[string]interface{}, ok bool) (jsontypes.Normalized, diag.Diagnostics)

func JSONNormalizedToTF added in v1.0.0

func JSONNormalizedToTF(v map[string]interface{}) (jsontypes.Normalized, diag.Diagnostics)

func ParseImportID added in v0.20.0

func ParseImportID(id string, components ...ImportComponent) (map[string]string, error)

Parse Import ID format

func ParseResponse

func ParseResponse(ctx context.Context, f sdk.SDKInterfaceFunc, requestID string, customError CustomError, customRetryConditions sdk.Retryable, targetObject any) diag.Diagnostics

func ParseResponseWithCustomTimeout

func ParseResponseWithCustomTimeout(ctx context.Context, f sdk.SDKInterfaceFunc, requestID string, customError CustomError, customRetryConditions sdk.Retryable, targetObject any, timeout time.Duration) diag.Diagnostics

func PingOneResourceIDListOkToTF added in v1.0.0

func PingOneResourceIDListOkToTF(v []string, ok bool) basetypes.ListValue

func PingOneResourceIDListToTF added in v1.0.0

func PingOneResourceIDListToTF(v []string) basetypes.ListValue

func PingOneResourceIDOkToTF added in v1.0.0

func PingOneResourceIDOkToTF(v *string, ok bool) pingonetypes.ResourceIDValue

func PingOneResourceIDSetOkToTF added in v1.0.0

func PingOneResourceIDSetOkToTF(v []string, ok bool) basetypes.SetValue

func PingOneResourceIDSetToTF added in v1.0.0

func PingOneResourceIDSetToTF(v []string) basetypes.SetValue

func PingOneResourceIDToTF added in v1.0.0

func PingOneResourceIDToTF(v string) pingonetypes.ResourceIDValue

func StringListOkToTF added in v0.17.0

func StringListOkToTF(v []string, ok bool) basetypes.ListValue

func StringListToTF added in v0.17.0

func StringListToTF(v []string) basetypes.ListValue

func StringMapOkToTF added in v0.17.0

func StringMapOkToTF(v *map[string]string, ok bool) basetypes.MapValue

func StringOkToTF

func StringOkToTF(v *string, ok bool) basetypes.StringValue

func StringSetOkToTF added in v0.12.0

func StringSetOkToTF(v []string, ok bool) basetypes.SetValue

func StringSetToTF added in v0.15.0

func StringSetToTF(v []string) basetypes.SetValue

func StringSliceToTF

func StringSliceToTF(v []string) (basetypes.ListValue, diag.Diagnostics)

func StringSliceToTFSet added in v1.4.0

func StringSliceToTFSet(v []string) (basetypes.SetValue, diag.Diagnostics)

func StringToTF

func StringToTF(v string) basetypes.StringValue

func TFListToStringSlice

func TFListToStringSlice(ctx context.Context, v types.List) []*string

func TFSetToStringSlice added in v0.12.0

func TFSetToStringSlice(ctx context.Context, v types.Set) []*string

func TFTypePingOneResourceIDSliceToStringSlice added in v1.0.0

func TFTypePingOneResourceIDSliceToStringSlice(v []pingonetypes.ResourceIDValue, path path.Path) ([]string, diag.Diagnostics)

func TFTypeStringSliceToStringSlice added in v1.0.0

func TFTypeStringSliceToStringSlice(v []types.String, path path.Path) ([]string, diag.Diagnostics)

func TimeOkToTF added in v0.10.0

func TimeOkToTF(v *time.Time, ok bool) timetypes.RFC3339

Types

type CustomError

type CustomError func(*http.Response, *model.P1Error) diag.Diagnostics

type DataFilterModel

type DataFilterModel struct {
	Name   types.String `tfsdk:"name"`
	Values types.List   `tfsdk:"values"`
}

Common models

type ImportComponent added in v0.20.0

type ImportComponent struct {
	Label     string
	Regexp    *regexp.Regexp
	PrimaryID bool
}

type ResourceType

type ResourceType struct {
	Client *pingone.Client
}

type SchemaAttributeDescription added in v0.15.0

type SchemaAttributeDescription SchemaDescriptionModel

func SchemaAttributeDescriptionFromMarkdown added in v0.15.0

func SchemaAttributeDescriptionFromMarkdown(description string) SchemaAttributeDescription

func (SchemaAttributeDescription) AllowedValues added in v0.15.0

func (r SchemaAttributeDescription) AllowedValues(allowedValues ...any) SchemaAttributeDescription

func (SchemaAttributeDescription) AllowedValuesComplex added in v0.15.0

func (r SchemaAttributeDescription) AllowedValuesComplex(allowedValuesMap map[string]string) SchemaAttributeDescription

func (SchemaAttributeDescription) AllowedValuesEnum added in v0.15.0

func (r SchemaAttributeDescription) AllowedValuesEnum(allowedValuesEnumSlice interface{}) SchemaAttributeDescription

func (SchemaAttributeDescription) AppendMarkdownString added in v0.15.0

func (r SchemaAttributeDescription) AppendMarkdownString(text string) SchemaAttributeDescription

func (SchemaAttributeDescription) AppendSliceValues added in v0.15.0

func (r SchemaAttributeDescription) AppendSliceValues(pretext string, values []string) SchemaAttributeDescription

func (SchemaAttributeDescription) AppendStringValue added in v0.15.0

func (r SchemaAttributeDescription) AppendStringValue(pretext string, value string) SchemaAttributeDescription

func (SchemaAttributeDescription) Clean added in v0.15.0

func (r SchemaAttributeDescription) Clean(removeTrailingStop bool) SchemaAttributeDescription

func (SchemaAttributeDescription) ConflictsWith added in v0.15.0

func (r SchemaAttributeDescription) ConflictsWith(fieldPaths []string) SchemaAttributeDescription

func (SchemaAttributeDescription) DefaultValue added in v0.15.0

func (r SchemaAttributeDescription) DefaultValue(defaultValue any) SchemaAttributeDescription

func (SchemaAttributeDescription) ExactlyOneOf added in v0.15.0

func (r SchemaAttributeDescription) ExactlyOneOf(fieldPaths []string) SchemaAttributeDescription

func (SchemaAttributeDescription) FixedValue added in v1.0.0

func (r SchemaAttributeDescription) FixedValue(defaultValue any) SchemaAttributeDescription

func (SchemaAttributeDescription) RequiresReplace added in v0.15.0

func (SchemaAttributeDescription) RequiresReplaceNestedAttributes added in v1.0.0

func (r SchemaAttributeDescription) RequiresReplaceNestedAttributes() SchemaAttributeDescription

func (SchemaAttributeDescription) UnmodifiableDataLossProtection added in v1.0.0

func (r SchemaAttributeDescription) UnmodifiableDataLossProtection() SchemaAttributeDescription

type SchemaDescription

type SchemaDescription SchemaDescriptionModel

func SchemaDescriptionFromMarkdown added in v0.14.0

func SchemaDescriptionFromMarkdown(description string) SchemaDescription

func (SchemaDescription) AppendMarkdownString added in v0.14.0

func (r SchemaDescription) AppendMarkdownString(text string) SchemaDescription

func (SchemaDescription) AppendSliceValues added in v0.14.0

func (r SchemaDescription) AppendSliceValues(pretext string, values []string) SchemaDescription

func (SchemaDescription) AppendStringValue added in v0.14.0

func (r SchemaDescription) AppendStringValue(pretext string, value string) SchemaDescription

func (SchemaDescription) Clean

func (r SchemaDescription) Clean(removeTrailingStop bool) SchemaDescription

func (SchemaDescription) OnlyOneDefinitionPerEnvironment added in v0.15.0

func (r SchemaDescription) OnlyOneDefinitionPerEnvironment(resourceName string) SchemaDescription

type SchemaDescriptionModel added in v0.15.0

type SchemaDescriptionModel struct {
	Description         string
	MarkdownDescription string
}

Directories

Path Synopsis
customtypes
Influenced from github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier/*
Influenced from github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier/*

Jump to

Keyboard shortcuts

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