hatchet-sdk 0.4.0 → 0.5.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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/lib/hatchet/clients/rest/.openapi-generator/FILES +24 -0
  4. data/lib/hatchet/clients/rest/README.md +31 -1
  5. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/durable_tasks_api.rb +113 -0
  6. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/feature_flags_api.rb +107 -0
  7. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/log_api.rb +156 -52
  8. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/observability_api.rb +114 -0
  9. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/rate_limits_api.rb +78 -0
  10. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/task_api.rb +71 -0
  11. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/tenant_api.rb +3 -0
  12. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/worker_api.rb +9 -0
  13. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/workflow_api.rb +170 -0
  14. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/workflow_runs_api.rb +94 -0
  15. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api_model_base.rb +88 -0
  16. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_meta.rb +44 -4
  17. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/feature_flag_evaluation_result.rb +238 -0
  18. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/feature_flag_id.rb +41 -0
  19. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/otel_span.rb +525 -0
  20. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/otel_span_kind.rb +44 -0
  21. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/otel_span_list.rb +242 -0
  22. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/otel_status_code.rb +41 -0
  23. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/task_status_stat.rb +13 -4
  24. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant.rb +24 -4
  25. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_member.rb +14 -4
  26. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/trigger_run_result.rb +256 -0
  27. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_additional_metadata_operator.rb +40 -0
  28. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_branch_durable_task_request.rb +310 -0
  29. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_branch_durable_task_response.rb +310 -0
  30. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_create_webhook_request_api_key.rb +14 -4
  31. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_create_webhook_request_base.rb +14 -4
  32. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_create_webhook_request_basic_auth.rb +14 -4
  33. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_create_webhook_request_hmac.rb +14 -4
  34. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_durable_event_log_entry.rb +470 -0
  35. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_durable_event_log_kind.rb +41 -0
  36. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_durable_wait_condition.rb +286 -0
  37. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_durable_wait_condition_kind.rb +41 -0
  38. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_log_line.rb +49 -1
  39. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_logs_point_metric.rb +341 -0
  40. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_logs_point_metrics.rb +222 -0
  41. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_restore_task_response.rb +237 -0
  42. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_running_detail_count.rb +265 -0
  43. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_running_filter.rb +41 -0
  44. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_event_type.rb +3 -1
  45. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_run_metric.rb +13 -4
  46. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_summary.rb +34 -4
  47. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_timing.rb +11 -1
  48. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_trigger_workflow_run_request.rb +14 -4
  49. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_update_webhook_request.rb +14 -4
  50. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_wait_item.rb +280 -0
  51. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_webhook.rb +14 -4
  52. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker.rb +1 -13
  53. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_status.rb +41 -0
  54. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version_idempotency.rb +265 -0
  55. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version_task.rb +393 -0
  56. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version_task_desired_worker_label.rb +288 -0
  57. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version_task_rate_limit.rb +271 -0
  58. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest.rb +24 -0
  59. data/lib/hatchet/contracts/v1/workflows_pb.rb +3 -1
  60. data/lib/hatchet/idempotency.rb +35 -1
  61. data/lib/hatchet/version.rb +1 -1
  62. data/lib/hatchet/workflow.rb +2 -2
  63. data/sig/hatchet/idempotency.rbs +8 -0
  64. metadata +31 -2
@@ -20,59 +20,154 @@ module HatchetSdkRest
20
20
  @api_client = api_client
21
21
  end
22
22
  # List log lines
23
- # Lists log lines for a step run.
24
- # @param step_run [String] The step run id
23
+ # Lists log lines for a task
24
+ # @param task [String] The task id
25
25
  # @param [Hash] opts the optional parameters
26
- # @option opts [Integer] :offset The number to skip
27
26
  # @option opts [Integer] :limit The number to limit by
28
- # @option opts [Array<LogLineLevel>] :levels A list of levels to filter by
29
- # @option opts [String] :search The search query to filter for
30
- # @option opts [LogLineOrderByField] :order_by_field What to order by
31
- # @option opts [LogLineOrderByDirection] :order_by_direction The order direction
32
- # @return [LogLineList]
33
- def log_line_list(step_run, opts = {})
34
- data, _status_code, _headers = log_line_list_with_http_info(step_run, opts)
27
+ # @option opts [Time] :since The start time to get logs for
28
+ # @option opts [Time] :_until The end time to get logs for
29
+ # @option opts [String] :search A full-text search query to filter for
30
+ # @option opts [Array<V1LogLineLevel>] :levels The log level(s) to include
31
+ # @option opts [V1LogLineOrderByDirection] :order_by_direction The direction to order by
32
+ # @option opts [Integer] :attempt The attempt number to filter for
33
+ # @return [V1LogLineList]
34
+ def v1_log_line_list(task, opts = {})
35
+ data, _status_code, _headers = v1_log_line_list_with_http_info(task, opts)
35
36
  data
36
37
  end
37
38
 
38
39
  # List log lines
39
- # Lists log lines for a step run.
40
- # @param step_run [String] The step run id
40
+ # Lists log lines for a task
41
+ # @param task [String] The task id
41
42
  # @param [Hash] opts the optional parameters
42
- # @option opts [Integer] :offset The number to skip
43
43
  # @option opts [Integer] :limit The number to limit by
44
- # @option opts [Array<LogLineLevel>] :levels A list of levels to filter by
45
- # @option opts [String] :search The search query to filter for
46
- # @option opts [LogLineOrderByField] :order_by_field What to order by
47
- # @option opts [LogLineOrderByDirection] :order_by_direction The order direction
48
- # @return [Array<(LogLineList, Integer, Hash)>] LogLineList data, response status code and response headers
49
- def log_line_list_with_http_info(step_run, opts = {})
44
+ # @option opts [Time] :since The start time to get logs for
45
+ # @option opts [Time] :_until The end time to get logs for
46
+ # @option opts [String] :search A full-text search query to filter for
47
+ # @option opts [Array<V1LogLineLevel>] :levels The log level(s) to include
48
+ # @option opts [V1LogLineOrderByDirection] :order_by_direction The direction to order by
49
+ # @option opts [Integer] :attempt The attempt number to filter for
50
+ # @return [Array<(V1LogLineList, Integer, Hash)>] V1LogLineList data, response status code and response headers
51
+ def v1_log_line_list_with_http_info(task, opts = {})
50
52
  if @api_client.config.debugging
51
- @api_client.config.logger.debug 'Calling API: LogApi.log_line_list ...'
53
+ @api_client.config.logger.debug 'Calling API: LogApi.v1_log_line_list ...'
52
54
  end
53
- # verify the required parameter 'step_run' is set
54
- if @api_client.config.client_side_validation && step_run.nil?
55
- fail ArgumentError, "Missing the required parameter 'step_run' when calling LogApi.log_line_list"
55
+ # verify the required parameter 'task' is set
56
+ if @api_client.config.client_side_validation && task.nil?
57
+ fail ArgumentError, "Missing the required parameter 'task' when calling LogApi.v1_log_line_list"
56
58
  end
57
- if @api_client.config.client_side_validation && step_run.to_s.length > 36
58
- fail ArgumentError, 'invalid value for "step_run" when calling LogApi.log_line_list, the character length must be smaller than or equal to 36.'
59
+ if @api_client.config.client_side_validation && task.to_s.length > 36
60
+ fail ArgumentError, 'invalid value for "task" when calling LogApi.v1_log_line_list, the character length must be smaller than or equal to 36.'
59
61
  end
60
62
 
61
- if @api_client.config.client_side_validation && step_run.to_s.length < 36
62
- fail ArgumentError, 'invalid value for "step_run" when calling LogApi.log_line_list, the character length must be greater than or equal to 36.'
63
+ if @api_client.config.client_side_validation && task.to_s.length < 36
64
+ fail ArgumentError, 'invalid value for "task" when calling LogApi.v1_log_line_list, the character length must be greater than or equal to 36.'
63
65
  end
64
66
 
65
67
  # resource path
66
- local_var_path = '/api/v1/step-runs/{step-run}/logs'.sub('{' + 'step-run' + '}', CGI.escape(step_run.to_s))
68
+ local_var_path = '/api/v1/stable/tasks/{task}/logs'.sub('{' + 'task' + '}', CGI.escape(task.to_s))
67
69
 
68
70
  # query parameters
69
71
  query_params = opts[:query_params] || {}
70
- query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
71
72
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
73
+ query_params[:'since'] = opts[:'since'] if !opts[:'since'].nil?
74
+ query_params[:'until'] = opts[:'_until'] if !opts[:'_until'].nil?
75
+ query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
72
76
  query_params[:'levels'] = @api_client.build_collection_param(opts[:'levels'], :multi) if !opts[:'levels'].nil?
77
+ query_params[:'order_by_direction'] = opts[:'order_by_direction'] if !opts[:'order_by_direction'].nil?
78
+ query_params[:'attempt'] = opts[:'attempt'] if !opts[:'attempt'].nil?
79
+
80
+ # header parameters
81
+ header_params = opts[:header_params] || {}
82
+ # HTTP header 'Accept' (if needed)
83
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
84
+
85
+ # form parameters
86
+ form_params = opts[:form_params] || {}
87
+
88
+ # http body (model)
89
+ post_body = opts[:debug_body]
90
+
91
+ # return_type
92
+ return_type = opts[:debug_return_type] || 'V1LogLineList'
93
+
94
+ # auth_names
95
+ auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
96
+
97
+ new_options = opts.merge(
98
+ :operation => :"LogApi.v1_log_line_list",
99
+ :header_params => header_params,
100
+ :query_params => query_params,
101
+ :form_params => form_params,
102
+ :body => post_body,
103
+ :auth_names => auth_names,
104
+ :return_type => return_type
105
+ )
106
+
107
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
108
+ if @api_client.config.debugging
109
+ @api_client.config.logger.debug "API called: LogApi#v1_log_line_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
110
+ end
111
+ return data, status_code, headers
112
+ end
113
+
114
+ # Get log point metrics
115
+ # Get a minute by minute breakdown of log metrics for a tenant
116
+ # @param tenant [String] The tenant id
117
+ # @param [Hash] opts the optional parameters
118
+ # @option opts [Time] :since The start time to get logs for
119
+ # @option opts [Time] :_until The end time to get logs for
120
+ # @option opts [String] :search A full-text search query to filter for
121
+ # @option opts [Array<V1LogLineLevel>] :levels The log level(s) to include
122
+ # @option opts [Array<String>] :task_external_ids The task external ID(s) to filter by
123
+ # @option opts [Array<String>] :workflow_ids The workflow id(s) to filter for
124
+ # @option opts [Array<String>] :step_ids The step id(s) to filter for
125
+ # @return [V1LogsPointMetrics]
126
+ def v1_tenant_log_line_get_point_metrics(tenant, opts = {})
127
+ data, _status_code, _headers = v1_tenant_log_line_get_point_metrics_with_http_info(tenant, opts)
128
+ data
129
+ end
130
+
131
+ # Get log point metrics
132
+ # Get a minute by minute breakdown of log metrics for a tenant
133
+ # @param tenant [String] The tenant id
134
+ # @param [Hash] opts the optional parameters
135
+ # @option opts [Time] :since The start time to get logs for
136
+ # @option opts [Time] :_until The end time to get logs for
137
+ # @option opts [String] :search A full-text search query to filter for
138
+ # @option opts [Array<V1LogLineLevel>] :levels The log level(s) to include
139
+ # @option opts [Array<String>] :task_external_ids The task external ID(s) to filter by
140
+ # @option opts [Array<String>] :workflow_ids The workflow id(s) to filter for
141
+ # @option opts [Array<String>] :step_ids The step id(s) to filter for
142
+ # @return [Array<(V1LogsPointMetrics, Integer, Hash)>] V1LogsPointMetrics data, response status code and response headers
143
+ def v1_tenant_log_line_get_point_metrics_with_http_info(tenant, opts = {})
144
+ if @api_client.config.debugging
145
+ @api_client.config.logger.debug 'Calling API: LogApi.v1_tenant_log_line_get_point_metrics ...'
146
+ end
147
+ # verify the required parameter 'tenant' is set
148
+ if @api_client.config.client_side_validation && tenant.nil?
149
+ fail ArgumentError, "Missing the required parameter 'tenant' when calling LogApi.v1_tenant_log_line_get_point_metrics"
150
+ end
151
+ if @api_client.config.client_side_validation && tenant.to_s.length > 36
152
+ fail ArgumentError, 'invalid value for "tenant" when calling LogApi.v1_tenant_log_line_get_point_metrics, the character length must be smaller than or equal to 36.'
153
+ end
154
+
155
+ if @api_client.config.client_side_validation && tenant.to_s.length < 36
156
+ fail ArgumentError, 'invalid value for "tenant" when calling LogApi.v1_tenant_log_line_get_point_metrics, the character length must be greater than or equal to 36.'
157
+ end
158
+
159
+ # resource path
160
+ local_var_path = '/api/v1/stable/tenants/{tenant}/log-point-metrics'.sub('{' + 'tenant' + '}', CGI.escape(tenant.to_s))
161
+
162
+ # query parameters
163
+ query_params = opts[:query_params] || {}
164
+ query_params[:'since'] = opts[:'since'] if !opts[:'since'].nil?
165
+ query_params[:'until'] = opts[:'_until'] if !opts[:'_until'].nil?
73
166
  query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
74
- query_params[:'orderByField'] = opts[:'order_by_field'] if !opts[:'order_by_field'].nil?
75
- query_params[:'orderByDirection'] = opts[:'order_by_direction'] if !opts[:'order_by_direction'].nil?
167
+ query_params[:'levels'] = @api_client.build_collection_param(opts[:'levels'], :multi) if !opts[:'levels'].nil?
168
+ query_params[:'taskExternalIds'] = @api_client.build_collection_param(opts[:'task_external_ids'], :multi) if !opts[:'task_external_ids'].nil?
169
+ query_params[:'workflow_ids'] = @api_client.build_collection_param(opts[:'workflow_ids'], :multi) if !opts[:'workflow_ids'].nil?
170
+ query_params[:'step_ids'] = @api_client.build_collection_param(opts[:'step_ids'], :multi) if !opts[:'step_ids'].nil?
76
171
 
77
172
  # header parameters
78
173
  header_params = opts[:header_params] || {}
@@ -86,13 +181,13 @@ module HatchetSdkRest
86
181
  post_body = opts[:debug_body]
87
182
 
88
183
  # return_type
89
- return_type = opts[:debug_return_type] || 'LogLineList'
184
+ return_type = opts[:debug_return_type] || 'V1LogsPointMetrics'
90
185
 
91
186
  # auth_names
92
187
  auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
93
188
 
94
189
  new_options = opts.merge(
95
- :operation => :"LogApi.log_line_list",
190
+ :operation => :"LogApi.v1_tenant_log_line_get_point_metrics",
96
191
  :header_params => header_params,
97
192
  :query_params => query_params,
98
193
  :form_params => form_params,
@@ -103,14 +198,14 @@ module HatchetSdkRest
103
198
 
104
199
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
105
200
  if @api_client.config.debugging
106
- @api_client.config.logger.debug "API called: LogApi#log_line_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
201
+ @api_client.config.logger.debug "API called: LogApi#v1_tenant_log_line_get_point_metrics\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
107
202
  end
108
203
  return data, status_code, headers
109
204
  end
110
205
 
111
206
  # List log lines
112
- # Lists log lines for a task
113
- # @param task [String] The task id
207
+ # Lists log lines for a tenant
208
+ # @param tenant [String] The tenant id
114
209
  # @param [Hash] opts the optional parameters
115
210
  # @option opts [Integer] :limit The number to limit by
116
211
  # @option opts [Time] :since The start time to get logs for
@@ -119,15 +214,18 @@ module HatchetSdkRest
119
214
  # @option opts [Array<V1LogLineLevel>] :levels The log level(s) to include
120
215
  # @option opts [V1LogLineOrderByDirection] :order_by_direction The direction to order by
121
216
  # @option opts [Integer] :attempt The attempt number to filter for
217
+ # @option opts [Array<String>] :task_external_ids The task external ID(s) to filter by
218
+ # @option opts [Array<String>] :workflow_ids The workflow id(s) to filter for
219
+ # @option opts [Array<String>] :step_ids The step id(s) to filter for
122
220
  # @return [V1LogLineList]
123
- def v1_log_line_list(task, opts = {})
124
- data, _status_code, _headers = v1_log_line_list_with_http_info(task, opts)
221
+ def v1_tenant_log_line_list(tenant, opts = {})
222
+ data, _status_code, _headers = v1_tenant_log_line_list_with_http_info(tenant, opts)
125
223
  data
126
224
  end
127
225
 
128
226
  # List log lines
129
- # Lists log lines for a task
130
- # @param task [String] The task id
227
+ # Lists log lines for a tenant
228
+ # @param tenant [String] The tenant id
131
229
  # @param [Hash] opts the optional parameters
132
230
  # @option opts [Integer] :limit The number to limit by
133
231
  # @option opts [Time] :since The start time to get logs for
@@ -136,25 +234,28 @@ module HatchetSdkRest
136
234
  # @option opts [Array<V1LogLineLevel>] :levels The log level(s) to include
137
235
  # @option opts [V1LogLineOrderByDirection] :order_by_direction The direction to order by
138
236
  # @option opts [Integer] :attempt The attempt number to filter for
237
+ # @option opts [Array<String>] :task_external_ids The task external ID(s) to filter by
238
+ # @option opts [Array<String>] :workflow_ids The workflow id(s) to filter for
239
+ # @option opts [Array<String>] :step_ids The step id(s) to filter for
139
240
  # @return [Array<(V1LogLineList, Integer, Hash)>] V1LogLineList data, response status code and response headers
140
- def v1_log_line_list_with_http_info(task, opts = {})
241
+ def v1_tenant_log_line_list_with_http_info(tenant, opts = {})
141
242
  if @api_client.config.debugging
142
- @api_client.config.logger.debug 'Calling API: LogApi.v1_log_line_list ...'
243
+ @api_client.config.logger.debug 'Calling API: LogApi.v1_tenant_log_line_list ...'
143
244
  end
144
- # verify the required parameter 'task' is set
145
- if @api_client.config.client_side_validation && task.nil?
146
- fail ArgumentError, "Missing the required parameter 'task' when calling LogApi.v1_log_line_list"
245
+ # verify the required parameter 'tenant' is set
246
+ if @api_client.config.client_side_validation && tenant.nil?
247
+ fail ArgumentError, "Missing the required parameter 'tenant' when calling LogApi.v1_tenant_log_line_list"
147
248
  end
148
- if @api_client.config.client_side_validation && task.to_s.length > 36
149
- fail ArgumentError, 'invalid value for "task" when calling LogApi.v1_log_line_list, the character length must be smaller than or equal to 36.'
249
+ if @api_client.config.client_side_validation && tenant.to_s.length > 36
250
+ fail ArgumentError, 'invalid value for "tenant" when calling LogApi.v1_tenant_log_line_list, the character length must be smaller than or equal to 36.'
150
251
  end
151
252
 
152
- if @api_client.config.client_side_validation && task.to_s.length < 36
153
- fail ArgumentError, 'invalid value for "task" when calling LogApi.v1_log_line_list, the character length must be greater than or equal to 36.'
253
+ if @api_client.config.client_side_validation && tenant.to_s.length < 36
254
+ fail ArgumentError, 'invalid value for "tenant" when calling LogApi.v1_tenant_log_line_list, the character length must be greater than or equal to 36.'
154
255
  end
155
256
 
156
257
  # resource path
157
- local_var_path = '/api/v1/stable/tasks/{task}/logs'.sub('{' + 'task' + '}', CGI.escape(task.to_s))
258
+ local_var_path = '/api/v1/stable/tenants/{tenant}/logs'.sub('{' + 'tenant' + '}', CGI.escape(tenant.to_s))
158
259
 
159
260
  # query parameters
160
261
  query_params = opts[:query_params] || {}
@@ -165,6 +266,9 @@ module HatchetSdkRest
165
266
  query_params[:'levels'] = @api_client.build_collection_param(opts[:'levels'], :multi) if !opts[:'levels'].nil?
166
267
  query_params[:'order_by_direction'] = opts[:'order_by_direction'] if !opts[:'order_by_direction'].nil?
167
268
  query_params[:'attempt'] = opts[:'attempt'] if !opts[:'attempt'].nil?
269
+ query_params[:'taskExternalIds'] = @api_client.build_collection_param(opts[:'task_external_ids'], :multi) if !opts[:'task_external_ids'].nil?
270
+ query_params[:'workflow_ids'] = @api_client.build_collection_param(opts[:'workflow_ids'], :multi) if !opts[:'workflow_ids'].nil?
271
+ query_params[:'step_ids'] = @api_client.build_collection_param(opts[:'step_ids'], :multi) if !opts[:'step_ids'].nil?
168
272
 
169
273
  # header parameters
170
274
  header_params = opts[:header_params] || {}
@@ -184,7 +288,7 @@ module HatchetSdkRest
184
288
  auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
185
289
 
186
290
  new_options = opts.merge(
187
- :operation => :"LogApi.v1_log_line_list",
291
+ :operation => :"LogApi.v1_tenant_log_line_list",
188
292
  :header_params => header_params,
189
293
  :query_params => query_params,
190
294
  :form_params => form_params,
@@ -195,7 +299,7 @@ module HatchetSdkRest
195
299
 
196
300
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
197
301
  if @api_client.config.debugging
198
- @api_client.config.logger.debug "API called: LogApi#v1_log_line_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
302
+ @api_client.config.logger.debug "API called: LogApi#v1_tenant_log_line_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
199
303
  end
200
304
  return data, status_code, headers
201
305
  end
@@ -0,0 +1,114 @@
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 ObservabilityApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get OTel trace
23
+ # Get OTel trace for a workflow run
24
+ # @param tenant [String] The tenant id
25
+ # @param run_external_id [String] The workflow run external id
26
+ # @param [Hash] opts the optional parameters
27
+ # @option opts [Integer] :offset The number of spans to skip
28
+ # @option opts [Integer] :limit The number of spans to limit by
29
+ # @return [OtelSpanList]
30
+ def v1_observability_get_trace(tenant, run_external_id, opts = {})
31
+ data, _status_code, _headers = v1_observability_get_trace_with_http_info(tenant, run_external_id, opts)
32
+ data
33
+ end
34
+
35
+ # Get OTel trace
36
+ # Get OTel trace for a workflow run
37
+ # @param tenant [String] The tenant id
38
+ # @param run_external_id [String] The workflow run external id
39
+ # @param [Hash] opts the optional parameters
40
+ # @option opts [Integer] :offset The number of spans to skip
41
+ # @option opts [Integer] :limit The number of spans to limit by
42
+ # @return [Array<(OtelSpanList, Integer, Hash)>] OtelSpanList data, response status code and response headers
43
+ def v1_observability_get_trace_with_http_info(tenant, run_external_id, opts = {})
44
+ if @api_client.config.debugging
45
+ @api_client.config.logger.debug 'Calling API: ObservabilityApi.v1_observability_get_trace ...'
46
+ end
47
+ # verify the required parameter 'tenant' is set
48
+ if @api_client.config.client_side_validation && tenant.nil?
49
+ fail ArgumentError, "Missing the required parameter 'tenant' when calling ObservabilityApi.v1_observability_get_trace"
50
+ end
51
+ if @api_client.config.client_side_validation && tenant.to_s.length > 36
52
+ fail ArgumentError, 'invalid value for "tenant" when calling ObservabilityApi.v1_observability_get_trace, the character length must be smaller than or equal to 36.'
53
+ end
54
+
55
+ if @api_client.config.client_side_validation && tenant.to_s.length < 36
56
+ fail ArgumentError, 'invalid value for "tenant" when calling ObservabilityApi.v1_observability_get_trace, the character length must be greater than or equal to 36.'
57
+ end
58
+
59
+ # verify the required parameter 'run_external_id' is set
60
+ if @api_client.config.client_side_validation && run_external_id.nil?
61
+ fail ArgumentError, "Missing the required parameter 'run_external_id' when calling ObservabilityApi.v1_observability_get_trace"
62
+ end
63
+ if @api_client.config.client_side_validation && run_external_id.to_s.length > 36
64
+ fail ArgumentError, 'invalid value for "run_external_id" when calling ObservabilityApi.v1_observability_get_trace, the character length must be smaller than or equal to 36.'
65
+ end
66
+
67
+ if @api_client.config.client_side_validation && run_external_id.to_s.length < 36
68
+ fail ArgumentError, 'invalid value for "run_external_id" when calling ObservabilityApi.v1_observability_get_trace, the character length must be greater than or equal to 36.'
69
+ end
70
+
71
+ # resource path
72
+ local_var_path = '/api/v1/stable/tenants/{tenant}/traces'.sub('{' + 'tenant' + '}', CGI.escape(tenant.to_s))
73
+
74
+ # query parameters
75
+ query_params = opts[:query_params] || {}
76
+ query_params[:'run_external_id'] = run_external_id
77
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
78
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
79
+
80
+ # header parameters
81
+ header_params = opts[:header_params] || {}
82
+ # HTTP header 'Accept' (if needed)
83
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
84
+
85
+ # form parameters
86
+ form_params = opts[:form_params] || {}
87
+
88
+ # http body (model)
89
+ post_body = opts[:debug_body]
90
+
91
+ # return_type
92
+ return_type = opts[:debug_return_type] || 'OtelSpanList'
93
+
94
+ # auth_names
95
+ auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
96
+
97
+ new_options = opts.merge(
98
+ :operation => :"ObservabilityApi.v1_observability_get_trace",
99
+ :header_params => header_params,
100
+ :query_params => query_params,
101
+ :form_params => form_params,
102
+ :body => post_body,
103
+ :auth_names => auth_names,
104
+ :return_type => return_type
105
+ )
106
+
107
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
108
+ if @api_client.config.debugging
109
+ @api_client.config.logger.debug "API called: ObservabilityApi#v1_observability_get_trace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
110
+ end
111
+ return data, status_code, headers
112
+ end
113
+ end
114
+ end
@@ -19,6 +19,84 @@ module HatchetSdkRest
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
+ # Delete rate limit
23
+ # Delete a rate limit for a tenant.
24
+ # @param tenant [String] The tenant id
25
+ # @param key [String] The limit key
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [nil]
28
+ def rate_limit_delete(tenant, key, opts = {})
29
+ rate_limit_delete_with_http_info(tenant, key, opts)
30
+ nil
31
+ end
32
+
33
+ # Delete rate limit
34
+ # Delete a rate limit for a tenant.
35
+ # @param tenant [String] The tenant id
36
+ # @param key [String] The limit key
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
39
+ def rate_limit_delete_with_http_info(tenant, key, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: RateLimitsApi.rate_limit_delete ...'
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 RateLimitsApi.rate_limit_delete"
46
+ end
47
+ if @api_client.config.client_side_validation && tenant.to_s.length > 36
48
+ fail ArgumentError, 'invalid value for "tenant" when calling RateLimitsApi.rate_limit_delete, 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 RateLimitsApi.rate_limit_delete, the character length must be greater than or equal to 36.'
53
+ end
54
+
55
+ # verify the required parameter 'key' is set
56
+ if @api_client.config.client_side_validation && key.nil?
57
+ fail ArgumentError, "Missing the required parameter 'key' when calling RateLimitsApi.rate_limit_delete"
58
+ end
59
+ # resource path
60
+ local_var_path = '/api/v1/tenants/{tenant}/rate-limits'.sub('{' + 'tenant' + '}', CGI.escape(tenant.to_s))
61
+
62
+ # query parameters
63
+ query_params = opts[:query_params] || {}
64
+ query_params[:'key'] = key
65
+
66
+ # header parameters
67
+ header_params = opts[:header_params] || {}
68
+ # HTTP header 'Accept' (if needed)
69
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
70
+
71
+ # form parameters
72
+ form_params = opts[:form_params] || {}
73
+
74
+ # http body (model)
75
+ post_body = opts[:debug_body]
76
+
77
+ # return_type
78
+ return_type = opts[:debug_return_type]
79
+
80
+ # auth_names
81
+ auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
82
+
83
+ new_options = opts.merge(
84
+ :operation => :"RateLimitsApi.rate_limit_delete",
85
+ :header_params => header_params,
86
+ :query_params => query_params,
87
+ :form_params => form_params,
88
+ :body => post_body,
89
+ :auth_names => auth_names,
90
+ :return_type => return_type
91
+ )
92
+
93
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
94
+ if @api_client.config.debugging
95
+ @api_client.config.logger.debug "API called: RateLimitsApi#rate_limit_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
96
+ end
97
+ return data, status_code, headers
98
+ end
99
+
22
100
  # List rate limits
23
101
  # Lists all rate limits for a tenant.
24
102
  # @param tenant [String] The tenant id
@@ -598,5 +598,76 @@ module HatchetSdkRest
598
598
  end
599
599
  return data, status_code, headers
600
600
  end
601
+
602
+ # Restore a task
603
+ # Restore an evicted durable task
604
+ # @param task [String] The task id
605
+ # @param [Hash] opts the optional parameters
606
+ # @return [V1RestoreTaskResponse]
607
+ def v1_task_restore(task, opts = {})
608
+ data, _status_code, _headers = v1_task_restore_with_http_info(task, opts)
609
+ data
610
+ end
611
+
612
+ # Restore a task
613
+ # Restore an evicted durable task
614
+ # @param task [String] The task id
615
+ # @param [Hash] opts the optional parameters
616
+ # @return [Array<(V1RestoreTaskResponse, Integer, Hash)>] V1RestoreTaskResponse data, response status code and response headers
617
+ def v1_task_restore_with_http_info(task, opts = {})
618
+ if @api_client.config.debugging
619
+ @api_client.config.logger.debug 'Calling API: TaskApi.v1_task_restore ...'
620
+ end
621
+ # verify the required parameter 'task' is set
622
+ if @api_client.config.client_side_validation && task.nil?
623
+ fail ArgumentError, "Missing the required parameter 'task' when calling TaskApi.v1_task_restore"
624
+ end
625
+ if @api_client.config.client_side_validation && task.to_s.length > 36
626
+ fail ArgumentError, 'invalid value for "task" when calling TaskApi.v1_task_restore, the character length must be smaller than or equal to 36.'
627
+ end
628
+
629
+ if @api_client.config.client_side_validation && task.to_s.length < 36
630
+ fail ArgumentError, 'invalid value for "task" when calling TaskApi.v1_task_restore, the character length must be greater than or equal to 36.'
631
+ end
632
+
633
+ # resource path
634
+ local_var_path = '/api/v1/stable/tasks/{task}/restore'.sub('{' + 'task' + '}', CGI.escape(task.to_s))
635
+
636
+ # query parameters
637
+ query_params = opts[:query_params] || {}
638
+
639
+ # header parameters
640
+ header_params = opts[:header_params] || {}
641
+ # HTTP header 'Accept' (if needed)
642
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
643
+
644
+ # form parameters
645
+ form_params = opts[:form_params] || {}
646
+
647
+ # http body (model)
648
+ post_body = opts[:debug_body]
649
+
650
+ # return_type
651
+ return_type = opts[:debug_return_type] || 'V1RestoreTaskResponse'
652
+
653
+ # auth_names
654
+ auth_names = opts[:debug_auth_names] || ['cookieAuth', 'bearerAuth']
655
+
656
+ new_options = opts.merge(
657
+ :operation => :"TaskApi.v1_task_restore",
658
+ :header_params => header_params,
659
+ :query_params => query_params,
660
+ :form_params => form_params,
661
+ :body => post_body,
662
+ :auth_names => auth_names,
663
+ :return_type => return_type
664
+ )
665
+
666
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
667
+ if @api_client.config.debugging
668
+ @api_client.config.logger.debug "API called: TaskApi#v1_task_restore\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
669
+ end
670
+ return data, status_code, headers
671
+ end
601
672
  end
602
673
  end
@@ -681,6 +681,7 @@ module HatchetSdkRest
681
681
  # Get task stats for tenant
682
682
  # @param tenant [String] The tenant ID
683
683
  # @param [Hash] opts the optional parameters
684
+ # @option opts [Array<String>] :task_names Task names that must appear in the response. Missing tasks are zero-filled so KEDA&#39;s metrics-api JSONPath always resolves.
684
685
  # @return [Hash<String, TaskStat>]
685
686
  def tenant_get_task_stats(tenant, opts = {})
686
687
  data, _status_code, _headers = tenant_get_task_stats_with_http_info(tenant, opts)
@@ -691,6 +692,7 @@ module HatchetSdkRest
691
692
  # Get task stats for tenant
692
693
  # @param tenant [String] The tenant ID
693
694
  # @param [Hash] opts the optional parameters
695
+ # @option opts [Array<String>] :task_names Task names that must appear in the response. Missing tasks are zero-filled so KEDA&#39;s metrics-api JSONPath always resolves.
694
696
  # @return [Array<(Hash<String, TaskStat>, Integer, Hash)>] Hash<String, TaskStat> data, response status code and response headers
695
697
  def tenant_get_task_stats_with_http_info(tenant, opts = {})
696
698
  if @api_client.config.debugging
@@ -713,6 +715,7 @@ module HatchetSdkRest
713
715
 
714
716
  # query parameters
715
717
  query_params = opts[:query_params] || {}
718
+ query_params[:'taskNames'] = @api_client.build_collection_param(opts[:'task_names'], :multi) if !opts[:'task_names'].nil?
716
719
 
717
720
  # header parameters
718
721
  header_params = opts[:header_params] || {}
@@ -94,6 +94,9 @@ module HatchetSdkRest
94
94
  # Get all workers for a tenant
95
95
  # @param tenant [String] The tenant id
96
96
  # @param [Hash] opts the optional parameters
97
+ # @option opts [Integer] :offset The number to skip
98
+ # @option opts [Integer] :limit The number to limit by
99
+ # @option opts [Array<WorkerStatus>] :statuses Filter by worker status
97
100
  # @return [WorkerList]
98
101
  def worker_list(tenant, opts = {})
99
102
  data, _status_code, _headers = worker_list_with_http_info(tenant, opts)
@@ -104,6 +107,9 @@ module HatchetSdkRest
104
107
  # Get all workers for a tenant
105
108
  # @param tenant [String] The tenant id
106
109
  # @param [Hash] opts the optional parameters
110
+ # @option opts [Integer] :offset The number to skip
111
+ # @option opts [Integer] :limit The number to limit by
112
+ # @option opts [Array<WorkerStatus>] :statuses Filter by worker status
107
113
  # @return [Array<(WorkerList, Integer, Hash)>] WorkerList data, response status code and response headers
108
114
  def worker_list_with_http_info(tenant, opts = {})
109
115
  if @api_client.config.debugging
@@ -126,6 +132,9 @@ module HatchetSdkRest
126
132
 
127
133
  # query parameters
128
134
  query_params = opts[:query_params] || {}
135
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
136
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
137
+ query_params[:'statuses'] = @api_client.build_collection_param(opts[:'statuses'], :multi) if !opts[:'statuses'].nil?
129
138
 
130
139
  # header parameters
131
140
  header_params = opts[:header_params] || {}