infrawrench-sdk 1.41.0 → 1.42.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9043824b7a2681a2eb2b39260bbe15867b59a358f08be249532cd8c6df38ba21
4
- data.tar.gz: 7847f5a3cd3d593159d32cb7245c40ae1a7c14f7976ce228365db5c46d9f6b63
3
+ metadata.gz: 3ab3b8356046b9af410fc1085404ec8da788100a7f0c5af914f877797ba19d1c
4
+ data.tar.gz: 6c6c416bea1d0db25aff8652d91bd8d781b75465e13a2b48929a6176222e30d1
5
5
  SHA512:
6
- metadata.gz: da655770052b6c2432b29e5488a4462815cfcc7d2b5ae55ce1aa16ac0979769e3f31a3df71a1ab6b48a3a93a69775c3d704057d926073cb1027e6762b69ca4ee
7
- data.tar.gz: cb800b1e28c49338de8f16907a2a352eefb9db127ee1c14bd4aaff7d80b415cd1a8b65aa7eccce4d410f24faf8ce9c749eb1305c92f571e1c2e51e694842d076
6
+ metadata.gz: 734aeddb14b3659bdab0fd9d366ac80113281356f1cb09bf77a0188a6e85c1e0e23797e6d0b1fee2b852e9c1bde044d6dba5168c1025e824d9aaf065497bf90b
7
+ data.tar.gz: dbbef6ae9157a8a96bc205ad3c338a137a61e063e3e1356346e0be79ac3e3aa9d0611897538a7ed7535e6e9b5838f0430ce435f103229150ba9247e2d0234f60
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # infrawrench-sdk
2
2
 
3
- Generated Ruby client for the Infrawrench API (API version `1.41.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `1.42.2`).
4
4
 
5
5
  **Do not edit this gem by hand** — it is regenerated from `openapi.json` and is
6
6
  not checked into the repository. Run
@@ -41,7 +41,7 @@ Every method takes an optional trailing `request_options:` hash (`:headers`,
41
41
  Responses are the plain `Hash`/`Array` that `JSON.parse` returns, with String
42
42
  keys spelled exactly as the wire spells them. There are no model classes — see
43
43
  [`sig/infrawrench/sdk.rbs`](./sig/infrawrench/sdk.rbs) for the shape of every one of the
44
- 739 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 746 schemas, as RBS type aliases that steep and TypeProf can read.
45
45
 
46
46
  Non-2xx responses raise `Infrawrench::ApiError`, which carries `#status`,
47
47
  the parsed `#body`, and the machine-readable `#code` when the API sends one —
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.41.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.42.2 | 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.41.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.42.2).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -17,8 +17,8 @@ require_relative "lib/infrawrench/version"
17
17
  Gem::Specification.new do |spec|
18
18
  spec.name = "infrawrench-sdk"
19
19
  spec.version = Infrawrench::VERSION
20
- spec.summary = "Generated Ruby client for the Infrawrench API (v1.41.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v1.41.0). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
20
+ spec.summary = "Generated Ruby client for the Infrawrench API (v1.42.2)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v1.42.2). Covers the published API surface only — operations marked x-internal in the spec are not generated. No runtime dependencies."
22
22
  spec.authors = ["Infrawrench LLC", "Astrid Gealer"]
23
23
  spec.email = ["astrid@infrawrench.com"]
24
24
  spec.homepage = "https://infrawrench.com/docs/team-and-billing/client-sdks"
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.41.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.42.2 | 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.41.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.42.2).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -3101,6 +3101,68 @@ module Infrawrench
3101
3101
  end
3102
3102
  end
3103
3103
 
3104
+ # `client.carbon`
3105
+ class CarbonNamespace
3106
+ # @api private
3107
+ # @param transport [Transport]
3108
+ def initialize(transport)
3109
+ @transport = transport
3110
+ end
3111
+
3112
+ # Estimated operational carbon, with its assumptions
3113
+ #
3114
+ # An **estimate**, in the same sense the cost estimates here are, and built
3115
+ # to be honest about that in three ways.
3116
+ #
3117
+ # **A resource that cannot be placed is never guessed.** No published figure
3118
+ # for the provider, no entry for the region, no vCPU count: each produces an
3119
+ # `unestimated` row with a stated reason and contributes nothing to the
3120
+ # total. A carbon figure computed against a guessed grid is worse than no
3121
+ # figure, because it is a number somebody will put in a report.
3122
+ #
3123
+ # **The assumptions travel with the answer**: utilisation, PUE, the
3124
+ # coefficient source and its vintage are all on the response.
3125
+ #
3126
+ # **It covers processors and says so.** Virtual machines, Kubernetes nodes
3127
+ # and sized managed services; storage, memory, network egress and embodied
3128
+ # (manufacturing) emissions are excluded. Types with nothing to read (a
3129
+ # bucket, a DNS record) are out of scope, not unestimated.
3130
+ #
3131
+ # What to read comes from each plugin's `carbon` declaration (or its
3132
+ # `rightsizing` one): the region field, and vCPUs either directly or through
3133
+ # the create form's size catalogue. Managed clusters whose nodes are listed
3134
+ # in their own right are left out of the total, and a Kubernetes node that
3135
+ # is also an instance is counted once (`duplicateCount`).
3136
+ #
3137
+ # Grid figures are Cloud Carbon Footprint's (Apache-2.0) for AWS, GCP and
3138
+ # Azure, and Ember's 2024 country figures for every other provider; each row
3139
+ # says which (`gridBasis`). They are not measured by us. One resource's
3140
+ # monthly figure rides `POST /resources/cost-estimate` as `carbon`, beside
3141
+ # its price.
3142
+ #
3143
+ # _Requires permission: `costs:read`._
3144
+ #
3145
+ # GET /api/org/{orgId}/carbon
3146
+ #
3147
+ # Raises on 400: Bad request
3148
+ #
3149
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3150
+ # constructed with.
3151
+ # @param window_days [Integer, nil] Defaults to 30.
3152
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3153
+ # @return [Hash] Parsed JSON, shaped as `CarbonEstimate` — see `sig/infrawrench/sdk.rbs`.
3154
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3155
+ def get(org_id: nil, window_days: nil, request_options: nil)
3156
+ @transport.request(
3157
+ http_method: "GET",
3158
+ path: "/api/org/{orgId}/carbon",
3159
+ path_params: { "orgId" => org_id },
3160
+ query: { "windowDays" => window_days },
3161
+ request_options: request_options
3162
+ )
3163
+ end
3164
+ end
3165
+
3104
3166
  # `client.change_freezes`
3105
3167
  class ChangeFreezesNamespace
3106
3168
  # @api private
@@ -14825,9 +14887,12 @@ module Infrawrench
14825
14887
 
14826
14888
  # Get the Add to Slack URL
14827
14889
  #
14828
- # Returns a slack.com/oauth/v2/authorize URL carrying a signed `state` that
14829
- # binds the resulting install to this organization. Send the user's browser
14830
- # there; Slack redirects back to /api/slack/oauth/callback.
14890
+ # Returns a URL on this server (/api/slack/oauth/start) carrying a signed
14891
+ # `state` that binds the resulting install to this organization and to the
14892
+ # calling user. Open it in that user's browser within 30 minutes: it asks
14893
+ # them to sign in if needed, then redirects to Slack's approval screen, and
14894
+ # Slack redirects back to /api/slack/oauth/callback. The install only
14895
+ # completes in the browser that opened the link as that user.
14831
14896
  #
14832
14897
  # GET /api/org/{orgId}/slack/install-url
14833
14898
  #
@@ -16749,6 +16814,8 @@ module Infrawrench
16749
16814
  attr_reader :business_metrics
16750
16815
  # @return [CalendarNamespace] `client.calendar`
16751
16816
  attr_reader :calendar
16817
+ # @return [CarbonNamespace] `client.carbon`
16818
+ attr_reader :carbon
16752
16819
  # @return [ChangeFreezesNamespace] `client.change_freezes`
16753
16820
  attr_reader :change_freezes
16754
16821
  # @return [ChangesNamespace] `client.changes`
@@ -16928,6 +16995,7 @@ module Infrawrench
16928
16995
  @budgets = BudgetsNamespace.new(@transport)
16929
16996
  @business_metrics = BusinessMetricsNamespace.new(@transport)
16930
16997
  @calendar = CalendarNamespace.new(@transport)
16998
+ @carbon = CarbonNamespace.new(@transport)
16931
16999
  @change_freezes = ChangeFreezesNamespace.new(@transport)
16932
17000
  @changes = ChangesNamespace.new(@transport)
16933
17001
  @chat = ChatNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.41.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.42.2 | 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.41.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.42.2).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.41.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.42.2 | 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.41.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.42.2).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.41.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.42.2 | 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.41.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.42.2).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -15,5 +15,5 @@
15
15
  # Kept in its own file so the gemspec can read the version without loading the
16
16
  # client — a gemspec that pulls in net/http is a gemspec that can fail to parse.
17
17
  module Infrawrench
18
- VERSION = "1.41.0"
18
+ VERSION = "1.42.2"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v1.41.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v1.42.2 | 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.41.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.42.2).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1,7 +1,7 @@
1
- # infrawrench-sdk v1.41.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v1.42.2 | MIT | Copyright (c) 2026 Infrawrench LLC
2
2
  # https://github.com/Infrawrench/Infrawrench
3
3
  #
4
- # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.41.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.42.2).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1184,6 +1184,91 @@ module Infrawrench
1184
1184
  "slots" => Array[capacity_slot]
1185
1185
  }
1186
1186
 
1187
+ # Spec schema: `CarbonAssumptions`.
1188
+ type carbon_assumptions = {
1189
+ "cpuUtilization" => Numeric,
1190
+ "pue" => Hash[String, Numeric],
1191
+ "vcpuWatts" => Hash[String, { "min" => Numeric, "max" => Numeric }],
1192
+ "coefficientSource" => String,
1193
+ "coefficientVintage" => String,
1194
+ "scope" => String
1195
+ }
1196
+
1197
+ # Spec schema: `CarbonEstimate`.
1198
+ type carbon_estimate = {
1199
+ "windowDays" => Integer,
1200
+ "totalKgCo2e" => Numeric,
1201
+ "totalKwh" => Numeric,
1202
+ "estimatedCount" => Integer,
1203
+ "unestimated" => Array[carbon_unestimated_row],
1204
+ "unestimatedCount" => Integer,
1205
+ "duplicateCount" => Integer,
1206
+ "byRegion" => Array[carbon_group],
1207
+ "byAccount" => Array[carbon_group],
1208
+ "byProvider" => Array[carbon_group],
1209
+ "rows" => Array[carbon_row],
1210
+ "assumptions" => carbon_assumptions,
1211
+ "generatedAt" => String
1212
+ }
1213
+
1214
+ # Monthly (730 h) footprint, or null.
1215
+ #
1216
+ # Spec schema: `CarbonFootprint`.
1217
+ type carbon_footprint = {
1218
+ "vcpus" => Numeric,
1219
+ "count" => Integer,
1220
+ "region" => String,
1221
+ "grid" => String,
1222
+ "gridIntensity" => Numeric,
1223
+ "gridZone" => String,
1224
+ "gridBasis" => "ccf" | "ember-2024",
1225
+ "pue" => Numeric,
1226
+ "kwh" => Numeric,
1227
+ "kgCo2e" => Numeric
1228
+ }
1229
+ | nil
1230
+
1231
+ # Spec schema: `CarbonGroup`.
1232
+ type carbon_group = {
1233
+ "key" => String,
1234
+ "label" => String,
1235
+ "kgCo2e" => Numeric,
1236
+ "kwh" => Numeric,
1237
+ "resourceCount" => Integer
1238
+ }
1239
+
1240
+ # Spec schema: `CarbonRow`.
1241
+ type carbon_row = {
1242
+ "vcpus" => Numeric,
1243
+ "count" => Integer,
1244
+ "region" => String,
1245
+ "grid" => String,
1246
+ "gridIntensity" => Numeric,
1247
+ "gridZone" => String,
1248
+ "gridBasis" => "ccf" | "ember-2024",
1249
+ "pue" => Numeric,
1250
+ "kwh" => Numeric,
1251
+ "kgCo2e" => Numeric,
1252
+ "resourceId" => String,
1253
+ "displayName" => String,
1254
+ "pluginId" => String,
1255
+ "resourceTypeId" => String,
1256
+ "accountId" => String,
1257
+ "accountName" => String | nil
1258
+ }
1259
+
1260
+ # Spec schema: `CarbonUnestimatedRow`.
1261
+ type carbon_unestimated_row = {
1262
+ "resourceId" => String,
1263
+ "displayName" => String,
1264
+ "pluginId" => String,
1265
+ "resourceTypeId" => String,
1266
+ "accountId" => String,
1267
+ "accountName" => String | nil,
1268
+ "region" => String | nil,
1269
+ "reason" => "unsupported-provider" | "unknown-region" | "unknown-size"
1270
+ }
1271
+
1187
1272
  # Which charge-type basis both windows are read on. `cash` (the default) is
1188
1273
  # what the provider charged on the day it charged it; `amortized` spreads a
1189
1274
  # commitment's up-front fee across the term it buys. It is echoed on every
@@ -2955,11 +3040,14 @@ module Infrawrench
2955
3040
  "currency" => String | nil,
2956
3041
  "partial" => bool,
2957
3042
  "unpricedCount" => Integer,
3043
+ "monthlyKgCo2e" => Numeric | nil,
3044
+ "uncarbonedCount" => Integer,
2958
3045
  "members" => Array[{
2959
3046
  "memberKey" => String,
2960
3047
  "displayName" => String,
2961
3048
  "monthlyAmount" => Numeric | nil,
2962
- "currency" => String | nil
3049
+ "currency" => String | nil,
3050
+ "monthlyKgCo2e" => Numeric | nil
2963
3051
  }]
2964
3052
  }
2965
3053
 
@@ -4833,6 +4921,8 @@ module Infrawrench
4833
4921
  "projectedCpuP95" => Numeric,
4834
4922
  "currency" => String,
4835
4923
  "monthlySaving" => Numeric | nil,
4924
+ "currentMonthlyKgCo2e" => Numeric | nil,
4925
+ "monthlyKgCo2eSaving" => Numeric | nil,
4836
4926
  "resizeNote" => String | nil,
4837
4927
  "lastSyncedAt" => String | nil
4838
4928
  }
@@ -5558,6 +5648,24 @@ module Infrawrench
5558
5648
  "parentResourceId" => resource_id & (String | nil)
5559
5649
  }
5560
5650
 
5651
+ # Estimated monthly CO2e of the same configuration, beside its price. Null for
5652
+ # a peer resource or when the size catalogue could not be read.
5653
+ #
5654
+ # Spec schema: `ResourceCarbonEstimate`.
5655
+ type resource_carbon_estimate = {
5656
+ "estimate" => carbon_footprint,
5657
+ "reason" => "unsupported-provider" | "unknown-region" | "unknown-size" | nil,
5658
+ "inScope" => bool,
5659
+ "role" => "instance" | "aggregate",
5660
+ "assumptions" => {
5661
+ "cpuUtilization" => Numeric,
5662
+ "coefficientSource" => String,
5663
+ "coefficientVintage" => String,
5664
+ "scope" => String
5665
+ }
5666
+ }
5667
+ | nil
5668
+
5561
5669
  # Spec schema: `ResourceChangeEntry`.
5562
5670
  type resource_change_entry = {
5563
5671
  "id" => String,
@@ -7792,6 +7900,11 @@ module Infrawrench
7792
7900
  def get: (?org_id: String?, ?from: String?, ?to: String?, ?kinds: String?, ?request_options: Hash[Symbol, untyped]?) -> calendar_response
7793
7901
  end
7794
7902
 
7903
+ class CarbonNamespace
7904
+ def initialize: (Transport) -> void
7905
+ def get: (?org_id: String?, ?window_days: Integer?, ?request_options: Hash[Symbol, untyped]?) -> carbon_estimate
7906
+ end
7907
+
7795
7908
  class ChangeFreezesNamespace
7796
7909
  def initialize: (Transport) -> void
7797
7910
  def create: (body: change_freeze_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> change_freeze
@@ -8508,7 +8621,7 @@ module Infrawrench
8508
8621
  attr_reader ssh_install: ResourcesSshInstallNamespace
8509
8622
  def initialize: (Transport) -> void
8510
8623
  def attach: (body: attach_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
8511
- def cost_estimate: (body: cost_estimate_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "estimate" => cost_estimate }
8624
+ def cost_estimate: (body: cost_estimate_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "estimate" => cost_estimate, "carbon" => resource_carbon_estimate }
8512
8625
  def create: (body: create_resource_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> create_resource_response
8513
8626
  def create_config: (body: create_config_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> json_object
8514
8627
  def create_pricing: (body: create_pricing_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Hash[String, json_object]
@@ -8828,6 +8941,7 @@ module Infrawrench
8828
8941
  attr_reader budgets: BudgetsNamespace
8829
8942
  attr_reader business_metrics: BusinessMetricsNamespace
8830
8943
  attr_reader calendar: CalendarNamespace
8944
+ attr_reader carbon: CarbonNamespace
8831
8945
  attr_reader change_freezes: ChangeFreezesNamespace
8832
8946
  attr_reader changes: ChangesNamespace
8833
8947
  attr_reader chat: ChatNamespace
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infrawrench-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.41.0
4
+ version: 1.42.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infrawrench LLC
@@ -11,7 +11,7 @@ bindir: bin
11
11
  cert_chain: []
12
12
  date: 2026-10-03 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v1.41.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v1.42.2). Covers the published
15
15
  API surface only — operations marked x-internal in the spec are not generated. No
16
16
  runtime dependencies.
17
17
  email:
@@ -58,5 +58,5 @@ requirements: []
58
58
  rubygems_version: 3.5.22
59
59
  signing_key:
60
60
  specification_version: 4
61
- summary: Generated Ruby client for the Infrawrench API (v1.41.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v1.42.2).
62
62
  test_files: []