Documentation
¶
Index ¶
- Variables
- func CreateTestEnvironment(ctx context.Context, apiClient *management.APIClient, ...) error
- func FetchTaggedEnvironments(ctx context.Context, apiClient *management.APIClient) ([]management.Environment, error)
- func FetchTaggedEnvironmentsByPrefix(ctx context.Context, apiClient *management.APIClient, prefix string) ([]management.Environment, error)
- func ParseResponse(ctx context.Context, f SDKInterfaceFunc, sdkMethod string, ...) (interface{}, diag.Diagnostics)
- func ParseResponseWithCustomTimeout(ctx context.Context, f SDKInterfaceFunc, sdkMethod string, ...) (interface{}, diag.Diagnostics)
- func RetryWrapper(ctx context.Context, timeout time.Duration, f SDKInterfaceFunc, ...) (interface{}, *http.Response, error)
- type Client
- type Config
- type CustomError
- type Retryable
- type SDKInterfaceFunc
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultRetryable = func(ctx context.Context, r *http.Response, p1error *model.P1Error) bool { if r.StatusCode >= 502 && r.StatusCode <= 504 { tflog.Warn(ctx, "Gateway error detected, available for retry") return true } return false } DefaultCreateReadRetryable = func(ctx context.Context, r *http.Response, p1error *model.P1Error) bool { if p1error != nil { var err error if m, err := regexp.MatchString("^The actor attempting to perform the request is not authorized.", p1error.GetMessage()); err == nil && m { tflog.Warn(ctx, "Insufficient PingOne privileges detected") return true } if err != nil { tflog.Warn(ctx, "Cannot match error string for retry") return false } } return false } RoleAssignmentRetryable = func(ctx context.Context, r *http.Response, p1error *model.P1Error) bool { if p1error != nil { var err error if m, err := regexp.MatchString("^The actor attempting to perform the request is not authorized.", p1error.GetMessage()); err == nil && m { tflog.Warn(ctx, "Insufficient PingOne privileges detected") return true } if err != nil { tflog.Warn(ctx, "Cannot match error string for retry") return false } if details, ok := p1error.GetDetailsOk(); ok && details != nil && len(details) > 0 { if m, err := regexp.MatchString("^Must have role at the same or broader scope", details[0].GetMessage()); err == nil && m { tflog.Warn(ctx, "Insufficient PingOne privileges detected") return true } if err != nil { tflog.Warn(ctx, "Cannot match error string for retry") return false } } } return false } )
View Source
var ( DefaultCustomError = func(error model.P1Error) diag.Diagnostics { return nil } CustomErrorResourceNotFoundWarning = func(error model.P1Error) diag.Diagnostics { var diags diag.Diagnostics if error.GetCode() == "NOT_FOUND" { diags = append(diags, diag.Diagnostic{ Severity: diag.Warning, Summary: error.GetMessage(), }) return diags } return nil } )
View Source
var (
EnvironmentNamePrefix = "tf-testacc-dv-"
)
Functions ¶
func CreateTestEnvironment ¶
func CreateTestEnvironment(ctx context.Context, apiClient *management.APIClient, region management.EnumRegionCode, index string) error
func FetchTaggedEnvironments ¶
func FetchTaggedEnvironments(ctx context.Context, apiClient *management.APIClient) ([]management.Environment, error)
func FetchTaggedEnvironmentsByPrefix ¶
func FetchTaggedEnvironmentsByPrefix(ctx context.Context, apiClient *management.APIClient, prefix string) ([]management.Environment, error)
func ParseResponse ¶
func ParseResponse(ctx context.Context, f SDKInterfaceFunc, sdkMethod string, customError CustomError, retryable Retryable) (interface{}, diag.Diagnostics)
func ParseResponseWithCustomTimeout ¶
func ParseResponseWithCustomTimeout(ctx context.Context, f SDKInterfaceFunc, sdkMethod string, customError CustomError, retryable Retryable, timeout time.Duration) (interface{}, diag.Diagnostics)
Types ¶
type Config ¶
type CustomError ¶
type CustomError func(model.P1Error) diag.Diagnostics
type SDKInterfaceFunc ¶
Click to show internal directories.
Click to hide internal directories.