Add Dedicated IPs (#87)
* Regenerate client from current OpenAPI spec Pulls in new types/endpoints added since the last regen (sandboxes, storage, artifactsources; new DeployMode, CacheProfile, EndShellEvent enums; named client.Region replacing inline string; webservice Plan replacing PaidPlan; renamed StreamTaskRunsEventsParamsAccept enum const). Updates the keyvalue, postgres, redis and webservice resources with the small downstream type casts these renames require. No feature changes — pure plumbing to unblock the next commit. * Add render_dedicated_ip resource and data source Exposes Render's Dedicated IP product via Terraform: workspace- or environment-scoped egress IPs that services in the same region route outbound traffic through. CRUD against /dedicated-ips, ImportState passthrough on the egs- ID. Provisioning is asynchronous on the API side. Create polls (up to 15 minutes) until status transitions from CREATING/PENDING to RUNNING so the computed ips attribute is populated when apply returns. Matches the postgres resource's poll-on-create pattern. environment_ids is a Set with a Default(empty set), making omit, null, and [] equivalent and making the attribute strictly TF-authoritative — drift from the dashboard surfaces as a plan diff rather than being silently absorbed into state. Includes acceptance tests covering the create / rename / env-scope toggle / import flow plus a data-source test. Cassettes are recorded against a live Render workspace; see resource_test.go for the re-record command. The underlying REST endpoints are still x-internal in the public OpenAPI; a separate api-repo PR will drop those flags before this lands. * Record cassettes for dedicated IP acceptance tests Recorded against production with the test workspace and a real environment ID (evm-d81pghf7f7vs73bocn1g) for env_scoped.tf. Replay is deterministic; no live credentials needed for re-running. Owner ID and Authorization are scrubbed via the standard testhelpers hooks. * Regenerate client to pick up upstream schema changes Picks up changes landed in api repo master since the previous regen: - envvar.yaml component file (envVars in workflows create endpoint) - ArtifactSource EnvId → Runtime field rename - Other minor type/operation updates across events, webhooks, workflows
T
Tucker Chapin committed
77048740e5d116b83321ef3f6a110b24a00d8b1a
Parent: e757961
Committed by GitHub <noreply@github.com>
on 5/20/2026, 2:44:11 PM