So I’m seeing a very odd bug with the webrtc phone config resource in terraform. we are automating softphone provisioning for agents via github actions. every time we run plan/apply it shows a drift on the settings block even though the api returns identical json. the provider keeps trying to update the always_on and ringtone_url fields.
here is the resource:
terraform {
required_providers {
genesyscloud = {
source = "mygenesys/genesyscloud"
version = "1.52.0"
}
}
}
resource "genesyscloud_webrtc_phone_config" "agent_softphone" {
name = "standard_agent_webrtc"
description = "default webrtc config"
settings {
always_on = true
ringtone_url = "https://example.com/ring.wav"
mute_on_answer = false
}
}
the error output from terraform plan:
Terraform will perform the following actions:
# genesyscloud_webrtc_phone_config.agent_softphone will be updated in-place
~ resource "genesyscloud_webrtc_phone_config" "agent_softphone" {
id = "abc-123-def"
~ settings {
~ always_on = true -> true
~ ringtone_url = "https://example.com/ring.wav" -> "https://example.com/ring.wav"
}
}
no actual change is being made but the plan never converges. if i run apply it says “1 changed, added 0, destroyed 0” but then the next plan shows the same diff.
i checked the api response directly via postman using the same bearer token. the response body matches the terraform state exactly. is this a known issue with the custom type handling in the webrtc resource? or is there a hidden field causing the hash mismatch?
running this in ap-southeast-2 region. any ideas on how to ignore this specific drift or fix the provider logic? currently blocking our nightly deployment pipeline.