tree fa543731b2df95fba7a430ff0697859071331f75
parent 884568c6cb8a747f2515864da1f0514b7781688e
author Brian Flad <bflad417@gmail.com> 1705658914 +0100
committer GitHub <noreply@github.com> 1705658914 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJlqkoiCRC1aQ7uu5UhlAAATxcQAEySP/LBVr5ssgAh+jb0VgCq
 vav6/bTuSWD9RN3WNlWnSaEP8MD4l3bdZi5EpwDtS3YKmEHqzoFFmr//FmTmmpPi
 GN7nHgY4DHg2BpCQ7ikYqQdo+psEVguvrQim7pkxVA45TRg6347n3oOCTNr3UCV7
 nQzWYxbhxkMxuxFgDNQTVZYvUZGrnhCgzZxGeIpqQPY2WAAV7T+m19f+NislFLXe
 GDL4FFrTB9bCW2zPOvwGNudgshVJOCdSyQuiDnvVnPOKNMcq/wFswJaa+YFqdeW9
 dnG5UXQ+AbsAiaDR0tUZW+5q2spdp7ZsecuZb8xSD3hM7N8OCR2a5uR7LeO3RoxH
 XXFFRFwzoM3/xQrO9X/RDYjbUvvy3wgX74K+0Bn5nq1ycrDAfjR8XYzSYubwWQYr
 d6m2uCDAbOTL+R2apXt9tSgl/o6hf6fw65a2tyWogab3g2rxHWlgPbttqJ1/DeQb
 ulTN+NcPJAOEatO1AwrAl9P62CTRYmbDXqLIuLPPsO6qt+ZaMQiOYcOEc6pGe20j
 UqHXmv4VpnUUG0RuyC5OOm+BDuJGgLDQKzRY9Mic8W/pJcGu+coSdiroxBUaB+A0
 +GrZ/OnQU/Ugh7mtNoVq+qFYNa6W55rlCnB1Ntt2qn36MBakbHFrB9G95PMgiii0
 1qdsD9fXEDK445za3xAf
 =OyS/
 -----END PGP SIGNATURE-----
 

Initial support for provider-defined functions from providers schema -json (#119)

* Initial support for provider-defined functions from providers schema -json

Reference: https://github.com/hashicorp/terraform-json/issues/118
Reference: https://github.com/hashicorp/terraform/pull/34450

The Terraform `providers schema -json` output implementation currently uses the entire `metadata functions -json` implementation, so has the additional nesting layer containing `format_version` and `function_signatures`.

* Remove extraneous function metadata object