infrawrench-sdk 0.2.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e97b38b6982a896cb7606d73b4daade39d3d7f13568b6452e2e0966bfa5fd88e
4
- data.tar.gz: d31eb76abce20bc22cedc4746ea008027085d487722c868d962ccc22be8554c4
3
+ metadata.gz: 974096b3a85e880997f64f449b4886cdaf873b70966c935e3ea9d3b4ae5987e9
4
+ data.tar.gz: e4017bdf29231d355e12f2a03e35b021b1b763594b735c39f32cea8feb5cd013
5
5
  SHA512:
6
- metadata.gz: d8f8cc2a1e182e23c2ca2c41603a76dd39d807263ef79af7f3e9d7a7ecd698d8e59eef5202972c52b9f70f7c6ab8f8e0275e78f5f82fd1438459aabe510909de
7
- data.tar.gz: c3f19cb37c68e57a17305fedf8de0fbb5d54104015746e79beee828dfc6747a4f5322372e16621e9f90d49c275925aef5feaba62ade8ad4b5d6a30023dac9c73
6
+ metadata.gz: 49b11f47365f437317b7df44524ee46f3681367549ff9762d6efab9fed701eeab47bda0edf05a3be1fe3c48e89df2c79a316b2a8e9116ded114e3ef302e2f20c
7
+ data.tar.gz: 3f86a4e21e4ba2c7247a30a7999e2d5eb4b91c1d1d30f1b7bbca499a637a16b67ea892d5523fb79fd3d0507fcf63e06a6dd614776bd35aaaaa3ae539dbde71b5
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # infrawrench-sdk
2
2
 
3
- Generated Ruby client for the Infrawrench API (API version `0.2.0`).
3
+ Generated Ruby client for the Infrawrench API (API version `0.3.0`).
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
- 177 schemas, as RBS type aliases that steep and TypeProf can read.
44
+ 183 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 v0.2.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.3.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 0.2.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.3.0).
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 (v0.2.0)."
21
- spec.description = "Generated Ruby client for the Infrawrench API (v0.2.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 (v0.3.0)."
21
+ spec.description = "Generated Ruby client for the Infrawrench API (v0.3.0). 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 v0.2.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.3.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 0.2.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.3.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -3229,6 +3229,229 @@ module Infrawrench
3229
3229
  end
3230
3230
  end
3231
3231
 
3232
+ # `client.slack.channels`
3233
+ class SlackChannelsNamespace
3234
+ # @api private
3235
+ # @param transport [Transport]
3236
+ def initialize(transport)
3237
+ @transport = transport
3238
+ end
3239
+
3240
+ # Route alerts to a Slack channel
3241
+ #
3242
+ # Adds a channel, or updates the trigger opt-ins of one already added. Each
3243
+ # trigger defaults to enabled.
3244
+ #
3245
+ # POST /api/org/{orgId}/slack/channels
3246
+ #
3247
+ # Raises on 400: Bad request
3248
+ #
3249
+ # Raises on 404: Not found
3250
+ #
3251
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3252
+ # constructed with.
3253
+ # @param body [Hash, nil] Request body, shaped as `SlackChannelCreate`.
3254
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3255
+ # @return [Hash] Parsed JSON, shaped as `SlackChannel` — see `sig/infrawrench/sdk.rbs`.
3256
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3257
+ def create(org_id: nil, body: nil, request_options: nil)
3258
+ @transport.request(
3259
+ http_method: "POST",
3260
+ path: "/api/org/{orgId}/slack/channels",
3261
+ path_params: { "orgId" => org_id },
3262
+ body: body,
3263
+ request_options: request_options
3264
+ )
3265
+ end
3266
+
3267
+ # Stop routing alerts to a channel
3268
+ #
3269
+ # DELETE /api/org/{orgId}/slack/channels/{id}
3270
+ #
3271
+ # Raises on 404: Not found
3272
+ #
3273
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3274
+ # constructed with.
3275
+ # @param id [String]
3276
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3277
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
3278
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3279
+ def delete(id:, org_id: nil, request_options: nil)
3280
+ @transport.request(
3281
+ http_method: "DELETE",
3282
+ path: "/api/org/{orgId}/slack/channels/{id}",
3283
+ path_params: { "orgId" => org_id, "id" => id },
3284
+ request_options: request_options
3285
+ )
3286
+ end
3287
+
3288
+ # Change which alerts a channel receives
3289
+ #
3290
+ # PATCH /api/org/{orgId}/slack/channels/{id}
3291
+ #
3292
+ # Raises on 404: Not found
3293
+ #
3294
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3295
+ # constructed with.
3296
+ # @param id [String]
3297
+ # @param body [Hash, nil] Request body, shaped as `SlackChannelUpdate`.
3298
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3299
+ # @return [Hash] Parsed JSON, shaped as `SlackChannel` — see `sig/infrawrench/sdk.rbs`.
3300
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3301
+ def update(id:, org_id: nil, body: nil, request_options: nil)
3302
+ @transport.request(
3303
+ http_method: "PATCH",
3304
+ path: "/api/org/{orgId}/slack/channels/{id}",
3305
+ path_params: { "orgId" => org_id, "id" => id },
3306
+ body: body,
3307
+ request_options: request_options
3308
+ )
3309
+ end
3310
+ end
3311
+
3312
+ # `client.slack.installations`
3313
+ class SlackInstallationsNamespace
3314
+ # @api private
3315
+ # @param transport [Transport]
3316
+ def initialize(transport)
3317
+ @transport = transport
3318
+ end
3319
+
3320
+ # List channels the connected workspace can see
3321
+ #
3322
+ # Live call to Slack's conversations.list, for populating a channel picker.
3323
+ # Returns non-archived public and private channels visible to the bot.
3324
+ #
3325
+ # GET
3326
+ # /api/org/{orgId}/slack/installations/{installationId}/available-channels
3327
+ #
3328
+ # Raises on 400: Bad request
3329
+ #
3330
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3331
+ # constructed with.
3332
+ # @param installation_id [String]
3333
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3334
+ # @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
3335
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3336
+ def available_channels(installation_id:, org_id: nil, request_options: nil)
3337
+ @transport.request(
3338
+ http_method: "GET",
3339
+ path: "/api/org/{orgId}/slack/installations/{installationId}/available-channels",
3340
+ path_params: { "orgId" => org_id, "installationId" => installation_id },
3341
+ request_options: request_options
3342
+ )
3343
+ end
3344
+
3345
+ # Disconnect a Slack workspace
3346
+ #
3347
+ # Stops all delivery to this workspace. The channel routing is retained, so
3348
+ # re-installing restores it.
3349
+ #
3350
+ # DELETE /api/org/{orgId}/slack/installations/{installationId}
3351
+ #
3352
+ # Raises on 404: Not found
3353
+ #
3354
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3355
+ # constructed with.
3356
+ # @param installation_id [String]
3357
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3358
+ # @return [Hash] Parsed JSON, shaped as `Ok` — see `sig/infrawrench/sdk.rbs`.
3359
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3360
+ def delete(installation_id:, org_id: nil, request_options: nil)
3361
+ @transport.request(
3362
+ http_method: "DELETE",
3363
+ path: "/api/org/{orgId}/slack/installations/{installationId}",
3364
+ path_params: { "orgId" => org_id, "installationId" => installation_id },
3365
+ request_options: request_options
3366
+ )
3367
+ end
3368
+ end
3369
+
3370
+ # `client.slack`
3371
+ class SlackNamespace
3372
+ # @return [SlackChannelsNamespace] `client.slack.channels`
3373
+ attr_reader :channels
3374
+ # @return [SlackInstallationsNamespace] `client.slack.installations`
3375
+ attr_reader :installations
3376
+
3377
+ # @api private
3378
+ # @param transport [Transport]
3379
+ def initialize(transport)
3380
+ @transport = transport
3381
+ @channels = SlackChannelsNamespace.new(@transport)
3382
+ @installations = SlackInstallationsNamespace.new(@transport)
3383
+ end
3384
+
3385
+ # Get the Add to Slack URL
3386
+ #
3387
+ # Returns a slack.com/oauth/v2/authorize URL carrying a signed `state` that
3388
+ # binds the resulting install to this organization. Send the user's browser
3389
+ # there; Slack redirects back to /api/slack/oauth/callback.
3390
+ #
3391
+ # GET /api/org/{orgId}/slack/install-url
3392
+ #
3393
+ # Raises on 400: Bad request
3394
+ #
3395
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3396
+ # constructed with.
3397
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3398
+ # @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
3399
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3400
+ def install_url(org_id: nil, request_options: nil)
3401
+ @transport.request(
3402
+ http_method: "GET",
3403
+ path: "/api/org/{orgId}/slack/install-url",
3404
+ path_params: { "orgId" => org_id },
3405
+ request_options: request_options
3406
+ )
3407
+ end
3408
+
3409
+ # Get the organization's Slack connection
3410
+ #
3411
+ # Reports whether the server has a Slack app registered, which workspaces
3412
+ # this organization has connected, and which channels alerts are routed to.
3413
+ #
3414
+ # GET /api/org/{orgId}/slack/status
3415
+ #
3416
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3417
+ # constructed with.
3418
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3419
+ # @return [Hash] Parsed JSON, shaped as `SlackStatus` — see `sig/infrawrench/sdk.rbs`.
3420
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3421
+ def status(org_id: nil, request_options: nil)
3422
+ @transport.request(
3423
+ http_method: "GET",
3424
+ path: "/api/org/{orgId}/slack/status",
3425
+ path_params: { "orgId" => org_id },
3426
+ request_options: request_options
3427
+ )
3428
+ end
3429
+
3430
+ # Post a test message to every configured channel
3431
+ #
3432
+ # Ignores trigger opt-ins — every channel gets the test. Fails with the
3433
+ # Slack error when nothing could be delivered (`not_in_channel` means the
3434
+ # bot needs inviting to a private channel).
3435
+ #
3436
+ # POST /api/org/{orgId}/slack/test
3437
+ #
3438
+ # Raises on 400: Bad request
3439
+ #
3440
+ # @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
3441
+ # constructed with.
3442
+ # @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
3443
+ # @return [Hash] Parsed JSON, shaped as `Hash` — see `sig/infrawrench/sdk.rbs`.
3444
+ # @raise [Infrawrench::ApiError] On any non-2xx response.
3445
+ def test(org_id: nil, request_options: nil)
3446
+ @transport.request(
3447
+ http_method: "POST",
3448
+ path: "/api/org/{orgId}/slack/test",
3449
+ path_params: { "orgId" => org_id },
3450
+ request_options: request_options
3451
+ )
3452
+ end
3453
+ end
3454
+
3232
3455
  # `client.sql`
3233
3456
  class SqlNamespace
3234
3457
  # @api private
@@ -4065,6 +4288,8 @@ module Infrawrench
4065
4288
  attr_reader :search
4066
4289
  # @return [SftpNamespace] `client.sftp`
4067
4290
  attr_reader :sftp
4291
+ # @return [SlackNamespace] `client.slack`
4292
+ attr_reader :slack
4068
4293
  # @return [SqlNamespace] `client.sql`
4069
4294
  attr_reader :sql
4070
4295
  # @return [SshKeysNamespace] `client.ssh_keys`
@@ -4102,6 +4327,7 @@ module Infrawrench
4102
4327
  @resources = ResourcesNamespace.new(@transport)
4103
4328
  @search = SearchNamespace.new(@transport)
4104
4329
  @sftp = SftpNamespace.new(@transport)
4330
+ @slack = SlackNamespace.new(@transport)
4105
4331
  @sql = SqlNamespace.new(@transport)
4106
4332
  @ssh_keys = SshKeysNamespace.new(@transport)
4107
4333
  @ssh_tunnels = SshTunnelsNamespace.new(@transport)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.2.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.3.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 0.2.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.3.0).
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 v0.2.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.3.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 0.2.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.3.0).
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 v0.2.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.3.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 0.2.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.3.0).
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 = "0.2.0"
18
+ VERSION = "0.3.0"
19
19
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # infrawrench-sdk v0.2.0 | MIT | Copyright (c) 2026 Infrawrench LLC
3
+ # infrawrench-sdk v0.3.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 0.2.0).
6
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.3.0).
7
7
  #
8
8
  # DO NOT EDIT. Regenerate with:
9
9
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1,7 +1,7 @@
1
- # infrawrench-sdk v0.2.0 | MIT | Copyright (c) 2026 Infrawrench LLC
1
+ # infrawrench-sdk v0.3.0 | 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 0.2.0).
4
+ # Generated from the Infrawrench API OpenAPI 3.1 spec (API version 0.3.0).
5
5
  #
6
6
  # DO NOT EDIT. Regenerate with:
7
7
  # pnpm --filter @infrawrench/web generate:sdk
@@ -1560,6 +1560,45 @@ module Infrawrench
1560
1560
  ?"sshUsername" => String
1561
1561
  }
1562
1562
 
1563
+ # Spec schema: `SlackAvailableChannel`.
1564
+ type slack_available_channel = { "id" => String, "name" => String, "isPrivate" => bool }
1565
+
1566
+ # Spec schema: `SlackChannel`.
1567
+ type slack_channel = {
1568
+ "id" => String,
1569
+ "installationId" => String,
1570
+ "channelId" => String,
1571
+ "channelName" => String,
1572
+ "isPrivate" => bool,
1573
+ "syncIncidents" => bool,
1574
+ "budgetAlerts" => bool,
1575
+ "workflowPages" => bool
1576
+ }
1577
+
1578
+ # Spec schema: `SlackChannelCreate`.
1579
+ type slack_channel_create = {
1580
+ "installationId" => String,
1581
+ "channelId" => String,
1582
+ "channelName" => String,
1583
+ ?"isPrivate" => bool,
1584
+ ?"syncIncidents" => bool,
1585
+ ?"budgetAlerts" => bool,
1586
+ ?"workflowPages" => bool
1587
+ }
1588
+
1589
+ # Spec schema: `SlackChannelUpdate`.
1590
+ type slack_channel_update = { ?"syncIncidents" => bool, ?"budgetAlerts" => bool, ?"workflowPages" => bool }
1591
+
1592
+ # Spec schema: `SlackInstallation`.
1593
+ type slack_installation = { "id" => String, "teamId" => String, "teamName" => String | nil }
1594
+
1595
+ # Spec schema: `SlackStatus`.
1596
+ type slack_status = {
1597
+ "configured" => bool,
1598
+ "installations" => Array[slack_installation],
1599
+ "channels" => Array[slack_channel]
1600
+ }
1601
+
1563
1602
  # Spec schema: `SqlEstimateRequest`.
1564
1603
  type sql_estimate_request = { "accountId" => String, "resourceId" => resource_id, "sql" => String }
1565
1604
 
@@ -2002,6 +2041,28 @@ module Infrawrench
2002
2041
  def upload: (body: sftp_upload_form, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2003
2042
  end
2004
2043
 
2044
+ class SlackChannelsNamespace
2045
+ def initialize: (Transport) -> void
2046
+ def create: (?org_id: String?, ?body: slack_channel_create?, ?request_options: Hash[Symbol, untyped]?) -> slack_channel
2047
+ def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2048
+ def update: (id: String, ?org_id: String?, ?body: slack_channel_update?, ?request_options: Hash[Symbol, untyped]?) -> slack_channel
2049
+ end
2050
+
2051
+ class SlackInstallationsNamespace
2052
+ def initialize: (Transport) -> void
2053
+ def available_channels: (installation_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "channels" => Array[slack_available_channel] }
2054
+ def delete: (installation_id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
2055
+ end
2056
+
2057
+ class SlackNamespace
2058
+ attr_reader channels: SlackChannelsNamespace
2059
+ attr_reader installations: SlackInstallationsNamespace
2060
+ def initialize: (Transport) -> void
2061
+ def install_url: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "url" => String }
2062
+ def status: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> slack_status
2063
+ def test: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> { "ok" => bool, "channelCount" => Integer, "attempted" => Integer, "succeeded" => Integer }
2064
+ end
2065
+
2005
2066
  class SqlNamespace
2006
2067
  def initialize: (Transport) -> void
2007
2068
  def estimate: (body: sql_estimate_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> json_object
@@ -2089,6 +2150,7 @@ module Infrawrench
2089
2150
  attr_reader resources: ResourcesNamespace
2090
2151
  attr_reader search: SearchNamespace
2091
2152
  attr_reader sftp: SftpNamespace
2153
+ attr_reader slack: SlackNamespace
2092
2154
  attr_reader sql: SqlNamespace
2093
2155
  attr_reader ssh_keys: SshKeysNamespace
2094
2156
  attr_reader ssh_tunnels: SshTunnelsNamespace
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: 0.2.0
4
+ version: 0.3.0
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-07-26 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Generated Ruby client for the Infrawrench API (v0.2.0). Covers the published
14
+ description: Generated Ruby client for the Infrawrench API (v0.3.0). 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 (v0.2.0).
61
+ summary: Generated Ruby client for the Infrawrench API (v0.3.0).
62
62
  test_files: []