使用azapi_resource_action生成密钥后输出公钥遇参数错误求助
解决AzAPI执行generateKeyPair后输出公钥的参数错误问题
错误原因
错误提示明确指出azapi_resource_action.ssh_public_key_gen.output是包含2个属性的对象,但你调用jsondecode()时传入了对象而非字符串——jsondecode()仅接受字符串参数,这就是问题根源。
AzAPI Provider的azapi_resource_action资源在设置response_export_values后,会自动将接口返回的JSON解析为Terraform对象,无需手动再做JSON解码操作。
修正代码
直接访问output对象的publicKey属性即可:
output "key_data" { value = azapi_resource_action.ssh_public_key_gen.output.publicKey }
额外建议
如果需要输出私钥,同样直接访问属性即可,同时建议将私钥标记为敏感信息避免泄露:
output "private_key_data" { value = azapi_resource_action.ssh_public_key_gen.output.privateKey sensitive = true }
内容的提问来源于stack exchange,提问作者cekodis681 cekodis681
相关产品推荐
相关产品推荐

