hatchet-sdk 0.9.0 → 0.11.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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/lib/hatchet/clients/grpc/admin.rb +20 -0
  4. data/lib/hatchet/clients/grpc/dispatcher.rb +6 -2
  5. data/lib/hatchet/clients/rest/.openapi-generator/FILES +13 -0
  6. data/lib/hatchet/clients/rest/README.md +21 -0
  7. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/serverless_api.rb +405 -0
  8. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/streams_api.rb +263 -0
  9. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/tenant_api.rb +71 -0
  10. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/workflow_runs_api.rb +142 -0
  11. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rate_limit.rb +14 -4
  12. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_entitlements.rb +367 -0
  13. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_create_serverless_endpoint_request.rb +411 -0
  14. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_serverless_endpoint.rb +556 -0
  15. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_serverless_endpoint_kind.rb +40 -0
  16. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_serverless_endpoint_list.rb +231 -0
  17. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_serverless_endpoint_status.rb +271 -0
  18. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_stream_payload_ref.rb +238 -0
  19. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_stream_topic.rb +343 -0
  20. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_stream_topic_list.rb +292 -0
  21. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_update_serverless_endpoint_request.rb +354 -0
  22. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_run_count.rb +238 -0
  23. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow.rb +14 -4
  24. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest.rb +13 -0
  25. data/lib/hatchet/context.rb +13 -0
  26. data/lib/hatchet/contracts/dispatcher/dispatcher_pb.rb +1 -1
  27. data/lib/hatchet/contracts/workflows/workflows_pb.rb +3 -1
  28. data/lib/hatchet/contracts/workflows/workflows_services_pb.rb +1 -0
  29. data/lib/hatchet/engine_version.rb +1 -0
  30. data/lib/hatchet/exceptions.rb +18 -0
  31. data/lib/hatchet/features/rate_limits.rb +13 -0
  32. data/lib/hatchet/version.rb +1 -1
  33. data/lib/hatchet/worker/runner.rb +24 -2
  34. data/sig/hatchet/clients/grpc/admin.rbs +1 -0
  35. data/sig/hatchet/context.rbs +1 -0
  36. data/sig/hatchet/features/rate_limits.rbs +1 -0
  37. metadata +15 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf12b2683a7b26125e459a66b28acfa0d0c04cc5a4b148cadcce6a29f69b53ea
4
- data.tar.gz: ea2fc0114f0a8d236d899b1713c85e5383bf83ab19cc0099020d680f35501db0
3
+ metadata.gz: 16eca35119ecc07394654147b2c3f4aada19f82dd4829e4cbb18d812f15623ec
4
+ data.tar.gz: aeffb9c04dede6fbabee1bf21dfecd30307387ba46e70b7cab694cbca07874ad
5
5
  SHA512:
6
- metadata.gz: fd9e284829bb0ede7127685699cd79e0c5283d693aee9bc5e6e201cd2518e20c08e83e884054a3325bda3c0435e5743ff35137f6ebb44cbeea9383b83617250b
7
- data.tar.gz: 7ac930e2413632481a339e892cbc932fc205d15c6012a2f9e4ea43fe002282c40a24a6f47d555c1fd222c285ee16a2c5155595a2405c89fd3c975ce86e77a32c
6
+ metadata.gz: 24fc846b28bce11b91f3a0851d200dc23859830b4ec13fcb792897e1191b8a5b86da33189c1c5c7481e980ecfe3699a7988f90b413cccfaceca03bb0e52e31fb
7
+ data.tar.gz: 37ed7f42b45a382d89a6289a1b9726c25d88f7c63d3fae0ede9a3cd77995f5a2f87b31af31a738df1553782274d05120167a704ce340b557fe8f3f28b0ba8aa9
data/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to Hatchet's Ruby SDK will be documented in this changelog.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.11.0] - 2026-10-14
9
+
10
+ ### Added
11
+
12
+ - Adds `hatchet.rate_limits.pause(key:, until_time:)` and `Context#pause_rate_limit(key, until_time:)`, which keep queued runs that consume a rate limit key from starting until a given time.
13
+
14
+ ## [0.10.0] - 2026-10-08
15
+
16
+ ### Added
17
+
18
+ - Adds `RetryAfterError`, which allows for custom retry strategies.
19
+
8
20
  ## [0.9.0] - 2026-09-23
9
21
 
10
22
  ### Added
@@ -250,6 +250,26 @@ module Hatchet
250
250
  @v0_stub.put_rate_limit(request, metadata: @config.auth_metadata)
251
251
  end
252
252
 
253
+ # Pause a rate limit key via v0 WorkflowService.
254
+ #
255
+ # @param key [String] Rendered rate limit key
256
+ # @param until_time [Time] Time to pause the key until
257
+ # @return [Time] The time the key is paused until
258
+ def pause_rate_limit(key:, until_time:)
259
+ ensure_connected!
260
+
261
+ until_time = until_time.to_time
262
+
263
+ request = ::PauseRateLimitRequest.new(
264
+ key: key,
265
+ paused_until: Google::Protobuf::Timestamp.new(seconds: until_time.to_i, nanos: until_time.nsec),
266
+ )
267
+
268
+ response = @v0_stub.pause_rate_limit(request, metadata: @config.auth_metadata)
269
+
270
+ Time.at(response.paused_until.seconds, response.paused_until.nanos, :nsec).utc
271
+ end
272
+
253
273
  # Close the connection.
254
274
  def close
255
275
  @v0_stub = nil
@@ -138,8 +138,10 @@ module Hatchet
138
138
  # @param payload [String] JSON-serialized event payload
139
139
  # @param retry_count [Integer, nil] Current retry count
140
140
  # @param should_not_retry [Boolean, nil] Whether to suppress further retries
141
+ # @param retry_after_ms [Integer, nil] Delay in milliseconds before the next attempt
141
142
  # @return [ActionEventResponse]
142
- def send_step_action_event(action:, event_type:, payload: "{}", retry_count: nil, should_not_retry: nil)
143
+ def send_step_action_event(action:, event_type:, payload: "{}", retry_count: nil, should_not_retry: nil,
144
+ retry_after_ms: nil)
143
145
  ensure_connected!
144
146
 
145
147
  now = Time.now
@@ -162,6 +164,7 @@ module Hatchet
162
164
 
163
165
  event_args[:retry_count] = retry_count unless retry_count.nil?
164
166
  event_args[:should_not_retry] = should_not_retry unless should_not_retry.nil?
167
+ event_args[:retry_after_ms] = retry_after_ms unless retry_after_ms.nil?
165
168
 
166
169
  request = ::StepActionEvent.new(**event_args)
167
170
  @stub.send_step_action_event(request, metadata: @config.auth_metadata)
@@ -173,7 +176,7 @@ module Hatchet
173
176
  # @param action [AssignedAction] The assigned START_BATCH action
174
177
  # @param event_type [Symbol] Protobuf enum value (e.g., :STEP_EVENT_TYPE_COMPLETED)
175
178
  # @param items [Array<Hash>] Per-member items, each with :task_run_external_id, and
176
- # optionally :event_payload, :retry_count, :should_not_retry
179
+ # optionally :event_payload, :retry_count, :should_not_retry, :retry_after_ms
177
180
  # @return [ActionEventResponse]
178
181
  def send_batch_action_event(action:, event_type:, items:)
179
182
  ensure_connected!
@@ -191,6 +194,7 @@ module Hatchet
191
194
  }
192
195
  item_args[:retry_count] = item[:retry_count] unless item[:retry_count].nil?
193
196
  item_args[:should_not_retry] = item[:should_not_retry] unless item[:should_not_retry].nil?
197
+ item_args[:retry_after_ms] = item[:retry_after_ms] unless item[:retry_after_ms].nil?
194
198
 
195
199
  ::BatchActionEventItem.new(**item_args)
196
200
  end
@@ -22,9 +22,11 @@ lib/hatchet-sdk-rest/api/log_api.rb
22
22
  lib/hatchet-sdk-rest/api/metadata_api.rb
23
23
  lib/hatchet-sdk-rest/api/observability_api.rb
24
24
  lib/hatchet-sdk-rest/api/rate_limits_api.rb
25
+ lib/hatchet-sdk-rest/api/serverless_api.rb
25
26
  lib/hatchet-sdk-rest/api/slack_api.rb
26
27
  lib/hatchet-sdk-rest/api/sns_api.rb
27
28
  lib/hatchet-sdk-rest/api/step_run_api.rb
29
+ lib/hatchet-sdk-rest/api/streams_api.rb
28
30
  lib/hatchet-sdk-rest/api/task_api.rb
29
31
  lib/hatchet-sdk-rest/api/tenant_api.rb
30
32
  lib/hatchet-sdk-rest/api/user_api.rb
@@ -143,6 +145,7 @@ lib/hatchet-sdk-rest/models/tenant.rb
143
145
  lib/hatchet-sdk-rest/models/tenant_alert_email_group.rb
144
146
  lib/hatchet-sdk-rest/models/tenant_alert_email_group_list.rb
145
147
  lib/hatchet-sdk-rest/models/tenant_alerting_settings.rb
148
+ lib/hatchet-sdk-rest/models/tenant_entitlements.rb
146
149
  lib/hatchet-sdk-rest/models/tenant_environment.rb
147
150
  lib/hatchet-sdk-rest/models/tenant_invite.rb
148
151
  lib/hatchet-sdk-rest/models/tenant_invite_list.rb
@@ -180,6 +183,7 @@ lib/hatchet-sdk-rest/models/v1_cel_debug_request.rb
180
183
  lib/hatchet-sdk-rest/models/v1_cel_debug_response.rb
181
184
  lib/hatchet-sdk-rest/models/v1_cel_debug_response_status.rb
182
185
  lib/hatchet-sdk-rest/models/v1_create_filter_request.rb
186
+ lib/hatchet-sdk-rest/models/v1_create_serverless_endpoint_request.rb
183
187
  lib/hatchet-sdk-rest/models/v1_create_webhook_request.rb
184
188
  lib/hatchet-sdk-rest/models/v1_create_webhook_request_api_key.rb
185
189
  lib/hatchet-sdk-rest/models/v1_create_webhook_request_base.rb
@@ -207,6 +211,13 @@ lib/hatchet-sdk-rest/models/v1_replayed_tasks.rb
207
211
  lib/hatchet-sdk-rest/models/v1_restore_task_response.rb
208
212
  lib/hatchet-sdk-rest/models/v1_running_detail_count.rb
209
213
  lib/hatchet-sdk-rest/models/v1_running_filter.rb
214
+ lib/hatchet-sdk-rest/models/v1_serverless_endpoint.rb
215
+ lib/hatchet-sdk-rest/models/v1_serverless_endpoint_kind.rb
216
+ lib/hatchet-sdk-rest/models/v1_serverless_endpoint_list.rb
217
+ lib/hatchet-sdk-rest/models/v1_serverless_endpoint_status.rb
218
+ lib/hatchet-sdk-rest/models/v1_stream_payload_ref.rb
219
+ lib/hatchet-sdk-rest/models/v1_stream_topic.rb
220
+ lib/hatchet-sdk-rest/models/v1_stream_topic_list.rb
210
221
  lib/hatchet-sdk-rest/models/v1_task_event.rb
211
222
  lib/hatchet-sdk-rest/models/v1_task_event_list.rb
212
223
  lib/hatchet-sdk-rest/models/v1_task_event_type.rb
@@ -222,6 +233,7 @@ lib/hatchet-sdk-rest/models/v1_task_timing.rb
222
233
  lib/hatchet-sdk-rest/models/v1_task_timing_list.rb
223
234
  lib/hatchet-sdk-rest/models/v1_trigger_workflow_run_request.rb
224
235
  lib/hatchet-sdk-rest/models/v1_update_filter_request.rb
236
+ lib/hatchet-sdk-rest/models/v1_update_serverless_endpoint_request.rb
225
237
  lib/hatchet-sdk-rest/models/v1_update_webhook_request.rb
226
238
  lib/hatchet-sdk-rest/models/v1_wait_item.rb
227
239
  lib/hatchet-sdk-rest/models/v1_webhook.rb
@@ -235,6 +247,7 @@ lib/hatchet-sdk-rest/models/v1_webhook_list.rb
235
247
  lib/hatchet-sdk-rest/models/v1_webhook_response.rb
236
248
  lib/hatchet-sdk-rest/models/v1_webhook_source_name.rb
237
249
  lib/hatchet-sdk-rest/models/v1_workflow_run.rb
250
+ lib/hatchet-sdk-rest/models/v1_workflow_run_count.rb
238
251
  lib/hatchet-sdk-rest/models/v1_workflow_run_details.rb
239
252
  lib/hatchet-sdk-rest/models/v1_workflow_run_display_name.rb
240
253
  lib/hatchet-sdk-rest/models/v1_workflow_run_display_name_list.rb
@@ -142,6 +142,11 @@ Class | Method | HTTP request | Description
142
142
  *HatchetSdkRest::SNSApi* | [**sns_create**](docs/SNSApi.md#sns_create) | **POST** /api/v1/tenants/{tenant}/sns | Create SNS integration
143
143
  *HatchetSdkRest::SNSApi* | [**sns_delete**](docs/SNSApi.md#sns_delete) | **DELETE** /api/v1/sns/{sns} | Delete SNS integration
144
144
  *HatchetSdkRest::SNSApi* | [**sns_list**](docs/SNSApi.md#sns_list) | **GET** /api/v1/tenants/{tenant}/sns | List SNS integrations
145
+ *HatchetSdkRest::ServerlessApi* | [**v1_serverless_endpoint_create**](docs/ServerlessApi.md#v1_serverless_endpoint_create) | **POST** /api/v1/stable/tenants/{tenant}/serverless/endpoints | Create a serverless endpoint
146
+ *HatchetSdkRest::ServerlessApi* | [**v1_serverless_endpoint_delete**](docs/ServerlessApi.md#v1_serverless_endpoint_delete) | **DELETE** /api/v1/stable/serverless/endpoints/{v1-serverless-endpoint} | Delete a serverless endpoint
147
+ *HatchetSdkRest::ServerlessApi* | [**v1_serverless_endpoint_get**](docs/ServerlessApi.md#v1_serverless_endpoint_get) | **GET** /api/v1/stable/serverless/endpoints/{v1-serverless-endpoint} | Get a serverless endpoint
148
+ *HatchetSdkRest::ServerlessApi* | [**v1_serverless_endpoint_list**](docs/ServerlessApi.md#v1_serverless_endpoint_list) | **GET** /api/v1/stable/tenants/{tenant}/serverless/endpoints | List serverless endpoints
149
+ *HatchetSdkRest::ServerlessApi* | [**v1_serverless_endpoint_update**](docs/ServerlessApi.md#v1_serverless_endpoint_update) | **PATCH** /api/v1/stable/serverless/endpoints/{v1-serverless-endpoint} | Update a serverless endpoint
145
150
  *HatchetSdkRest::SlackApi* | [**slack_webhook_delete**](docs/SlackApi.md#slack_webhook_delete) | **DELETE** /api/v1/slack/{slack} | Delete Slack webhook
146
151
  *HatchetSdkRest::SlackApi* | [**slack_webhook_list**](docs/SlackApi.md#slack_webhook_list) | **GET** /api/v1/tenants/{tenant}/slack | List Slack integrations
147
152
  *HatchetSdkRest::StepRunApi* | [**step_run_get**](docs/StepRunApi.md#step_run_get) | **GET** /api/v1/tenants/{tenant}/step-runs/{step-run} | Get step run
@@ -151,6 +156,9 @@ Class | Method | HTTP request | Description
151
156
  *HatchetSdkRest::StepRunApi* | [**step_run_update_cancel**](docs/StepRunApi.md#step_run_update_cancel) | **POST** /api/v1/tenants/{tenant}/step-runs/{step-run}/cancel | Attempts to cancel a step run
152
157
  *HatchetSdkRest::StepRunApi* | [**step_run_update_rerun**](docs/StepRunApi.md#step_run_update_rerun) | **POST** /api/v1/tenants/{tenant}/step-runs/{step-run}/rerun | Rerun step run
153
158
  *HatchetSdkRest::StepRunApi* | [**workflow_run_list_step_run_events**](docs/StepRunApi.md#workflow_run_list_step_run_events) | **GET** /api/v1/tenants/{tenant}/workflow-runs/{workflow-run}/step-run-events | List events for all step runs for a workflow run
159
+ *HatchetSdkRest::StreamsApi* | [**v1_stream_payload_get**](docs/StreamsApi.md#v1_stream_payload_get) | **GET** /api/v1/stable/tenants/{tenant}/streams/payloads | Get stream payload
160
+ *HatchetSdkRest::StreamsApi* | [**v1_stream_payload_upload**](docs/StreamsApi.md#v1_stream_payload_upload) | **POST** /api/v1/stable/tenants/{tenant}/streams/payloads | Upload stream payload
161
+ *HatchetSdkRest::StreamsApi* | [**v1_stream_topic_list**](docs/StreamsApi.md#v1_stream_topic_list) | **GET** /api/v1/stable/tenants/{tenant}/streams/topics | List stream topics
154
162
  *HatchetSdkRest::TaskApi* | [**v1_dag_list_tasks**](docs/TaskApi.md#v1_dag_list_tasks) | **GET** /api/v1/stable/dags/tasks | List tasks
155
163
  *HatchetSdkRest::TaskApi* | [**v1_task_cancel**](docs/TaskApi.md#v1_task_cancel) | **POST** /api/v1/stable/tenants/{tenant}/tasks/cancel | Cancel tasks
156
164
  *HatchetSdkRest::TaskApi* | [**v1_task_event_list**](docs/TaskApi.md#v1_task_event_list) | **GET** /api/v1/stable/tasks/{task}/task-events | List events for a task
@@ -165,6 +173,7 @@ Class | Method | HTTP request | Description
165
173
  *HatchetSdkRest::TenantApi* | [**alert_email_group_update**](docs/TenantApi.md#alert_email_group_update) | **PATCH** /api/v1/alerting-email-groups/{alert-email-group} | Update tenant alert email group
166
174
  *HatchetSdkRest::TenantApi* | [**tenant_alerting_settings_get**](docs/TenantApi.md#tenant_alerting_settings_get) | **GET** /api/v1/tenants/{tenant}/alerting/settings | Get tenant alerting settings
167
175
  *HatchetSdkRest::TenantApi* | [**tenant_create**](docs/TenantApi.md#tenant_create) | **POST** /api/v1/tenants | Create tenant
176
+ *HatchetSdkRest::TenantApi* | [**tenant_entitlements_get**](docs/TenantApi.md#tenant_entitlements_get) | **GET** /api/v1/tenants/{tenant}/entitlements | Get tenant entitlements
168
177
  *HatchetSdkRest::TenantApi* | [**tenant_get**](docs/TenantApi.md#tenant_get) | **GET** /api/v1/tenants/{tenant} | Get tenant
169
178
  *HatchetSdkRest::TenantApi* | [**tenant_get_prometheus_metrics**](docs/TenantApi.md#tenant_get_prometheus_metrics) | **GET** /api/v1/tenants/{tenant}/prometheus-metrics | Get prometheus metrics
170
179
  *HatchetSdkRest::TenantApi* | [**tenant_get_step_run_queue_metrics**](docs/TenantApi.md#tenant_get_step_run_queue_metrics) | **GET** /api/v1/tenants/{tenant}/step-run-queue-metrics | Get step run metrics
@@ -231,6 +240,7 @@ Class | Method | HTTP request | Description
231
240
  *HatchetSdkRest::WorkflowRunApi* | [**workflow_run_get_input**](docs/WorkflowRunApi.md#workflow_run_get_input) | **GET** /api/v1/tenants/{tenant}/workflow-runs/{workflow-run}/input | Get workflow run input
232
241
  *HatchetSdkRest::WorkflowRunApi* | [**workflow_run_update_replay**](docs/WorkflowRunApi.md#workflow_run_update_replay) | **POST** /api/v1/tenants/{tenant}/workflow-runs/replay | Replay workflow runs
233
242
  *HatchetSdkRest::WorkflowRunsApi* | [**v1_durable_task_branch**](docs/WorkflowRunsApi.md#v1_durable_task_branch) | **POST** /api/v1/stable/tenants/{tenant}/durable-tasks/branch | Branch durable task
243
+ *HatchetSdkRest::WorkflowRunsApi* | [**v1_workflow_run_count_get**](docs/WorkflowRunsApi.md#v1_workflow_run_count_get) | **GET** /api/v1/stable/tenants/{tenant}/workflow-runs/count | Count workflow runs
234
244
  *HatchetSdkRest::WorkflowRunsApi* | [**v1_workflow_run_create**](docs/WorkflowRunsApi.md#v1_workflow_run_create) | **POST** /api/v1/stable/tenants/{tenant}/workflow-runs/trigger | Create workflow run
235
245
  *HatchetSdkRest::WorkflowRunsApi* | [**v1_workflow_run_display_names_list**](docs/WorkflowRunsApi.md#v1_workflow_run_display_names_list) | **GET** /api/v1/stable/tenants/{tenant}/workflow-runs/display-names | List workflow runs
236
246
  *HatchetSdkRest::WorkflowRunsApi* | [**v1_workflow_run_external_ids_list**](docs/WorkflowRunsApi.md#v1_workflow_run_external_ids_list) | **GET** /api/v1/stable/tenants/{tenant}/workflow-runs/external-ids | List workflow run external ids
@@ -350,6 +360,7 @@ Class | Method | HTTP request | Description
350
360
  - [HatchetSdkRest::TenantAlertEmailGroup](docs/TenantAlertEmailGroup.md)
351
361
  - [HatchetSdkRest::TenantAlertEmailGroupList](docs/TenantAlertEmailGroupList.md)
352
362
  - [HatchetSdkRest::TenantAlertingSettings](docs/TenantAlertingSettings.md)
363
+ - [HatchetSdkRest::TenantEntitlements](docs/TenantEntitlements.md)
353
364
  - [HatchetSdkRest::TenantEnvironment](docs/TenantEnvironment.md)
354
365
  - [HatchetSdkRest::TenantInvite](docs/TenantInvite.md)
355
366
  - [HatchetSdkRest::TenantInviteList](docs/TenantInviteList.md)
@@ -387,6 +398,7 @@ Class | Method | HTTP request | Description
387
398
  - [HatchetSdkRest::V1CancelTaskRequest](docs/V1CancelTaskRequest.md)
388
399
  - [HatchetSdkRest::V1CancelledTasks](docs/V1CancelledTasks.md)
389
400
  - [HatchetSdkRest::V1CreateFilterRequest](docs/V1CreateFilterRequest.md)
401
+ - [HatchetSdkRest::V1CreateServerlessEndpointRequest](docs/V1CreateServerlessEndpointRequest.md)
390
402
  - [HatchetSdkRest::V1CreateWebhookRequest](docs/V1CreateWebhookRequest.md)
391
403
  - [HatchetSdkRest::V1CreateWebhookRequestAPIKey](docs/V1CreateWebhookRequestAPIKey.md)
392
404
  - [HatchetSdkRest::V1CreateWebhookRequestBase](docs/V1CreateWebhookRequestBase.md)
@@ -414,6 +426,13 @@ Class | Method | HTTP request | Description
414
426
  - [HatchetSdkRest::V1RestoreTaskResponse](docs/V1RestoreTaskResponse.md)
415
427
  - [HatchetSdkRest::V1RunningDetailCount](docs/V1RunningDetailCount.md)
416
428
  - [HatchetSdkRest::V1RunningFilter](docs/V1RunningFilter.md)
429
+ - [HatchetSdkRest::V1ServerlessEndpoint](docs/V1ServerlessEndpoint.md)
430
+ - [HatchetSdkRest::V1ServerlessEndpointKind](docs/V1ServerlessEndpointKind.md)
431
+ - [HatchetSdkRest::V1ServerlessEndpointList](docs/V1ServerlessEndpointList.md)
432
+ - [HatchetSdkRest::V1ServerlessEndpointStatus](docs/V1ServerlessEndpointStatus.md)
433
+ - [HatchetSdkRest::V1StreamPayloadRef](docs/V1StreamPayloadRef.md)
434
+ - [HatchetSdkRest::V1StreamTopic](docs/V1StreamTopic.md)
435
+ - [HatchetSdkRest::V1StreamTopicList](docs/V1StreamTopicList.md)
417
436
  - [HatchetSdkRest::V1TaskEvent](docs/V1TaskEvent.md)
418
437
  - [HatchetSdkRest::V1TaskEventList](docs/V1TaskEventList.md)
419
438
  - [HatchetSdkRest::V1TaskEventType](docs/V1TaskEventType.md)
@@ -429,6 +448,7 @@ Class | Method | HTTP request | Description
429
448
  - [HatchetSdkRest::V1TaskTimingList](docs/V1TaskTimingList.md)
430
449
  - [HatchetSdkRest::V1TriggerWorkflowRunRequest](docs/V1TriggerWorkflowRunRequest.md)
431
450
  - [HatchetSdkRest::V1UpdateFilterRequest](docs/V1UpdateFilterRequest.md)
451
+ - [HatchetSdkRest::V1UpdateServerlessEndpointRequest](docs/V1UpdateServerlessEndpointRequest.md)
432
452
  - [HatchetSdkRest::V1UpdateWebhookRequest](docs/V1UpdateWebhookRequest.md)
433
453
  - [HatchetSdkRest::V1WaitItem](docs/V1WaitItem.md)
434
454
  - [HatchetSdkRest::V1Webhook](docs/V1Webhook.md)
@@ -442,6 +462,7 @@ Class | Method | HTTP request | Description
442
462
  - [HatchetSdkRest::V1WebhookResponse](docs/V1WebhookResponse.md)
443
463
  - [HatchetSdkRest::V1WebhookSourceName](docs/V1WebhookSourceName.md)
444
464
  - [HatchetSdkRest::V1WorkflowRun](docs/V1WorkflowRun.md)
465
+ - [HatchetSdkRest::V1WorkflowRunCount](docs/V1WorkflowRunCount.md)
445
466
  - [HatchetSdkRest::V1WorkflowRunDetails](docs/V1WorkflowRunDetails.md)
446
467
  - [HatchetSdkRest::V1WorkflowRunDisplayName](docs/V1WorkflowRunDisplayName.md)
447
468
  - [HatchetSdkRest::V1WorkflowRunDisplayNameList](docs/V1WorkflowRunDisplayNameList.md)
@@ -0,0 +1,405 @@
1
+ =begin
2
+ #Hatchet API
3
+
4
+ #The Hatchet API
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module HatchetSdkRest
16
+ class ServerlessApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a serverless endpoint
23
+ # Create a serverless endpoint
24
+ # @param tenant [String] The tenant id
25
+ # @param v1_create_serverless_endpoint_request [V1CreateServerlessEndpointRequest] The input to the serverless endpoint creation
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [V1ServerlessEndpoint]
28
+ def v1_serverless_endpoint_create(tenant, v1_create_serverless_endpoint_request, opts = {})
29
+ data, _status_code, _headers = v1_serverless_endpoint_create_with_http_info(tenant, v1_create_serverless_endpoint_request, opts)
30
+ data
31
+ end
32
+
33
+ # Create a serverless endpoint
34
+ # Create a serverless endpoint
35
+ # @param tenant [String] The tenant id
36
+ # @param v1_create_serverless_endpoint_request [V1CreateServerlessEndpointRequest] The input to the serverless endpoint creation
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(V1ServerlessEndpoint, Integer, Hash)>] V1ServerlessEndpoint data, response status code and response headers
39
+ def v1_serverless_endpoint_create_with_http_info(tenant, v1_create_serverless_endpoint_request, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: ServerlessApi.v1_serverless_endpoint_create ...'
42
+ end
43
+ # verify the required parameter 'tenant' is set
44
+ if @api_client.config.client_side_validation && tenant.nil?
45
+ fail ArgumentError, "Missing the required parameter 'tenant' when calling ServerlessApi.v1_serverless_endpoint_create"
46
+ end
47
+ if @api_client.config.client_side_validation && tenant.to_s.length > 36
48
+ fail ArgumentError, 'invalid value for "tenant" when calling ServerlessApi.v1_serverless_endpoint_create, the character length must be smaller than or equal to 36.'
49
+ end
50
+
51
+ if @api_client.config.client_side_validation && tenant.to_s.length < 36
52
+ fail ArgumentError, 'invalid value for "tenant" when calling ServerlessApi.v1_serverless_endpoint_create, the character length must be greater than or equal to 36.'
53
+ end
54
+
55
+ # verify the required parameter 'v1_create_serverless_endpoint_request' is set
56
+ if @api_client.config.client_side_validation && v1_create_serverless_endpoint_request.nil?
57
+ fail ArgumentError, "Missing the required parameter 'v1_create_serverless_endpoint_request' when calling ServerlessApi.v1_serverless_endpoint_create"
58
+ end
59
+ # resource path
60
+ local_var_path = '/api/v1/stable/tenants/{tenant}/serverless/endpoints'.sub('{' + 'tenant' + '}', CGI.escape(tenant.to_s))
61
+
62
+ # query parameters
63
+ query_params = opts[:query_params] || {}
64
+
65
+ # header parameters
66
+ header_params = opts[:header_params] || {}
67
+ # HTTP header 'Accept' (if needed)
68
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
69
+ # HTTP header 'Content-Type'
70
+ content_type = @api_client.select_header_content_type(['application/json'])
71
+ if !content_type.nil?
72
+ header_params['Content-Type'] = content_type
73
+ end
74
+
75
+ # form parameters
76
+ form_params = opts[:form_params] || {}
77
+
78
+ # http body (model)
79
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_create_serverless_endpoint_request)
80
+
81
+ # return_type
82
+ return_type = opts[:debug_return_type] || 'V1ServerlessEndpoint'
83
+
84
+ # auth_names
85
+ auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
86
+
87
+ new_options = opts.merge(
88
+ :operation => :"ServerlessApi.v1_serverless_endpoint_create",
89
+ :header_params => header_params,
90
+ :query_params => query_params,
91
+ :form_params => form_params,
92
+ :body => post_body,
93
+ :auth_names => auth_names,
94
+ :return_type => return_type
95
+ )
96
+
97
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
98
+ if @api_client.config.debugging
99
+ @api_client.config.logger.debug "API called: ServerlessApi#v1_serverless_endpoint_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
100
+ end
101
+ return data, status_code, headers
102
+ end
103
+
104
+ # Delete a serverless endpoint
105
+ # Delete a serverless endpoint
106
+ # @param v1_serverless_endpoint [String] The id of the serverless endpoint to delete
107
+ # @param [Hash] opts the optional parameters
108
+ # @return [V1ServerlessEndpoint]
109
+ def v1_serverless_endpoint_delete(v1_serverless_endpoint, opts = {})
110
+ data, _status_code, _headers = v1_serverless_endpoint_delete_with_http_info(v1_serverless_endpoint, opts)
111
+ data
112
+ end
113
+
114
+ # Delete a serverless endpoint
115
+ # Delete a serverless endpoint
116
+ # @param v1_serverless_endpoint [String] The id of the serverless endpoint to delete
117
+ # @param [Hash] opts the optional parameters
118
+ # @return [Array<(V1ServerlessEndpoint, Integer, Hash)>] V1ServerlessEndpoint data, response status code and response headers
119
+ def v1_serverless_endpoint_delete_with_http_info(v1_serverless_endpoint, opts = {})
120
+ if @api_client.config.debugging
121
+ @api_client.config.logger.debug 'Calling API: ServerlessApi.v1_serverless_endpoint_delete ...'
122
+ end
123
+ # verify the required parameter 'v1_serverless_endpoint' is set
124
+ if @api_client.config.client_side_validation && v1_serverless_endpoint.nil?
125
+ fail ArgumentError, "Missing the required parameter 'v1_serverless_endpoint' when calling ServerlessApi.v1_serverless_endpoint_delete"
126
+ end
127
+ if @api_client.config.client_side_validation && v1_serverless_endpoint.to_s.length > 36
128
+ fail ArgumentError, 'invalid value for "v1_serverless_endpoint" when calling ServerlessApi.v1_serverless_endpoint_delete, the character length must be smaller than or equal to 36.'
129
+ end
130
+
131
+ if @api_client.config.client_side_validation && v1_serverless_endpoint.to_s.length < 36
132
+ fail ArgumentError, 'invalid value for "v1_serverless_endpoint" when calling ServerlessApi.v1_serverless_endpoint_delete, the character length must be greater than or equal to 36.'
133
+ end
134
+
135
+ # resource path
136
+ local_var_path = '/api/v1/stable/serverless/endpoints/{v1-serverless-endpoint}'.sub('{' + 'v1-serverless-endpoint' + '}', CGI.escape(v1_serverless_endpoint.to_s))
137
+
138
+ # query parameters
139
+ query_params = opts[:query_params] || {}
140
+
141
+ # header parameters
142
+ header_params = opts[:header_params] || {}
143
+ # HTTP header 'Accept' (if needed)
144
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
145
+
146
+ # form parameters
147
+ form_params = opts[:form_params] || {}
148
+
149
+ # http body (model)
150
+ post_body = opts[:debug_body]
151
+
152
+ # return_type
153
+ return_type = opts[:debug_return_type] || 'V1ServerlessEndpoint'
154
+
155
+ # auth_names
156
+ auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
157
+
158
+ new_options = opts.merge(
159
+ :operation => :"ServerlessApi.v1_serverless_endpoint_delete",
160
+ :header_params => header_params,
161
+ :query_params => query_params,
162
+ :form_params => form_params,
163
+ :body => post_body,
164
+ :auth_names => auth_names,
165
+ :return_type => return_type
166
+ )
167
+
168
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
169
+ if @api_client.config.debugging
170
+ @api_client.config.logger.debug "API called: ServerlessApi#v1_serverless_endpoint_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
171
+ end
172
+ return data, status_code, headers
173
+ end
174
+
175
+ # Get a serverless endpoint
176
+ # Get a serverless endpoint by its id
177
+ # @param v1_serverless_endpoint [String] The serverless endpoint id
178
+ # @param [Hash] opts the optional parameters
179
+ # @return [V1ServerlessEndpoint]
180
+ def v1_serverless_endpoint_get(v1_serverless_endpoint, opts = {})
181
+ data, _status_code, _headers = v1_serverless_endpoint_get_with_http_info(v1_serverless_endpoint, opts)
182
+ data
183
+ end
184
+
185
+ # Get a serverless endpoint
186
+ # Get a serverless endpoint by its id
187
+ # @param v1_serverless_endpoint [String] The serverless endpoint id
188
+ # @param [Hash] opts the optional parameters
189
+ # @return [Array<(V1ServerlessEndpoint, Integer, Hash)>] V1ServerlessEndpoint data, response status code and response headers
190
+ def v1_serverless_endpoint_get_with_http_info(v1_serverless_endpoint, opts = {})
191
+ if @api_client.config.debugging
192
+ @api_client.config.logger.debug 'Calling API: ServerlessApi.v1_serverless_endpoint_get ...'
193
+ end
194
+ # verify the required parameter 'v1_serverless_endpoint' is set
195
+ if @api_client.config.client_side_validation && v1_serverless_endpoint.nil?
196
+ fail ArgumentError, "Missing the required parameter 'v1_serverless_endpoint' when calling ServerlessApi.v1_serverless_endpoint_get"
197
+ end
198
+ if @api_client.config.client_side_validation && v1_serverless_endpoint.to_s.length > 36
199
+ fail ArgumentError, 'invalid value for "v1_serverless_endpoint" when calling ServerlessApi.v1_serverless_endpoint_get, the character length must be smaller than or equal to 36.'
200
+ end
201
+
202
+ if @api_client.config.client_side_validation && v1_serverless_endpoint.to_s.length < 36
203
+ fail ArgumentError, 'invalid value for "v1_serverless_endpoint" when calling ServerlessApi.v1_serverless_endpoint_get, the character length must be greater than or equal to 36.'
204
+ end
205
+
206
+ # resource path
207
+ local_var_path = '/api/v1/stable/serverless/endpoints/{v1-serverless-endpoint}'.sub('{' + 'v1-serverless-endpoint' + '}', CGI.escape(v1_serverless_endpoint.to_s))
208
+
209
+ # query parameters
210
+ query_params = opts[:query_params] || {}
211
+
212
+ # header parameters
213
+ header_params = opts[:header_params] || {}
214
+ # HTTP header 'Accept' (if needed)
215
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
216
+
217
+ # form parameters
218
+ form_params = opts[:form_params] || {}
219
+
220
+ # http body (model)
221
+ post_body = opts[:debug_body]
222
+
223
+ # return_type
224
+ return_type = opts[:debug_return_type] || 'V1ServerlessEndpoint'
225
+
226
+ # auth_names
227
+ auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
228
+
229
+ new_options = opts.merge(
230
+ :operation => :"ServerlessApi.v1_serverless_endpoint_get",
231
+ :header_params => header_params,
232
+ :query_params => query_params,
233
+ :form_params => form_params,
234
+ :body => post_body,
235
+ :auth_names => auth_names,
236
+ :return_type => return_type
237
+ )
238
+
239
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
240
+ if @api_client.config.debugging
241
+ @api_client.config.logger.debug "API called: ServerlessApi#v1_serverless_endpoint_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
242
+ end
243
+ return data, status_code, headers
244
+ end
245
+
246
+ # List serverless endpoints
247
+ # Lists the serverless endpoints of a tenant.
248
+ # @param tenant [String] The tenant id
249
+ # @param [Hash] opts the optional parameters
250
+ # @option opts [Integer] :offset The number to skip
251
+ # @option opts [Integer] :limit The number to limit by
252
+ # @return [V1ServerlessEndpointList]
253
+ def v1_serverless_endpoint_list(tenant, opts = {})
254
+ data, _status_code, _headers = v1_serverless_endpoint_list_with_http_info(tenant, opts)
255
+ data
256
+ end
257
+
258
+ # List serverless endpoints
259
+ # Lists the serverless endpoints of a tenant.
260
+ # @param tenant [String] The tenant id
261
+ # @param [Hash] opts the optional parameters
262
+ # @option opts [Integer] :offset The number to skip
263
+ # @option opts [Integer] :limit The number to limit by
264
+ # @return [Array<(V1ServerlessEndpointList, Integer, Hash)>] V1ServerlessEndpointList data, response status code and response headers
265
+ def v1_serverless_endpoint_list_with_http_info(tenant, opts = {})
266
+ if @api_client.config.debugging
267
+ @api_client.config.logger.debug 'Calling API: ServerlessApi.v1_serverless_endpoint_list ...'
268
+ end
269
+ # verify the required parameter 'tenant' is set
270
+ if @api_client.config.client_side_validation && tenant.nil?
271
+ fail ArgumentError, "Missing the required parameter 'tenant' when calling ServerlessApi.v1_serverless_endpoint_list"
272
+ end
273
+ if @api_client.config.client_side_validation && tenant.to_s.length > 36
274
+ fail ArgumentError, 'invalid value for "tenant" when calling ServerlessApi.v1_serverless_endpoint_list, the character length must be smaller than or equal to 36.'
275
+ end
276
+
277
+ if @api_client.config.client_side_validation && tenant.to_s.length < 36
278
+ fail ArgumentError, 'invalid value for "tenant" when calling ServerlessApi.v1_serverless_endpoint_list, the character length must be greater than or equal to 36.'
279
+ end
280
+
281
+ # resource path
282
+ local_var_path = '/api/v1/stable/tenants/{tenant}/serverless/endpoints'.sub('{' + 'tenant' + '}', CGI.escape(tenant.to_s))
283
+
284
+ # query parameters
285
+ query_params = opts[:query_params] || {}
286
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
287
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
288
+
289
+ # header parameters
290
+ header_params = opts[:header_params] || {}
291
+ # HTTP header 'Accept' (if needed)
292
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
293
+
294
+ # form parameters
295
+ form_params = opts[:form_params] || {}
296
+
297
+ # http body (model)
298
+ post_body = opts[:debug_body]
299
+
300
+ # return_type
301
+ return_type = opts[:debug_return_type] || 'V1ServerlessEndpointList'
302
+
303
+ # auth_names
304
+ auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
305
+
306
+ new_options = opts.merge(
307
+ :operation => :"ServerlessApi.v1_serverless_endpoint_list",
308
+ :header_params => header_params,
309
+ :query_params => query_params,
310
+ :form_params => form_params,
311
+ :body => post_body,
312
+ :auth_names => auth_names,
313
+ :return_type => return_type
314
+ )
315
+
316
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
317
+ if @api_client.config.debugging
318
+ @api_client.config.logger.debug "API called: ServerlessApi#v1_serverless_endpoint_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
319
+ end
320
+ return data, status_code, headers
321
+ end
322
+
323
+ # Update a serverless endpoint
324
+ # Update a serverless endpoint
325
+ # @param v1_serverless_endpoint [String] The id of the serverless endpoint to update
326
+ # @param v1_update_serverless_endpoint_request [V1UpdateServerlessEndpointRequest] The fields to update on the serverless endpoint
327
+ # @param [Hash] opts the optional parameters
328
+ # @return [V1ServerlessEndpoint]
329
+ def v1_serverless_endpoint_update(v1_serverless_endpoint, v1_update_serverless_endpoint_request, opts = {})
330
+ data, _status_code, _headers = v1_serverless_endpoint_update_with_http_info(v1_serverless_endpoint, v1_update_serverless_endpoint_request, opts)
331
+ data
332
+ end
333
+
334
+ # Update a serverless endpoint
335
+ # Update a serverless endpoint
336
+ # @param v1_serverless_endpoint [String] The id of the serverless endpoint to update
337
+ # @param v1_update_serverless_endpoint_request [V1UpdateServerlessEndpointRequest] The fields to update on the serverless endpoint
338
+ # @param [Hash] opts the optional parameters
339
+ # @return [Array<(V1ServerlessEndpoint, Integer, Hash)>] V1ServerlessEndpoint data, response status code and response headers
340
+ def v1_serverless_endpoint_update_with_http_info(v1_serverless_endpoint, v1_update_serverless_endpoint_request, opts = {})
341
+ if @api_client.config.debugging
342
+ @api_client.config.logger.debug 'Calling API: ServerlessApi.v1_serverless_endpoint_update ...'
343
+ end
344
+ # verify the required parameter 'v1_serverless_endpoint' is set
345
+ if @api_client.config.client_side_validation && v1_serverless_endpoint.nil?
346
+ fail ArgumentError, "Missing the required parameter 'v1_serverless_endpoint' when calling ServerlessApi.v1_serverless_endpoint_update"
347
+ end
348
+ if @api_client.config.client_side_validation && v1_serverless_endpoint.to_s.length > 36
349
+ fail ArgumentError, 'invalid value for "v1_serverless_endpoint" when calling ServerlessApi.v1_serverless_endpoint_update, the character length must be smaller than or equal to 36.'
350
+ end
351
+
352
+ if @api_client.config.client_side_validation && v1_serverless_endpoint.to_s.length < 36
353
+ fail ArgumentError, 'invalid value for "v1_serverless_endpoint" when calling ServerlessApi.v1_serverless_endpoint_update, the character length must be greater than or equal to 36.'
354
+ end
355
+
356
+ # verify the required parameter 'v1_update_serverless_endpoint_request' is set
357
+ if @api_client.config.client_side_validation && v1_update_serverless_endpoint_request.nil?
358
+ fail ArgumentError, "Missing the required parameter 'v1_update_serverless_endpoint_request' when calling ServerlessApi.v1_serverless_endpoint_update"
359
+ end
360
+ # resource path
361
+ local_var_path = '/api/v1/stable/serverless/endpoints/{v1-serverless-endpoint}'.sub('{' + 'v1-serverless-endpoint' + '}', CGI.escape(v1_serverless_endpoint.to_s))
362
+
363
+ # query parameters
364
+ query_params = opts[:query_params] || {}
365
+
366
+ # header parameters
367
+ header_params = opts[:header_params] || {}
368
+ # HTTP header 'Accept' (if needed)
369
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
370
+ # HTTP header 'Content-Type'
371
+ content_type = @api_client.select_header_content_type(['application/json'])
372
+ if !content_type.nil?
373
+ header_params['Content-Type'] = content_type
374
+ end
375
+
376
+ # form parameters
377
+ form_params = opts[:form_params] || {}
378
+
379
+ # http body (model)
380
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_update_serverless_endpoint_request)
381
+
382
+ # return_type
383
+ return_type = opts[:debug_return_type] || 'V1ServerlessEndpoint'
384
+
385
+ # auth_names
386
+ auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
387
+
388
+ new_options = opts.merge(
389
+ :operation => :"ServerlessApi.v1_serverless_endpoint_update",
390
+ :header_params => header_params,
391
+ :query_params => query_params,
392
+ :form_params => form_params,
393
+ :body => post_body,
394
+ :auth_names => auth_names,
395
+ :return_type => return_type
396
+ )
397
+
398
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
399
+ if @api_client.config.debugging
400
+ @api_client.config.logger.debug "API called: ServerlessApi#v1_serverless_endpoint_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
401
+ end
402
+ return data, status_code, headers
403
+ end
404
+ end
405
+ end