Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
cb45fc6
Initial deploy and enabled resources, pending SDK
henryrecker-pingidentity Sep 19, 2025
56ccc67
Remove import support from davinci_flow_deploy
henryrecker-pingidentity Sep 22, 2025
404c254
Add basic flow deploy test
henryrecker-pingidentity Sep 22, 2025
44a228e
Add broken flow test
henryrecker-pingidentity Sep 22, 2025
7fadd85
Add basic flow_enabled test
henryrecker-pingidentity Sep 22, 2025
a661c6f
Merge branch 'GeneratedDVFlowWithDraftClient' into DVFlowEnabledAndDe…
henryrecker-pingidentity Nov 17, 2025
f244c1d
Use real client in deploy and enable endpoints
henryrecker-pingidentity Nov 17, 2025
290a257
Fix flow deploy basic test
henryrecker-pingidentity Nov 17, 2025
b0c45d9
Fixes for test HCL and broken deploy test
henryrecker-pingidentity Nov 17, 2025
3194ada
Fix import for davinci_flow_enabled
henryrecker-pingidentity Nov 17, 2025
e46aaa5
Pass in placeholder post body for deploy
henryrecker-pingidentity Nov 17, 2025
652dc1f
Point to client branch commit
henryrecker-pingidentity Nov 17, 2025
26aaecb
Remove length requirement for some js_links fields
henryrecker-pingidentity Nov 18, 2025
c6111a6
Merge branch 'GeneratedDVFlowWithDraftClient' into DVFlowEnabledAndDe…
henryrecker-pingidentity Dec 1, 2025
1e06905
Mark as beta and fix test PreChecks
henryrecker-pingidentity Dec 1, 2025
e23cd46
Add doc templates and examples
henryrecker-pingidentity Dec 1, 2025
2ee8920
Fix import docs
henryrecker-pingidentity Dec 1, 2025
8760e24
Beta: Implement workaround to allow setting davinci boolean var to fa…
henryrecker-pingidentity Dec 15, 2025
ee5557f
Fix test method name
henryrecker-pingidentity Dec 16, 2025
a3ea41d
Delete NewEnv test
henryrecker-pingidentity Dec 16, 2025
6a1e031
Remove retry logic for enabled
henryrecker-pingidentity Dec 16, 2025
430474f
Add triage label
henryrecker-pingidentity Dec 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions betatemplates/resources/davinci_flow_deploy.md.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
page_title: "{{.Name}} {{.Type}} - {{.RenderedProviderName}}"
subcategory: "DaVinci"
description: |-
{{ .Description | plainmarkdown | trimspace | prefixlines " " }}
---

# {{.Name}} ({{.Type}})

{{ .Description | trimspace }}

{{ if .HasExample -}}
## Example Usage

{{ tffile (printf "%s%s%s" "examples/resources/" .Name "/resource.tf") }}
{{- end }}

{{ .SchemaMarkdown | trimspace }}

{{ if .HasImport -}}
## Import

Import is supported using the following syntax, where attributes in `<>` brackets are replaced with the relevant ID. For example, `<environment_id>` should be replaced with the ID of the environment to import from.

{{ codefile "shell" (printf "%s%s%s" "examples/resources/" .Name "/import.sh") }}
{{- end }}
26 changes: 26 additions & 0 deletions betatemplates/resources/davinci_flow_enabled.md.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
page_title: "{{.Name}} {{.Type}} - {{.RenderedProviderName}}"
subcategory: "DaVinci"
description: |-
{{ .Description | plainmarkdown | trimspace | prefixlines " " }}
---

# {{.Name}} ({{.Type}})

{{ .Description | trimspace }}

{{ if .HasExample -}}
## Example Usage

{{ tffile (printf "%s%s%s" "examples/resources/" .Name "/resource.tf") }}
{{- end }}

{{ .SchemaMarkdown | trimspace }}

{{ if .HasImport -}}
## Import

Import is supported using the following syntax, where attributes in `<>` brackets are replaced with the relevant ID. For example, `<environment_id>` should be replaced with the ID of the environment to import from.

{{ codefile "shell" (printf "%s%s%s" "examples/resources/" .Name "/import.sh") }}
{{- end }}
84 changes: 84 additions & 0 deletions examples/resources/pingone_davinci_flow_deploy/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
resource "pingone_davinci_connector_instance" "example-errors" {
environment_id = var.environment_id
connector = {
id = "errorConnector"
}
name = "example-errors"
}

resource "pingone_davinci_flow" "example" {
environment_id = var.environment_id
description = "A simple flow that shows an error message"
name = "simple"
settings = {
csp = "worker-src 'self' blob:; script-src 'self' https://cdn.jsdelivr.net https://code.jquery.com https://devsdk.singularkey.com http://cdnjs.cloudflare.com 'unsafe-inline' 'unsafe-eval';"
intermediate_loading_screen_css = ""
intermediate_loading_screen_html = ""
flow_http_timeout_in_seconds = 300
log_level = 1
use_custom_css = true
}
color = "#FFC8C1"
graph_data = {
elements = {
nodes = [
{
data = {
id = "2pzouq7el7"
node_type = "CONNECTION"
connection_id = pingone_davinci_connector_instance.example-errors.id
connector_id = "errorConnector"
label = "Error Message"
status = "configured"
capability_name = "customErrorMessage"
type = "action"
properties = jsonencode({
"error_message" : {
"value" : "[\n {\n \"children\": [\n {\n \"text\": \"This is an error\"\n }\n ]\n }\n]"
},
"error_description" : {
"value" : "[\n {\n \"children\": [\n {\n \"text\": \"This is an error, really\"\n }\n ]\n }\n]"
}
})
}
position = {
x = 400
y = 400
}
group = "nodes"
removed = false
selected = false
selectable = true
locked = false
grabbable = true
pannable = false
classes = ""
}
]
}

zooming_enabled = true
user_zooming_enabled = true
zoom = 1
min_zoom = 1e-50
max_zoom = 1e+50
panning_enabled = true
user_panning_enabled = true
pan = {
x = 0
y = 0
}
box_selection_enabled = true
renderer = jsonencode({
"name" : "null"
})
}
}

resource "pingone_davinci_flow_deploy" "example" {
environment_id = var.environment_id
flow_id = pingone_davinci_flow.example.id
deploy_trigger_values = {
"trigger" = "initial"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
terraform import pingone_davinci_flow_enabled.example <environment_id>/<flow_id>
82 changes: 82 additions & 0 deletions examples/resources/pingone_davinci_flow_enabled/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
resource "pingone_davinci_connector_instance" "example-errors" {
environment_id = var.environment_id
connector = {
id = "errorConnector"
}
name = "example-errors"
}

resource "pingone_davinci_flow" "example" {
environment_id = var.environment_id
description = "A simple flow that shows an error message"
name = "simple"
settings = {
csp = "worker-src 'self' blob:; script-src 'self' https://cdn.jsdelivr.net https://code.jquery.com https://devsdk.singularkey.com http://cdnjs.cloudflare.com 'unsafe-inline' 'unsafe-eval';"
intermediate_loading_screen_css = ""
intermediate_loading_screen_html = ""
flow_http_timeout_in_seconds = 300
log_level = 1
use_custom_css = true
}
color = "#FFC8C1"
graph_data = {
elements = {
nodes = [
{
data = {
id = "2pzouq7el7"
node_type = "CONNECTION"
connection_id = pingone_davinci_connector_instance.example-errors.id
connector_id = "errorConnector"
label = "Error Message"
status = "configured"
capability_name = "customErrorMessage"
type = "action"
properties = jsonencode({
"error_message" : {
"value" : "[\n {\n \"children\": [\n {\n \"text\": \"This is an error\"\n }\n ]\n }\n]"
},
"error_description" : {
"value" : "[\n {\n \"children\": [\n {\n \"text\": \"This is an error, really\"\n }\n ]\n }\n]"
}
})
}
position = {
x = 400
y = 400
}
group = "nodes"
removed = false
selected = false
selectable = true
locked = false
grabbable = true
pannable = false
classes = ""
}
]
}

zooming_enabled = true
user_zooming_enabled = true
zoom = 1
min_zoom = 1e-50
max_zoom = 1e+50
panning_enabled = true
user_panning_enabled = true
pan = {
x = 0
y = 0
}
box_selection_enabled = true
renderer = jsonencode({
"name" : "null"
})
}
}

resource "pingone_davinci_flow_enabled" "example" {
environment_id = var.environment_id
flow_id = pingone_davinci_flow.example.id
enabled = true
}
Loading