Skip to content

Conversation

@henryrecker-pingidentity
Copy link
Contributor

@henryrecker-pingidentity henryrecker-pingidentity commented Dec 4, 2025

Change Description

  • Add pingone_davinci_flow_deploy resource
  • Add pingone_davinci_flow_enabled resource to control enabling and disabling flows
  • Remove inaccurate string length validators on the pingone_davinci_flow resource

Change Characteristics

  • This PR contains beta functionality
  • This PR requires introduction of breaking changes
  • No changelog entry is needed

Checklist

All full (or complete) PRs that need review prior to merge should have the following box checked.

If contributing a partial or incomplete change (expecting the development team to complete the remaining work) please leave the box unchecked

  • Check to confirm: I have performed a review of my PR against the PR checklist and confirm that:
    • The changelog entry has been included according to the changelog process
    • Changes have proper test coverage (including regression tests)
    • Impacted resource, data source and schema descriptions have been reviewed and updated
    • Impacted resource and data source documentation HCL examples have been reviewed and updated
    • Does not introduce breaking changes (unless required to do so)
    • I am aware that changes to generated code may not be merged

Required SDK Upgrades

Testing

This PR has been tested with:

  • Unit tests (please paste commands and results below)
  • Acceptance tests (please paste commands and results below)
  • End-to-end tests (please paste the link to the actions workflow runs)
  • Not applicable (no evidences needed)

Shell Command(s)

TF_ACC=1 TESTACC_BETA=true go test -tags=beta -v -timeout 900s -run ^TestAccDavinciFlowDeploy github.com/pingidentity/terraform-provider-pingone/internal/service/davinci
TF_ACC=1 TESTACC_BETA=true go test -tags=beta -v -timeout 900s -run ^TestAccDavinciFlowEnable github.com/pingidentity/terraform-provider-pingone/internal/service/davinci

Testing Results

Currently the broken deploy tests are failing due to a client issue - will be fixed by pingidentity/pingone-go-client#54. I pasted the local run of the enabled tests below, and will rely on the end-to-end tests linked below for the deploy test results, since they can take a long time to run due to the retries.

Expand Results
=== RUN   TestAccDavinciFlowEnabled_RemovalDrift
=== PAUSE TestAccDavinciFlowEnabled_RemovalDrift
=== RUN   TestAccDavinciFlowEnabled_MinimalMaximalClean
=== PAUSE TestAccDavinciFlowEnabled_MinimalMaximalClean
=== RUN   TestAccDavinciFlowEnabled_MinimalMaximalWithBootstrap
=== PAUSE TestAccDavinciFlowEnabled_MinimalMaximalWithBootstrap
=== RUN   TestAccDavinciFlowEnabled_NewEnv
=== PAUSE TestAccDavinciFlowEnabled_NewEnv
=== RUN   TestAccDavinciFlowEnabled_BadParameters
=== PAUSE TestAccDavinciFlowEnabled_BadParameters
=== CONT  TestAccDavinciFlowEnabled_RemovalDrift
=== CONT  TestAccDavinciFlowEnabled_MinimalMaximalWithBootstrap
=== CONT  TestAccDavinciFlowEnabled_NewEnv
=== CONT  TestAccDavinciFlowEnabled_BadParameters
=== CONT  TestAccDavinciFlowEnabled_MinimalMaximalClean
--- PASS: TestAccDavinciFlowEnabled_BadParameters (9.93s)
--- PASS: TestAccDavinciFlowEnabled_MinimalMaximalClean (24.35s)
--- PASS: TestAccDavinciFlowEnabled_MinimalMaximalWithBootstrap (28.00s)
--- PASS: TestAccDavinciFlowEnabled_NewEnv (41.76s)
--- PASS: TestAccDavinciFlowEnabled_RemovalDrift (77.95s)
PASS
ok  	github.com/pingidentity/terraform-provider-pingone/internal/service/davinci	78.469s

End-to-end Tests Workflow Links

@henryrecker-pingidentity henryrecker-pingidentity requested a review from a team as a code owner December 4, 2025 21:48
…lse (#1180)

* Implement workaround for boolean false values

* Test creation from scratch with false value

* Relax validation to support importing variables created via UI

Allow string field to be used for all types except secret_string
Copy link
Collaborator

@patrickcping patrickcping left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few things to look at but once they're addressed, LGTM 🚀 🚀

resp.Schema = schema.Schema{
Description: "Resource to deploy a DaVinci flow.",
Attributes: map[string]schema.Attribute{
"environment_id": schema.StringAttribute{
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is framework.Attr_LinkID for consistency

stringvalidator.RegexMatches(regexp.MustCompile("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"), "Must be a valid UUID"),
},
},
"flow_id": schema.StringAttribute{
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may be better as the DV custom type.

stringplanmodifier.RequiresReplace(),
},
},
"id": schema.StringAttribute{
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have framework.Attr_ID for consistency

},
"DeployFlow",
framework.DefaultCustomError,
framework.InsufficientPrivilegeRetryable,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming this is new to the base branch of the PR, this should already be implemented as DefaultCreateReadRetryable

},
"GetFlowById",
framework.CustomErrorResourceNotFoundWarning,
framework.InsufficientPrivilegeRetryable,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above

},
"GetFlowById",
framework.CustomErrorResourceNotFoundWarning,
framework.InsufficientPrivilegeRetryable,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is probably doing the same job as DefaultCreateReadRetryable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants