infrawrench-sdk 1.52.0 → 1.54.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 +4 -4
- data/README.md +2 -2
- data/infrawrench-sdk.gemspec +4 -4
- data/lib/infrawrench/client.rb +387 -2
- data/lib/infrawrench/sdk.rb +2 -2
- data/lib/infrawrench/transport.rb +2 -2
- data/lib/infrawrench/version.rb +3 -3
- data/lib/infrawrench-sdk.rb +2 -2
- data/sig/infrawrench/sdk.rbs +353 -9
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 463e94dc51095c54a6662ad50cb3087ced6c2db018add5bb39336b8999f9768b
|
|
4
|
+
data.tar.gz: 7b047ad353bcdde716b235c88174cd268fd15a765126c1fafa3e67977110bb6a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c386b384a041000683d50fe9afd269693d350a5ed51a22694d56f95befe05e4e13fda12e12e0918712407abf6ceb0bd74cc4006d0daa02777a5889af5f902198
|
|
7
|
+
data.tar.gz: 646702db4dfc50a3ea83928cb3aa0f16ee2fde6e3aadcc913db382f41c2f21e30011cf1ea999216685c4fe103fdd1d06f8d2e30c327c552336c3f63ff60cbca6
|
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.
|
|
3
|
+
Generated Ruby client for the Infrawrench API (API version `1.54.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
|
-
|
|
44
|
+
813 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 —
|
data/infrawrench-sdk.gemspec
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.54.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.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.54.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 (v1.
|
|
21
|
-
spec.description = "Generated Ruby client for the Infrawrench API (v1.
|
|
20
|
+
spec.summary = "Generated Ruby client for the Infrawrench API (v1.54.0)."
|
|
21
|
+
spec.description = "Generated Ruby client for the Infrawrench API (v1.54.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"
|
data/lib/infrawrench/client.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.54.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.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.54.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -2502,6 +2502,68 @@ module Infrawrench
|
|
|
2502
2502
|
)
|
|
2503
2503
|
end
|
|
2504
2504
|
|
|
2505
|
+
# Preview a rule or customer pricing against a month of spend
|
|
2506
|
+
#
|
|
2507
|
+
# Prices one calendar month (last month by default) twice: with the saved
|
|
2508
|
+
# rules and settings, and with the candidate rule or customer settings
|
|
2509
|
+
# swapped in. Nothing is written. Returns both totals, every effect,
|
|
2510
|
+
# re-rating coverage, any expression failures and the lines that moved most.
|
|
2511
|
+
#
|
|
2512
|
+
# Requires `costs:read`, and `invoices:read` as well when a customer is
|
|
2513
|
+
# named.
|
|
2514
|
+
#
|
|
2515
|
+
# _Requires permission: `costs:read`._
|
|
2516
|
+
#
|
|
2517
|
+
# POST /api/org/{orgId}/billing-rules/preview
|
|
2518
|
+
#
|
|
2519
|
+
# Raises on 400: Bad request
|
|
2520
|
+
#
|
|
2521
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
2522
|
+
# constructed with.
|
|
2523
|
+
# @param body [Hash] Request body, shaped as `PricingPreviewRequest`.
|
|
2524
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
2525
|
+
# @return [Hash] Parsed JSON, shaped as `PricingPreviewResult` — see
|
|
2526
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
2527
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
2528
|
+
def preview(body:, org_id: nil, request_options: nil)
|
|
2529
|
+
@transport.request(
|
|
2530
|
+
http_method: "POST",
|
|
2531
|
+
path: "/api/org/{orgId}/billing-rules/preview",
|
|
2532
|
+
path_params: { "orgId" => org_id },
|
|
2533
|
+
body: body,
|
|
2534
|
+
request_options: request_options
|
|
2535
|
+
)
|
|
2536
|
+
end
|
|
2537
|
+
|
|
2538
|
+
# Reorder billing rules
|
|
2539
|
+
#
|
|
2540
|
+
# Rewrites every rule's priority to match the given order (10, 20, 30…) in
|
|
2541
|
+
# one transaction and one audit entry. The list must name every rule exactly
|
|
2542
|
+
# once.
|
|
2543
|
+
#
|
|
2544
|
+
# _Requires permission: `org:settings:write`._
|
|
2545
|
+
#
|
|
2546
|
+
# POST /api/org/{orgId}/billing-rules/reorder
|
|
2547
|
+
#
|
|
2548
|
+
# Raises on 400: Bad request
|
|
2549
|
+
#
|
|
2550
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
2551
|
+
# constructed with.
|
|
2552
|
+
# @param body [Hash] Request body, shaped as `BillingRuleOrder`.
|
|
2553
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
2554
|
+
# @return [Array<Hash>] Parsed JSON, shaped as `Array<BillingRule>` — see
|
|
2555
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
2556
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
2557
|
+
def reorder(body:, org_id: nil, request_options: nil)
|
|
2558
|
+
@transport.request(
|
|
2559
|
+
http_method: "POST",
|
|
2560
|
+
path: "/api/org/{orgId}/billing-rules/reorder",
|
|
2561
|
+
path_params: { "orgId" => org_id },
|
|
2562
|
+
body: body,
|
|
2563
|
+
request_options: request_options
|
|
2564
|
+
)
|
|
2565
|
+
end
|
|
2566
|
+
|
|
2505
2567
|
# Update a billing rule
|
|
2506
2568
|
#
|
|
2507
2569
|
# A full replace, `enabled` included — switching a markup off is an edit of
|
|
@@ -8758,6 +8820,326 @@ module Infrawrench
|
|
|
8758
8820
|
end
|
|
8759
8821
|
end
|
|
8760
8822
|
|
|
8823
|
+
# `client.github_issues.pull_requests`
|
|
8824
|
+
class GithubIssuesPullRequestsNamespace
|
|
8825
|
+
# @api private
|
|
8826
|
+
# @param transport [Transport]
|
|
8827
|
+
def initialize(transport)
|
|
8828
|
+
@transport = transport
|
|
8829
|
+
end
|
|
8830
|
+
|
|
8831
|
+
# Open an IaC pull request for a finding
|
|
8832
|
+
#
|
|
8833
|
+
# Creates a branch, commits the one-file change and opens a pull request
|
|
8834
|
+
# against the mapped base branch. Never merged automatically.
|
|
8835
|
+
#
|
|
8836
|
+
# _Requires permission: `github-issues:write`._
|
|
8837
|
+
#
|
|
8838
|
+
# POST /api/org/{orgId}/github-issues/pull-requests
|
|
8839
|
+
#
|
|
8840
|
+
# Raises on 400: Bad request
|
|
8841
|
+
#
|
|
8842
|
+
# Raises on 409: The GitHub App installation needs a permission an owner has
|
|
8843
|
+
# not approved yet
|
|
8844
|
+
#
|
|
8845
|
+
# Raises on 502: GitHub refused the request or was unreachable
|
|
8846
|
+
#
|
|
8847
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
8848
|
+
# constructed with.
|
|
8849
|
+
# @param body [Hash] Request body, shaped as `GithubPullRequestInput`.
|
|
8850
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
8851
|
+
# @return [Hash] Parsed JSON, shaped as `GithubPullRequestResult` — see
|
|
8852
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
8853
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
8854
|
+
def create(body:, org_id: nil, request_options: nil)
|
|
8855
|
+
@transport.request(
|
|
8856
|
+
http_method: "POST",
|
|
8857
|
+
path: "/api/org/{orgId}/github-issues/pull-requests",
|
|
8858
|
+
path_params: { "orgId" => org_id },
|
|
8859
|
+
body: body,
|
|
8860
|
+
request_options: request_options
|
|
8861
|
+
)
|
|
8862
|
+
end
|
|
8863
|
+
|
|
8864
|
+
# Preview an IaC pull request for a finding
|
|
8865
|
+
#
|
|
8866
|
+
# Reads only. Says what the pull request would change (one file, as a diff),
|
|
8867
|
+
# or why the change is not mechanical.
|
|
8868
|
+
#
|
|
8869
|
+
# _Requires permission: `github-issues:write`._
|
|
8870
|
+
#
|
|
8871
|
+
# POST /api/org/{orgId}/github-issues/pull-requests/preview
|
|
8872
|
+
#
|
|
8873
|
+
# Raises on 400: Bad request
|
|
8874
|
+
#
|
|
8875
|
+
# Raises on 409: The GitHub App installation needs a permission an owner has
|
|
8876
|
+
# not approved yet
|
|
8877
|
+
#
|
|
8878
|
+
# Raises on 502: GitHub refused the request or was unreachable
|
|
8879
|
+
#
|
|
8880
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
8881
|
+
# constructed with.
|
|
8882
|
+
# @param body [Hash] Request body, shaped as `GithubPullRequestInput`.
|
|
8883
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
8884
|
+
# @return [Hash] Parsed JSON, shaped as `GithubPullRequestPreview` — see
|
|
8885
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
8886
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
8887
|
+
def preview(body:, org_id: nil, request_options: nil)
|
|
8888
|
+
@transport.request(
|
|
8889
|
+
http_method: "POST",
|
|
8890
|
+
path: "/api/org/{orgId}/github-issues/pull-requests/preview",
|
|
8891
|
+
path_params: { "orgId" => org_id },
|
|
8892
|
+
body: body,
|
|
8893
|
+
request_options: request_options
|
|
8894
|
+
)
|
|
8895
|
+
end
|
|
8896
|
+
end
|
|
8897
|
+
|
|
8898
|
+
# `client.github_issues`
|
|
8899
|
+
class GithubIssuesNamespace
|
|
8900
|
+
# @return [GithubIssuesPullRequestsNamespace] `client.github_issues.pull_requests`
|
|
8901
|
+
attr_reader :pull_requests
|
|
8902
|
+
|
|
8903
|
+
# @api private
|
|
8904
|
+
# @param transport [Transport]
|
|
8905
|
+
def initialize(transport)
|
|
8906
|
+
@transport = transport
|
|
8907
|
+
@pull_requests = GithubIssuesPullRequestsNamespace.new(@transport)
|
|
8908
|
+
end
|
|
8909
|
+
|
|
8910
|
+
# List a repository's assignable users
|
|
8911
|
+
#
|
|
8912
|
+
# Backs the assignee picker.
|
|
8913
|
+
#
|
|
8914
|
+
# _Requires permission: `github-issues:read`._
|
|
8915
|
+
#
|
|
8916
|
+
# GET /api/org/{orgId}/github-issues/assignees
|
|
8917
|
+
#
|
|
8918
|
+
# Raises on 400: Bad request
|
|
8919
|
+
#
|
|
8920
|
+
# Raises on 409: The GitHub App installation needs a permission an owner has
|
|
8921
|
+
# not approved yet
|
|
8922
|
+
#
|
|
8923
|
+
# Raises on 502: GitHub refused the request or was unreachable
|
|
8924
|
+
#
|
|
8925
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
8926
|
+
# constructed with.
|
|
8927
|
+
# @param installation_id [Integer]
|
|
8928
|
+
# @param repo [String]
|
|
8929
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
8930
|
+
# @return [Array<Hash>] Parsed JSON, shaped as `Array<GithubAssignee>` — see
|
|
8931
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
8932
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
8933
|
+
def assignees(installation_id:, repo:, org_id: nil, request_options: nil)
|
|
8934
|
+
@transport.request(
|
|
8935
|
+
http_method: "GET",
|
|
8936
|
+
path: "/api/org/{orgId}/github-issues/assignees",
|
|
8937
|
+
path_params: { "orgId" => org_id },
|
|
8938
|
+
query: { "installationId" => installation_id, "repo" => repo },
|
|
8939
|
+
request_options: request_options
|
|
8940
|
+
)
|
|
8941
|
+
end
|
|
8942
|
+
|
|
8943
|
+
# List a repository's branches
|
|
8944
|
+
#
|
|
8945
|
+
# Backs the base-branch picker for Terraform sources.
|
|
8946
|
+
#
|
|
8947
|
+
# _Requires permission: `github-issues:read`._
|
|
8948
|
+
#
|
|
8949
|
+
# GET /api/org/{orgId}/github-issues/branches
|
|
8950
|
+
#
|
|
8951
|
+
# Raises on 400: Bad request
|
|
8952
|
+
#
|
|
8953
|
+
# Raises on 409: The GitHub App installation needs a permission an owner has
|
|
8954
|
+
# not approved yet
|
|
8955
|
+
#
|
|
8956
|
+
# Raises on 502: GitHub refused the request or was unreachable
|
|
8957
|
+
#
|
|
8958
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
8959
|
+
# constructed with.
|
|
8960
|
+
# @param installation_id [Integer]
|
|
8961
|
+
# @param repo [String]
|
|
8962
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
8963
|
+
# @return [Array<String>] Parsed JSON, shaped as `Array<String>` — see
|
|
8964
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
8965
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
8966
|
+
def branches(installation_id:, repo:, org_id: nil, request_options: nil)
|
|
8967
|
+
@transport.request(
|
|
8968
|
+
http_method: "GET",
|
|
8969
|
+
path: "/api/org/{orgId}/github-issues/branches",
|
|
8970
|
+
path_params: { "orgId" => org_id },
|
|
8971
|
+
query: { "installationId" => installation_id, "repo" => repo },
|
|
8972
|
+
request_options: request_options
|
|
8973
|
+
)
|
|
8974
|
+
end
|
|
8975
|
+
|
|
8976
|
+
# Get GitHub issue settings and installation access
|
|
8977
|
+
#
|
|
8978
|
+
# _Requires permission: `github-issues:read`._
|
|
8979
|
+
#
|
|
8980
|
+
# GET /api/org/{orgId}/github-issues
|
|
8981
|
+
#
|
|
8982
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
8983
|
+
# constructed with.
|
|
8984
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
8985
|
+
# @return [Hash] Parsed JSON, shaped as `GithubIssuesStatus` — see
|
|
8986
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
8987
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
8988
|
+
def get(org_id: nil, request_options: nil)
|
|
8989
|
+
@transport.request(
|
|
8990
|
+
http_method: "GET",
|
|
8991
|
+
path: "/api/org/{orgId}/github-issues",
|
|
8992
|
+
path_params: { "orgId" => org_id },
|
|
8993
|
+
request_options: request_options
|
|
8994
|
+
)
|
|
8995
|
+
end
|
|
8996
|
+
|
|
8997
|
+
# File a finding as a GitHub issue
|
|
8998
|
+
#
|
|
8999
|
+
# Opens an issue in the routed repository, or comments on the open issue
|
|
9000
|
+
# already filed for the same finding (matched by fingerprint, including a
|
|
9001
|
+
# hidden marker in issue bodies).
|
|
9002
|
+
#
|
|
9003
|
+
# _Requires permission: `github-issues:write`._
|
|
9004
|
+
#
|
|
9005
|
+
# POST /api/org/{orgId}/github-issues/issues
|
|
9006
|
+
#
|
|
9007
|
+
# Raises on 400: Bad request
|
|
9008
|
+
#
|
|
9009
|
+
# Raises on 409: The GitHub App installation needs a permission an owner has
|
|
9010
|
+
# not approved yet
|
|
9011
|
+
#
|
|
9012
|
+
# Raises on 502: GitHub refused the request or was unreachable
|
|
9013
|
+
#
|
|
9014
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
9015
|
+
# constructed with.
|
|
9016
|
+
# @param body [Hash] Request body, shaped as `FileGithubIssueInput`.
|
|
9017
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
9018
|
+
# @return [Hash] Parsed JSON, shaped as `FileGithubIssueResult` — see
|
|
9019
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
9020
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
9021
|
+
def issues(body:, org_id: nil, request_options: nil)
|
|
9022
|
+
@transport.request(
|
|
9023
|
+
http_method: "POST",
|
|
9024
|
+
path: "/api/org/{orgId}/github-issues/issues",
|
|
9025
|
+
path_params: { "orgId" => org_id },
|
|
9026
|
+
body: body,
|
|
9027
|
+
request_options: request_options
|
|
9028
|
+
)
|
|
9029
|
+
end
|
|
9030
|
+
|
|
9031
|
+
# List a repository's labels
|
|
9032
|
+
#
|
|
9033
|
+
# Backs the label picker.
|
|
9034
|
+
#
|
|
9035
|
+
# _Requires permission: `github-issues:read`._
|
|
9036
|
+
#
|
|
9037
|
+
# GET /api/org/{orgId}/github-issues/labels
|
|
9038
|
+
#
|
|
9039
|
+
# Raises on 400: Bad request
|
|
9040
|
+
#
|
|
9041
|
+
# Raises on 409: The GitHub App installation needs a permission an owner has
|
|
9042
|
+
# not approved yet
|
|
9043
|
+
#
|
|
9044
|
+
# Raises on 502: GitHub refused the request or was unreachable
|
|
9045
|
+
#
|
|
9046
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
9047
|
+
# constructed with.
|
|
9048
|
+
# @param installation_id [Integer]
|
|
9049
|
+
# @param repo [String]
|
|
9050
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
9051
|
+
# @return [Array<Hash>] Parsed JSON, shaped as `Array<GithubLabel>` — see
|
|
9052
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
9053
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
9054
|
+
def labels(installation_id:, repo:, org_id: nil, request_options: nil)
|
|
9055
|
+
@transport.request(
|
|
9056
|
+
http_method: "GET",
|
|
9057
|
+
path: "/api/org/{orgId}/github-issues/labels",
|
|
9058
|
+
path_params: { "orgId" => org_id },
|
|
9059
|
+
query: { "installationId" => installation_id, "repo" => repo },
|
|
9060
|
+
request_options: request_options
|
|
9061
|
+
)
|
|
9062
|
+
end
|
|
9063
|
+
|
|
9064
|
+
# Look up filed GitHub issues for a set of findings
|
|
9065
|
+
#
|
|
9066
|
+
# _Requires permission: `github-issues:read`._
|
|
9067
|
+
#
|
|
9068
|
+
# GET /api/org/{orgId}/github-issues/links
|
|
9069
|
+
#
|
|
9070
|
+
# Raises on 400: Bad request
|
|
9071
|
+
#
|
|
9072
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
9073
|
+
# constructed with.
|
|
9074
|
+
# @param source_kind [String, nil]
|
|
9075
|
+
# @param state [String, nil]
|
|
9076
|
+
# @param source_id [Array<String>, nil]
|
|
9077
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
9078
|
+
# @return [Array<Hash>] Parsed JSON, shaped as `Array<GithubIssueLink>` — see
|
|
9079
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
9080
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
9081
|
+
def links(org_id: nil, source_kind: nil, state: nil, source_id: nil, request_options: nil)
|
|
9082
|
+
@transport.request(
|
|
9083
|
+
http_method: "GET",
|
|
9084
|
+
path: "/api/org/{orgId}/github-issues/links",
|
|
9085
|
+
path_params: { "orgId" => org_id },
|
|
9086
|
+
query: { "sourceKind" => source_kind, "state" => state, "sourceId" => source_id },
|
|
9087
|
+
request_options: request_options
|
|
9088
|
+
)
|
|
9089
|
+
end
|
|
9090
|
+
|
|
9091
|
+
# Resolve where a finding would be filed
|
|
9092
|
+
#
|
|
9093
|
+
# _Requires permission: `github-issues:read`._
|
|
9094
|
+
#
|
|
9095
|
+
# GET /api/org/{orgId}/github-issues/route
|
|
9096
|
+
#
|
|
9097
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
9098
|
+
# constructed with.
|
|
9099
|
+
# @param resource_id [String, nil]
|
|
9100
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
9101
|
+
# @return [Hash] Parsed JSON, shaped as `GithubIssueRouteResolution` — see
|
|
9102
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
9103
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
9104
|
+
def route(org_id: nil, resource_id: nil, request_options: nil)
|
|
9105
|
+
@transport.request(
|
|
9106
|
+
http_method: "GET",
|
|
9107
|
+
path: "/api/org/{orgId}/github-issues/route",
|
|
9108
|
+
path_params: { "orgId" => org_id },
|
|
9109
|
+
query: { "resourceId" => resource_id },
|
|
9110
|
+
request_options: request_options
|
|
9111
|
+
)
|
|
9112
|
+
end
|
|
9113
|
+
|
|
9114
|
+
# Replace the GitHub issue settings
|
|
9115
|
+
#
|
|
9116
|
+
# Whole-document replace: route order is part of the meaning. Route and
|
|
9117
|
+
# source ids are kept when supplied.
|
|
9118
|
+
#
|
|
9119
|
+
# _Requires permission: `org:settings:write`._
|
|
9120
|
+
#
|
|
9121
|
+
# PUT /api/org/{orgId}/github-issues/settings
|
|
9122
|
+
#
|
|
9123
|
+
# Raises on 400: Bad request
|
|
9124
|
+
#
|
|
9125
|
+
# @param org_id [String, nil] Organization id. Defaults to the `org_id` the client was
|
|
9126
|
+
# constructed with.
|
|
9127
|
+
# @param body [Hash] Request body, shaped as `GithubIssueSettingsInput`.
|
|
9128
|
+
# @param request_options [Hash, nil] Per-call `:headers`, `:timeout` and `:open_timeout`.
|
|
9129
|
+
# @return [Hash] Parsed JSON, shaped as `GithubIssueSettings` — see
|
|
9130
|
+
# `sig/infrawrench/sdk.rbs`.
|
|
9131
|
+
# @raise [Infrawrench::ApiError] On any non-2xx response.
|
|
9132
|
+
def settings(body:, org_id: nil, request_options: nil)
|
|
9133
|
+
@transport.request(
|
|
9134
|
+
http_method: "PUT",
|
|
9135
|
+
path: "/api/org/{orgId}/github-issues/settings",
|
|
9136
|
+
path_params: { "orgId" => org_id },
|
|
9137
|
+
body: body,
|
|
9138
|
+
request_options: request_options
|
|
9139
|
+
)
|
|
9140
|
+
end
|
|
9141
|
+
end
|
|
9142
|
+
|
|
8761
9143
|
# `client.iac.states`
|
|
8762
9144
|
class IacStatesNamespace
|
|
8763
9145
|
# @api private
|
|
@@ -17745,6 +18127,8 @@ module Infrawrench
|
|
|
17745
18127
|
attr_reader :environments
|
|
17746
18128
|
# @return [ExpiringNamespace] `client.expiring`
|
|
17747
18129
|
attr_reader :expiring
|
|
18130
|
+
# @return [GithubIssuesNamespace] `client.github_issues`
|
|
18131
|
+
attr_reader :github_issues
|
|
17748
18132
|
# @return [IacNamespace] `client.iac`
|
|
17749
18133
|
attr_reader :iac
|
|
17750
18134
|
# @return [IncidentsNamespace] `client.incidents`
|
|
@@ -17903,6 +18287,7 @@ module Infrawrench
|
|
|
17903
18287
|
@environment_diff = EnvironmentDiffNamespace.new(@transport)
|
|
17904
18288
|
@environments = EnvironmentsNamespace.new(@transport)
|
|
17905
18289
|
@expiring = ExpiringNamespace.new(@transport)
|
|
18290
|
+
@github_issues = GithubIssuesNamespace.new(@transport)
|
|
17906
18291
|
@iac = IacNamespace.new(@transport)
|
|
17907
18292
|
@incidents = IncidentsNamespace.new(@transport)
|
|
17908
18293
|
@invitations = InvitationsNamespace.new(@transport)
|
data/lib/infrawrench/sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.54.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.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.54.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 v1.
|
|
3
|
+
# infrawrench-sdk v1.54.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.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.54.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
data/lib/infrawrench/version.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.54.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.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.54.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 = "1.
|
|
18
|
+
VERSION = "1.54.0"
|
|
19
19
|
end
|
data/lib/infrawrench-sdk.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# infrawrench-sdk v1.
|
|
3
|
+
# infrawrench-sdk v1.54.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.
|
|
6
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.54.0).
|
|
7
7
|
#
|
|
8
8
|
# DO NOT EDIT. Regenerate with:
|
|
9
9
|
# pnpm --filter @infrawrench/web generate:sdk
|
data/sig/infrawrench/sdk.rbs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# infrawrench-sdk v1.
|
|
1
|
+
# infrawrench-sdk v1.54.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 1.
|
|
4
|
+
# Generated from the Infrawrench API OpenAPI 3.1 spec (API version 1.54.0).
|
|
5
5
|
#
|
|
6
6
|
# DO NOT EDIT. Regenerate with:
|
|
7
7
|
# pnpm --filter @infrawrench/web generate:sdk
|
|
@@ -455,11 +455,19 @@ module Infrawrench
|
|
|
455
455
|
# nobody and the rule's **other** destinations still deliver: an alert lost to
|
|
456
456
|
# a misconfigured rotation would be the worst outcome the feature could have.
|
|
457
457
|
#
|
|
458
|
+
# `github-issues` files the alert's finding as a GitHub issue in the
|
|
459
|
+
# repository the organization's GitHub issue settings route it to
|
|
460
|
+
# (`/github-issues`), commenting on the open issue instead when one already
|
|
461
|
+
# exists for that finding. Only alerts that carry a finding (savings findings,
|
|
462
|
+
# cost anomalies, idle commitments) can be filed; for other triggers this
|
|
463
|
+
# destination is skipped.
|
|
464
|
+
#
|
|
458
465
|
# Spec schema: `AlertDestination`.
|
|
459
466
|
type alert_destination = { "kind" => "push" }
|
|
460
467
|
| { "kind" => "slack", "channelId" => String }
|
|
461
468
|
| { "kind" => "msteams", "webhookId" => String }
|
|
462
469
|
| { "kind" => "on-call", "scheduleId" => String }
|
|
470
|
+
| { "kind" => "github-issues" }
|
|
463
471
|
|
|
464
472
|
# Spec schema: `AlertRule`.
|
|
465
473
|
type alert_rule = {
|
|
@@ -511,6 +519,7 @@ module Infrawrench
|
|
|
511
519
|
| "commitmentExpiryAlerts"
|
|
512
520
|
| "commitmentIdleAlerts"
|
|
513
521
|
| "unitCostRegressionAlerts"
|
|
522
|
+
| "savingsFindings"
|
|
514
523
|
| "metricAlerts"
|
|
515
524
|
| "resourceDrift"
|
|
516
525
|
| "workflowPages"
|
|
@@ -789,19 +798,24 @@ module Infrawrench
|
|
|
789
798
|
"priority" => Integer,
|
|
790
799
|
"match" => billing_rule_match,
|
|
791
800
|
"adjustment" => billing_rule_adjustment,
|
|
801
|
+
"managedAccountIds" => Array[String],
|
|
792
802
|
"createdAt" => String,
|
|
793
803
|
"updatedAt" => String
|
|
794
804
|
}
|
|
795
805
|
|
|
796
806
|
# Spec schema: `BillingRuleAdjustment`.
|
|
797
807
|
type billing_rule_adjustment = {
|
|
798
|
-
"kind" => "percentage" | "fixed" | "reallocation",
|
|
808
|
+
"kind" => "percentage" | "fixed" | "reallocation" | "tiered" | "expression",
|
|
799
809
|
?"percent" => Numeric | nil,
|
|
800
810
|
?"amount" => Numeric | nil,
|
|
801
811
|
?"currency" => String | nil,
|
|
802
812
|
?"period" => "daily" | "monthly" | nil,
|
|
803
813
|
?"targetKind" => "cost_centre" | "account" | nil,
|
|
804
|
-
?"targetId" => String | nil
|
|
814
|
+
?"targetId" => String | nil,
|
|
815
|
+
?"tiers" => Array[billing_rule_tier] | nil,
|
|
816
|
+
?"tierMode" => "marginal" | "volume" | nil,
|
|
817
|
+
?"tierScope" => "overall" | "per_service" | nil,
|
|
818
|
+
?"expression" => String | nil
|
|
805
819
|
}
|
|
806
820
|
|
|
807
821
|
# Spec schema: `BillingRuleInput`.
|
|
@@ -811,7 +825,8 @@ module Infrawrench
|
|
|
811
825
|
?"enabled" => bool,
|
|
812
826
|
"priority" => Integer,
|
|
813
827
|
"match" => billing_rule_match,
|
|
814
|
-
"adjustment" => billing_rule_adjustment
|
|
828
|
+
"adjustment" => billing_rule_adjustment,
|
|
829
|
+
?"managedAccountIds" => Array[String]
|
|
815
830
|
}
|
|
816
831
|
|
|
817
832
|
# All set fields must match (AND); a rule with no fields matches all spend.
|
|
@@ -836,6 +851,12 @@ module Infrawrench
|
|
|
836
851
|
| "other"
|
|
837
852
|
}
|
|
838
853
|
|
|
854
|
+
# Spec schema: `BillingRuleOrder`.
|
|
855
|
+
type billing_rule_order = { "ids" => Array[String] }
|
|
856
|
+
|
|
857
|
+
# Spec schema: `BillingRuleTier`.
|
|
858
|
+
type billing_rule_tier = { "upTo" => Numeric | nil, "percent" => Numeric }
|
|
859
|
+
|
|
839
860
|
# Spec schema: `BillingStatus`.
|
|
840
861
|
type billing_status = { "complimentary" => bool, "subscription" => subscription, "capacity" => capacity_status }
|
|
841
862
|
|
|
@@ -1617,7 +1638,7 @@ module Infrawrench
|
|
|
1617
1638
|
"rules" => Array[{
|
|
1618
1639
|
"id" => String,
|
|
1619
1640
|
"name" => String,
|
|
1620
|
-
"kind" => "percentage" | "fixed" | "reallocation",
|
|
1641
|
+
"kind" => "percentage" | "fixed" | "reallocation" | "tiered" | "expression",
|
|
1621
1642
|
"summary" => String
|
|
1622
1643
|
}],
|
|
1623
1644
|
"rawTotals" => Hash[String, Numeric],
|
|
@@ -2944,6 +2965,13 @@ module Infrawrench
|
|
|
2944
2965
|
# Spec schema: `DigestTransportResult`.
|
|
2945
2966
|
type digest_transport_result = { "attempted" => Integer, "succeeded" => Integer }
|
|
2946
2967
|
|
|
2968
|
+
# Provider discounts: `commitment_discount` lines and negative
|
|
2969
|
+
# `other`/`adjustment` lines (enterprise agreements, private pricing, Savings
|
|
2970
|
+
# Plan negation).
|
|
2971
|
+
#
|
|
2972
|
+
# Spec schema: `DiscountTreatment`.
|
|
2973
|
+
type discount_treatment = { "mode" => "pass_through" | "partial" | "retain", ?"passThroughPercent" => Numeric | nil }
|
|
2974
|
+
|
|
2947
2975
|
# Spec schema: `DismissedAccessFinding`.
|
|
2948
2976
|
type dismissed_access_finding = {
|
|
2949
2977
|
"resourceId" => String,
|
|
@@ -3504,6 +3532,25 @@ module Infrawrench
|
|
|
3504
3532
|
# Spec schema: `FieldActionResponse`.
|
|
3505
3533
|
type field_action_response = { "value" => String, ?"option" => { "id" => String, "label" => String } }
|
|
3506
3534
|
|
|
3535
|
+
# Spec schema: `FileGithubIssueInput`.
|
|
3536
|
+
type file_github_issue_input = {
|
|
3537
|
+
"sourceKind" => github_issue_source_kind,
|
|
3538
|
+
"sourceId" => String,
|
|
3539
|
+
"title" => String,
|
|
3540
|
+
?"details" => Array[{ "label" => String, ?"value" => String | Numeric | nil | nil }],
|
|
3541
|
+
?"note" => String,
|
|
3542
|
+
?"resourceId" => String,
|
|
3543
|
+
?"monthlyCost" => { "amount" => Numeric, "currency" => String },
|
|
3544
|
+
?"remediation" => Array[String],
|
|
3545
|
+
?"repo" => github_repo_ref & Hash[String, untyped],
|
|
3546
|
+
?"labels" => Array[String],
|
|
3547
|
+
?"assignees" => Array[String],
|
|
3548
|
+
?"appUrl" => String
|
|
3549
|
+
}
|
|
3550
|
+
|
|
3551
|
+
# Spec schema: `FileGithubIssueResult`.
|
|
3552
|
+
type file_github_issue_result = { "action" => "created" | "commented", "link" => github_issue_link }
|
|
3553
|
+
|
|
3507
3554
|
# Spec schema: `FocusExportRequest`.
|
|
3508
3555
|
type focus_export_request = {
|
|
3509
3556
|
"from" => String,
|
|
@@ -3527,6 +3574,180 @@ module Infrawrench
|
|
|
3527
3574
|
"privateKey" => String
|
|
3528
3575
|
}
|
|
3529
3576
|
|
|
3577
|
+
# Spec schema: `GithubAssignee`.
|
|
3578
|
+
type github_assignee = { "login" => String, "avatarUrl" => String | nil }
|
|
3579
|
+
|
|
3580
|
+
# Spec schema: `GithubIacSource`.
|
|
3581
|
+
type github_iac_source = github_iac_source_input & { "id" => String }
|
|
3582
|
+
|
|
3583
|
+
# Spec schema: `GithubIacSourceInput`.
|
|
3584
|
+
type github_iac_source_input = {
|
|
3585
|
+
?"id" => String,
|
|
3586
|
+
"iacAccountId" => String | nil,
|
|
3587
|
+
"repo" => github_repo_ref & Hash[String, untyped],
|
|
3588
|
+
"baseBranch" => String | nil,
|
|
3589
|
+
"directory" => String
|
|
3590
|
+
}
|
|
3591
|
+
|
|
3592
|
+
# What an installation has **accepted**. An installation made before issue
|
|
3593
|
+
# filing existed shows `issues: none` until an owner of the GitHub account
|
|
3594
|
+
# approves the app's updated permissions.
|
|
3595
|
+
#
|
|
3596
|
+
# Spec schema: `GithubInstallationAccess`.
|
|
3597
|
+
type github_installation_access = {
|
|
3598
|
+
"installationId" => Integer,
|
|
3599
|
+
"accountLogin" => String | nil,
|
|
3600
|
+
"issues" => "none" | "read" | "write" | "admin",
|
|
3601
|
+
"pullRequests" => "none" | "read" | "write" | "admin",
|
|
3602
|
+
"contents" => "none" | "read" | "write" | "admin",
|
|
3603
|
+
"suspended" => bool,
|
|
3604
|
+
"manageUrl" => String | nil,
|
|
3605
|
+
"checked" => bool
|
|
3606
|
+
}
|
|
3607
|
+
|
|
3608
|
+
# Spec schema: `GithubIssueLink`.
|
|
3609
|
+
type github_issue_link = {
|
|
3610
|
+
"id" => String,
|
|
3611
|
+
"sourceKind" => github_issue_source_kind,
|
|
3612
|
+
"sourceId" => String,
|
|
3613
|
+
"fingerprint" => String,
|
|
3614
|
+
"repo" => String,
|
|
3615
|
+
"installationId" => Integer,
|
|
3616
|
+
"issueNumber" => Integer,
|
|
3617
|
+
"issueUrl" => String,
|
|
3618
|
+
"state" => "open" | "closed",
|
|
3619
|
+
"autoFiled" => bool,
|
|
3620
|
+
"pullRequestNumber" => Integer | nil,
|
|
3621
|
+
"pullRequestUrl" => String | nil,
|
|
3622
|
+
"createdByUserId" => String | nil,
|
|
3623
|
+
"createdAt" => String,
|
|
3624
|
+
"resolvedAt" => String | nil
|
|
3625
|
+
}
|
|
3626
|
+
|
|
3627
|
+
# Spec schema: `GithubIssueRoute`.
|
|
3628
|
+
type github_issue_route = github_issue_route_input & { "id" => String }
|
|
3629
|
+
|
|
3630
|
+
# Spec schema: `GithubIssueRouteInput`.
|
|
3631
|
+
type github_issue_route_input = {
|
|
3632
|
+
?"id" => String,
|
|
3633
|
+
"match" => github_issue_route_match,
|
|
3634
|
+
"repo" => github_repo_ref & Hash[String, untyped],
|
|
3635
|
+
"labels" => Array[String],
|
|
3636
|
+
"assignees" => Array[String]
|
|
3637
|
+
}
|
|
3638
|
+
|
|
3639
|
+
# What sends a finding to this route's repository: the cost centre the
|
|
3640
|
+
# organization's allocation rules place its resource in, or a tag on the
|
|
3641
|
+
# resource. Allocation rules that match on `service` cannot be judged from a
|
|
3642
|
+
# resource and never match here.
|
|
3643
|
+
#
|
|
3644
|
+
# Spec schema: `GithubIssueRouteMatch`.
|
|
3645
|
+
type github_issue_route_match = { "kind" => "cost_centre", "costCentreId" => String }
|
|
3646
|
+
| { "kind" => "tag", "tagKey" => String, "tagValue" => String | nil }
|
|
3647
|
+
|
|
3648
|
+
# Spec schema: `GithubIssueRouteResolution`.
|
|
3649
|
+
type github_issue_route_resolution = {
|
|
3650
|
+
"repo" => github_repo_ref,
|
|
3651
|
+
"labels" => Array[String],
|
|
3652
|
+
"assignees" => Array[String],
|
|
3653
|
+
"routeId" => String | nil
|
|
3654
|
+
}
|
|
3655
|
+
|
|
3656
|
+
# Spec schema: `GithubIssueSettings`.
|
|
3657
|
+
type github_issue_settings = {
|
|
3658
|
+
"enabled" => bool,
|
|
3659
|
+
"defaultRepo" => github_repo_ref,
|
|
3660
|
+
"labels" => Array[String],
|
|
3661
|
+
"assignees" => Array[String],
|
|
3662
|
+
"routes" => Array[github_issue_route],
|
|
3663
|
+
"resolveAction" => github_resolve_action,
|
|
3664
|
+
"pullRequestsEnabled" => bool,
|
|
3665
|
+
"iacSources" => Array[github_iac_source],
|
|
3666
|
+
"updatedAt" => String | nil
|
|
3667
|
+
}
|
|
3668
|
+
|
|
3669
|
+
# Spec schema: `GithubIssueSettingsInput`.
|
|
3670
|
+
type github_issue_settings_input = {
|
|
3671
|
+
"enabled" => bool,
|
|
3672
|
+
"defaultRepo" => github_repo_ref,
|
|
3673
|
+
"labels" => Array[String],
|
|
3674
|
+
"assignees" => Array[String],
|
|
3675
|
+
"routes" => Array[github_issue_route_input],
|
|
3676
|
+
"resolveAction" => github_resolve_action,
|
|
3677
|
+
"pullRequestsEnabled" => bool,
|
|
3678
|
+
"iacSources" => Array[github_iac_source_input]
|
|
3679
|
+
}
|
|
3680
|
+
|
|
3681
|
+
# Which detector produced the finding the issue was filed from.
|
|
3682
|
+
#
|
|
3683
|
+
# Spec schema: `GithubIssueSourceKind`.
|
|
3684
|
+
type github_issue_source_kind = "cost_anomaly"
|
|
3685
|
+
| "orphan"
|
|
3686
|
+
| "oversized"
|
|
3687
|
+
| "posture_finding"
|
|
3688
|
+
| "expiring"
|
|
3689
|
+
| "probe"
|
|
3690
|
+
| "commitment_idle"
|
|
3691
|
+
|
|
3692
|
+
# Spec schema: `GithubIssuesStatus`.
|
|
3693
|
+
type github_issues_status = {
|
|
3694
|
+
"appConfigured" => bool,
|
|
3695
|
+
"installations" => Array[github_installation_access],
|
|
3696
|
+
"settings" => github_issue_settings
|
|
3697
|
+
}
|
|
3698
|
+
|
|
3699
|
+
# Spec schema: `GithubLabel`.
|
|
3700
|
+
type github_label = { "name" => String, "color" => String, "description" => String | nil }
|
|
3701
|
+
|
|
3702
|
+
# The installation has not accepted the permission this needs. An owner of the
|
|
3703
|
+
# GitHub account approves it from `manageUrl`.
|
|
3704
|
+
#
|
|
3705
|
+
# Spec schema: `GithubPermissionRequired`.
|
|
3706
|
+
type github_permission_required = {
|
|
3707
|
+
"error" => String,
|
|
3708
|
+
"code" => "github_permission_required",
|
|
3709
|
+
"permissions" => Array[String],
|
|
3710
|
+
"installationId" => Integer,
|
|
3711
|
+
"accountLogin" => String | nil,
|
|
3712
|
+
"manageUrl" => String | nil
|
|
3713
|
+
}
|
|
3714
|
+
|
|
3715
|
+
# Spec schema: `GithubPullRequestInput`.
|
|
3716
|
+
type github_pull_request_input = {
|
|
3717
|
+
"sourceKind" => github_issue_source_kind,
|
|
3718
|
+
"sourceId" => String,
|
|
3719
|
+
"resourceId" => String,
|
|
3720
|
+
"change" => { "kind" => "resize", "recommendedSizeId" => String } | { "kind" => "remove" }
|
|
3721
|
+
}
|
|
3722
|
+
|
|
3723
|
+
# Spec schema: `GithubPullRequestPreview`.
|
|
3724
|
+
type github_pull_request_preview = {
|
|
3725
|
+
"eligible" => bool,
|
|
3726
|
+
"repo" => github_repo_ref & Hash[String, untyped],
|
|
3727
|
+
"baseBranch" => String,
|
|
3728
|
+
"path" => String,
|
|
3729
|
+
"terraformAddress" => String,
|
|
3730
|
+
"title" => String,
|
|
3731
|
+
"body" => String,
|
|
3732
|
+
"diff" => String
|
|
3733
|
+
}
|
|
3734
|
+
| { "eligible" => bool, "reason" => String }
|
|
3735
|
+
|
|
3736
|
+
# Spec schema: `GithubPullRequestResult`.
|
|
3737
|
+
type github_pull_request_result = {
|
|
3738
|
+
"pullRequest" => { "number" => Integer, "url" => String },
|
|
3739
|
+
"link" => github_issue_link & (Hash[String, untyped] | nil)
|
|
3740
|
+
}
|
|
3741
|
+
|
|
3742
|
+
# Spec schema: `GithubRepoRef`.
|
|
3743
|
+
type github_repo_ref = { "installationId" => Integer, "fullName" => String } | nil
|
|
3744
|
+
|
|
3745
|
+
# What happens to an open issue when its finding goes away: close it with a
|
|
3746
|
+
# comment, only comment, or leave it alone.
|
|
3747
|
+
#
|
|
3748
|
+
# Spec schema: `GithubResolveAction`.
|
|
3749
|
+
type github_resolve_action = "close" | "comment" | "none"
|
|
3750
|
+
|
|
3530
3751
|
# Spec schema: `HygieneFinding`.
|
|
3531
3752
|
type hygiene_finding = {
|
|
3532
3753
|
"id" => String,
|
|
@@ -3883,14 +4104,19 @@ module Infrawrench
|
|
|
3883
4104
|
"rules" => Array[{
|
|
3884
4105
|
"id" => String,
|
|
3885
4106
|
"name" => String,
|
|
3886
|
-
"kind" => "percentage" | "fixed" | "reallocation",
|
|
4107
|
+
"kind" => "percentage" | "fixed" | "reallocation" | "tiered" | "expression",
|
|
3887
4108
|
"summary" => String
|
|
3888
4109
|
}],
|
|
3889
4110
|
"scope" => {
|
|
3890
4111
|
"costCentres" => Array[{ "id" => String, "name" => String }],
|
|
3891
4112
|
"accounts" => Array[{ "id" => String, "label" => String }]
|
|
3892
4113
|
},
|
|
3893
|
-
"missingScope" => Array[String]
|
|
4114
|
+
"missingScope" => Array[String],
|
|
4115
|
+
?"pricing" => managed_account_pricing & Hash[String, untyped],
|
|
4116
|
+
?"effects" => Array[pricing_effect],
|
|
4117
|
+
?"rerateCoverage" => rerate_coverage & untyped,
|
|
4118
|
+
?"warnings" => Array[String],
|
|
4119
|
+
?"expressionFailures" => Array[pricing_expression_failure]
|
|
3894
4120
|
}
|
|
3895
4121
|
|
|
3896
4122
|
# A new invoice is always a draft. There is no status field and no scope
|
|
@@ -3920,7 +4146,8 @@ module Infrawrench
|
|
|
3920
4146
|
"adjustment" => Numeric,
|
|
3921
4147
|
"adjusted" => Numeric,
|
|
3922
4148
|
"rate" => Numeric | nil,
|
|
3923
|
-
"billed" => Numeric | nil
|
|
4149
|
+
"billed" => Numeric | nil,
|
|
4150
|
+
?"effects" => Array[{ "key" => String, "amount" => Numeric }]
|
|
3924
4151
|
}
|
|
3925
4152
|
|
|
3926
4153
|
# Spec schema: `InvoiceSendRequest`.
|
|
@@ -4284,6 +4511,7 @@ module Infrawrench
|
|
|
4284
4511
|
"billingCurrency" => String,
|
|
4285
4512
|
"costBasis" => "cash" | "amortized",
|
|
4286
4513
|
"applyBillingRules" => bool,
|
|
4514
|
+
"pricing" => managed_account_pricing & Hash[String, untyped],
|
|
4287
4515
|
"notes" => String | nil,
|
|
4288
4516
|
"costCentreIds" => Array[String],
|
|
4289
4517
|
"accountIds" => Array[String],
|
|
@@ -4302,11 +4530,28 @@ module Infrawrench
|
|
|
4302
4530
|
"billingCurrency" => String,
|
|
4303
4531
|
?"costBasis" => "cash" | "amortized",
|
|
4304
4532
|
?"applyBillingRules" => bool,
|
|
4533
|
+
?"pricing" => managed_account_pricing & Hash[String, untyped],
|
|
4305
4534
|
?"notes" => String | nil,
|
|
4306
4535
|
?"costCentreIds" => Array[String],
|
|
4307
4536
|
?"accountIds" => Array[String]
|
|
4308
4537
|
}
|
|
4309
4538
|
|
|
4539
|
+
# Customer settings to try instead of the saved ones.
|
|
4540
|
+
#
|
|
4541
|
+
# Spec schema: `ManagedAccountPricing`.
|
|
4542
|
+
type managed_account_pricing = {
|
|
4543
|
+
"rerate" => {
|
|
4544
|
+
"enabled" => bool,
|
|
4545
|
+
"scope" => Array[{ "pluginId" => String, ?"service" => String | nil }],
|
|
4546
|
+
"fallbackUpliftPercent" => Numeric,
|
|
4547
|
+
"uplifts" => Array[{ "pluginId" => String, ?"service" => String | nil, "percent" => Numeric }]
|
|
4548
|
+
},
|
|
4549
|
+
"discounts" => discount_treatment,
|
|
4550
|
+
"credits" => discount_treatment & untyped,
|
|
4551
|
+
"commitmentBenefits" => discount_treatment & untyped
|
|
4552
|
+
}
|
|
4553
|
+
| nil
|
|
4554
|
+
|
|
4310
4555
|
# Spec schema: `Manifest`.
|
|
4311
4556
|
type manifest = { "manifest" => String }
|
|
4312
4557
|
|
|
@@ -5256,6 +5501,8 @@ module Infrawrench
|
|
|
5256
5501
|
| "jira:write"
|
|
5257
5502
|
| "linear:read"
|
|
5258
5503
|
| "linear:write"
|
|
5504
|
+
| "github-issues:read"
|
|
5505
|
+
| "github-issues:write"
|
|
5259
5506
|
| "invoices:read"
|
|
5260
5507
|
| "invoices:write"
|
|
5261
5508
|
| "invoices:issue"
|
|
@@ -5657,6 +5904,68 @@ module Infrawrench
|
|
|
5657
5904
|
# Spec schema: `PriceRateType`.
|
|
5658
5905
|
type price_rate_type = "on-demand" | "spot" | "reserved" | "savings-plan"
|
|
5659
5906
|
|
|
5907
|
+
# One rule or setting that moved money, in pipeline order.
|
|
5908
|
+
#
|
|
5909
|
+
# Spec schema: `PricingEffect`.
|
|
5910
|
+
type pricing_effect = {
|
|
5911
|
+
"key" => String,
|
|
5912
|
+
"ruleId" => String | nil,
|
|
5913
|
+
"label" => String,
|
|
5914
|
+
"kind" => "rerate_list"
|
|
5915
|
+
| "rerate_fallback"
|
|
5916
|
+
| "discounts"
|
|
5917
|
+
| "credits"
|
|
5918
|
+
| "commitment_benefits"
|
|
5919
|
+
| "percentage"
|
|
5920
|
+
| "fixed"
|
|
5921
|
+
| "reallocation"
|
|
5922
|
+
| "tiered"
|
|
5923
|
+
| "expression",
|
|
5924
|
+
"totals" => Hash[String, Numeric]
|
|
5925
|
+
}
|
|
5926
|
+
|
|
5927
|
+
# An expression rule that could not price some lines (division by zero, a
|
|
5928
|
+
# non-finite result). Those lines kept their previous cost rather than
|
|
5929
|
+
# becoming zero.
|
|
5930
|
+
#
|
|
5931
|
+
# Spec schema: `PricingExpressionFailure`.
|
|
5932
|
+
type pricing_expression_failure = { "ruleId" => String, "name" => String, "lines" => Integer, "message" => String }
|
|
5933
|
+
|
|
5934
|
+
# Spec schema: `PricingPreviewRequest`.
|
|
5935
|
+
type pricing_preview_request = {
|
|
5936
|
+
?"rule" => billing_rule_input & (Hash[String, untyped] | nil),
|
|
5937
|
+
?"ruleId" => String | nil,
|
|
5938
|
+
?"managedAccountId" => String | nil,
|
|
5939
|
+
?"pricing" => managed_account_pricing,
|
|
5940
|
+
?"month" => String | nil
|
|
5941
|
+
}
|
|
5942
|
+
|
|
5943
|
+
# Spec schema: `PricingPreviewResult`.
|
|
5944
|
+
type pricing_preview_result = {
|
|
5945
|
+
"month" => String,
|
|
5946
|
+
"from" => String,
|
|
5947
|
+
"to" => String,
|
|
5948
|
+
"managedAccountId" => String | nil,
|
|
5949
|
+
"collected" => Hash[String, Numeric],
|
|
5950
|
+
"before" => Hash[String, Numeric],
|
|
5951
|
+
"after" => Hash[String, Numeric],
|
|
5952
|
+
"effects" => Array[pricing_effect],
|
|
5953
|
+
"coverage" => rerate_coverage,
|
|
5954
|
+
"warnings" => Array[String],
|
|
5955
|
+
"expressionFailures" => Array[pricing_expression_failure],
|
|
5956
|
+
"changes" => Array[{
|
|
5957
|
+
"pluginId" => String,
|
|
5958
|
+
"service" => String,
|
|
5959
|
+
"accountName" => String,
|
|
5960
|
+
"chargeType" => String,
|
|
5961
|
+
"currency" => String,
|
|
5962
|
+
"collected" => Numeric,
|
|
5963
|
+
"before" => Numeric,
|
|
5964
|
+
"after" => Numeric
|
|
5965
|
+
}],
|
|
5966
|
+
"lineCount" => Integer
|
|
5967
|
+
}
|
|
5968
|
+
|
|
5660
5969
|
# Spec schema: `ProbeMetricSeries`.
|
|
5661
5970
|
type probe_metric_series = {
|
|
5662
5971
|
"label" => String,
|
|
@@ -6011,6 +6320,19 @@ module Infrawrench
|
|
|
6011
6320
|
# Spec schema: `RequiredTag`.
|
|
6012
6321
|
type required_tag = { "key" => String, ?"allowedValues" => Array[String] }
|
|
6013
6322
|
|
|
6323
|
+
# Spec schema: `RerateCoverage`.
|
|
6324
|
+
type rerate_coverage = {
|
|
6325
|
+
"byCurrency" => Hash[String, { "listPriced" => Numeric, "listTotal" => Numeric, "fallback" => Numeric }],
|
|
6326
|
+
"services" => Array[{
|
|
6327
|
+
"pluginId" => String,
|
|
6328
|
+
"service" => String,
|
|
6329
|
+
"currency" => String,
|
|
6330
|
+
"listPriced" => Numeric,
|
|
6331
|
+
"fallback" => Numeric
|
|
6332
|
+
}]
|
|
6333
|
+
}
|
|
6334
|
+
| nil
|
|
6335
|
+
|
|
6014
6336
|
# Spec schema: `Resource`.
|
|
6015
6337
|
type resource = {
|
|
6016
6338
|
"id" => resource_id,
|
|
@@ -8383,6 +8705,8 @@ module Infrawrench
|
|
|
8383
8705
|
def delete: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> ok
|
|
8384
8706
|
def get: (id: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> billing_rule
|
|
8385
8707
|
def list: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[billing_rule]
|
|
8708
|
+
def preview: (body: pricing_preview_request, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> pricing_preview_result
|
|
8709
|
+
def reorder: (body: billing_rule_order, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[billing_rule]
|
|
8386
8710
|
def update: (id: String, body: billing_rule_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> billing_rule
|
|
8387
8711
|
end
|
|
8388
8712
|
|
|
@@ -8852,6 +9176,25 @@ module Infrawrench
|
|
|
8852
9176
|
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> expiry_list_response
|
|
8853
9177
|
end
|
|
8854
9178
|
|
|
9179
|
+
class GithubIssuesPullRequestsNamespace
|
|
9180
|
+
def initialize: (Transport) -> void
|
|
9181
|
+
def create: (body: github_pull_request_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> github_pull_request_result
|
|
9182
|
+
def preview: (body: github_pull_request_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> github_pull_request_preview
|
|
9183
|
+
end
|
|
9184
|
+
|
|
9185
|
+
class GithubIssuesNamespace
|
|
9186
|
+
attr_reader pull_requests: GithubIssuesPullRequestsNamespace
|
|
9187
|
+
def initialize: (Transport) -> void
|
|
9188
|
+
def assignees: (installation_id: Integer, repo: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[github_assignee]
|
|
9189
|
+
def branches: (installation_id: Integer, repo: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[String]
|
|
9190
|
+
def get: (?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> github_issues_status
|
|
9191
|
+
def issues: (body: file_github_issue_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> file_github_issue_result
|
|
9192
|
+
def labels: (installation_id: Integer, repo: String, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> Array[github_label]
|
|
9193
|
+
def links: (?org_id: String?, ?source_kind: github_issue_source_kind?, ?state: "open" | "closed"?, ?source_id: Array[String]?, ?request_options: Hash[Symbol, untyped]?) -> Array[github_issue_link]
|
|
9194
|
+
def route: (?org_id: String?, ?resource_id: String?, ?request_options: Hash[Symbol, untyped]?) -> github_issue_route_resolution
|
|
9195
|
+
def settings: (body: github_issue_settings_input, ?org_id: String?, ?request_options: Hash[Symbol, untyped]?) -> github_issue_settings
|
|
9196
|
+
end
|
|
9197
|
+
|
|
8855
9198
|
class IacStatesNamespace
|
|
8856
9199
|
def initialize: (Transport) -> void
|
|
8857
9200
|
def create: (?org_id: String?, ?body: iac_state_upload_request?, ?request_options: Hash[Symbol, untyped]?) -> { "state" => iac_state }
|
|
@@ -9551,6 +9894,7 @@ module Infrawrench
|
|
|
9551
9894
|
attr_reader environment_diff: EnvironmentDiffNamespace
|
|
9552
9895
|
attr_reader environments: EnvironmentsNamespace
|
|
9553
9896
|
attr_reader expiring: ExpiringNamespace
|
|
9897
|
+
attr_reader github_issues: GithubIssuesNamespace
|
|
9554
9898
|
attr_reader iac: IacNamespace
|
|
9555
9899
|
attr_reader incidents: IncidentsNamespace
|
|
9556
9900
|
attr_reader invitations: InvitationsNamespace
|
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.
|
|
4
|
+
version: 1.54.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-10-05 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
|
-
description: Generated Ruby client for the Infrawrench API (v1.
|
|
14
|
+
description: Generated Ruby client for the Infrawrench API (v1.54.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 (v1.
|
|
61
|
+
summary: Generated Ruby client for the Infrawrench API (v1.54.0).
|
|
62
62
|
test_files: []
|