SIGN IN SIGN UP

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