volcano-sdk 0.34.0 → 0.35.1

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.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +64 -8
  3. data/lib/volcano/client.rb +1 -1
  4. data/lib/volcano/durable.rb +11 -6
  5. data/lib/volcano/durable_approval_models.rb +1 -1
  6. data/lib/volcano/durable_message_arguments.rb +49 -0
  7. data/lib/volcano/durable_message_backlog.rb +38 -0
  8. data/lib/volcano/durable_message_catch_ups.rb +112 -0
  9. data/lib/volcano/durable_message_models.rb +62 -0
  10. data/lib/volcano/durable_message_responses.rb +107 -0
  11. data/lib/volcano/durable_message_session.rb +72 -0
  12. data/lib/volcano/durable_message_stream.rb +176 -0
  13. data/lib/volcano/durable_messages.rb +217 -0
  14. data/lib/volcano/durable_models.rb +32 -3
  15. data/lib/volcano/generated/lib/volcano-generated/api/auth_admin_api.rb +2 -2
  16. data/lib/volcano/generated/lib/volcano-generated/api/auth_configuration_api.rb +2 -2
  17. data/lib/volcano/generated/lib/volcano-generated/api/autofix_api.rb +222 -0
  18. data/lib/volcano/generated/lib/volcano-generated/api/durable_functions_api.rb +725 -0
  19. data/lib/volcano/generated/lib/volcano-generated/api/frontends_api.rb +2 -2
  20. data/lib/volcano/generated/lib/volcano-generated/api/issues_api.rb +254 -0
  21. data/lib/volcano/generated/lib/volcano-generated/api/sandboxes_api.rb +20 -20
  22. data/lib/volcano/generated/lib/volcano-generated/api/system_api.rb +57 -0
  23. data/lib/volcano/generated/lib/volcano-generated/api/variable_environments_api.rb +373 -0
  24. data/lib/volcano/generated/lib/volcano-generated/api/verified_domains_api.rb +2 -2
  25. data/lib/volcano/generated/lib/volcano-generated/models/auth_config.rb +46 -4
  26. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_series_point.rb +110 -2
  27. data/lib/volcano/generated/lib/volcano-generated/models/autofix_model.rb +45 -0
  28. data/lib/volcano/generated/lib/volcano-generated/models/autofix_provider.rb +40 -0
  29. data/lib/volcano/generated/lib/volcano-generated/models/autofix_settings.rb +385 -0
  30. data/lib/volcano/generated/lib/volcano-generated/models/autofix_stage.rb +40 -0
  31. data/lib/volcano/generated/lib/volcano-generated/models/capability.rb +214 -0
  32. data/lib/volcano/generated/lib/volcano-generated/models/capability_list.rb +166 -0
  33. data/lib/volcano/generated/lib/volcano-generated/models/capability_status.rb +40 -0
  34. data/lib/volcano/generated/lib/volcano-generated/models/create_sandbox_session_request.rb +16 -53
  35. data/lib/volcano/generated/lib/volcano-generated/models/create_variable_environment_request.rb +176 -0
  36. data/lib/volcano/generated/lib/volcano-generated/models/durable_execution.rb +14 -4
  37. data/lib/volcano/generated/lib/volcano-generated/models/durable_message.rb +396 -0
  38. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_direction.rb +40 -0
  39. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_list.rb +194 -0
  40. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_sender.rb +203 -0
  41. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_session_registration.rb +165 -0
  42. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_status.rb +43 -0
  43. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_wait.rb +278 -0
  44. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_wait_list.rb +167 -0
  45. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_wait_registration.rb +225 -0
  46. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_wait_status.rb +43 -0
  47. data/lib/volcano/generated/lib/volcano-generated/models/frontend.rb +11 -1
  48. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_conflict_error.rb +1 -1
  49. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_response.rb +25 -2
  50. data/lib/volcano/generated/lib/volcano-generated/models/issue.rb +493 -0
  51. data/lib/volcano/generated/lib/volcano-generated/models/issue_status.rb +41 -0
  52. data/lib/volcano/generated/lib/volcano-generated/models/metric_usage_data.rb +1 -1
  53. data/lib/volcano/generated/lib/volcano-generated/models/open_durable_message_session_request.rb +228 -0
  54. data/lib/volcano/generated/lib/volcano-generated/models/paginated_issues.rb +230 -0
  55. data/lib/volcano/generated/lib/volcano-generated/models/project_config.rb +10 -1
  56. data/lib/volcano/generated/lib/volcano-generated/models/project_config_autofix.rb +206 -0
  57. data/lib/volcano/generated/lib/volcano-generated/models/project_config_custom_domain.rb +1 -1
  58. data/lib/volcano/generated/lib/volcano-generated/models/project_config_sandbox.rb +12 -50
  59. data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain.rb +25 -2
  60. data/lib/volcano/generated/lib/volcano-generated/models/publish_durable_message_request.rb +205 -0
  61. data/lib/volcano/generated/lib/volcano-generated/models/register_durable_message_wait_request.rb +284 -0
  62. data/lib/volcano/generated/lib/volcano-generated/models/rename_variable_environment_request.rb +176 -0
  63. data/lib/volcano/generated/lib/volcano-generated/models/request_durable_approval_request.rb +1 -1
  64. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_command_request.rb +11 -12
  65. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_execution_request.rb +51 -13
  66. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_session.rb +4 -30
  67. data/lib/volcano/generated/lib/volcano-generated/models/send_durable_message_request.rb +205 -0
  68. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_config_request.rb +79 -1
  69. data/lib/volcano/generated/lib/volcano-generated/models/update_autofix_settings_request.rb +273 -0
  70. data/lib/volcano/generated/lib/volcano-generated/models/update_issue_request.rb +186 -0
  71. data/lib/volcano/generated/lib/volcano-generated/models/variable_environment.rb +325 -0
  72. data/lib/volcano/generated/lib/volcano-generated/models/variable_environment_list.rb +175 -0
  73. data/lib/volcano/generated/lib/volcano-generated.rb +34 -0
  74. data/lib/volcano/generated_transport.rb +1 -0
  75. data/lib/volcano/generated_transport_durable_messages.rb +57 -0
  76. data/lib/volcano/realtime/channel_callbacks.rb +5 -1
  77. data/lib/volcano/realtime/channel_lifecycle.rb +4 -1
  78. data/lib/volcano/realtime/durable_channel.rb +47 -0
  79. data/lib/volcano/realtime/lifecycle.rb +37 -1
  80. data/lib/volcano/realtime/protocol.rb +7 -3
  81. data/lib/volcano/realtime/protocol_dispatch.rb +1 -1
  82. data/lib/volcano/realtime/protocol_io.rb +7 -4
  83. data/lib/volcano/realtime/protocol_lifecycle.rb +7 -0
  84. data/lib/volcano/realtime/protocol_recovery.rb +23 -12
  85. data/lib/volcano/realtime.rb +42 -8
  86. data/lib/volcano/redaction.rb +1 -1
  87. data/lib/volcano/version.rb +1 -1
  88. data/lib/volcano.rb +8 -0
  89. data/sig/core_facades.rbs +15 -0
  90. data/sig/durable_message_records.rbs +68 -0
  91. data/sig/durable_records.rbs +17 -9
  92. metadata +68 -3
@@ -135,7 +135,7 @@ module Volcano::Generated
135
135
  end
136
136
 
137
137
  # Configure frontend custom domain
138
- # Configures one custom domain for a frontend. The default Volcano-generated frontend URL remains active. Wildcard Volcano frontend TLS remains valid and isolated from custom-domain certificate changes. The account must own the hostname: it must have verified the hostname or a domain above it (see `POST /user/domains`). A certificate does not prove ownership. When the account owns no domain covering the hostname, Volcano asks for a TXT record at `_volcano.<registrable domain>`, such as `_volcano.example.com`. Publishing it verifies the whole domain, so later subdomains need no record. A managed TLS request reserves the hostname and returns that record in `verification_records`; the reservation expires after 72 hours unless the record is published. A BYOC request gets `409` with `code: ownership_verification_required` and the record in `required_record`; publish it and send the same request again. Managed TLS then returns the CNAME that authorizes certificate issuance and renewal. An unverified reservation does not block an account that proves ownership. When another account holds one, a request gets `409` with `code: ownership_verification_required` and the caller's own `required_record`; after publishing it, the same request takes over the reservation. When another account verified the domain, the same `409` names the record that moves the domain to the caller once the other account's record is no longer published. A hostname below a domain another account owns otherwise returns `409` without `code`.
138
+ # Configures one custom domain for a frontend. The default Volcano-generated frontend URL remains active. Wildcard Volcano frontend TLS remains valid and isolated from custom-domain certificate changes. The account must own the hostname: it must have verified the hostname or a domain above it (see `POST /user/domains`). A certificate does not prove ownership. When the account owns no domain covering the hostname, Volcano asks for a TXT record at `_volcano.<registrable domain>`, such as `_volcano.example.com`. Publishing it verifies the whole domain, so later subdomains need no record. A managed TLS request reserves the hostname and returns that record in `verification_records`; the reservation expires after 72 hours unless the record is published. A BYOC request gets `409` with `code: ownership_verification_required` and the record in `required_record`; publish it and send the same request again. Managed TLS then returns the CNAME that authorizes certificate issuance and renewal. To move an active BYOC domain to managed TLS without downtime, send `tls.mode: managed` for the same hostname. The response is `200` with the CNAME to publish; the uploaded certificate keeps serving until Volcano issues the managed one, and `serving_certificate` changes from `uploaded` to `managed`. To move an active managed domain to BYOC without downtime, send `tls.mode: byoc` with the certificate for the same hostname. The response is `200`; the uploaded certificate replaces the managed one at once, and Volcano stops renewing the managed certificate. An unverified reservation does not block an account that proves ownership. When another account holds one, a request gets `409` with `code: ownership_verification_required` and the caller's own `required_record`; after publishing it, the same request takes over the reservation. When another account verified the domain, the same `409` names the record that moves the domain to the caller once the other account's record is no longer published. A hostname below a domain another account owns otherwise returns `409` without `code`.
139
139
  # @param id [String] Project ID
140
140
  # @param frontend_id [String] Frontend ID
141
141
  # @param create_frontend_custom_domain_request [CreateFrontendCustomDomainRequest]
@@ -147,7 +147,7 @@ module Volcano::Generated
147
147
  end
148
148
 
149
149
  # Configure frontend custom domain
150
- # Configures one custom domain for a frontend. The default Volcano-generated frontend URL remains active. Wildcard Volcano frontend TLS remains valid and isolated from custom-domain certificate changes. The account must own the hostname: it must have verified the hostname or a domain above it (see &#x60;POST /user/domains&#x60;). A certificate does not prove ownership. When the account owns no domain covering the hostname, Volcano asks for a TXT record at &#x60;_volcano.&lt;registrable domain&gt;&#x60;, such as &#x60;_volcano.example.com&#x60;. Publishing it verifies the whole domain, so later subdomains need no record. A managed TLS request reserves the hostname and returns that record in &#x60;verification_records&#x60;; the reservation expires after 72 hours unless the record is published. A BYOC request gets &#x60;409&#x60; with &#x60;code: ownership_verification_required&#x60; and the record in &#x60;required_record&#x60;; publish it and send the same request again. Managed TLS then returns the CNAME that authorizes certificate issuance and renewal. An unverified reservation does not block an account that proves ownership. When another account holds one, a request gets &#x60;409&#x60; with &#x60;code: ownership_verification_required&#x60; and the caller&#39;s own &#x60;required_record&#x60;; after publishing it, the same request takes over the reservation. When another account verified the domain, the same &#x60;409&#x60; names the record that moves the domain to the caller once the other account&#39;s record is no longer published. A hostname below a domain another account owns otherwise returns &#x60;409&#x60; without &#x60;code&#x60;.
150
+ # Configures one custom domain for a frontend. The default Volcano-generated frontend URL remains active. Wildcard Volcano frontend TLS remains valid and isolated from custom-domain certificate changes. The account must own the hostname: it must have verified the hostname or a domain above it (see &#x60;POST /user/domains&#x60;). A certificate does not prove ownership. When the account owns no domain covering the hostname, Volcano asks for a TXT record at &#x60;_volcano.&lt;registrable domain&gt;&#x60;, such as &#x60;_volcano.example.com&#x60;. Publishing it verifies the whole domain, so later subdomains need no record. A managed TLS request reserves the hostname and returns that record in &#x60;verification_records&#x60;; the reservation expires after 72 hours unless the record is published. A BYOC request gets &#x60;409&#x60; with &#x60;code: ownership_verification_required&#x60; and the record in &#x60;required_record&#x60;; publish it and send the same request again. Managed TLS then returns the CNAME that authorizes certificate issuance and renewal. To move an active BYOC domain to managed TLS without downtime, send &#x60;tls.mode: managed&#x60; for the same hostname. The response is &#x60;200&#x60; with the CNAME to publish; the uploaded certificate keeps serving until Volcano issues the managed one, and &#x60;serving_certificate&#x60; changes from &#x60;uploaded&#x60; to &#x60;managed&#x60;. To move an active managed domain to BYOC without downtime, send &#x60;tls.mode: byoc&#x60; with the certificate for the same hostname. The response is &#x60;200&#x60;; the uploaded certificate replaces the managed one at once, and Volcano stops renewing the managed certificate. An unverified reservation does not block an account that proves ownership. When another account holds one, a request gets &#x60;409&#x60; with &#x60;code: ownership_verification_required&#x60; and the caller&#39;s own &#x60;required_record&#x60;; after publishing it, the same request takes over the reservation. When another account verified the domain, the same &#x60;409&#x60; names the record that moves the domain to the caller once the other account&#39;s record is no longer published. A hostname below a domain another account owns otherwise returns &#x60;409&#x60; without &#x60;code&#x60;.
151
151
  # @param id [String] Project ID
152
152
  # @param frontend_id [String] Frontend ID
153
153
  # @param create_frontend_custom_domain_request [CreateFrontendCustomDomainRequest]
@@ -0,0 +1,254 @@
1
+ =begin
2
+ #Volcano API
3
+
4
+ #Public API for Volcano clients, SDKs, and CLI tooling (Port 8000). This specification intentionally excludes first-party/internal APIs. See api/openapi-internal.yaml for non-public internal and Builder operations.
5
+
6
+ The version of the OpenAPI document: 3.0.0
7
+ Contact: support@volcano.dev
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.17.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Volcano::Generated
16
+ class IssuesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get an issue
23
+ # Returns one issue: the resource that raised it, how often and when it was seen, and its status. Project access tokens can read issues, including read-only ones.
24
+ # @param id [String] Project ID
25
+ # @param issue_id [String] Issue ID
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [Issue]
28
+ def get_issue(id, issue_id, opts = {})
29
+ data, _status_code, _headers = get_issue_with_http_info(id, issue_id, opts)
30
+ data
31
+ end
32
+
33
+ # Get an issue
34
+ # Returns one issue: the resource that raised it, how often and when it was seen, and its status. Project access tokens can read issues, including read-only ones.
35
+ # @param id [String] Project ID
36
+ # @param issue_id [String] Issue ID
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(Issue, Integer, Hash)>] Issue data, response status code and response headers
39
+ def get_issue_with_http_info(id, issue_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: IssuesApi.get_issue ...'
42
+ end
43
+ # verify the required parameter 'id' is set
44
+ if @api_client.config.client_side_validation && id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'id' when calling IssuesApi.get_issue"
46
+ end
47
+ # verify the required parameter 'issue_id' is set
48
+ if @api_client.config.client_side_validation && issue_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'issue_id' when calling IssuesApi.get_issue"
50
+ end
51
+ # resource path
52
+ local_var_path = '/projects/{id}/issues/{issueId}'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'issueId' + '}', CGI.escape(issue_id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+
62
+ # form parameters
63
+ form_params = opts[:form_params] || {}
64
+
65
+ # http body (model)
66
+ post_body = opts[:debug_body]
67
+
68
+ # return_type
69
+ return_type = opts[:debug_return_type] || 'Issue'
70
+
71
+ # auth_names
72
+ auth_names = opts[:debug_auth_names] || ['UserToken', 'ProjectAccessToken']
73
+
74
+ new_options = opts.merge(
75
+ :operation => :"IssuesApi.get_issue",
76
+ :header_params => header_params,
77
+ :query_params => query_params,
78
+ :form_params => form_params,
79
+ :body => post_body,
80
+ :auth_names => auth_names,
81
+ :return_type => return_type
82
+ )
83
+
84
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
85
+ if @api_client.config.debugging
86
+ @api_client.config.logger.debug "API called: IssuesApi#get_issue\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
87
+ end
88
+ return data, status_code, headers
89
+ end
90
+
91
+ # List issues
92
+ # Lists the project's issues, most recently seen first. An issue groups the runtime errors one function or frontend raised with the same error type and stack, or the same message when there is no stack. Project access tokens can list issues, including read-only ones.
93
+ # @param id [String] Project ID
94
+ # @param [Hash] opts the optional parameters
95
+ # @option opts [Integer] :limit Number of items per page (max 100) (default to 10)
96
+ # @option opts [String] :cursor Opaque cursor from a previous response&#39;s &#x60;next_cursor&#x60;. Pages forward; keep the same filters while paging.
97
+ # @option opts [IssueStatus] :status Return only issues in this status.
98
+ # @option opts [String] :resource_id Return only issues raised by this function or frontend.
99
+ # @return [PaginatedIssues]
100
+ def list_issues(id, opts = {})
101
+ data, _status_code, _headers = list_issues_with_http_info(id, opts)
102
+ data
103
+ end
104
+
105
+ # List issues
106
+ # Lists the project&#39;s issues, most recently seen first. An issue groups the runtime errors one function or frontend raised with the same error type and stack, or the same message when there is no stack. Project access tokens can list issues, including read-only ones.
107
+ # @param id [String] Project ID
108
+ # @param [Hash] opts the optional parameters
109
+ # @option opts [Integer] :limit Number of items per page (max 100) (default to 10)
110
+ # @option opts [String] :cursor Opaque cursor from a previous response&#39;s &#x60;next_cursor&#x60;. Pages forward; keep the same filters while paging.
111
+ # @option opts [IssueStatus] :status Return only issues in this status.
112
+ # @option opts [String] :resource_id Return only issues raised by this function or frontend.
113
+ # @return [Array<(PaginatedIssues, Integer, Hash)>] PaginatedIssues data, response status code and response headers
114
+ def list_issues_with_http_info(id, opts = {})
115
+ if @api_client.config.debugging
116
+ @api_client.config.logger.debug 'Calling API: IssuesApi.list_issues ...'
117
+ end
118
+ # verify the required parameter 'id' is set
119
+ if @api_client.config.client_side_validation && id.nil?
120
+ fail ArgumentError, "Missing the required parameter 'id' when calling IssuesApi.list_issues"
121
+ end
122
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
123
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling IssuesApi.list_issues, must be smaller than or equal to 100.'
124
+ end
125
+
126
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
127
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling IssuesApi.list_issues, must be greater than or equal to 1.'
128
+ end
129
+
130
+ # resource path
131
+ local_var_path = '/projects/{id}/issues'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
132
+
133
+ # query parameters
134
+ query_params = opts[:query_params] || {}
135
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
136
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
137
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
138
+ query_params[:'resource_id'] = opts[:'resource_id'] if !opts[:'resource_id'].nil?
139
+
140
+ # header parameters
141
+ header_params = opts[:header_params] || {}
142
+ # HTTP header 'Accept' (if needed)
143
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
144
+
145
+ # form parameters
146
+ form_params = opts[:form_params] || {}
147
+
148
+ # http body (model)
149
+ post_body = opts[:debug_body]
150
+
151
+ # return_type
152
+ return_type = opts[:debug_return_type] || 'PaginatedIssues'
153
+
154
+ # auth_names
155
+ auth_names = opts[:debug_auth_names] || ['UserToken', 'ProjectAccessToken']
156
+
157
+ new_options = opts.merge(
158
+ :operation => :"IssuesApi.list_issues",
159
+ :header_params => header_params,
160
+ :query_params => query_params,
161
+ :form_params => form_params,
162
+ :body => post_body,
163
+ :auth_names => auth_names,
164
+ :return_type => return_type
165
+ )
166
+
167
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
168
+ if @api_client.config.debugging
169
+ @api_client.config.logger.debug "API called: IssuesApi#list_issues\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
170
+ end
171
+ return data, status_code, headers
172
+ end
173
+
174
+ # Update an issue
175
+ # Sets an issue's status. A resolved issue that is seen again after it was resolved reopens, and `regressed_at` records when. An ignored issue stays ignored while it keeps being counted. Setting the status an issue already has is safe to repeat.
176
+ # @param id [String] Project ID
177
+ # @param issue_id [String] Issue ID
178
+ # @param update_issue_request [UpdateIssueRequest]
179
+ # @param [Hash] opts the optional parameters
180
+ # @return [Issue]
181
+ def update_issue(id, issue_id, update_issue_request, opts = {})
182
+ data, _status_code, _headers = update_issue_with_http_info(id, issue_id, update_issue_request, opts)
183
+ data
184
+ end
185
+
186
+ # Update an issue
187
+ # Sets an issue&#39;s status. A resolved issue that is seen again after it was resolved reopens, and &#x60;regressed_at&#x60; records when. An ignored issue stays ignored while it keeps being counted. Setting the status an issue already has is safe to repeat.
188
+ # @param id [String] Project ID
189
+ # @param issue_id [String] Issue ID
190
+ # @param update_issue_request [UpdateIssueRequest]
191
+ # @param [Hash] opts the optional parameters
192
+ # @return [Array<(Issue, Integer, Hash)>] Issue data, response status code and response headers
193
+ def update_issue_with_http_info(id, issue_id, update_issue_request, opts = {})
194
+ if @api_client.config.debugging
195
+ @api_client.config.logger.debug 'Calling API: IssuesApi.update_issue ...'
196
+ end
197
+ # verify the required parameter 'id' is set
198
+ if @api_client.config.client_side_validation && id.nil?
199
+ fail ArgumentError, "Missing the required parameter 'id' when calling IssuesApi.update_issue"
200
+ end
201
+ # verify the required parameter 'issue_id' is set
202
+ if @api_client.config.client_side_validation && issue_id.nil?
203
+ fail ArgumentError, "Missing the required parameter 'issue_id' when calling IssuesApi.update_issue"
204
+ end
205
+ # verify the required parameter 'update_issue_request' is set
206
+ if @api_client.config.client_side_validation && update_issue_request.nil?
207
+ fail ArgumentError, "Missing the required parameter 'update_issue_request' when calling IssuesApi.update_issue"
208
+ end
209
+ # resource path
210
+ local_var_path = '/projects/{id}/issues/{issueId}'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'issueId' + '}', CGI.escape(issue_id.to_s))
211
+
212
+ # query parameters
213
+ query_params = opts[:query_params] || {}
214
+
215
+ # header parameters
216
+ header_params = opts[:header_params] || {}
217
+ # HTTP header 'Accept' (if needed)
218
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
219
+ # HTTP header 'Content-Type'
220
+ content_type = @api_client.select_header_content_type(['application/json'])
221
+ if !content_type.nil?
222
+ header_params['Content-Type'] = content_type
223
+ end
224
+
225
+ # form parameters
226
+ form_params = opts[:form_params] || {}
227
+
228
+ # http body (model)
229
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_issue_request)
230
+
231
+ # return_type
232
+ return_type = opts[:debug_return_type] || 'Issue'
233
+
234
+ # auth_names
235
+ auth_names = opts[:debug_auth_names] || ['UserToken', 'ProjectAccessToken']
236
+
237
+ new_options = opts.merge(
238
+ :operation => :"IssuesApi.update_issue",
239
+ :header_params => header_params,
240
+ :query_params => query_params,
241
+ :form_params => form_params,
242
+ :body => post_body,
243
+ :auth_names => auth_names,
244
+ :return_type => return_type
245
+ )
246
+
247
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
248
+ if @api_client.config.debugging
249
+ @api_client.config.logger.debug "API called: IssuesApi#update_issue\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
250
+ end
251
+ return data, status_code, headers
252
+ end
253
+ end
254
+ end
@@ -79,7 +79,7 @@ module Volcano::Generated
79
79
  return_type = opts[:debug_return_type] || 'SandboxTemplate'
80
80
 
81
81
  # auth_names
82
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
82
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
83
83
 
84
84
  new_options = opts.merge(
85
85
  :operation => :"SandboxesApi.create_sandbox",
@@ -154,7 +154,7 @@ module Volcano::Generated
154
154
  return_type = opts[:debug_return_type] || 'SandboxSession'
155
155
 
156
156
  # auth_names
157
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
157
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
158
158
 
159
159
  new_options = opts.merge(
160
160
  :operation => :"SandboxesApi.create_sandbox_session",
@@ -293,7 +293,7 @@ module Volcano::Generated
293
293
  return_type = opts[:debug_return_type]
294
294
 
295
295
  # auth_names
296
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
296
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
297
297
 
298
298
  new_options = opts.merge(
299
299
  :operation => :"SandboxesApi.delete_sandbox",
@@ -403,7 +403,7 @@ module Volcano::Generated
403
403
  return_type = opts[:debug_return_type] || 'SandboxDeployment'
404
404
 
405
405
  # auth_names
406
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
406
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
407
407
 
408
408
  new_options = opts.merge(
409
409
  :operation => :"SandboxesApi.deploy_sandbox",
@@ -478,7 +478,7 @@ module Volcano::Generated
478
478
  return_type = opts[:debug_return_type] || 'SandboxExecutionResult'
479
479
 
480
480
  # auth_names
481
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
481
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
482
482
 
483
483
  new_options = opts.merge(
484
484
  :operation => :"SandboxesApi.execute_sandbox",
@@ -557,7 +557,7 @@ module Volcano::Generated
557
557
  return_type = opts[:debug_return_type] || 'SandboxCommandResult'
558
558
 
559
559
  # auth_names
560
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'UserToken']
560
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'UserToken', 'ProjectAccessToken']
561
561
 
562
562
  new_options = opts.merge(
563
563
  :operation => :"SandboxesApi.execute_sandbox_session",
@@ -624,7 +624,7 @@ module Volcano::Generated
624
624
  return_type = opts[:debug_return_type] || 'SandboxTemplate'
625
625
 
626
626
  # auth_names
627
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
627
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
628
628
 
629
629
  new_options = opts.merge(
630
630
  :operation => :"SandboxesApi.get_sandbox",
@@ -697,7 +697,7 @@ module Volcano::Generated
697
697
  return_type = opts[:debug_return_type] || 'SandboxDeployment'
698
698
 
699
699
  # auth_names
700
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
700
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
701
701
 
702
702
  new_options = opts.merge(
703
703
  :operation => :"SandboxesApi.get_sandbox_deployment",
@@ -800,7 +800,7 @@ module Volcano::Generated
800
800
  return_type = opts[:debug_return_type] || 'SandboxBuildLogPage'
801
801
 
802
802
  # auth_names
803
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
803
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
804
804
 
805
805
  new_options = opts.merge(
806
806
  :operation => :"SandboxesApi.get_sandbox_deployment_logs",
@@ -873,7 +873,7 @@ module Volcano::Generated
873
873
  return_type = opts[:debug_return_type] || 'File'
874
874
 
875
875
  # auth_names
876
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
876
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
877
877
 
878
878
  new_options = opts.merge(
879
879
  :operation => :"SandboxesApi.get_sandbox_deployment_source",
@@ -934,7 +934,7 @@ module Volcano::Generated
934
934
  return_type = opts[:debug_return_type] || 'SandboxSession'
935
935
 
936
936
  # auth_names
937
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'UserToken']
937
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'UserToken', 'ProjectAccessToken']
938
938
 
939
939
  new_options = opts.merge(
940
940
  :operation => :"SandboxesApi.get_sandbox_session",
@@ -1093,7 +1093,7 @@ module Volcano::Generated
1093
1093
  return_type = opts[:debug_return_type] || 'SandboxDeploymentPage'
1094
1094
 
1095
1095
  # auth_names
1096
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
1096
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
1097
1097
 
1098
1098
  new_options = opts.merge(
1099
1099
  :operation => :"SandboxesApi.list_sandbox_deployments",
@@ -1223,7 +1223,7 @@ module Volcano::Generated
1223
1223
  return_type = opts[:debug_return_type] || 'SandboxSessionPage'
1224
1224
 
1225
1225
  # auth_names
1226
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
1226
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
1227
1227
 
1228
1228
  new_options = opts.merge(
1229
1229
  :operation => :"SandboxesApi.list_sandbox_sessions",
@@ -1298,7 +1298,7 @@ module Volcano::Generated
1298
1298
  return_type = opts[:debug_return_type] || 'SandboxTemplatePage'
1299
1299
 
1300
1300
  # auth_names
1301
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
1301
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
1302
1302
 
1303
1303
  new_options = opts.merge(
1304
1304
  :operation => :"SandboxesApi.list_sandboxes",
@@ -1370,7 +1370,7 @@ module Volcano::Generated
1370
1370
  return_type = opts[:debug_return_type] || 'SandboxFileResult'
1371
1371
 
1372
1372
  # auth_names
1373
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'UserToken']
1373
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'UserToken', 'ProjectAccessToken']
1374
1374
 
1375
1375
  new_options = opts.merge(
1376
1376
  :operation => :"SandboxesApi.read_sandbox_session_file",
@@ -1431,7 +1431,7 @@ module Volcano::Generated
1431
1431
  return_type = opts[:debug_return_type] || 'SandboxSession'
1432
1432
 
1433
1433
  # auth_names
1434
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
1434
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
1435
1435
 
1436
1436
  new_options = opts.merge(
1437
1437
  :operation => :"SandboxesApi.resume_sandbox_session",
@@ -1559,7 +1559,7 @@ module Volcano::Generated
1559
1559
  return_type = opts[:debug_return_type] || 'SandboxSession'
1560
1560
 
1561
1561
  # auth_names
1562
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
1562
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
1563
1563
 
1564
1564
  new_options = opts.merge(
1565
1565
  :operation => :"SandboxesApi.suspend_sandbox_session",
@@ -1620,7 +1620,7 @@ module Volcano::Generated
1620
1620
  return_type = opts[:debug_return_type] || 'SandboxSession'
1621
1621
 
1622
1622
  # auth_names
1623
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
1623
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
1624
1624
 
1625
1625
  new_options = opts.merge(
1626
1626
  :operation => :"SandboxesApi.terminate_sandbox_session",
@@ -1698,7 +1698,7 @@ module Volcano::Generated
1698
1698
  return_type = opts[:debug_return_type] || 'SandboxTemplate'
1699
1699
 
1700
1700
  # auth_names
1701
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken']
1701
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'UserToken', 'ProjectAccessToken']
1702
1702
 
1703
1703
  new_options = opts.merge(
1704
1704
  :operation => :"SandboxesApi.update_sandbox",
@@ -1770,7 +1770,7 @@ module Volcano::Generated
1770
1770
  return_type = opts[:debug_return_type]
1771
1771
 
1772
1772
  # auth_names
1773
- auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'UserToken']
1773
+ auth_names = opts[:debug_auth_names] || ['ServiceRoleKey', 'AuthUserAccessToken', 'UserToken', 'ProjectAccessToken']
1774
1774
 
1775
1775
  new_options = opts.merge(
1776
1776
  :operation => :"SandboxesApi.write_sandbox_session_file",
@@ -383,5 +383,62 @@ module Volcano::Generated
383
383
  end
384
384
  return data, status_code, headers
385
385
  end
386
+
387
+ # List capabilities
388
+ # Lists which product capabilities accept new work in this environment. Check it to decide what to offer, instead of calling a route to see whether it fails. | ID | Covers | | --- | --- | | `sandboxes` | The Sandbox API: presets, templates, sessions, and executions | | `sandboxes.sessions` | Starting and resuming sessions, and one-shot executions | | `sandboxes.custom_templates` | Deploying a custom template; its validation waits while `sandboxes.sessions` is unavailable | | `issues` | The Issues API: listing, reading, and updating grouped runtime errors | | `autofix` | The Autofix API: a project's AI diagnosis and fix settings | | `autofix.managed_models` | Turning autofix on with Volcano-managed models instead of your own API key | A capability missing from the list is unavailable, and a capability under another, such as `sandboxes.sessions`, is unavailable whenever its parent is. While a capability is unavailable, requests that start new work answer `404` or `400` with code `feature_unavailable`; refresh this list when you receive that code. Reading, deleting, and terminating what already exists keep working unless the whole feature is absent from the environment. Every caller in an environment gets the same answer.
389
+ # @param [Hash] opts the optional parameters
390
+ # @return [CapabilityList]
391
+ def list_capabilities(opts = {})
392
+ data, _status_code, _headers = list_capabilities_with_http_info(opts)
393
+ data
394
+ end
395
+
396
+ # List capabilities
397
+ # Lists which product capabilities accept new work in this environment. Check it to decide what to offer, instead of calling a route to see whether it fails. | ID | Covers | | --- | --- | | &#x60;sandboxes&#x60; | The Sandbox API: presets, templates, sessions, and executions | | &#x60;sandboxes.sessions&#x60; | Starting and resuming sessions, and one-shot executions | | &#x60;sandboxes.custom_templates&#x60; | Deploying a custom template; its validation waits while &#x60;sandboxes.sessions&#x60; is unavailable | | &#x60;issues&#x60; | The Issues API: listing, reading, and updating grouped runtime errors | | &#x60;autofix&#x60; | The Autofix API: a project&#39;s AI diagnosis and fix settings | | &#x60;autofix.managed_models&#x60; | Turning autofix on with Volcano-managed models instead of your own API key | A capability missing from the list is unavailable, and a capability under another, such as &#x60;sandboxes.sessions&#x60;, is unavailable whenever its parent is. While a capability is unavailable, requests that start new work answer &#x60;404&#x60; or &#x60;400&#x60; with code &#x60;feature_unavailable&#x60;; refresh this list when you receive that code. Reading, deleting, and terminating what already exists keep working unless the whole feature is absent from the environment. Every caller in an environment gets the same answer.
398
+ # @param [Hash] opts the optional parameters
399
+ # @return [Array<(CapabilityList, Integer, Hash)>] CapabilityList data, response status code and response headers
400
+ def list_capabilities_with_http_info(opts = {})
401
+ if @api_client.config.debugging
402
+ @api_client.config.logger.debug 'Calling API: SystemApi.list_capabilities ...'
403
+ end
404
+ # resource path
405
+ local_var_path = '/capabilities'
406
+
407
+ # query parameters
408
+ query_params = opts[:query_params] || {}
409
+
410
+ # header parameters
411
+ header_params = opts[:header_params] || {}
412
+ # HTTP header 'Accept' (if needed)
413
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
414
+
415
+ # form parameters
416
+ form_params = opts[:form_params] || {}
417
+
418
+ # http body (model)
419
+ post_body = opts[:debug_body]
420
+
421
+ # return_type
422
+ return_type = opts[:debug_return_type] || 'CapabilityList'
423
+
424
+ # auth_names
425
+ auth_names = opts[:debug_auth_names] || []
426
+
427
+ new_options = opts.merge(
428
+ :operation => :"SystemApi.list_capabilities",
429
+ :header_params => header_params,
430
+ :query_params => query_params,
431
+ :form_params => form_params,
432
+ :body => post_body,
433
+ :auth_names => auth_names,
434
+ :return_type => return_type
435
+ )
436
+
437
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
438
+ if @api_client.config.debugging
439
+ @api_client.config.logger.debug "API called: SystemApi#list_capabilities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
440
+ end
441
+ return data, status_code, headers
442
+ end
386
443
  end
387
444
  end