infrawrench-sdk 1.74.0 → 1.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.74.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.75.0 | MIT | Copyright (c) 2026 Infrawrench LLC
4
4
  # https://github.com/Infrawrench/Infrawrench
5
5
  #
6
- # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.74.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.75.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -28,9 +28,9 @@ module Infrawrench
28
28
  # WebSocket gateway, chat, MCP tools). Two rules are enforced here and
29
29
  # cannot be bypassed: you cannot decide your own request (403
30
30
  # `self_approval`), and you cannot grant a permission you do not hold
31
- # yourself (403 `exceeds_approver`) — denying something aimed higher than
32
- # you is allowed. Deciding a request that has already been decided or has
33
- # timed out is a 409. Audit-logged.
31
+ # yourself (403 `exceeds_approver`): denying something aimed higher than you
32
+ # is allowed. Deciding a request that has already been decided or has timed
33
+ # out is a 409. Audit-logged.
34
34
  #
35
35
  # _Requires permission: `access:approve`._
36
36
  #
@@ -91,7 +91,7 @@ module Infrawrench
91
91
  #
92
92
  # Ask for specific permissions, for a specific number of minutes, with a
93
93
  # reason. Rejected with 400 when the caller's role already grants every
94
- # permission asked for — that is almost always a wrong permission string
94
+ # permission asked for; that is almost always a wrong permission string
95
95
  # rather than a real request. Fans out to push, Slack (with Approve/Deny
96
96
  # buttons) and Microsoft Teams under the Pages opt-in. Audit-logged.
97
97
  #
@@ -121,7 +121,7 @@ module Infrawrench
121
121
  #
122
122
  # Records the refusal. Two rules are enforced here and cannot be bypassed:
123
123
  # you cannot decide your own request (403 `self_approval`), and you cannot
124
- # grant a permission you do not hold yourself (403 `exceeds_approver`) —
124
+ # grant a permission you do not hold yourself (403 `exceeds_approver`):
125
125
  # denying something aimed higher than you is allowed. Deciding a request
126
126
  # that has already been decided or has timed out is a 409. Audit-logged.
127
127
  #
@@ -190,7 +190,7 @@ module Infrawrench
190
190
 
191
191
  # End a live elevation early
192
192
  #
193
- # Allowed for anyone with `access:approve` and for the holder — giving back
193
+ # Allowed for anyone with `access:approve` and for the holder; giving back
194
194
  # an elevation you no longer need must never require finding an approver.
195
195
  # Applies from the next permission resolution; nothing is cached.
196
196
  # Audit-logged.
@@ -256,7 +256,7 @@ module Infrawrench
256
256
 
257
257
  # Dismiss an access review finding
258
258
  #
259
- # Accept a finding — that break-glass role really is meant to be admin, that
259
+ # Accept a finding; that break-glass role really is meant to be admin, that
260
260
  # shared key really is rotated out of band. The finding leaves `findings`
261
261
  # and stops feeding the security alerts, but the rule keeps being evaluated
262
262
  # and the finding is reported back under `dismissed` for as long as it still
@@ -379,7 +379,7 @@ module Infrawrench
379
379
  # budget their plugin declares, carrying no recorded owner, or signing in
380
380
  # without a second factor.
381
381
  #
382
- # This is about principals in **your** clouds — it is neither your
382
+ # This is about principals in **your** clouds; it is neither your
383
383
  # Infrawrench team's roles (`/team`) nor the credentials Infrawrench stores
384
384
  # for you (`/credential-hygiene`).
385
385
  #
@@ -423,7 +423,7 @@ module Infrawrench
423
423
 
424
424
  # Fetch the decrypted credentials for an account
425
425
  #
426
- # Returns the credentials map as it was originally submitted. Sensitive —
426
+ # Returns the credentials map as it was originally submitted. Sensitive:
427
427
  # gate access carefully.
428
428
  #
429
429
  # _Requires permission: `secrets:read`._
@@ -554,7 +554,7 @@ module Infrawrench
554
554
  # Probe credentials before creating an account
555
555
  #
556
556
  # Runs the plugin's per-capability permission checks against the submitted
557
- # credentials. Nothing is stored — use it from the add-account flow before
557
+ # credentials. Nothing is stored; use it from the add-account flow before
558
558
  # committing.
559
559
  #
560
560
  # _Requires permission: `accounts:write`._
@@ -675,7 +675,7 @@ module Infrawrench
675
675
  #
676
676
  # Raises on 400: Bad request
677
677
  #
678
- # Raises on 402: Payment required — the organization's plan does not include
678
+ # Raises on 402: Payment required: the organization's plan does not include
679
679
  # this
680
680
  #
681
681
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
@@ -995,7 +995,7 @@ module Infrawrench
995
995
 
996
996
  # Open an anonymous registration and a 24-hour trial workspace
997
997
  #
998
- # Requires no authentication — this is how a client with no credentials gets
998
+ # Requires no authentication; this is how a client with no credentials gets
999
999
  # one. Rate limited per source address. The workspace it opens is deleted 24
1000
1000
  # hours later unless a person completes the claim ceremony.
1001
1001
  #
@@ -1073,7 +1073,7 @@ module Infrawrench
1073
1073
  #
1074
1074
  # Raises on 401: Unauthenticated
1075
1075
  #
1076
- # Raises on 402: Payment required — the organization's plan does not include
1076
+ # Raises on 402: Payment required: the organization's plan does not include
1077
1077
  # this
1078
1078
  #
1079
1079
  # Raises on 403: Forbidden
@@ -1112,7 +1112,7 @@ module Infrawrench
1112
1112
  #
1113
1113
  # Raises on 401: Unauthenticated
1114
1114
  #
1115
- # Raises on 402: Payment required — the organization's plan does not include
1115
+ # Raises on 402: Payment required: the organization's plan does not include
1116
1116
  # this
1117
1117
  #
1118
1118
  # Raises on 403: Forbidden
@@ -2034,10 +2034,10 @@ module Infrawrench
2034
2034
 
2035
2035
  # Replace the organization's alert routing rules
2036
2036
  #
2037
- # Whole-list replacement in one transaction. Order is part of the meaning —
2038
- # a rule is only correct relative to the ones above it — so a reorder
2039
- # applied as several requests would leave a window in which alerts route
2040
- # somewhere nobody asked for. Positions are re-derived from array order.
2037
+ # Whole-list replacement in one transaction. Order is part of the meaning (a
2038
+ # rule is only correct relative to the ones above it) so a reorder applied
2039
+ # as several requests would leave a window in which alerts route somewhere
2040
+ # nobody asked for. Positions are re-derived from array order.
2041
2041
  #
2042
2042
  # PUT /api/org/{orgId}/alert-rules
2043
2043
  #
@@ -2162,7 +2162,7 @@ module Infrawrench
2162
2162
  #
2163
2163
  # Runs a read-only shell probe over SSH and reports what the host is
2164
2164
  # missing, plus the packages and commands that would fix it. A POST because
2165
- # it opens a connection to the named host and must never be cached — its
2165
+ # it opens a connection to the named host and must never be cached; its
2166
2166
  # whole value is saying what the host is now.
2167
2167
  #
2168
2168
  # POST /api/org/{orgId}/apps/check
@@ -2195,7 +2195,7 @@ module Infrawrench
2195
2195
  #
2196
2196
  # Installs the named requirements using the host's own package manager, then
2197
2197
  # re-probes and reports what the host now is. Takes requirement ids, never
2198
- # commands — the commands are derived server-side from a fresh probe. Needs
2198
+ # commands; the commands are derived server-side from a fresh probe. Needs
2199
2199
  # root or passwordless sudo on the host, respects change freezes, and is
2200
2200
  # audited as `linux_app.host_setup`.
2201
2201
  #
@@ -2438,7 +2438,7 @@ module Infrawrench
2438
2438
  # Record a restore drill
2439
2439
  #
2440
2440
  # A `verified` drill **must** carry the measured time: an RPO comes from the
2441
- # backup, and an RTO can only come from somebody with a stopwatch — that
2441
+ # backup, and an RTO can only come from somebody with a stopwatch; that
2442
2442
  # number is the entire point of the exercise. A `blocked` drill must not
2443
2443
  # carry one, because it never started.
2444
2444
  #
@@ -2468,7 +2468,7 @@ module Infrawrench
2468
2468
 
2469
2469
  # Delete a recorded drill
2470
2470
  #
2471
- # For one recorded against the wrong resource or the wrong date. Audited —
2471
+ # For one recorded against the wrong resource or the wrong date. Audited:
2472
2472
  # deleting evidence that a restore failed is exactly the edit a reviewer
2473
2473
  # would want to know about.
2474
2474
  #
@@ -2495,7 +2495,7 @@ module Infrawrench
2495
2495
  # Where every protected resource stands on restore
2496
2496
  #
2497
2497
  # Backup coverage answers 'is there a backup'. This answers 'does it
2498
- # restore, and how long does it take' — a different question, and the one
2498
+ # restore, and how long does it take'; a different question, and the one
2499
2499
  # routinely answered wrongly on the day.
2500
2500
  #
2501
2501
  # A drill is a **record that somebody tried**, not an automated restore:
@@ -2556,8 +2556,8 @@ module Infrawrench
2556
2556
 
2557
2557
  # Create a backup policy
2558
2558
  #
2559
- # A policy must demand at least one of `maxRpoHours` and `minRetentionDays`
2560
- # — one that demands nothing could never produce a finding and would read as
2559
+ # A policy must demand at least one of `maxRpoHours` and `minRetentionDays`:
2560
+ # one that demands nothing could never produce a finding and would read as
2561
2561
  # protection while providing none. An empty `resourceTypeIds` selects every
2562
2562
  # stateful resource type.
2563
2563
  #
@@ -2681,7 +2681,7 @@ module Infrawrench
2681
2681
  # What protects the organization's stateful resources, what does not, and
2682
2682
  # which backups protect nothing. Derived from already-synced inventory using
2683
2683
  # the `backupRole` and `backupPolicy` declarations plugins carry on their
2684
- # resource types — no provider API calls are made and results reflect the
2684
+ # resource types; no provider API calls are made and results reflect the
2685
2685
  # last sync. Findings are recomputed on every read rather than stored.
2686
2686
  # Orphaned backups carry a trailing-30-day spend quote when billing data is
2687
2687
  # available.
@@ -2737,7 +2737,7 @@ module Infrawrench
2737
2737
  )
2738
2738
  end
2739
2739
 
2740
- # Revoke a bastion — accounts referencing it have their bastion binding
2740
+ # Revoke a bastion; accounts referencing it have their bastion binding
2741
2741
  # cleared
2742
2742
  #
2743
2743
  # _Requires permission: `bastions:write`._
@@ -2796,7 +2796,7 @@ module Infrawrench
2796
2796
  # A capacity slot is one seat bought outright for a fixed term instead of
2797
2797
  # rented monthly, and it grants paid-plan access on its own. This is a
2798
2798
  # one-time payment, so the seats are granted by the
2799
- # `checkout.session.completed` webhook once Stripe confirms the payment — a
2799
+ # `checkout.session.completed` webhook once Stripe confirms the payment; a
2800
2800
  # 200 here only means the buyer was sent to a payment page. Rejected with
2801
2801
  # 400 for complimentary organizations, and 503 when the deployment has no
2802
2802
  # one-time capacity price configured.
@@ -2840,7 +2840,7 @@ module Infrawrench
2840
2840
 
2841
2841
  # Start a Stripe Checkout session
2842
2842
  #
2843
- # Rejected with 400 for complimentary organizations — they are never billed.
2843
+ # Rejected with 400 for complimentary organizations; they are never billed.
2844
2844
  #
2845
2845
  # _Requires permission: `billing:write`._
2846
2846
  #
@@ -2997,8 +2997,8 @@ module Infrawrench
2997
2997
 
2998
2998
  # List billing rules in evaluation order
2999
2999
  #
3000
- # Billing rules are the organisation's own adjustments to collected spend —
3001
- # a markup that recovers shared overhead, a discount negotiated outside the
3000
+ # Billing rules are the organisation's own adjustments to collected spend; a
3001
+ # markup that recovers shared overhead, a discount negotiated outside the
3002
3002
  # provider's pricing, a shared cluster reallocated onto the teams that use
3003
3003
  # it.
3004
3004
  #
@@ -3090,7 +3090,7 @@ module Infrawrench
3090
3090
 
3091
3091
  # Update a billing rule
3092
3092
  #
3093
- # A full replace, `enabled` included — switching a markup off is an edit of
3093
+ # A full replace, `enabled` included; switching a markup off is an edit of
3094
3094
  # the rule, so there is one audited action for “this rule changed” rather
3095
3095
  # than two.
3096
3096
  #
@@ -3579,7 +3579,7 @@ module Infrawrench
3579
3579
  # accumulating**, which is what makes a nightly job safe to retry. Nothing
3580
3580
  # lands unless the whole batch validates, so a bad row is a 400 rather than
3581
3581
  # half a month restated. The same guarantees back
3582
- # `infra.businessMetrics.write(...)` in a workflow — both go through one
3582
+ # `infra.businessMetrics.write(...)` in a workflow; both go through one
3583
3583
  # validator.
3584
3584
  #
3585
3585
  # _Requires permission: `costs:write`._
@@ -3657,7 +3657,7 @@ module Infrawrench
3657
3657
 
3658
3658
  # Create a business metric
3659
3659
  #
3660
- # Keys must be unique per organization among live metrics — they are how
3660
+ # Keys must be unique per organization among live metrics; they are how
3661
3661
  # workflows and the CLI address the metric. A key collision is a 409.
3662
3662
  #
3663
3663
  # _Requires permission: `costs:write`._
@@ -3829,7 +3829,7 @@ module Infrawrench
3829
3829
  # answer are worth knowing before reading it:
3830
3830
  #
3831
3831
  # - **The ratio is computed at the requested bucket**, from a summed
3832
- # numerator and a summed denominator — never a mean of daily ratios, which
3832
+ # numerator and a summed denominator: never a mean of daily ratios, which
3833
3833
  # weights a quiet day as heavily as a peak one. The same holds for
3834
3834
  # `overallValue`.
3835
3835
  # - **A missing or non-positive denominator is a gap** (`value: null` with a
@@ -3871,8 +3871,8 @@ module Infrawrench
3871
3871
 
3872
3872
  # Update a business metric
3873
3873
  #
3874
- # Replaces the whole definition. Changing `key` never orphans history —
3875
- # values are keyed on the metric's id — but it does break a workflow still
3874
+ # Replaces the whole definition. Changing `key` never orphans history
3875
+ # (values are keyed on the metric's id) but it does break a workflow still
3876
3876
  # writing to the old key, which is why the key is separate from the display
3877
3877
  # name in the first place.
3878
3878
  #
@@ -3967,7 +3967,7 @@ module Infrawrench
3967
3967
  #
3968
3968
  # Returns the only copy of the feed URL. The token in it is 32 random bytes,
3969
3969
  # stored as a SHA-256 hash, and is the sole credential on a route that runs
3970
- # outside every auth layer — treat the URL as a secret. The URL deliberately
3970
+ # outside every auth layer; treat the URL as a secret. The URL deliberately
3971
3971
  # contains no organization id.
3972
3972
  #
3973
3973
  # An organization may hold 25 live subscriptions; revoking makes room.
@@ -4020,7 +4020,7 @@ module Infrawrench
4020
4020
 
4021
4021
  # List the organization's iCalendar subscriptions
4022
4022
  #
4023
- # Feed URLs that have been minted, including revoked ones — a revoked row is
4023
+ # Feed URLs that have been minted, including revoked ones; a revoked row is
4024
4024
  # kept so the audit trail still resolves. The token itself is never
4025
4025
  # returned.
4026
4026
  #
@@ -4059,7 +4059,7 @@ module Infrawrench
4059
4059
  # One time axis over six things the organization already stores: change
4060
4060
  # freezes, sleep/wake schedules, declared deadlines (certificates, domains,
4061
4061
  # keys and resource leases), commitment term ends, cron-triggered workflow
4062
- # runs, and declared incidents. Nothing here is a new record — the calendar
4062
+ # runs, and declared incidents. Nothing here is a new record; the calendar
4063
4063
  # is recomputed on every read, exactly as posture findings and backup
4064
4064
  # coverage are.
4065
4065
  #
@@ -4324,7 +4324,7 @@ module Infrawrench
4324
4324
  # `cooldownMinutes`, covering every change since the previous one. These
4325
4325
  # settings decide which changes count and how often a message may go out.
4326
4326
  # Who receives it is the `resourceDrift` opt-in on push preferences, Slack
4327
- # channels and Teams webhooks — off by default on all three.
4327
+ # channels and Teams webhooks; off by default on all three.
4328
4328
  #
4329
4329
  # GET /api/org/{orgId}/changes/alert-settings
4330
4330
  #
@@ -4383,7 +4383,7 @@ module Infrawrench
4383
4383
  # Revert one change event
4384
4384
  #
4385
4385
  # Applies the inverse patch through the plugin's ordinary `updateResource`
4386
- # path — the same call the Edit form makes — and only for the fields the dry
4386
+ # path (the same call the Edit form makes) and only for the fields the dry
4387
4387
  # run marked `revertible`.
4388
4388
  #
4389
4389
  # The plan is rebuilt against a fresh live read immediately before the
@@ -4409,14 +4409,14 @@ module Infrawrench
4409
4409
  #
4410
4410
  # The claim carries an owner token, and every write that ends a revert is
4411
4411
  # fenced on it. An attempt whose provider call outlives the lease can
4412
- # therefore neither release nor complete the claim that replaced it — it
4413
- # gets `409` with `appliedFields` naming what it did write, so the caller
4414
- # can reconcile rather than assume. Two attempts can overlap in that case,
4415
- # but they cannot disagree: both invert the same recorded event to the same
4412
+ # therefore neither release nor complete the claim that replaced it; it gets
4413
+ # `409` with `appliedFields` naming what it did write, so the caller can
4414
+ # reconcile rather than assume. Two attempts can overlap in that case, but
4415
+ # they cannot disagree: both invert the same recorded event to the same
4416
4416
  # values, so the second one's patch is a subset of the first's.
4417
4417
  #
4418
4418
  # If a write reaches the provider but recording it fails, the response is
4419
- # `500` with `appliedFields` — the resource moved and the timeline has not
4419
+ # `500` with `appliedFields`: the resource moved and the timeline has not
4420
4420
  # caught up. The claim is deliberately held in that case, and the next
4421
4421
  # attempt after the lease expires finds every field already back and records
4422
4422
  # the revert without touching the provider again, answering `200` with
@@ -4428,13 +4428,13 @@ module Infrawrench
4428
4428
  # Blocked with `423` while an org change freeze is in effect. Every attempt
4429
4429
  # whose write reached the provider is audit-logged as
4430
4430
  # `resource.change_revert`, including one that lost its claim or could not
4431
- # record — the entry's `outcome` is `recorded`, `superseded`, `unrecorded`
4432
- # or `reconciled`, so a contested outcome reads as one mutation rather than
4433
- # as several reverts. An attempt that neither wrote nor recorded anything
4434
- # logs nothing. Attribution is best-effort: no transaction spans a
4435
- # third-party cloud API and Infrawrench's database, so if the audit insert
4436
- # itself fails the response carries `auditRecorded: false` and the details
4437
- # go to the server log rather than being silently dropped.
4431
+ # record; the entry's `outcome` is `recorded`, `superseded`, `unrecorded` or
4432
+ # `reconciled`, so a contested outcome reads as one mutation rather than as
4433
+ # several reverts. An attempt that neither wrote nor recorded anything logs
4434
+ # nothing. Attribution is best-effort: no transaction spans a third-party
4435
+ # cloud API and Infrawrench's database, so if the audit insert itself fails
4436
+ # the response carries `auditRecorded: false` and the details go to the
4437
+ # server log rather than being silently dropped.
4438
4438
  #
4439
4439
  # The stored resource snapshot is deliberately left untouched, so the next
4440
4440
  # poll observes the reverted state and records it as an ordinary change
@@ -4482,7 +4482,7 @@ module Infrawrench
4482
4482
  #
4483
4483
  # Inverts the recorded diff and reconciles it against the resource's
4484
4484
  # *current* live fields, which is the whole point: the poller may have
4485
- # recorded this hours ago and the world may have moved on. Read-only — it
4485
+ # recorded this hours ago and the world may have moved on. Read-only: it
4486
4486
  # reads from the provider and writes nothing.
4487
4487
  #
4488
4488
  # Only `updated` events with a field diff can be reverted. `outputs.*`
@@ -4540,7 +4540,7 @@ module Infrawrench
4540
4540
  # run-rate delta.
4541
4541
  #
4542
4542
  # A POST because it takes a list of ids, not because it writes: nothing is
4543
- # stored. The answer is recomputed on every call, deliberately — provider
4543
+ # stored. The answer is recomputed on every call, deliberately; provider
4544
4544
  # cost arrives late and is then restated, so a stored number would be a
4545
4545
  # wrong number that never corrects itself.
4546
4546
  #
@@ -4576,7 +4576,7 @@ module Infrawrench
4576
4576
  # Change events recorded by the resource poller: each poll cycle diffs the
4577
4577
  # freshly fetched state against the stored snapshot and records resources
4578
4578
  # that appeared, changed a stored field, or disappeared upstream.
4579
- # Cross-provider by construction — the diff runs on the generic stored
4579
+ # Cross-provider by construction; the diff runs on the generic stored
4580
4580
  # record, so every plugin's resources show up here.
4581
4581
  #
4582
4582
  # _Requires permission: `resources:read`._
@@ -4796,11 +4796,11 @@ module Infrawrench
4796
4796
 
4797
4797
  # Reservations, savings plans and committed-use discounts
4798
4798
  #
4799
- # The organization's purchased commitments — reserved instances, savings
4800
- # plans, committed-use discounts — with three derived readings.
4799
+ # The organization's purchased commitments (reserved instances, savings
4800
+ # plans, committed-use discounts) with three derived readings.
4801
4801
  #
4802
4802
  # **Coverage** is a range, not a number: the broad ratio counts every
4803
- # uncovered usage dollar in the denominator (a lower bound — egress and
4803
+ # uncovered usage dollar in the denominator (a lower bound; egress and
4804
4804
  # per-request charges can never be committed against), the narrow ratio only
4805
4805
  # uncovered usage in cells where a commitment demonstrably landed (an upper
4806
4806
  # bound). Accounts whose plugin cannot distinguish charge types are excluded
@@ -4808,7 +4808,7 @@ module Infrawrench
4808
4808
  # not 0%.
4809
4809
  #
4810
4810
  # **Utilization** is measured only over days cost data was actually
4811
- # collected — a collection gap is reported as missing days, never counted as
4811
+ # collected; a collection gap is reported as missing days, never counted as
4812
4812
  # idle commitment. Unit-denominated commitments (GCP) report null with a
4813
4813
  # reason, never 0%. Azure's own reported utilization rides on each holding
4814
4814
  # separately and is never blended with the derived figure.
@@ -4848,7 +4848,7 @@ module Infrawrench
4848
4848
  # Apply a configuration document
4849
4849
  #
4850
4850
  # Applies the document in a single transaction and returns the plan that was
4851
- # executed — all or nothing, so a failure never leaves the organization
4851
+ # executed; all or nothing, so a failure never leaves the organization
4852
4852
  # halfway between two configurations.
4853
4853
  #
4854
4854
  # Requires the write permission of every section the document carries, so
@@ -4860,7 +4860,7 @@ module Infrawrench
4860
4860
  #
4861
4861
  # Raises on 400: Bad request
4862
4862
  #
4863
- # Raises on 402: Payment required — the organization's plan does not include
4863
+ # Raises on 402: Payment required: the organization's plan does not include
4864
4864
  # this
4865
4865
  #
4866
4866
  # Raises on 403: Forbidden
@@ -4891,7 +4891,7 @@ module Infrawrench
4891
4891
  #
4892
4892
  # Credentials, accounts, resources and workflow signing secrets are never
4893
4893
  # included. Ordering is stable, so re-exporting an unchanged organization
4894
- # produces the same bytes — commit it to git and the diff is the change.
4894
+ # produces the same bytes; commit it to git and the diff is the change.
4895
4895
  #
4896
4896
  # Requires the read permission of every section exported; it refuses rather
4897
4897
  # than silently omitting one, because a partial document applied in
@@ -5224,7 +5224,7 @@ module Infrawrench
5224
5224
  #
5225
5225
  # Writes the finding as a cost annotation, so the step in the run rate is
5226
5226
  # explained on the graph where it shows. Re-posting the same subject
5227
- # **rewords the existing note** rather than adding a second — which is what
5227
+ # **rewords the existing note** rather than adding a second; which is what
5228
5228
  # makes it safe to pin a finding again once the provider has finished
5229
5229
  # restating. The note's date and report scope are never rewritten: they may
5230
5230
  # have been edited deliberately.
@@ -5311,8 +5311,8 @@ module Infrawrench
5311
5311
  #
5312
5312
  # Dated notes drawn over cost charts. With `reportId`, the set a chart for
5313
5313
  # that report draws: the org-wide notes plus that report's own. Without it,
5314
- # every annotation in the org. Annotations are an overlay — they never
5315
- # appear in a series, a total, or an axis.
5314
+ # every annotation in the org. Annotations are an overlay; they never appear
5315
+ # in a series, a total, or an axis.
5316
5316
  #
5317
5317
  # _Requires permission: `costs:read`._
5318
5318
  #
@@ -6172,7 +6172,7 @@ module Infrawrench
6172
6172
  # Runs the export immediately against the same code path the poller uses,
6173
6173
  # writing every period in the restatement window. Answers 200 with `status:
6174
6174
  # "failed"` and a message rather than an error status when the destination
6175
- # rejects the write — the caller wants the reason, and the same failure is
6175
+ # rejects the write; the caller wants the reason, and the same failure is
6176
6176
  # recorded on the export.
6177
6177
  #
6178
6178
  # _Requires permission: `org:settings:write`._
@@ -6326,6 +6326,8 @@ module Infrawrench
6326
6326
  #
6327
6327
  # Raises on 400: Bad request
6328
6328
  #
6329
+ # Raises on 403: Forbidden
6330
+ #
6329
6331
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6330
6332
  # constructed with.
6331
6333
  # @param body [Hash] Request body, shaped as `CostReportFolderInput`.
@@ -6371,7 +6373,7 @@ module Infrawrench
6371
6373
 
6372
6374
  # List cost-report folders
6373
6375
  #
6374
- # The org's report folders as a flat list — build the tree from
6376
+ # The org's report folders as a flat list; build the tree from
6375
6377
  # `parentFolderId`. Folders organize the Reports list and nothing else; a
6376
6378
  # report's id, URL and dashboard cards are unchanged by where it is filed.
6377
6379
  #
@@ -6396,7 +6398,7 @@ module Infrawrench
6396
6398
 
6397
6399
  # Update a cost-report folder
6398
6400
  #
6399
- # Rename and/or reparent. Filing a *report* is not here — that is `PUT
6401
+ # Rename and/or reparent. Filing a *report* is not here; that is `PUT
6400
6402
  # /cost-reports/{id}` with a different `folderId`. Reparenting past the
6401
6403
  # 3-level depth limit, or under the folder's own subtree, is a 400.
6402
6404
  #
@@ -6406,6 +6408,8 @@ module Infrawrench
6406
6408
  #
6407
6409
  # Raises on 400: Bad request
6408
6410
  #
6411
+ # Raises on 403: Forbidden
6412
+ #
6409
6413
  # Raises on 404: Not found
6410
6414
  #
6411
6415
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
@@ -6436,8 +6440,8 @@ module Infrawrench
6436
6440
 
6437
6441
  # List every delivery schedule in the organization
6438
6442
  #
6439
- # All reports' schedules in one call — what the CLI's schedules column
6440
- # reads. Schedules of deleted reports are excluded.
6443
+ # All reports' schedules in one call; what the CLI's schedules column reads.
6444
+ # Schedules of deleted reports are excluded.
6441
6445
  #
6442
6446
  # _Requires permission: `costs:read`._
6443
6447
  #
@@ -6470,7 +6474,7 @@ module Infrawrench
6470
6474
  # Create a delivery schedule
6471
6475
  #
6472
6476
  # On its cadence the server runs the report and sends a composed text
6473
- # summary — period total (converted to the org's display currency where
6477
+ # summary; period total (converted to the org's display currency where
6474
6478
  # configured, with the conversion caveat), change vs the previous period,
6475
6479
  # top groups, and a deep link. No chart images. An empty result still sends,
6476
6480
  # saying so.
@@ -6554,7 +6558,7 @@ module Infrawrench
6554
6558
  # Runs the report and delivers it to this schedule's destinations
6555
6559
  # immediately, ignoring the schedule and its enabled flag. Fails with a 400
6556
6560
  # naming the reason when nothing could be delivered. A successful manual
6557
- # send clears a parked failure — it is the documented recovery for a partial
6561
+ # send clears a parked failure; it is the documented recovery for a partial
6558
6562
  # delivery.
6559
6563
  #
6560
6564
  # _Requires permission: `org:settings:write`._
@@ -6591,7 +6595,7 @@ module Infrawrench
6591
6595
  # List the destinations a schedule can deliver to
6592
6596
  #
6593
6597
  # The org's live Slack channels and Teams webhooks, and whether this
6594
- # deployment can send mail. Destinations are picked from here — a schedule
6598
+ # deployment can send mail. Destinations are picked from here; a schedule
6595
6599
  # can only point at surfaces the org already connected.
6596
6600
  #
6597
6601
  # _Requires permission: `org:settings:write`._
@@ -6698,6 +6702,8 @@ module Infrawrench
6698
6702
  #
6699
6703
  # Raises on 400: Bad request
6700
6704
  #
6705
+ # Raises on 403: Forbidden
6706
+ #
6701
6707
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
6702
6708
  # constructed with.
6703
6709
  # @param body [Hash] Request body, shaped as `CostReportInput`.
@@ -6717,7 +6723,7 @@ module Infrawrench
6717
6723
  # Delete a cost report
6718
6724
  #
6719
6725
  # Soft delete. Every dashboard card pointing at the report is removed with
6720
- # it — a card whose report is gone could only ever render as an unavailable
6726
+ # it; a card whose report is gone could only ever render as an unavailable
6721
6727
  # tile.
6722
6728
  #
6723
6729
  # _Requires permission: `costs:write`._
@@ -6854,7 +6860,7 @@ module Infrawrench
6854
6860
  # Update a cost report
6855
6861
  #
6856
6862
  # Replaces the report's name, description, config and folder. Every
6857
- # dashboard showing the report picks up the new config — that is what
6863
+ # dashboard showing the report picks up the new config; that is what
6858
6864
  # referencing a report by id buys.
6859
6865
  #
6860
6866
  # _Requires permission: `costs:write`._
@@ -6863,6 +6869,8 @@ module Infrawrench
6863
6869
  #
6864
6870
  # Raises on 400: Bad request
6865
6871
  #
6872
+ # Raises on 403: Forbidden
6873
+ #
6866
6874
  # Raises on 404: Not found
6867
6875
  #
6868
6876
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
@@ -6894,7 +6902,7 @@ module Infrawrench
6894
6902
  # List scenario models
6895
6903
  #
6896
6904
  # Named, reusable sets of adjustments an organization overlays on a cost
6897
- # forecast — the **known future cost a trend fit cannot see**. Pass an id as
6905
+ # forecast; the **known future cost a trend fit cannot see**. Pass an id as
6898
6906
  # `POST /costs/query`'s `scenarioModelId` (alongside `forecast: true`) to
6899
6907
  # get the adjusted projection back *beside* the unadjusted one, never
6900
6908
  # instead of it.
@@ -6955,7 +6963,7 @@ module Infrawrench
6955
6963
 
6956
6964
  # Create a scenario model
6957
6965
  #
6958
- # Names must be unique per organization (case-insensitively) — the name is
6966
+ # Names must be unique per organization (case-insensitively); the name is
6959
6967
  # what a chart prints under its scenario line and what the CLI's `--scenario
6960
6968
  # <name>` addresses, so two models sharing one would make both meaningless.
6961
6969
  # A model needs at least one adjustment: an empty model changes nothing,
@@ -6987,7 +6995,7 @@ module Infrawrench
6987
6995
 
6988
6996
  # Delete a scenario model
6989
6997
  #
6990
- # Soft delete — **refused with a 409 while anything references the model**,
6998
+ # Soft delete: **refused with a 409 while anything references the model**,
6991
6999
  # with the referents in the body. For a chart, deleting would silently drop
6992
7000
  # the assumptions from a projection somebody is reading; for a budget it
6993
7001
  # would move the forecast thresholds back to the bare trend, changing when
@@ -7000,7 +7008,7 @@ module Infrawrench
7000
7008
  #
7001
7009
  # Raises on 404: Not found
7002
7010
  #
7003
- # Raises on 409: Still referenced — the body lists every referent.
7011
+ # Raises on 409: Still referenced: the body lists every referent.
7004
7012
  #
7005
7013
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
7006
7014
  # constructed with.
@@ -7019,9 +7027,9 @@ module Infrawrench
7019
7027
 
7020
7028
  # List a scenario model's referents
7021
7029
  #
7022
- # Every budget, cost report and dashboard cost graph referencing this model
7023
- # — what an edit will change, and what a delete would be refused over.
7024
- # Budgets come first: they are the referents that page people.
7030
+ # Every budget, cost report and dashboard cost graph referencing this model;
7031
+ # what an edit will change, and what a delete would be refused over. Budgets
7032
+ # come first: they are the referents that page people.
7025
7033
  #
7026
7034
  # _Requires permission: `costs:read`._
7027
7035
  #
@@ -7048,7 +7056,7 @@ module Infrawrench
7048
7056
  #
7049
7057
  # Replaces the whole model. This is the high-leverage write: every chart
7050
7058
  # drawing it, and **every budget whose forecast thresholds are measured
7051
- # against it**, uses the new numbers on its next evaluation — which for a
7059
+ # against it**, uses the new numbers on its next evaluation; which for a
7052
7060
  # budget can change which alerts fire. `GET /{id}/referents` names what a
7053
7061
  # change will touch.
7054
7062
  #
@@ -7272,7 +7280,7 @@ module Infrawrench
7272
7280
  # Explain a detected cost anomaly
7273
7281
  #
7274
7282
  # Record what a finding actually was, and publish that sentence as a cost
7275
- # annotation on **every** chart covering the anomalous day — the point being
7283
+ # annotation on **every** chart covering the anomalous day; the point being
7276
7284
  # that 'we migrated the fleet' is not a fact about whichever report somebody
7277
7285
  # happened to open. The note's date (the anomalous day) and its org-wide
7278
7286
  # scope are derived from the anomaly and are not the caller's to choose.
@@ -7319,7 +7327,7 @@ module Infrawrench
7319
7327
  # trailing 28-day baseline by a statistical threshold (mean + N·stddev, with
7320
7328
  # an absolute floor to ignore penny-scale noise), and a `new_source`, where
7321
7329
  # a provider or service with no spend at all across that window suddenly
7322
- # billed a material amount. Thresholds are per organization — see GET
7330
+ # billed a material amount. Thresholds are per organization: see GET
7323
7331
  # /costs/anomaly-settings. Newest day first, capped at 200 rows.
7324
7332
  #
7325
7333
  # _Requires permission: `costs:read`._
@@ -7356,8 +7364,8 @@ module Infrawrench
7356
7364
  # Get the organization's anomaly detection thresholds
7357
7365
  #
7358
7366
  # The tunable part of cost anomaly detection. Everything else about the
7359
- # model — the 28-day baseline, the 7-day notification cooldown, the minimum
7360
- # history a baseline needs — is fixed. An organization that has never
7367
+ # model (the 28-day baseline, the 7-day notification cooldown, the minimum
7368
+ # history a baseline needs ) is fixed. An organization that has never
7361
7369
  # changed a threshold reads back the defaults. The response also carries the
7362
7370
  # derived, read-only `smsConfigured`.
7363
7371
  #
@@ -7384,11 +7392,11 @@ module Infrawrench
7384
7392
  #
7385
7393
  # Takes effect on the next detection pass (which runs after each cost
7386
7394
  # collection). Anomalies already stored are not re-judged. The four
7387
- # threshold fields are required — this is a PUT of the whole settings
7388
- # object, not a patch — and `smsAlerts` deliberately has no server-side
7389
- # default, so a client that omits it is rejected rather than silently
7390
- # switching an organization's SMS paging back off. `smsConfigured` is
7391
- # derived and is not accepted here.
7395
+ # threshold fields are required (this is a PUT of the whole settings object,
7396
+ # not a patch) and `smsAlerts` deliberately has no server-side default, so a
7397
+ # client that omits it is rejected rather than silently switching an
7398
+ # organization's SMS paging back off. `smsConfigured` is derived and is not
7399
+ # accepted here.
7392
7400
  #
7393
7401
  # _Requires permission: `costs:write`._
7394
7402
  #
@@ -7601,7 +7609,7 @@ module Infrawrench
7601
7609
  #
7602
7610
  # Takes effect on the next evaluation pass (which runs after each cost
7603
7611
  # collection). Already-fired alerts are not re-judged, and horizons that
7604
- # have already fired for a commitment's current term do not fire again —
7612
+ # have already fired for a commitment's current term do not fire again;
7605
7613
  # widening the horizon list warns about future crossings, not past ones. A
7606
7614
  # PUT of the whole object, not a patch.
7607
7615
  #
@@ -7746,10 +7754,10 @@ module Infrawrench
7746
7754
  #
7747
7755
  # The three slow-lane cost alerts in one feed, newest first: commitments
7748
7756
  # about to lapse, commitments that are not being used, and business metrics
7749
- # whose cost per unit rose. Unlike budgets, anomalies and change alerts —
7750
- # all of which compare a spend total against another spend total — these
7751
- # read the commitment calendar and the volume the spend bought, so they see
7752
- # the two surprises the other three structurally cannot.
7757
+ # whose cost per unit rose. Unlike budgets, anomalies and change alerts (all
7758
+ # of which compare a spend total against another spend total) these read the
7759
+ # commitment calendar and the volume the spend bought, so they see the two
7760
+ # surprises the other three structurally cannot.
7753
7761
  #
7754
7762
  # _Requires permission: `costs:read`._
7755
7763
  #
@@ -7860,8 +7868,8 @@ module Infrawrench
7860
7868
 
7861
7869
  # Push cost rows from your own systems
7862
7870
  #
7863
- # Reports spend Infrawrench has no provider plugin for — a parsed SaaS
7864
- # invoice, an internal chargeback, a colo bill — into the same store the
7871
+ # Reports spend Infrawrench has no provider plugin for (a parsed SaaS
7872
+ # invoice, an internal chargeback, a colo bill) into the same store the
7865
7873
  # provider collectors write to, so it appears in cost graphs, dimension
7866
7874
  # filters, and budgets alongside everything else.
7867
7875
  #
@@ -7904,7 +7912,7 @@ module Infrawrench
7904
7912
  #
7905
7913
  # Cost centres nest, so the list is a depth-first tree. Each entry carries
7906
7914
  # `totals` (spend allocated directly to it) and `subtreeTotals` (its own
7907
- # plus every descendant's) — "Engineering, of which Platform" needs both.
7915
+ # plus every descendant's). "Engineering, of which Platform" needs both.
7908
7916
  # Rules still evaluate first-match-wins by ascending priority against a flat
7909
7917
  # list, so a row is allocated exactly once even when a rule targets a parent
7910
7918
  # and another targets its child; at equal priority the more deeply nested
@@ -7927,7 +7935,7 @@ module Infrawrench
7927
7935
  # amount.
7928
7936
  # @param adjusted [String, nil] Apply the organization's billing rules (see /billing-rules):
7929
7937
  # markups multiply, and a reallocation moves a centre's spend onto another centre. Off by
7930
- # default — a chargeback report that silently showed marked-up numbers is one the receiving
7938
+ # default; a chargeback report that silently showed marked-up numbers is one the receiving
7931
7939
  # team could not reconcile. On, the response carries `adjustment` with the collected totals
7932
7940
  # beside the adjusted ones. Fixed-amount rules are booked onto the cost centre they name (or
7933
7941
  # "Unallocated" when they name none), pro-rated across the period.
@@ -7971,7 +7979,7 @@ module Infrawrench
7971
7979
  #
7972
7980
  # Spend on cost rows missing at least one of the org's required tag keys,
7973
7981
  # overall and per key, plus the largest untagged (account, service) buckets.
7974
- # Empty when no tag policy is configured — untagged is only meaningful
7982
+ # Empty when no tag policy is configured: untagged is only meaningful
7975
7983
  # against a policy.
7976
7984
  #
7977
7985
  # _Requires permission: `costs:read`._
@@ -8015,7 +8023,7 @@ module Infrawrench
8015
8023
  # Credential hygiene report
8016
8024
  #
8017
8025
  # API keys nobody uses, SSH keys nothing references, and members holding
8018
- # write permissions they have never exercised — derived entirely from data
8026
+ # write permissions they have never exercised; derived entirely from data
8019
8027
  # the server already holds. No provider call and nothing to enable.
8020
8028
  #
8021
8029
  # **The audit log only witnesses writes.** Reading a resource list or a cost
@@ -8023,7 +8031,7 @@ module Infrawrench
8023
8031
  # about read permissions: an absence of evidence about them proves nothing.
8024
8032
  # `permissionFindingsWithheld` is set when the organization does not yet
8025
8033
  # have enough audit history for the unused-permission finding to be
8026
- # meaningful. Both are load-bearing — a governance report that overclaims is
8034
+ # meaningful. Both are load-bearing; a governance report that overclaims is
8027
8035
  # worse than none.
8028
8036
  #
8029
8037
  # Gated on `audit:read` rather than a permission of its own: every fact here
@@ -8065,7 +8073,7 @@ module Infrawrench
8065
8073
  #
8066
8074
  # Every prepaid pot the organization holds, most urgent first. A provider
8067
8075
  # that bills in arrears sends an invoice you can argue with; a prepaid pot
8068
- # that empties simply stops answering — so this is an availability number as
8076
+ # that empties simply stops answering: so this is an availability number as
8069
8077
  # much as a finance one.
8070
8078
  #
8071
8079
  # The burn rate is measured from the server's own series of readings rather
@@ -8619,7 +8627,7 @@ module Infrawrench
8619
8627
  #
8620
8628
  # Raises on 400: Bad request
8621
8629
  #
8622
- # Raises on 402: Payment required — the organization's plan does not include
8630
+ # Raises on 402: Payment required: the organization's plan does not include
8623
8631
  # this
8624
8632
  #
8625
8633
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
@@ -8713,7 +8721,7 @@ module Infrawrench
8713
8721
  #
8714
8722
  # Raises on 400: Bad request
8715
8723
  #
8716
- # Raises on 402: Payment required — the organization's plan does not include
8724
+ # Raises on 402: Payment required: the organization's plan does not include
8717
8725
  # this
8718
8726
  #
8719
8727
  # Raises on 404: Not found
@@ -8765,7 +8773,7 @@ module Infrawrench
8765
8773
  #
8766
8774
  # Raises on 400: Bad request
8767
8775
  #
8768
- # Raises on 402: Payment required — the organization's plan does not include
8776
+ # Raises on 402: Payment required: the organization's plan does not include
8769
8777
  # this
8770
8778
  #
8771
8779
  # Raises on 404: Not found
@@ -9569,8 +9577,8 @@ module Infrawrench
9569
9577
  # (the default) is what the provider charged on the day it charged it; `amortized` spreads a
9570
9578
  # commitment's up-front fee across the term it buys; `blended` also spreads each
9571
9579
  # commitment's discount evenly over the usage it could cover. It is echoed on every response
9572
- # because a delta whose basis is unstated is unreadable — an amortized 'after' against a
9573
- # cash 'before' looks exactly like a saving.
9580
+ # because a delta whose basis is unstated is unreadable: an amortized 'after' against a cash
9581
+ # 'before' looks exactly like a saving.
9574
9582
  # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
9575
9583
  # @return [Hash] Parsed JSON, shaped as `DeploymentCostImpact` — see
9576
9584
  # `sig/infrawrench/sdk.rbs`.
@@ -9674,11 +9682,11 @@ module Infrawrench
9674
9682
  # Roll back to a previous deployment
9675
9683
  #
9676
9684
  # Re-runs that run's `deploy()` with the image and plan it recorded,
9677
- # building nothing — the exact artifact that was known good ships again. The
9685
+ # building nothing; the exact artifact that was known good ships again. The
9678
9686
  # Infrafile is read at the commit that run deployed, not at the branch head.
9679
9687
  # Only a successful run that produced an image can be rolled back to. With
9680
9688
  # `deleteCreated`, resources that runs after the target created through
9681
- # `infra.accounts` are deleted once the rollback has succeeded — undoing the
9689
+ # `infra.accounts` are deleted once the rollback has succeeded; undoing the
9682
9690
  # provisioning, not just the shipping. Deletions are best-effort and
9683
9691
  # reported in the result's notes.
9684
9692
  #
@@ -9690,7 +9698,7 @@ module Infrawrench
9690
9698
  #
9691
9699
  # Raises on 401: Unauthenticated
9692
9700
  #
9693
- # Raises on 402: Payment required — the organization's plan does not include
9701
+ # Raises on 402: Payment required: the organization's plan does not include
9694
9702
  # this
9695
9703
  #
9696
9704
  # Raises on 403: Forbidden
@@ -9731,10 +9739,10 @@ module Infrawrench
9731
9739
 
9732
9740
  # Deploy an environment whenever a branch moves
9733
9741
  #
9734
- # Arming a trigger records the branch's current commit WITHOUT deploying it
9735
- # — the trigger fires on the next push, not on the state at the moment it
9736
- # was created. The environment is validated against the Infrafile at that
9737
- # branch head, so a typo fails here rather than silently never firing.
9742
+ # Arming a trigger records the branch's current commit WITHOUT deploying it;
9743
+ # the trigger fires on the next push, not on the state at the moment it was
9744
+ # created. The environment is validated against the Infrafile at that branch
9745
+ # head, so a typo fails here rather than silently never firing.
9738
9746
  #
9739
9747
  # _Requires permission: `deployments:write`._
9740
9748
  #
@@ -10013,8 +10021,8 @@ module Infrawrench
10013
10021
  #
10014
10022
  # Email is a digest-only transport, so its destinations are an
10015
10023
  # organization-level address list rather than a per-channel trigger.
10016
- # Addresses need not belong to Infrawrench users — a finance alias is a
10017
- # valid recipient.
10024
+ # Addresses need not belong to Infrawrench users; a finance alias is a valid
10025
+ # recipient.
10018
10026
  #
10019
10027
  # GET /api/org/{orgId}/digest/recipients
10020
10028
  #
@@ -10073,7 +10081,7 @@ module Infrawrench
10073
10081
 
10074
10082
  # Compose and send last week's digest now
10075
10083
  #
10076
- # Ignores the schedule and the enabled flag — composes the digest for the
10084
+ # Ignores the schedule and the enabled flag; composes the digest for the
10077
10085
  # last complete week and sends it to every opted-in channel and email
10078
10086
  # recipient. This is also the manual recovery for a partial delivery, which
10079
10087
  # is never retried automatically. Fails when nothing is routed to receive
@@ -10100,7 +10108,7 @@ module Infrawrench
10100
10108
  # Update the weekly digest settings
10101
10109
  #
10102
10110
  # Every field is optional. Enabling schedules the first digest for the next
10103
- # configured send time rather than sending immediately — use POST
10111
+ # configured send time rather than sending immediately; use POST
10104
10112
  # /digest/send for an immediate one. The week boundary follows `timezone`,
10105
10113
  # so the reported window is always the organization's own local
10106
10114
  # Monday-to-Sunday week. Changing the schedule clears any parked failure
@@ -10140,7 +10148,7 @@ module Infrawrench
10140
10148
  # One view over every zone and record across the connected DNS providers
10141
10149
  # (Cloudflare, Route 53, Cloud DNS, DigitalOcean, Netlify, Azure DNS,
10142
10150
  # Vercel), with each record target classified against the rest of the
10143
- # workspace. No provider API calls are made and no DNS is resolved — results
10151
+ # workspace. No provider API calls are made and no DNS is resolved: results
10144
10152
  # reflect the last sync.
10145
10153
  #
10146
10154
  # A `dangling` target is a subdomain-takeover candidate: the record points
@@ -10215,8 +10223,8 @@ module Infrawrench
10215
10223
 
10216
10224
  # Compare two accounts' resource inventories
10217
10225
  #
10218
- # Compares two accounts of the same provider — typically staging against
10219
- # production — over already-synced state: which resource types exist in one
10226
+ # Compares two accounts of the same provider (typically staging against
10227
+ # production) over already-synced state: which resource types exist in one
10220
10228
  # and not the other, the per-type count deltas, and the fields on which two
10221
10229
  # corresponding resources disagree (instance class, engine version, feature
10222
10230
  # flags).
@@ -10224,8 +10232,8 @@ module Infrawrench
10224
10232
  # Resources are paired by resource type plus name with environment words
10225
10233
  # removed, so `api-staging` lines up with `api-prod` without any naming
10226
10234
  # convention to configure. By default the comparison hides divergences that
10227
- # are artefacts of being two different resources — ids, links, network
10228
- # addresses and timestamps — because every resource has different ones; pass
10235
+ # are artefacts of being two different resources (ids, links, network
10236
+ # addresses and timestamps) because every resource has different ones; pass
10229
10237
  # `includeIdentityFields=true` to see them.
10230
10238
  #
10231
10239
  # Read-only and cheap: no provider API calls are made, so results reflect
@@ -10241,7 +10249,7 @@ module Infrawrench
10241
10249
  #
10242
10250
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
10243
10251
  # constructed with.
10244
- # @param a [String] Baseline account id — by convention the environment that works.
10252
+ # @param a [String] Baseline account id; by convention the environment that works.
10245
10253
  # @param b [String] Compared account id. Must differ from `a` and use the same provider.
10246
10254
  # @param resource_type_id [String, nil] Compare one resource type only.
10247
10255
  # @param include_identity_fields [String, nil] Compare identity and timestamp fields too,
@@ -10283,7 +10291,7 @@ module Infrawrench
10283
10291
 
10284
10292
  # Forget a torn-down environment
10285
10293
  #
10286
- # Removes the record. Refuses while the instance still owns resources — the
10294
+ # Removes the record. Refuses while the instance still owns resources; the
10287
10295
  # row is the only thing that knows they exist. Audit-logged.
10288
10296
  #
10289
10297
  # _Requires permission: `resources:write`._
@@ -10292,7 +10300,7 @@ module Infrawrench
10292
10300
  #
10293
10301
  # Raises on 404: Not found
10294
10302
  #
10295
- # Raises on 409: The environment is still live — tear it down first
10303
+ # Raises on 409: The environment is still live; tear it down first
10296
10304
  #
10297
10305
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
10298
10306
  # constructed with.
@@ -10433,8 +10441,8 @@ module Infrawrench
10433
10441
 
10434
10442
  # Set the organization's environment TTL rails
10435
10443
  #
10436
- # `org:settings:write`, not `resources:write` — this is a governance
10437
- # decision about how long the organization is willing to pay for a throwaway
10444
+ # `org:settings:write`, not `resources:write`: this is a governance decision
10445
+ # about how long the organization is willing to pay for a throwaway
10438
10446
  # environment. Clamped to a 720-hour ceiling; the default is clamped to the
10439
10447
  # maximum. Audit-logged.
10440
10448
  #
@@ -10472,7 +10480,7 @@ module Infrawrench
10472
10480
  #
10473
10481
  # Save a capture draft as a template. Member keys must be unique, every
10474
10482
  # parameter and member reference must resolve, and the members must be
10475
- # orderable — a dependency cycle is rejected here rather than half-way
10483
+ # orderable; a dependency cycle is rejected here rather than half-way
10476
10484
  # through an apply. Audit-logged.
10477
10485
  #
10478
10486
  # _Requires permission: `resources:write`._
@@ -10502,7 +10510,7 @@ module Infrawrench
10502
10510
 
10503
10511
  # Delete an environment template
10504
10512
  #
10505
- # Live instances keep running and keep their TTL — they own real resources,
10513
+ # Live instances keep running and keep their TTL; they own real resources,
10506
10514
  # and the template is only where they came from. Their `templateId` becomes
10507
10515
  # null; the denormalized `templateName` is what the surface reads.
10508
10516
  # Audit-logged.
@@ -10533,7 +10541,7 @@ module Infrawrench
10533
10541
  #
10534
10542
  # Runs each member's create fields through the plugin's own `estimateCost`.
10535
10543
  # A member the plugin cannot price is counted in `unpricedCount` and makes
10536
- # the total `partial` — `null` is never rounded to zero.
10544
+ # the total `partial`: `null` is never rounded to zero.
10537
10545
  #
10538
10546
  # _Requires permission: `resources:read`._
10539
10547
  #
@@ -10707,7 +10715,7 @@ module Infrawrench
10707
10715
  # Preview a template capture
10708
10716
  #
10709
10717
  # Turn a selection of live resources into a draft template. **Persists
10710
- # nothing** — the editor shows the draft so the user can choose which fields
10718
+ # nothing**: the editor shows the draft so the user can choose which fields
10711
10719
  # to vary before saving. The shape of every member comes from the plugin's
10712
10720
  # own `getCreateConfig`: a captured value with no matching create field is
10713
10721
  # dropped, and a resource type the plugin cannot create is reported in
@@ -11335,7 +11343,7 @@ module Infrawrench
11335
11343
  # List uploaded Terraform state documents
11336
11344
  #
11337
11345
  # Every state document the organization has uploaded, newest first. The
11338
- # documents themselves are never stored — only the parsed, redacted
11346
+ # documents themselves are never stored; only the parsed, redacted
11339
11347
  # projection.
11340
11348
  #
11341
11349
  # GET /api/org/{orgId}/iac/states
@@ -11432,7 +11440,7 @@ module Infrawrench
11432
11440
  #
11433
11441
  # The managed/unmanaged badge for a resource detail page, computed against
11434
11442
  # the newest state document. `status` is null when the organization has
11435
- # uploaded none — absence of a state is not evidence of ClickOps. A query
11443
+ # uploaded none; absence of a state is not evidence of ClickOps. A query
11436
11444
  # parameter rather than a path segment because composite resource ids
11437
11445
  # contain slashes.
11438
11446
  #
@@ -11469,7 +11477,7 @@ module Infrawrench
11469
11477
  # List declared incidents
11470
11478
  #
11471
11479
  # Every incident the organization has declared, newest first, each with the
11472
- # artefacts its declaration created — including the ones that failed.
11480
+ # artefacts its declaration created: including the ones that failed.
11473
11481
  #
11474
11482
  # _Requires permission: `incidents:read`._
11475
11483
  #
@@ -11630,7 +11638,7 @@ module Infrawrench
11630
11638
  # Delete an incident
11631
11639
  #
11632
11640
  # Removes the incident, its notes and its artefact records. It does not lift
11633
- # a freeze or close a status-page update — resolve for that; deleting is for
11641
+ # a freeze or close a status-page update, resolve for that; deleting is for
11634
11642
  # a mis-declaration. Audit-logged.
11635
11643
  #
11636
11644
  # _Requires permission: `incidents:write`._
@@ -11658,8 +11666,8 @@ module Infrawrench
11658
11666
  # Export a pre-filled postmortem
11659
11667
  #
11660
11668
  # Markdown with the timeline, the affected resources, the duration, the time
11661
- # to mitigate and the notes already filled in. The analysis headings —
11662
- # impact, root cause, action items — are deliberately left blank: a
11669
+ # to mitigate and the notes already filled in. The analysis headings
11670
+ # (impact, root cause, action items) are deliberately left blank: a
11663
11671
  # generated document that guesses at a root cause is worse than one that
11664
11672
  # leaves a heading.
11665
11673
  #
@@ -11689,9 +11697,9 @@ module Infrawrench
11689
11697
  #
11690
11698
  # Re-runs only the side effects whose artefact is in a failure state,
11691
11699
  # replacing each failure rather than queueing a second attempt beside it. A
11692
- # `failed` artefact is **re-created**; a `close_failed` one is **re-closed**
11693
- # — re-creating the latter would open a second change freeze or post a
11694
- # duplicate public notice. A status-page retry reuses the components
11700
+ # `failed` artefact is **re-created**; a `close_failed` one is
11701
+ # **re-closed**; re-creating the latter would open a second change freeze or
11702
+ # post a duplicate public notice. A status-page retry reuses the components
11695
11703
  # recorded on the artefact's `request`, so the announcement keeps its
11696
11704
  # original scope. Its own endpoint rather than a flag on PATCH, because it
11697
11705
  # writes into three external systems. Audit-logged.
@@ -11724,8 +11732,8 @@ module Infrawrench
11724
11732
  # provider status incidents, audit entries, change freezes and workflow runs
11725
11733
  # (all via the same union the Moment screen uses), plus probe state
11726
11734
  # transitions, metric-alert firings, the incident's own life events, its
11727
- # artefacts and its operator notes. Nothing is copied — a correction
11728
- # upstream shows up here on the next read.
11735
+ # artefacts and its operator notes. Nothing is copied; a correction upstream
11736
+ # shows up here on the next read.
11729
11737
  #
11730
11738
  # Probe transitions are an approximation: `synthetic_probes` keeps only a
11731
11739
  # single `lastStateChangeAt`, so a probe that flapped twice inside the
@@ -11755,7 +11763,7 @@ module Infrawrench
11755
11763
  # Edit or transition an incident
11756
11764
  #
11757
11765
  # Omitted fields keep their value. Setting `status` stamps the matching
11758
- # timestamp, and resolving undoes exactly what this incident created — the
11766
+ # timestamp, and resolving undoes exactly what this incident created; the
11759
11767
  # freeze whose id is on its own artefact, not whatever freeze happens to be
11760
11768
  # in effect. Resolving an incident that was never marked mitigated
11761
11769
  # back-fills `mitigatedAt` from `resolvedAt`. Audit-logged.
@@ -11857,7 +11865,7 @@ module Infrawrench
11857
11865
  @transport = transport
11858
11866
  end
11859
11867
 
11860
- # Approve an invoice — freeze its figures
11868
+ # Approve an invoice; freeze its figures
11861
11869
  #
11862
11870
  # Computes the figures one last time and writes them onto the invoice
11863
11871
  # together with the exchange rates, the day they were read, the billing
@@ -11872,7 +11880,7 @@ module Infrawrench
11872
11880
  # customer's currency.
11873
11881
  #
11874
11882
  # Refused with 409, too, when the draft or its customer changed while the
11875
- # figures were being computed — a different period, scope, currency, cost
11883
+ # figures were being computed: a different period, scope, currency, cost
11876
11884
  # basis or billing-rules setting. Nothing is approved in that case: freezing
11877
11885
  # figures that describe a different question would be worse than making the
11878
11886
  # caller look again.
@@ -11963,9 +11971,9 @@ module Infrawrench
11963
11971
  # Download an invoice as CSV
11964
11972
  #
11965
11973
  # The derivation, not a rendered document: what was collected, what the
11966
- # rules added, the rate and the day it was read, and the final figure —
11967
- # every column an accounts-payable clerk needs to check the arithmetic. Same
11968
- # RFC 4180 quoting as the scheduled cost exports.
11974
+ # rules added, the rate and the day it was read, and the final figure; every
11975
+ # column an accounts-payable clerk needs to check the arithmetic. Same RFC
11976
+ # 4180 quoting as the scheduled cost exports.
11969
11977
  #
11970
11978
  # _Requires permission: `invoices:read`._
11971
11979
  #
@@ -12019,7 +12027,7 @@ module Infrawrench
12019
12027
  # List invoices
12020
12028
  #
12021
12029
  # Summaries, newest period first. A draft's `totals` is null here rather
12022
- # than recomputed — recomputing every draft would make opening the list one
12030
+ # than recomputed; recomputing every draft would make opening the list one
12023
12031
  # cost-data scan per draft, and zero would be a lie the reader cannot
12024
12032
  # detect.
12025
12033
  #
@@ -12049,7 +12057,7 @@ module Infrawrench
12049
12057
 
12050
12058
  # Send an invoice to its customer
12051
12059
  #
12052
- # Changes no figure — the document was frozen at approval. It records the
12060
+ # Changes no figure; the document was frozen at approval. It records the
12053
12061
  # **release** (this may go to the customer, and this person said so), then
12054
12062
  # emails the invoice to the customer's contact addresses with the CSV
12055
12063
  # attached.
@@ -12060,8 +12068,8 @@ module Infrawrench
12060
12068
  # delivery is visible, and re-sending retries it.
12061
12069
  #
12062
12070
  # Sending again needs `resend: true` only when the last attempt reached
12063
- # somebody — see `InvoiceSendRequest`. The body may be omitted entirely for
12064
- # a first send.
12071
+ # somebody, see `InvoiceSendRequest`. The body may be omitted entirely for a
12072
+ # first send.
12065
12073
  #
12066
12074
  # _Requires permission: `invoices:issue`._
12067
12075
  #
@@ -12093,7 +12101,7 @@ module Infrawrench
12093
12101
  # Edit a draft invoice
12094
12102
  #
12095
12103
  # Draft only. An approved, sent or void invoice is refused with 409 by the
12096
- # service, not merely hidden by the UI — an issued invoice that silently
12104
+ # service, not merely hidden by the UI; an issued invoice that silently
12097
12105
  # changed after the customer received it is the worst outcome this feature
12098
12106
  # could produce.
12099
12107
  #
@@ -12127,7 +12135,7 @@ module Infrawrench
12127
12135
  # Void an issued invoice
12128
12136
  #
12129
12137
  # The only correction there is. The original keeps every figure it was sent
12130
- # with — “we billed you this, it was wrong, here is the corrected one” is a
12138
+ # with: “we billed you this, it was wrong, here is the corrected one” is a
12131
12139
  # story a customer can follow, and “we changed the invoice” is not.
12132
12140
  #
12133
12141
  # With `supersede`, the void, the corrective draft and both directions of
@@ -12328,7 +12336,7 @@ module Infrawrench
12328
12336
  # constructed with.
12329
12337
  # @param source_kind [String, nil]
12330
12338
  # @param source_id [Array<String>, nil] Repeat to narrow to specific findings. Omit to
12331
- # return every link of the kind — this is the batch lookup a list view makes once instead of
12339
+ # return every link of the kind; this is the batch lookup a list view makes once instead of
12332
12340
  # one request per row.
12333
12341
  # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12334
12342
  # @return [Array<Hash>] Parsed JSON, shaped as `Array<JiraIssueLink>` — see
@@ -12445,7 +12453,7 @@ module Infrawrench
12445
12453
 
12446
12454
  # Cancel a lease
12447
12455
  #
12448
- # Stop the countdown — the resource stays, the lease goes `canceled` and
12456
+ # Stop the countdown; the resource stays, the lease goes `canceled` and
12449
12457
  # leaves the expiry radar. Audit-logged.
12450
12458
  #
12451
12459
  # _Requires permission: `resources:write`._
@@ -12473,9 +12481,9 @@ module Infrawrench
12473
12481
 
12474
12482
  # Create a resource lease
12475
12483
  #
12476
- # Attach an expiry to a resource — 'give me a test cluster for 3 days'. One
12484
+ # Attach an expiry to a resource; 'give me a test cluster for 3 days'. One
12477
12485
  # lease per resource (an active lease conflicts; a terminal one is
12478
- # replaced). `autoDelete: true` opts into deletion at expiry — the poller
12486
+ # replaced). `autoDelete: true` opts into deletion at expiry; the poller
12479
12487
  # announces it twice first, defers during change freezes, and requires the
12480
12488
  # caller to hold `resources:delete`. Audit-logged.
12481
12489
  #
@@ -12713,7 +12721,7 @@ module Infrawrench
12713
12721
  # constructed with.
12714
12722
  # @param source_kind [String, nil]
12715
12723
  # @param source_id [Array<String>, nil] Repeat to narrow to specific findings. Omit to
12716
- # return every link of the kind — this is the batch lookup a list view makes once instead of
12724
+ # return every link of the kind; this is the batch lookup a list view makes once instead of
12717
12725
  # one request per row.
12718
12726
  # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
12719
12727
  # @return [Array<Hash>] Parsed JSON, shaped as `Array<LinearIssueLink>` — see
@@ -12731,7 +12739,7 @@ module Infrawrench
12731
12739
 
12732
12740
  # List Linear teams
12733
12741
  #
12734
- # Backs the team picker, so nobody has to know a team id by hand —
12742
+ # Backs the team picker, so nobody has to know a team id by hand;
12735
12743
  # issueCreate requires one, and every issue belongs to exactly one team.
12736
12744
  #
12737
12745
  # _Requires permission: `linear:read`._
@@ -12909,8 +12917,8 @@ module Infrawrench
12909
12917
 
12910
12918
  # List log-capable resources
12911
12919
  #
12912
- # Synced resources whose rendered detail declares the logs capability — the
12913
- # candidates a log workspace can tail — plus sidecar streams reached through
12920
+ # Synced resources whose rendered detail declares the logs capability (the
12921
+ # candidates a log workspace can tail) plus sidecar streams reached through
12914
12922
  # a peer integration (pods and workloads inside a managed cluster, listed
12915
12923
  # live from the provider and marked with `parentResourceId`). Discovered
12916
12924
  # from the plugin contract (never a hardcoded provider list), capped at 500
@@ -13012,8 +13020,8 @@ module Infrawrench
13012
13020
  #
13013
13021
  # A soft delete: an issued invoice names its customer, and an invoice whose
13014
13022
  # customer stopped resolving is exactly the unreconcilable document this
13015
- # feature exists to prevent. Draft invoices are removed with it — a draft
13016
- # was never issued.
13023
+ # feature exists to prevent. Draft invoices are removed with it; a draft was
13024
+ # never issued.
13017
13025
  #
13018
13026
  # _Requires permission: `invoices:write`._
13019
13027
  #
@@ -13244,7 +13252,7 @@ module Infrawrench
13244
13252
  # List metric series that actually exist
13245
13253
  #
13246
13254
  # The series labels resources reported in the last 7 days, optionally
13247
- # narrowed to one plugin and resource type — what the rule builder's metric
13255
+ # narrowed to one plugin and resource type; what the rule builder's metric
13248
13256
  # picker is fed from.
13249
13257
  #
13250
13258
  # GET /api/org/{orgId}/metric-alerts/metric-keys
@@ -13360,7 +13368,7 @@ module Infrawrench
13360
13368
 
13361
13369
  # Everything that happened around a timestamp
13362
13370
  #
13363
- # "What changed around 03:14?" — one merged, chronological narrative of
13371
+ # "What changed around 03:14?"; one merged, chronological narrative of
13364
13372
  # everything the platform knows happened in a window: resource changes
13365
13373
  # (including sleep/wake schedule attribution), provider status incidents
13366
13374
  # that started/resolved in or overlap the window, cost anomalies, workflow
@@ -13406,7 +13414,7 @@ module Infrawrench
13406
13414
  # Connect a Teams channel as an alert destination
13407
13415
  #
13408
13416
  # Adds a channel by webhook URL, or updates the one already holding that
13409
- # URL. Which alerts reach it is decided by /alert-rules — connecting a
13417
+ # URL. Which alerts reach it is decided by /alert-rules; connecting a
13410
13418
  # channel routes nothing to it on its own. Responds 400 when the URL is not
13411
13419
  # https or its host is not Microsoft-operated.
13412
13420
  #
@@ -13453,7 +13461,7 @@ module Infrawrench
13453
13461
 
13454
13462
  # Rename a Teams channel
13455
13463
  #
13456
- # The webhook URL is immutable — remove the channel and re-add it to change
13464
+ # The webhook URL is immutable; remove the channel and re-add it to change
13457
13465
  # it.
13458
13466
  #
13459
13467
  # PATCH /api/org/{orgId}/msteams/webhooks/{id}
@@ -13515,7 +13523,7 @@ module Infrawrench
13515
13523
 
13516
13524
  # Post a test card to every configured Teams channel
13517
13525
  #
13518
- # Ignores routing rules — every channel gets the test. Fails with the error
13526
+ # Ignores routing rules; every channel gets the test. Fails with the error
13519
13527
  # Microsoft returned when nothing could be delivered (HTTP 404 usually means
13520
13528
  # the Workflow was deleted or turned off).
13521
13529
  #
@@ -13688,7 +13696,7 @@ module Infrawrench
13688
13696
  # Turn network flow collection on or off
13689
13697
  #
13690
13698
  # Collection is **off by default**. Enabling it authorizes Infrawrench to
13691
- # run daily queries against the provider's log store — and on AWS those
13699
+ # run daily queries against the provider's log store; and on AWS those
13692
13700
  # queries are billed to your own cloud account per GB of log data scanned,
13693
13701
  # every day, until you turn them off. That is why the write is governed by
13694
13702
  # `org:settings:write` rather than `costs:write`, and why it is
@@ -13750,7 +13758,7 @@ module Infrawrench
13750
13758
  # line.
13751
13759
  #
13752
13760
  # Accounts whose provider has no readable flow source appear in `accounts`
13753
- # with `supportsFlows: false` and contribute nothing to the totals — never
13761
+ # with `supportsFlows: false` and contribute nothing to the totals; never
13754
13762
  # zero bytes.
13755
13763
  #
13756
13764
  # _Requires permission: `costs:read`._
@@ -13893,7 +13901,7 @@ module Infrawrench
13893
13901
  # Shift boundaries are calendar-day arithmetic in the rotation's own zone,
13894
13902
  # not 24-hour arithmetic: a rotation stepped in fixed milliseconds drifts an
13895
13903
  # hour at each daylight-saving change until the 09:00 Monday handover
13896
- # happens at 08:00 — or until two people each think the other is on call.
13904
+ # happens at 08:00; or until two people each think the other is on call.
13897
13905
  #
13898
13906
  # Writing takes `org:settings:write`: a rotation decides who gets woken up.
13899
13907
  #
@@ -13995,7 +14003,7 @@ module Infrawrench
13995
14003
  # Edit an on-call rotation
13996
14004
  #
13997
14005
  # Omitted fields are left alone, and the result is validated after merging.
13998
- # Sending `participantUserIds` replaces the list wholesale — position is
14006
+ # Sending `participantUserIds` replaces the list wholesale; position is
13999
14007
  # rotation order, so reordering re-plans the future.
14000
14008
  #
14001
14009
  # PATCH /api/org/{orgId}/on-call/schedules/{scheduleId}
@@ -14042,7 +14050,7 @@ module Infrawrench
14042
14050
  # Who is on call right now
14043
14051
  #
14044
14052
  # One entry per rotation: the shift in effect, and the next person in the
14045
- # rotation. Takes `team:read` — knowing who is on call is something every
14053
+ # rotation. Takes `team:read`: knowing who is on call is something every
14046
14054
  # member needs and nobody should have to ask an admin for.
14047
14055
  #
14048
14056
  # GET /api/org/{orgId}/on-call/now
@@ -14105,8 +14113,8 @@ module Infrawrench
14105
14113
  # List likely-orphaned and idle resources
14106
14114
  #
14107
14115
  # Scans the organization's already-synced resources against each plugin's
14108
- # declarative orphan heuristics — unattached volumes, unassigned
14109
- # floating/elastic IPs, reserved-but-unused static IPs — and returns the
14116
+ # declarative orphan heuristics (unattached volumes, unassigned
14117
+ # floating/elastic IPs, reserved-but-unused static IPs) and returns the
14110
14118
  # matches grouped by account, each with the plugin's reason. Purely a read
14111
14119
  # over stored state: no provider API calls are made, so results reflect the
14112
14120
  # last sync. Where the org's collected cost data has per-resource rows,
@@ -14171,9 +14179,9 @@ module Infrawrench
14171
14179
 
14172
14180
  # List resource ownership records
14173
14181
  #
14174
- # Every ownership record in the organization — owner, purpose and
14175
- # authorizing ticket, per resource. Only resources somebody has recorded
14176
- # something about appear; an absent record means the resource is unowned.
14182
+ # Every ownership record in the organization; owner, purpose and authorizing
14183
+ # ticket, per resource. Only resources somebody has recorded something about
14184
+ # appear; an absent record means the resource is unowned.
14177
14185
  #
14178
14186
  # _Requires permission: `resources:read`._
14179
14187
  #
@@ -14249,7 +14257,7 @@ module Infrawrench
14249
14257
 
14250
14258
  # Set a resource's ownership
14251
14259
  #
14252
- # Upsert keyed by `resourceId` — ownership is a property of the resource, so
14260
+ # Upsert keyed by `resourceId`: ownership is a property of the resource, so
14253
14261
  # there is no separate create and update. Omitted fields keep their value
14254
14262
  # and `null` clears one. Clearing every field removes the record entirely
14255
14263
  # and the response is `null`, which is the new truth rather than an empty
@@ -14292,9 +14300,9 @@ module Infrawrench
14292
14300
 
14293
14301
  # Raise an alert to the organization's on-call transports
14294
14302
  #
14295
- # Fans an alert out over whatever the org has configured — Twilio SMS (and
14303
+ # Fans an alert out over whatever the org has configured (Twilio SMS (and
14296
14304
  # voice on request), mobile push, Slack channels, and Microsoft Teams
14297
- # webhooks — honouring each recipient's opt-ins. This is the same alert a
14305
+ # webhooks) honouring each recipient's opt-ins. This is the same alert a
14298
14306
  # workflow raises with `infra.page(...)`, for code that runs somewhere
14299
14307
  # Infrawrench does not: a health check, a deploy script, a cron on a box.
14300
14308
  #
@@ -14332,7 +14340,7 @@ module Infrawrench
14332
14340
  # Clear a page key's cooldown
14333
14341
  #
14334
14342
  # Drops the cooldown for one `(source, key)` so the next page under it
14335
- # delivers immediately. Call it when the condition you alerted on recovers —
14343
+ # delivers immediately. Call it when the condition you alerted on recovers;
14336
14344
  # the workflow equivalent is `infra.page.clear(key)`. Clearing a key that
14337
14345
  # was never paged is not an error.
14338
14346
  #
@@ -14345,7 +14353,7 @@ module Infrawrench
14345
14353
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
14346
14354
  # constructed with.
14347
14355
  # @param source [String] Stable name for the system raising the page: letters, digits, `.`,
14348
- # `_` and `-`. It is the notification's sender, and it scopes the cooldown — two services
14356
+ # `_` and `-`. It is the notification's sender, and it scopes the cooldown; two services
14349
14357
  # paging under the same key never throttle each other.
14350
14358
  # @param key [String, nil] Defaults to `default`.
14351
14359
  # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
@@ -14372,7 +14380,7 @@ module Infrawrench
14372
14380
 
14373
14381
  # Dismiss a posture finding
14374
14382
  #
14375
- # Accept a finding — the bucket really is meant to be public, the key really
14383
+ # Accept a finding; the bucket really is meant to be public, the key really
14376
14384
  # is rotated out of band. The finding leaves `findings` and stops feeding
14377
14385
  # the daily posture alerts, but the rule keeps being evaluated and the
14378
14386
  # finding is reported back under `dismissed` for as long as it still
@@ -14564,7 +14572,7 @@ module Infrawrench
14564
14572
  #
14565
14573
  # Raises on 401: Unauthenticated
14566
14574
  #
14567
- # Raises on 402: Payment required — the organization's plan does not include
14575
+ # Raises on 402: Payment required: the organization's plan does not include
14568
14576
  # this
14569
14577
  #
14570
14578
  # Raises on 403: Forbidden
@@ -14644,7 +14652,7 @@ module Infrawrench
14644
14652
  #
14645
14653
  # Raises on 401: Unauthenticated
14646
14654
  #
14647
- # Raises on 402: Payment required — the organization's plan does not include
14655
+ # Raises on 402: Payment required: the organization's plan does not include
14648
14656
  # this
14649
14657
  #
14650
14658
  # Raises on 403: Forbidden
@@ -14689,7 +14697,7 @@ module Infrawrench
14689
14697
  #
14690
14698
  # Raises on 401: Unauthenticated
14691
14699
  #
14692
- # Raises on 402: Payment required — the organization's plan does not include
14700
+ # Raises on 402: Payment required: the organization's plan does not include
14693
14701
  # this
14694
14702
  #
14695
14703
  # Raises on 403: Forbidden
@@ -14915,7 +14923,7 @@ module Infrawrench
14915
14923
  #
14916
14924
  # Endpoint candidates mined from the organization's synced resource outputs
14917
14925
  # and fields (keys like url, endpoint, host, domain, publicIp). A cheap read
14918
- # over stored state — no provider API calls. Deduplicated by URL.
14926
+ # over stored state; no provider API calls. Deduplicated by URL.
14919
14927
  #
14920
14928
  # _Requires permission: `resources:read`._
14921
14929
  #
@@ -14938,7 +14946,7 @@ module Infrawrench
14938
14946
  # Update or disable a probe
14939
14947
  #
14940
14948
  # Edit settings and/or toggle `enabled`. Changing the URL or method resets
14941
- # the probe's state to `unknown` — the history belongs to the old endpoint.
14949
+ # the probe's state to `unknown`: the history belongs to the old endpoint.
14942
14950
  # Audit-logged.
14943
14951
  #
14944
14952
  # _Requires permission: `resources:write`._
@@ -15110,7 +15118,7 @@ module Infrawrench
15110
15118
 
15111
15119
  # List enrolled authentication factors
15112
15120
  #
15113
- # Includes factors whose enrolment was never confirmed — WorkOS does not
15121
+ # Includes factors whose enrolment was never confirmed; WorkOS does not
15114
15122
  # expose a verified flag.
15115
15123
  #
15116
15124
  # GET /api/profile/mfa
@@ -15165,7 +15173,7 @@ module Infrawrench
15165
15173
 
15166
15174
  # Revoke one session
15167
15175
  #
15168
- # Refuses the session making the request — use sign-out for that.
15176
+ # Refuses the session making the request, use sign-out for that.
15169
15177
  #
15170
15178
  # DELETE /api/profile/sessions/{sessionId}
15171
15179
  #
@@ -15318,7 +15326,7 @@ module Infrawrench
15318
15326
 
15319
15327
  # Mint a password reset link for the signed-in user
15320
15328
  #
15321
- # Returns a one-time AuthKit-hosted reset URL rather than emailing it — the
15329
+ # Returns a one-time AuthKit-hosted reset URL rather than emailing it; the
15322
15330
  # caller already holds a valid session for the account. Also the way to set
15323
15331
  # a first password on an SSO or OAuth-only account.
15324
15332
  #
@@ -15504,11 +15512,11 @@ module Infrawrench
15504
15512
  # List what a monitor can run against
15505
15513
  #
15506
15514
  # The editor's target picker: each account with a SQL driver of its own,
15507
- # plus the SQL-capable resources inside it — a database that is a *resource*
15515
+ # plus the SQL-capable resources inside it; a database that is a *resource*
15508
15516
  # (a ClickHouse service, a D1 or Turso database, a Databricks SQL warehouse,
15509
15517
  # a BigQuery dataset) rather than the account's own connection. Accounts
15510
15518
  # with neither are omitted; a monitor pointed at one could only ever fail.
15511
- # Pass a resource's `id` (and optionally its `resourceTypeId` — the server
15519
+ # Pass a resource's `id` (and optionally its `resourceTypeId`: the server
15512
15520
  # fills it from the synced resource either way) when creating a monitor to
15513
15521
  # scope the query to that resource.
15514
15522
  #
@@ -15532,8 +15540,8 @@ module Infrawrench
15532
15540
  # Run a query once without saving it
15533
15541
  #
15534
15542
  # The editor's 'try it' button. Goes through the same read-only guard as a
15535
- # scheduled run — a query that could not be saved as a monitor must not be
15536
- # runnable through the monitor's own preview — and applies the threshold, so
15543
+ # scheduled run; a query that could not be saved as a monitor must not be
15544
+ # runnable through the monitor's own preview: and applies the threshold, so
15537
15545
  # the answer says whether it *would* be breaching rather than leaving the
15538
15546
  # reader to compare two numbers.
15539
15547
  #
@@ -15671,13 +15679,13 @@ module Infrawrench
15671
15679
  #
15672
15680
  # How close each account is to the limits its provider enforces, with the
15673
15681
  # trend fitted over the last 14 days of collected readings. Both halves of
15674
- # every row — the used figure and the limit — come from the provider;
15675
- # nothing is filled in from published defaults, so an account with an
15676
- # approved increase reads as having the headroom it has. This is a read over
15682
+ # every row (the used figure and the limit) come from the provider; nothing
15683
+ # is filled in from published defaults, so an account with an approved
15684
+ # increase reads as having the headroom it has. This is a read over
15677
15685
  # already-collected snapshots: no provider API calls are made here, and the
15678
15686
  # readings are as fresh as the last collection pass (roughly six hours). A
15679
15687
  # plugin that declares no quota capability contributes nothing rather than
15680
- # zero — see `unsupportedPluginIds`.
15688
+ # zero, see `unsupportedPluginIds`.
15681
15689
  #
15682
15690
  # _Requires permission: `resources:read`._
15683
15691
  #
@@ -16039,10 +16047,10 @@ module Infrawrench
16039
16047
  # Calls the plugin's `estimateCost` and returns a monthly total with the
16040
16048
  # line items behind it. Price a proposed resource by passing `fields`, an
16041
16049
  # existing one by passing `resourceId`, or a proposed change to an existing
16042
- # one by passing both — `fields` is merged over the resource's stored
16043
- # fields, so the caller only sends what changed. `estimate` is null when the
16044
- # plugin cannot price the configuration; that is not the same as an estimate
16045
- # of zero, and it should not be rendered as one.
16050
+ # one by passing both; `fields` is merged over the resource's stored fields,
16051
+ # so the caller only sends what changed. `estimate` is null when the plugin
16052
+ # cannot price the configuration; that is not the same as an estimate of
16053
+ # zero, and it should not be rendered as one.
16046
16054
  #
16047
16055
  # _Requires permission: `resources:read`._
16048
16056
  #
@@ -16101,7 +16109,7 @@ module Infrawrench
16101
16109
  # Get the dynamic create form for a resource type
16102
16110
  #
16103
16111
  # Calls the plugin's `getCreateConfig`. The returned `CreateResourceConfig`
16104
- # is plugin-shaped — see `JsonObject`.
16112
+ # is plugin-shaped, see `JsonObject`.
16105
16113
  #
16106
16114
  # _Requires permission: `resources:write`._
16107
16115
  #
@@ -16607,7 +16615,7 @@ module Infrawrench
16607
16615
  # create form's size options, live-priced). Each recommendation names the
16608
16616
  # cheapest smaller size that still clears a headroom margin and quotes the
16609
16617
  # monthly saving. Apply one by submitting `sizeFieldKey` with the
16610
- # recommended size id through the resource-update endpoint — which enforces
16618
+ # recommended size id through the resource-update endpoint; which enforces
16611
16619
  # change freezes and writes the audit trail. Results are cached for a few
16612
16620
  # minutes; pass `refresh=true` to recompute.
16613
16621
  #
@@ -16742,8 +16750,8 @@ module Infrawrench
16742
16750
  # Close a run out
16743
16751
  #
16744
16752
  # Closing does **not** settle outstanding steps. A run completed with three
16745
- # steps still pending is a true and useful record — it says the incident
16746
- # ended before the checklist did — and quietly marking them done would erase
16753
+ # steps still pending is a true and useful record (it says the incident
16754
+ # ended before the checklist did) and quietly marking them done would erase
16747
16755
  # the one thing a postmortem wants to know.
16748
16756
  #
16749
16757
  # POST /api/org/{orgId}/runbooks/runs/{runId}/close
@@ -16779,7 +16787,7 @@ module Infrawrench
16779
16787
  # Takes `resources:read`, like ticking a step: performing a checklist is not
16780
16788
  # an act of configuration, and requiring an admin mid-incident is how a team
16781
16789
  # stops using it. Deliberately not deduplicated against a run already in
16782
- # progress — performing the failover twice in one incident is a real thing,
16790
+ # progress; performing the failover twice in one incident is a real thing,
16783
16791
  # and refusing the second would mean it goes unrecorded rather than not
16784
16792
  # happening.
16785
16793
  #
@@ -16871,7 +16879,7 @@ module Infrawrench
16871
16879
 
16872
16880
  # Write a runbook
16873
16881
  #
16874
- # Editing takes `org:settings:write` — a procedure is an org-wide statement
16882
+ # Editing takes `org:settings:write`: a procedure is an org-wide statement
16875
16883
  # about how something is done, and it is read by strangers under pressure.
16876
16884
  # Names are unique within an organization: two runbooks called "Failover" is
16877
16885
  # how the wrong one gets run.
@@ -16966,7 +16974,7 @@ module Infrawrench
16966
16974
 
16967
16975
  # Create a saved cost filter
16968
16976
  #
16969
- # Names must be unique per organization (case-insensitively) — they are how
16977
+ # Names must be unique per organization (case-insensitively); they are how
16970
16978
  # the CLI's `--filter <name>` and humans address the filter. A name
16971
16979
  # collision is a 409.
16972
16980
  #
@@ -16996,7 +17004,7 @@ module Infrawrench
16996
17004
 
16997
17005
  # Delete a saved cost filter
16998
17006
  #
16999
- # Soft delete — **refused with a 409 while anything references the filter**,
17007
+ # Soft delete: **refused with a 409 while anything references the filter**,
17000
17008
  # with the referents in the body. Deleting a referenced filter would
17001
17009
  # silently widen every referent's scope to all spend; for a budget that can
17002
17010
  # fire or suppress alerts, so detaching the referents is a deliberate step,
@@ -17008,7 +17016,7 @@ module Infrawrench
17008
17016
  #
17009
17017
  # Raises on 404: Not found
17010
17018
  #
17011
- # Raises on 409: Still referenced — the body lists every referent.
17019
+ # Raises on 409: Still referenced: the body lists every referent.
17012
17020
  #
17013
17021
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
17014
17022
  # constructed with.
@@ -17052,7 +17060,7 @@ module Infrawrench
17052
17060
  #
17053
17061
  # Named, reusable cost filter sets. Graphs, reports and budgets reference
17054
17062
  # one **by id** (`savedFilterId` in their configs and in `POST
17055
- # /costs/query`), and the server resolves the reference at query time — so
17063
+ # /costs/query`), and the server resolves the reference at query time; so
17056
17064
  # editing a saved filter changes every referent at once, and nothing ever
17057
17065
  # holds a copy.
17058
17066
  #
@@ -17077,8 +17085,9 @@ module Infrawrench
17077
17085
 
17078
17086
  # List a saved filter's referents
17079
17087
  #
17080
- # Every budget, cost report and dashboard cost graph referencing this filter
17081
- # — what an edit will re-scope, and what a delete would be refused over.
17088
+ # Every budget, cost report and dashboard cost graph referencing this
17089
+ # filter; what an edit will re-scope, and what a delete would be refused
17090
+ # over.
17082
17091
  #
17083
17092
  # _Requires permission: `costs:read`._
17084
17093
  #
@@ -17105,7 +17114,7 @@ module Infrawrench
17105
17114
  #
17106
17115
  # Replaces the filter's name, description and terms. This is the
17107
17116
  # high-leverage write: every graph, report and budget referencing the filter
17108
- # runs the new terms on its next query — re-scoping a referenced budget can
17117
+ # runs the new terms on its next query: re-scoping a referenced budget can
17109
17118
  # change which alerts fire. `GET /{id}/referents` names what a change will
17110
17119
  # touch.
17111
17120
  #
@@ -17591,7 +17600,7 @@ module Infrawrench
17591
17600
 
17592
17601
  # Update the recording policy
17593
17602
  #
17594
- # Partial update — omitted fields keep their current value. Recording is
17603
+ # Partial update: omitted fields keep their current value. Recording is
17595
17604
  # opt-in and off by default. Audit-logged with the before/after policy.
17596
17605
  #
17597
17606
  # _Requires permission: `session-recordings:write`._
@@ -17635,7 +17644,7 @@ module Infrawrench
17635
17644
  # The session as an [asciicast
17636
17645
  # v2](https://docs.asciinema.org/manual/asciicast/v2/) document: a JSON
17637
17646
  # header line followed by one `[time, code, data]` event per line.
17638
- # Deliberately somebody else's format — the same bytes play in `asciinema
17647
+ # Deliberately somebody else's format; the same bytes play in `asciinema
17639
17648
  # play` and in the reference web player, so a recording is useful to an
17640
17649
  # auditor who has never seen this product. `?download=1` returns it as an
17641
17650
  # attachment. **Every fetch is audit-logged**, including this one: an
@@ -17716,7 +17725,7 @@ module Infrawrench
17716
17725
  # List recorded SSH sessions
17717
17726
  #
17718
17727
  # Recorded sessions, newest first. Only SSH opened through the cloud is
17719
- # recorded — those sessions are already proxied by the server, so recording
17728
+ # recorded; those sessions are already proxied by the server, so recording
17720
17729
  # tees a stream it holds rather than requiring an agent on the host. A
17721
17730
  # desktop session that dials a host directly never reaches the server and
17722
17731
  # cannot appear here.
@@ -17730,7 +17739,7 @@ module Infrawrench
17730
17739
  # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
17731
17740
  # constructed with.
17732
17741
  # @param status [String, nil] `recording` (live), `complete` (closed cleanly), `truncated`
17733
- # (hit the per-session capture ceiling — the tape is a genuine partial and says so), or
17742
+ # (hit the per-session capture ceiling: the tape is a genuine partial and says so), or
17734
17743
  # `abandoned` (the server handling the session went away before it could close the row).
17735
17744
  # @param user_id [String, nil]
17736
17745
  # @param resource_id [String, nil]
@@ -18006,7 +18015,7 @@ module Infrawrench
18006
18015
  #
18007
18016
  # What the join screen shows before anyone commits: which host, whose
18008
18017
  # session, and whether you may join it. Reachable with a valid token by a
18009
- # signed-in member who already holds `resources:execute` — the token says
18018
+ # signed-in member who already holds `resources:execute`: the token says
18010
18019
  # *which* session, never *whether*. Returns nothing from the session itself.
18011
18020
  #
18012
18021
  # _Requires permission: `resources:execute`._
@@ -18045,7 +18054,7 @@ module Infrawrench
18045
18054
  # Their socket is closed immediately on the replica holding the pty, and
18046
18055
  # within one two-second sweep on any other. They are marked `removed` rather
18047
18056
  # than `left`, so they cannot resume without a fresh invite. The sharer
18048
- # cannot be removed — revoke the share.
18057
+ # cannot be removed, revoke the share.
18049
18058
  #
18050
18059
  # DELETE
18051
18060
  # /api/org/{orgId}/shared-consoles/{consoleId}/participants/{participantId}
@@ -18099,12 +18108,12 @@ module Infrawrench
18099
18108
  # invite. You become the driver.
18100
18109
  #
18101
18110
  # Returns 409 `console_not_here` when the pty is held by a different server
18102
- # replica than the one answering this call — reopen the terminal and share
18111
+ # replica than the one answering this call; reopen the terminal and share
18103
18112
  # again. Writing the share anyway would produce a link that authorises
18104
18113
  # correctly and then finds nothing to attach to.
18105
18114
  #
18106
- # Requires `resources:execute` — the same permission as opening the
18107
- # terminal. Closed to API keys: sharing a shell is an act a person performs.
18115
+ # Requires `resources:execute`: the same permission as opening the terminal.
18116
+ # Closed to API keys: sharing a shell is an act a person performs.
18108
18117
  #
18109
18118
  # _Requires permission: `resources:execute`._
18110
18119
  #
@@ -18136,7 +18145,7 @@ module Infrawrench
18136
18145
  # Revoke a share
18137
18146
  #
18138
18147
  # Disconnects every guest and stops the fan-out. The sharer's own SSH
18139
- # session carries on — revoking a share is not killing a terminal.
18148
+ # session carries on : revoking a share is not killing a terminal.
18140
18149
  #
18141
18150
  # The sharer or a holder of `org:settings:write`. Deliberately does **not**
18142
18151
  # require `resources:execute`: ending access must never be gated on still
@@ -18167,7 +18176,7 @@ module Infrawrench
18167
18176
  # Get one shared console
18168
18177
  #
18169
18178
  # Visible to participants and to anyone who could revoke it (the sharer, or
18170
- # a holder of `org:settings:write`). Others get 404 — that a named colleague
18179
+ # a holder of `org:settings:write`). Others get 404: that a named colleague
18171
18180
  # has a root shell open on a named production host right now is operational
18172
18181
  # information.
18173
18182
  #
@@ -18198,7 +18207,7 @@ module Infrawrench
18198
18207
  # Authorised by the **current driver** (the keyboard is theirs to give) or
18199
18208
  # by the **sharer** (it is their box, and asking permission from somebody
18200
18209
  # who has stopped responding is not a control). An observer cannot promote
18201
- # themselves — that is `/request-driver`.
18210
+ # themselves; that is `/request-driver`.
18202
18211
  #
18203
18212
  # Two simultaneous grants cannot both win: the database's partial unique
18204
18213
  # index decides the order, and the loser gets 409 `driver-race-lost`.
@@ -18237,7 +18246,7 @@ module Infrawrench
18237
18246
 
18238
18247
  # Redeem an invite and join
18239
18248
  #
18240
- # Admission needs live org membership **and** `resources:execute` — the
18249
+ # Admission needs live org membership **and** `resources:execute`: the
18241
18250
  # invite is a locator, never a capability, so a leaked link admits nobody
18242
18251
  # who could not have opened the shell themselves.
18243
18252
  #
@@ -18335,8 +18344,8 @@ module Infrawrench
18335
18344
 
18336
18345
  # Ask for the keyboard
18337
18346
  #
18338
- # Raises a flag the driver and the sharer can see. Grants nothing on its own
18339
- # — that is the point.
18347
+ # Raises a flag the driver and the sharer can see. Grants nothing on its
18348
+ # own; that is the point.
18340
18349
  #
18341
18350
  # _Requires permission: `resources:execute`._
18342
18351
  #
@@ -18665,7 +18674,7 @@ module Infrawrench
18665
18674
 
18666
18675
  # Post a test message to every configured channel
18667
18676
  #
18668
- # Ignores routing rules — every channel gets the test. Fails with the Slack
18677
+ # Ignores routing rules; every channel gets the test. Fails with the Slack
18669
18678
  # error when nothing could be delivered (`not_in_channel` means the bot
18670
18679
  # needs inviting to a private channel).
18671
18680
  #
@@ -19065,7 +19074,7 @@ module Infrawrench
19065
19074
  #
19066
19075
  # Signs one publickey-authentication challenge with a server-generated org
19067
19076
  # key whose private half never leaves Infrawrench Cloud. Requires the
19068
- # `resources:execute` permission — producing an auth signature is the same
19077
+ # `resources:execute` permission: producing an auth signature is the same
19069
19078
  # authority as opening a shell. Imported keys cannot sign (only their public
19070
19079
  # half is stored). Every call is audited.
19071
19080
  #
@@ -19235,7 +19244,7 @@ module Infrawrench
19235
19244
  # Read a public status page
19236
19245
  #
19237
19246
  # **Unauthenticated.** The only endpoint in this API that takes no
19238
- # credentials — a status page exists for people with no account. The payload
19247
+ # credentials; a status page exists for people with no account. The payload
19239
19248
  # carries labels, states and uptime history only: probe URLs, resource and
19240
19249
  # account ids, the organization id and error detail are never included. An
19241
19250
  # unpublished page and an unknown slug both answer 404, so the endpoint
@@ -19270,7 +19279,7 @@ module Infrawrench
19270
19279
  # Provider incidents overlapping your resources
19271
19280
  #
19272
19281
  # The "is it me or is it them?" feed. The poller watches each provider
19273
- # plugin's public status feed (declared on its manifest — zero credentials,
19282
+ # plugin's public status feed (declared on its manifest; zero credentials,
19274
19283
  # zero rate-limit risk), caches active incidents, and this endpoint
19275
19284
  # correlates them against the resources the organization holds: an incident
19276
19285
  # matches a resource when it is provider-wide, names the resource's region,
@@ -19311,7 +19320,7 @@ module Infrawrench
19311
19320
  # Create a status page
19312
19321
  #
19313
19322
  # Creates a page with a freshly generated slug. `published` defaults to
19314
- # false, so creating a page never exposes anything — publish it as a
19323
+ # false, so creating a page never exposes anything; publish it as a
19315
19324
  # separate, deliberate step.
19316
19325
  #
19317
19326
  # _Requires permission: `resources:write`._
@@ -19390,9 +19399,8 @@ module Infrawrench
19390
19399
 
19391
19400
  # Issue a new public link
19392
19401
  #
19393
- # Replaces the slug, revoking the current public URL immediately — the
19394
- # reroll for a link that ended up somewhere unintended. The page stays
19395
- # published.
19402
+ # Replaces the slug, revoking the current public URL immediately; the reroll
19403
+ # for a link that ended up somewhere unintended. The page stays published.
19396
19404
  #
19397
19405
  # _Requires permission: `resources:write`._
19398
19406
  #
@@ -19418,7 +19426,7 @@ module Infrawrench
19418
19426
  # Update a status page
19419
19427
  #
19420
19428
  # Omitted fields keep their value. `components`, when present, replaces the
19421
- # whole ordered set — which is also how a reorder is expressed.
19429
+ # whole ordered set: which is also how a reorder is expressed.
19422
19430
  #
19423
19431
  # _Requires permission: `resources:write`._
19424
19432
  #
@@ -19788,7 +19796,7 @@ module Infrawrench
19788
19796
  #
19789
19797
  # POST /api/org/{orgId}/team/invitations
19790
19798
  #
19791
- # Raises on 402: Payment required — the organization's plan does not include
19799
+ # Raises on 402: Payment required: the organization's plan does not include
19792
19800
  # this
19793
19801
  #
19794
19802
  # Raises on 403: The role would grant permissions the caller does not hold,
@@ -20311,13 +20319,13 @@ module Infrawrench
20311
20319
  # A different reading of data the product already holds, built on one rule:
20312
20320
  # a wallboard may only show things that are true **right now** and that
20313
20321
  # somebody would cross a room to look at. There is deliberately no history,
20314
- # no trend and no breakdown — those belong on the page you open when you do
20322
+ # no trend and no breakdown; those belong on the page you open when you do
20315
20323
  # walk over.
20316
20324
  #
20317
- # Four sources — declared incidents, synthetic probes, query monitors and
20318
- # account sync health — each guarded independently, because a television
20319
- # that goes blank because one query threw is showing nothing to a room that
20320
- # was relying on it.
20325
+ # Four sources (declared incidents, synthetic probes, query monitors and
20326
+ # account sync health) each guarded independently, because a television that
20327
+ # goes blank because one query threw is showing nothing to a room that was
20328
+ # relying on it.
20321
20329
  #
20322
20330
  # Session-authenticated on purpose: unlike the calendar feed or a public
20323
20331
  # status page, this carries incident titles, probe names and account names,
@@ -20646,7 +20654,7 @@ module Infrawrench
20646
20654
  #
20647
20655
  # Sets the workflow's trigger to cron with the given expression and
20648
20656
  # timezone, validating both, and computes the next fire time. The workflow
20649
- # fires at the schedule's next occurrence — never immediately on save.
20657
+ # fires at the schedule's next occurrence; never immediately on save.
20650
20658
  #
20651
20659
  # Changing the schedule makes scheduled runs act with the permissions of the
20652
20660
  # caller from then on, the same as editing the workflow's code. When the
@@ -20764,7 +20772,7 @@ module Infrawrench
20764
20772
  # SSH key names, and the workflow's trigger + metrics. Default is the fast
20765
20773
  # static surface (`create` fields are `Record<string, string>`). Pass
20766
20774
  # `enrich=1` for a second pass that hits provider APIs for precise create()
20767
- # field unions and live sidecar capability flags — the editor loads static
20775
+ # field unions and live sidecar capability flags; the editor loads static
20768
20776
  # first and upgrades when that finishes.
20769
20777
  #
20770
20778
  # _Requires permission: `workflows:read`._