Skip to content

resource/pingone_digital_wallet_application: add export support #115

Description

@samir-gandhi

Resource

Category: Neo (Verify & Credentials)
Definition directory: definitions/pingone/neo/
Short name: digital_wallet_application
Provider docs: https://registry.terraform.io/providers/pingidentity/pingone/latest/docs/resources/digital_wallet_application

Implementation

Follow the new-resource skill (.claude/skills/new-resource/SKILL.md) together with the PingOne supplement (.claude/skills/new-resource-pingone/SKILL.md). Full YAML reference is in contributing/DEVELOPER_HANDBOOK.md.

Phase 1 pre-analysis checklist

  • SDK struct — run go doc github.com/pingidentity/pingone-go-client/pingone <TypeName> and record Go field names (not JSON tags), field types, UUID reference fields, and JSON-encoded blob fields
  • API group — identify which APIClient field owns this resource (see new-resource-pingone supplement for the field table)
  • Pagination pattern — inspect Get<Resources>Execute signature: PagedIterator[T] → iterator pattern; (*CollectionResponse, *http.Response, error) → direct pattern
  • List-then-get — compare list response embedded type vs. single response type; if list returns summaries, handler must call GET per item
  • HAL _links analysis — run go doc ... <Resource>ResponseLinks; non-self/non-environment named links indicate parent resource dependencies; parse Href path segments to extract parent IDs
  • TF provider schema review — identify all writable attributes, Required/Optional/Computed, sensitive fields, import ID format, and any attribute present in TF schema but absent from SDK struct
  • Variable-eligible attributesenvironment_id always; plus secrets, sensitive values, endpoint URLs
  • Cross-resource references — explicit *_id fields and embedded UUIDs inside jsonencode_raw blobs (need EmbeddedReferenceRule)
  • Non-standard behavior — computed-only fields, type mismatches, masked secrets, conditional_defaults, override_value

Phase 2–6 checklist

  • YAML definition at definitions/pingone/neo/digital_wallet_application.yaml passes go run ./tools/validate-definitions definitions/
  • Go handler at internal/platform/pingone/resource_digital_wallet_application.go builds and vets cleanly
  • Unit tests written and passing (make test)
  • Live environment validation (requires credentials — see README)
  • Pre-PR verification: make build && make vet && go fmt ./... && make test && make regression-local

Acceptance criteria

  • Exactly two new files: the YAML definition and the Go handler (no edits to existing files)
  • All unit tests pass
  • RESOURCE_COVERAGE.md updated to ✅ for pingone_digital_wallet_application
  • Changelog entry added

Notes

Likely depends on pingone_application — verify in HAL _links analysis.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneoPingOne Neo (Verify & Credentials) categorynew-resourceAdd export support for a new resource type

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions