iwarapter / terraform-provider-pingfederate

Ping Federate Terraform Provider
https://registry.terraform.io/providers/iwarapter/pingfederate/latest/docs
MIT License
17 stars 7 forks source link

Error: pingfederate_oauth_access_token_mappings>custom_attribute_source>data_store_ref>id is not found #268

Closed Vasista-Eranki closed 1 year ago

Vasista-Eranki commented 1 year ago

Community Note

Terraform Version

Affected Resource(s)

Terraform Configuration Files

# Copy-paste your Terraform configurations here

resource "pingfederate_ldap_data_store" "hxgn_ldap" {
  name             = "terraform_ldap"
  ldap_type        = "ACTIVE_DIRECTORY"
  hostnames        = ["127.0.0.1"]
  bind_anonymously = true
  user_dn         = "abc"
  password        = "abc"
  min_connections = 10
  max_connections = 100
}

resource "pingfederate_oauth_access_token_mappings" "oauth_access_token_mappings" {
  access_token_manager_ref {
    id = pingfederate_oauth_access_token_manager.oauth_access_token_mgr.id
  }

  custom_attribute_source {
    data_store_ref {
      id = pingfederate_ldap_data_store.hxgn_ldap.data_store_id
    }

    filter_fields {
      name  = "Type"
      value = "LDAP"
    }
}
}

image

pingfederate_ldap_data_store.hxgn_ldap.data_store_id

Debug Output

pingfederate_oauth_access_token_mappings.oauth_access_token_mappings: Creating... 2023-03-03T19:18:41.617+0530 [INFO] Starting apply for pingfederate_oauth_access_token_mappings.oauth_access_token_mappings 2023-03-03T19:18:41.621+0530 [DEBUG] pingfederate_oauth_access_token_mappings.oauth_access_token_mappings: applying the planned Create change 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: 2023/03/03 19:18:41 DEBUG: Request OauthAccessTokenMappings/CreateMapping: 442d52e1-1c89-4f5a-aafa-883c93ea5dcb 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: ---[ REQUEST ]-------------------------------------- 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: POST /pf-admin-api/v1/oauth/accessTokenMappings HTTP/1.1 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: Host: 20.56.27.108:9999 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: Authorization: **** 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: Content-Type: application/json 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: User-Agent: pingfederate-sdk-go/10.3.1.0 (go1.19.5; windows; amd64) 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: X-Bypassexternalvalidation: false 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: X-Xsrf-Header: pingfederate 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: {"accessTokenManagerRef":{"id":"terraformvetfatm"},"attributeContractFulfillment":{"email":{"source":{"type":"AUTHENTICATION_POLICY_CONTRACT"},"value":"email"},"ingr.session_id":{"source":{"type":"EXPRESSION"},"value":"#today = new java.util.Date(),\n#datetime = @java.lang.String@format(\"%1$$tY%1$$tm%1$$td%1$$tH%1$$tM%1$$ts\",#today)"},"name":{"source":{"type":"AUTHENTICATION_POLICY_CONTRACT"},"value":"email"},"profile":{"source":{"type":"AUTHENTICATION_POLICY_CONTRACT"},"value":"email"},"sub":{"source":{"id":"email1","type":"LDAP_DATA_STORE"},"value":"sAMAccountName"}},"attributeSources":[{"filterFields":[{"name":"Type","value":"LDAP"},{"name":"id","value":"email1"},{"name":"description","value":"email1"},{"name":"baseDn","value":"OU=Users,OU=Customers,DC=test.pinfged.com,DC=net"},{"name":"searchScope","value":"SUBTREE"},{"name":"searchFilter","value":"mail=${USER_KEY}"}],"dataStoreRef":{"id":"LDAP-A29272D35E384FF8263453D0A453B138C066A822"},"description":"","id":"","type":"CUSTOM"}],"context":{"contextRef":{"id":"BjWaxhoe9tQrpX8S"},"type":"AUTHENTICATION_POLICY_CONTRACT"},"id":""} 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: 2023-03-03T19:18:41.625+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: ----------------------------------------------------- 2023-03-03T19:18:41.795+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: 2023/03/03 19:18:41 DEBUG: Response OauthAccessTokenMappings/CreateMapping: 442d52e1-1c89-4f5a-aafa-883c93ea5dcb 2023-03-03T19:18:41.795+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: ---[ RESPONSE ]-------------------------------------- 2023-03-03T19:18:41.795+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: HTTP/2.0 422 Unprocessable Entity 2023-03-03T19:18:41.795+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: Connection: close 2023-03-03T19:18:41.795+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: Cache-Control: no-cache, no-store 2023-03-03T19:18:41.795+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: Content-Type: application/json 2023-03-03T19:18:41.796+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: Date: Fri, 03 Mar 2023 13:48:41 GMT 2023-03-03T19:18:41.796+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: Expires: 0 2023-03-03T19:18:41.796+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: Pragma: no-cache 2023-03-03T19:18:41.796+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: X-Frame-Options: SAMEORIGIN 2023-03-03T19:18:41.796+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: 2023-03-03T19:18:41.796+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: {"resultId":"validation_error","message":"Validation error(s) occurred. Please review the error(s) and address accordingly.","validationErrors":[{"message":"The data store with ID 'LDAP-A29272D35E384FF8263453D0A453B138C066A822' is not found. Please specify a recognized data store ID.","fieldPath":"attributeSources[0].dataStoreRef.id","errorId":"data_store_not_found"}]} 2023-03-03T19:18:41.796+0530 [DEBUG] provider.terraform-provider-pingfederate_v0.1.1.exe: ----------------------------------------------------- 2023-03-03T19:18:41.796+0530 [ERROR] provider.terraform-provider-pingfederate_v0.1.1.exe: Response contains error diagnostic: diagnostic_detail= diagnostic_severity=ERROR diagnostic_summary="unable to create OauthAccessTokenMappings: Validation error(s) occurred. Please review the error(s) and address accordingly. The data store with ID 'LDAP-A29272D35E384FF8263453D0A453B138C066A822' is not found. Please specify a recognized data store ID." tf_proto_version=6.3 tf_provider_addr=registry.terraform.io/iwarapter/pingfederate tf_req_id=2aef47b8-a38c-d035-0913-88f6694e0e4a @caller=github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov6/internal/diag/diagnostics.go:55 @module=sdk.proto tf_resource_type=pingfederate_oauth_access_token_mappings tf_rpc=ApplyResourceChange timestamp=2023-03-03T19:18:41.795+0530 2023-03-03T19:18:41.798+0530 [ERROR] vertex "pingfederate_oauth_access_token_mappings.oauth_access_token_mappings" error: unable to create OauthAccessTokenMappings: Validation error(s) occurred. Please review the error(s) and address accordingly. The data store with ID 'LDAP-A29272D35E384FF8263453D0A453B138C066A822' is not found. Please specify a recognized data store ID. ╷ │ Error: unable to create OauthAccessTokenMappings: Validation error(s) occurred. Please review the error(s) and address accordingly. │ The data store with ID 'LDAP-A29272D35E384FF8263453D0A453B138C066A822' is not found. Please specify a recognized data store ID. │ │ with pingfederate_oauth_access_token_mappings.oauth_access_token_mappings, │ on main.tf line 281, in resource "pingfederate_oauth_access_token_mappings" "oauth_access_token_mappings": │ 281: resource "pingfederate_oauth_access_token_mappings" "oauth_access_token_mappings" { │ ╵ 2023-03-03T19:18:41.810+0530 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF" 2023-03-03T19:18:41.830+0530 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/iwarapter/pingfederate/0.1.1/windows_amd64/terraform-provider-pingfederate_v0.1.1.exe pid=83484 2023-03-03T19:18:41.830+0530 [DEBUG] provider: plugin exited

Panic Output

The data store with ID 'LDAP-A29272D35E384FF8263453D0A453B138C066A822' is not found. Please specify a recognized data store ID. ╷ │ Error: unable to create OauthAccessTokenMappings: Validation error(s) occurred. Please review the error(s) and address accordingly. │ The data store with ID 'LDAP-A29272D35E384FF8263453D0A453B138C066A822' is not found. Please specify a recognized data store ID. │ │ with pingfederate_oauth_access_token_mappings.oauth_access_token_mappings, │ on main.tf line 281, in resource "pingfederate_oauth_access_token_mappings" "oauth_access_token_mappings": │ 281: resource "pingfederate_oauth_access_token_mappings" "oauth_access_token_mappings" { │ ╵ 2023-03-03T19:18:41.810+0530 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF" 2023-03-03T19:18:41.830+0530 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/iwarapter/pingfederate/0.1.1/windows_amd64/terraform-provider-pingfederate_v0.1.1.exe pid=83484

image

Expected Behavior

Create the mappings as in plan as the data store id is a valid one.

Actual Behavior

Errored even with a valid data store id provided.

Steps to Reproduce

  1. terraform apply

Important Factoids

References

iwarapter commented 1 year ago

you probably want ldap_attribute_source not custom_attribute_source

See https://registry.terraform.io/providers/iwarapter/pingfederate/latest/docs/resources/oauth_access_token_mappings

Vasista-Eranki commented 1 year ago

you probably want ldap_attribute_source not custom_attribute_source

See https://registry.terraform.io/providers/iwarapter/pingfederate/latest/docs/resources/oauth_access_token_mappings

it worked. Thanks :)