retab 0.1.5 → 0.1.7

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 (170) hide show
  1. checksums.yaml +4 -4
  2. data/lib/retab/base_client.rb +9 -2
  3. data/lib/retab/client.rb +8 -0
  4. data/lib/retab/experiment_runs/experiment_run.rb +9 -0
  5. data/lib/retab/files/create_file_blueprint_request.rb +31 -0
  6. data/lib/retab/files/file_blueprint.rb +52 -0
  7. data/lib/retab/files.rb +88 -0
  8. data/lib/retab/multipart.rb +73 -0
  9. data/lib/retab/schemas/generate_schema_request.rb +3 -3
  10. data/lib/retab/schemas/{partial_schema.rb → schema_generation.rb} +12 -3
  11. data/lib/retab/schemas.rb +5 -5
  12. data/lib/retab/secrets/create_secret_request.rb +25 -0
  13. data/lib/retab/secrets/secret.rb +34 -0
  14. data/lib/retab/secrets/secret_list_response.rb +20 -0
  15. data/lib/retab/secrets/secret_response.rb +20 -0
  16. data/lib/retab/secrets/secret_value.rb +28 -0
  17. data/lib/retab/secrets/secret_value_response.rb +20 -0
  18. data/lib/retab/secrets/set_secret_request.rb +20 -0
  19. data/lib/retab/secrets.rb +154 -0
  20. data/lib/retab/tables/create_workflow_table_upload_request.rb +31 -0
  21. data/lib/retab/tables/query_workflow_table_request.rb +72 -0
  22. data/lib/retab/tables/replace_workflow_table_upload_request.rb +25 -0
  23. data/lib/retab/tables/update_workflow_table_request.rb +25 -0
  24. data/lib/retab/tables/workflow_table.rb +58 -0
  25. data/lib/retab/tables/workflow_table_aggregation_request.rb +28 -0
  26. data/lib/retab/tables/workflow_table_column.rb +34 -0
  27. data/lib/retab/tables/workflow_table_distinct_request.rb +20 -0
  28. data/lib/retab/tables/workflow_table_explain.rb +54 -0
  29. data/lib/retab/tables/workflow_table_filter_rule.rb +28 -0
  30. data/lib/retab/tables/workflow_table_list_response.rb +20 -0
  31. data/lib/retab/tables/workflow_table_profile_column.rb +49 -0
  32. data/lib/retab/tables/workflow_table_profile_response.rb +28 -0
  33. data/lib/retab/tables/workflow_table_response.rb +20 -0
  34. data/lib/retab/tables/workflow_table_row.rb +28 -0
  35. data/lib/retab/tables/workflow_table_rows_response.rb +52 -0
  36. data/lib/retab/tables/workflow_table_sample_request.rb +20 -0
  37. data/lib/retab/tables/workflow_table_schema_response.rb +25 -0
  38. data/lib/retab/tables/workflow_table_search_request.rb +25 -0
  39. data/lib/retab/tables/workflow_table_sort_rule.rb +25 -0
  40. data/lib/retab/tables/workflow_table_tail_request.rb +7 -0
  41. data/lib/retab/tables/workflow_table_validation_column_rule.rb +28 -0
  42. data/lib/retab/tables/workflow_table_validation_diagnostic.rb +31 -0
  43. data/lib/retab/tables/workflow_table_validation_request.rb +28 -0
  44. data/lib/retab/tables/workflow_table_validation_response.rb +30 -0
  45. data/lib/retab/tables.rb +361 -0
  46. data/lib/retab/types/artifact_drift_status.rb +15 -0
  47. data/lib/retab/types/artifact_freshness_reasons.rb +16 -0
  48. data/lib/retab/types/artifact_freshness_status.rb +14 -0
  49. data/lib/retab/types/create_file_blueprint_request_mode.rb +13 -0
  50. data/lib/retab/types/declarative_plan_resource_change_type.rb +0 -2
  51. data/lib/retab/types/file_blueprint_mode.rb +9 -0
  52. data/lib/retab/types/file_blueprint_status.rb +9 -0
  53. data/lib/retab/types/schema_generation_status.rb +9 -0
  54. data/lib/retab/types/validate_workflow_block_config_request_config_mode.rb +9 -0
  55. data/lib/retab/types/workflow_authz_status.rb +16 -0
  56. data/lib/retab/types/workflow_block_type.rb +0 -2
  57. data/lib/retab/types/workflow_block_version_type.rb +9 -0
  58. data/lib/retab/types/workflow_capabilities.rb +26 -0
  59. data/lib/retab/types/workflow_config_block_type.rb +9 -0
  60. data/lib/retab/types/workflow_table_aggregation_function.rb +17 -0
  61. data/lib/retab/types/workflow_table_filter_operator.rb +46 -0
  62. data/lib/retab/types/workflow_table_sort_direction.rb +9 -0
  63. data/lib/retab/types/workflow_table_validation_column_rule_type.rb +18 -0
  64. data/lib/retab/types/workflow_table_validation_severity.rb +13 -0
  65. data/lib/retab/workflow_blocks/validate_workflow_block_config_request.rb +25 -0
  66. data/lib/retab/workflow_blocks/validate_workflow_block_config_response.rb +34 -0
  67. data/lib/retab/workflow_blocks/workflow_block.rb +6 -0
  68. data/lib/retab/workflow_blocks/workflow_block_version.rb +64 -0
  69. data/lib/retab/workflow_blocks/workflow_block_version_diff.rb +31 -0
  70. data/lib/retab/workflow_blocks/workflow_version_field_diff.rb +28 -0
  71. data/lib/retab/workflow_blocks.rb +172 -0
  72. data/lib/retab/workflow_edges/workflow_edge_version.rb +49 -0
  73. data/lib/retab/workflow_edges/workflow_edge_version_diff.rb +31 -0
  74. data/lib/retab/workflow_edges.rb +134 -0
  75. data/lib/retab/workflow_experiments/artifact_drift.rb +28 -0
  76. data/lib/retab/workflow_experiments/artifact_freshness.rb +34 -0
  77. data/lib/retab/workflow_experiments/workflow_experiment.rb +8 -2
  78. data/lib/retab/workflow_review_versions.rb +3 -3
  79. data/lib/retab/workflow_reviews.rb +4 -4
  80. data/lib/retab/workflow_runs.rb +1 -1
  81. data/lib/retab/workflow_spec.rb +6 -57
  82. data/lib/retab/workflow_test_runs/workflow_test_run.rb +5 -2
  83. data/lib/retab/workflow_tests/latest_block_test_run_summary.rb +6 -0
  84. data/lib/retab/workflow_tests/workflow_test.rb +6 -0
  85. data/lib/retab/workflows/create_workflow_request.rb +5 -2
  86. data/lib/retab/{workflow_spec → workflows}/declarative_workflow_request.rb +7 -2
  87. data/lib/retab/workflows/workflow.rb +11 -2
  88. data/lib/retab/workflows/workflow_block_position.rb +25 -0
  89. data/lib/retab/workflows/workflow_config_block.rb +46 -0
  90. data/lib/retab/workflows/workflow_config_edge.rb +37 -0
  91. data/lib/retab/workflows/workflow_graph_version.rb +40 -0
  92. data/lib/retab/workflows/workflow_graph_version_diff.rb +43 -0
  93. data/lib/retab/workflows.rb +209 -3
  94. data/lib/retab.rb +2 -0
  95. data/rbi/retab/artifact_drift.rbi +36 -0
  96. data/rbi/retab/artifact_freshness.rbi +48 -0
  97. data/rbi/retab/client.rbi +6 -0
  98. data/rbi/retab/create_file_blueprint_request.rbi +42 -0
  99. data/rbi/retab/create_secret_request.rbi +30 -0
  100. data/rbi/retab/create_upload_response.rbi +2 -2
  101. data/rbi/retab/create_workflow_request.rbi +6 -0
  102. data/rbi/retab/create_workflow_table_upload_request.rbi +42 -0
  103. data/rbi/retab/declarative_workflow_request.rbi +6 -0
  104. data/rbi/retab/experiment_run.rbi +18 -0
  105. data/rbi/retab/file_blueprint.rbi +84 -0
  106. data/rbi/retab/files.rbi +28 -0
  107. data/rbi/retab/generate_schema_request.rbi +2 -2
  108. data/rbi/retab/latest_block_test_run_summary.rbi +12 -0
  109. data/rbi/retab/query_workflow_table_request.rbi +120 -0
  110. data/rbi/retab/replace_workflow_table_upload_request.rbi +30 -0
  111. data/rbi/retab/{partial_schema.rbi → schema_generation.rbi} +19 -1
  112. data/rbi/retab/schemas.rbi +3 -3
  113. data/rbi/retab/secret.rbi +48 -0
  114. data/rbi/retab/secret_list_response.rbi +24 -0
  115. data/rbi/retab/secret_response.rbi +24 -0
  116. data/rbi/retab/secret_value.rbi +36 -0
  117. data/rbi/retab/secret_value_response.rbi +24 -0
  118. data/rbi/retab/secrets.rbi +62 -0
  119. data/rbi/retab/set_secret_request.rbi +24 -0
  120. data/rbi/retab/tables.rbi +129 -0
  121. data/rbi/retab/update_workflow_table_request.rbi +30 -0
  122. data/rbi/retab/validate_workflow_block_config_request.rbi +30 -0
  123. data/rbi/retab/validate_workflow_block_config_response.rbi +48 -0
  124. data/rbi/retab/workflow.rbi +18 -0
  125. data/rbi/retab/workflow_block.rbi +12 -0
  126. data/rbi/retab/workflow_block_position.rbi +30 -0
  127. data/rbi/retab/workflow_block_version.rbi +108 -0
  128. data/rbi/retab/workflow_block_version_diff.rbi +42 -0
  129. data/rbi/retab/workflow_blocks.rbi +49 -0
  130. data/rbi/retab/workflow_config_block.rbi +72 -0
  131. data/rbi/retab/workflow_config_edge.rbi +54 -0
  132. data/rbi/retab/workflow_edge_version.rbi +78 -0
  133. data/rbi/retab/workflow_edge_version_diff.rbi +42 -0
  134. data/rbi/retab/workflow_edges.rbi +38 -0
  135. data/rbi/retab/workflow_experiment.rbi +12 -0
  136. data/rbi/retab/workflow_graph_version.rbi +60 -0
  137. data/rbi/retab/workflow_graph_version_diff.rbi +66 -0
  138. data/rbi/retab/workflow_spec.rbi +2 -17
  139. data/rbi/retab/workflow_table.rbi +96 -0
  140. data/rbi/retab/workflow_table_aggregation_request.rbi +36 -0
  141. data/rbi/retab/workflow_table_column.rbi +48 -0
  142. data/rbi/retab/workflow_table_distinct_request.rbi +24 -0
  143. data/rbi/retab/workflow_table_explain.rbi +84 -0
  144. data/rbi/retab/workflow_table_filter_rule.rbi +36 -0
  145. data/rbi/retab/workflow_table_list_response.rbi +24 -0
  146. data/rbi/retab/workflow_table_profile_column.rbi +78 -0
  147. data/rbi/retab/workflow_table_profile_response.rbi +36 -0
  148. data/rbi/retab/workflow_table_response.rbi +24 -0
  149. data/rbi/retab/workflow_table_row.rbi +36 -0
  150. data/rbi/retab/workflow_table_rows_response.rbi +84 -0
  151. data/rbi/retab/workflow_table_sample_request.rbi +24 -0
  152. data/rbi/retab/workflow_table_schema_response.rbi +30 -0
  153. data/rbi/retab/workflow_table_search_request.rbi +30 -0
  154. data/rbi/retab/workflow_table_sort_rule.rbi +30 -0
  155. data/rbi/retab/workflow_table_tail_request.rbi +24 -0
  156. data/rbi/retab/workflow_table_validation_column_rule.rbi +36 -0
  157. data/rbi/retab/workflow_table_validation_diagnostic.rbi +42 -0
  158. data/rbi/retab/workflow_table_validation_request.rbi +36 -0
  159. data/rbi/retab/workflow_table_validation_response.rbi +36 -0
  160. data/rbi/retab/workflow_test.rbi +12 -0
  161. data/rbi/retab/workflow_test_run.rbi +6 -0
  162. data/rbi/retab/workflow_version_field_diff.rbi +36 -0
  163. data/rbi/retab/workflows.rbi +61 -2
  164. metadata +128 -10
  165. /data/lib/retab/{workflow_spec → workflows}/declarative_apply_response.rb +0 -0
  166. /data/lib/retab/{workflow_spec → workflows}/declarative_plan_change.rb +0 -0
  167. /data/lib/retab/{workflow_spec → workflows}/declarative_plan_field_change.rb +0 -0
  168. /data/lib/retab/{workflow_spec → workflows}/declarative_plan_resource_change.rb +0 -0
  169. /data/lib/retab/{workflow_spec → workflows}/declarative_plan_response.rb +0 -0
  170. /data/lib/retab/{workflow_spec → workflows}/declarative_plan_summary.rb +0 -0
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ class WorkflowTableRowsResponse < Retab::Types::BaseModel
7
+
8
+ HASH_ATTRS = {
9
+ table_id: :table_id,
10
+ columns: :columns,
11
+ rows: :rows,
12
+ row_count: :row_count,
13
+ filtered_row_count: :filtered_row_count,
14
+ offset: :offset,
15
+ limit: :limit,
16
+ has_more: :has_more,
17
+ next_cursor: :next_cursor,
18
+ previous_cursor: :previous_cursor,
19
+ explain: :explain
20
+ }.freeze
21
+
22
+ attr_accessor(
23
+ :table_id,
24
+ :columns,
25
+ :rows,
26
+ :row_count,
27
+ :filtered_row_count,
28
+ :offset,
29
+ :limit,
30
+ :has_more,
31
+ :next_cursor,
32
+ :previous_cursor,
33
+ :explain
34
+ )
35
+
36
+ def initialize(json)
37
+ super()
38
+ hash = self.class.normalize(json)
39
+ @table_id = hash[:table_id]
40
+ @columns = (hash[:columns] || []).map { |item| item ? Retab::WorkflowTableColumn.new(item) : nil }
41
+ @rows = (hash[:rows] || []).map { |item| item ? Retab::WorkflowTableRow.new(item) : nil }
42
+ @row_count = hash[:row_count]
43
+ @filtered_row_count = hash[:filtered_row_count]
44
+ @offset = hash[:offset]
45
+ @limit = hash[:limit]
46
+ @has_more = hash[:has_more].nil? ? false : hash[:has_more]
47
+ @next_cursor = hash[:next_cursor]
48
+ @previous_cursor = hash[:previous_cursor]
49
+ @explain = hash[:explain] ? Retab::WorkflowTableExplain.new(hash[:explain]) : nil
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ class WorkflowTableSampleRequest < Retab::Types::BaseModel
7
+
8
+ HASH_ATTRS = {
9
+ size: :size
10
+ }.freeze
11
+
12
+ attr_accessor :size
13
+
14
+ def initialize(json)
15
+ super()
16
+ hash = self.class.normalize(json)
17
+ @size = hash[:size]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ class WorkflowTableSchemaResponse < Retab::Types::BaseModel
7
+
8
+ HASH_ATTRS = {
9
+ table_id: :table_id,
10
+ columns: :columns
11
+ }.freeze
12
+
13
+ attr_accessor(
14
+ :table_id,
15
+ :columns
16
+ )
17
+
18
+ def initialize(json)
19
+ super()
20
+ hash = self.class.normalize(json)
21
+ @table_id = hash[:table_id]
22
+ @columns = (hash[:columns] || []).map { |item| item ? Retab::WorkflowTableColumn.new(item) : nil }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ class WorkflowTableSearchRequest < Retab::Types::BaseModel
7
+
8
+ HASH_ATTRS = {
9
+ query: :query,
10
+ columns: :columns
11
+ }.freeze
12
+
13
+ attr_accessor(
14
+ :query,
15
+ :columns
16
+ )
17
+
18
+ def initialize(json)
19
+ super()
20
+ hash = self.class.normalize(json)
21
+ @query = hash[:query]
22
+ @columns = (hash[:columns] || [])
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ class WorkflowTableSortRule < Retab::Types::BaseModel
7
+
8
+ HASH_ATTRS = {
9
+ column: :column,
10
+ direction: :direction
11
+ }.freeze
12
+
13
+ attr_accessor(
14
+ :column,
15
+ :direction
16
+ )
17
+
18
+ def initialize(json)
19
+ super()
20
+ hash = self.class.normalize(json)
21
+ @column = hash[:column]
22
+ @direction = hash[:direction].nil? ? "asc" : hash[:direction]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ WorkflowTableTailRequest = WorkflowTableSampleRequest
7
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ class WorkflowTableValidationColumnRule < Retab::Types::BaseModel
7
+
8
+ HASH_ATTRS = {
9
+ type: :type,
10
+ format: :format,
11
+ is_not_empty: :is_not_empty
12
+ }.freeze
13
+
14
+ attr_accessor(
15
+ :type,
16
+ :format,
17
+ :is_not_empty
18
+ )
19
+
20
+ def initialize(json)
21
+ super()
22
+ hash = self.class.normalize(json)
23
+ @type = hash[:type]
24
+ @format = hash[:format]
25
+ @is_not_empty = hash[:is_not_empty].nil? ? false : hash[:is_not_empty]
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ class WorkflowTableValidationDiagnostic < Retab::Types::BaseModel
7
+
8
+ HASH_ATTRS = {
9
+ severity: :severity,
10
+ column: :column,
11
+ rule: :rule,
12
+ message: :message
13
+ }.freeze
14
+
15
+ attr_accessor(
16
+ :severity,
17
+ :column,
18
+ :rule,
19
+ :message
20
+ )
21
+
22
+ def initialize(json)
23
+ super()
24
+ hash = self.class.normalize(json)
25
+ @severity = hash[:severity]
26
+ @column = hash[:column]
27
+ @rule = hash[:rule]
28
+ @message = hash[:message]
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ class WorkflowTableValidationRequest < Retab::Types::BaseModel
7
+
8
+ HASH_ATTRS = {
9
+ required_columns: :required_columns,
10
+ columns: :columns,
11
+ unique: :unique
12
+ }.freeze
13
+
14
+ attr_accessor(
15
+ :required_columns,
16
+ :columns,
17
+ :unique
18
+ )
19
+
20
+ def initialize(json)
21
+ super()
22
+ hash = self.class.normalize(json)
23
+ @required_columns = (hash[:required_columns] || [])
24
+ @columns = hash[:columns] || {}
25
+ @unique = (hash[:unique] || []).map { |item| (item || []) }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ class WorkflowTableValidationResponse < Retab::Types::BaseModel
7
+
8
+ HASH_ATTRS = {
9
+ table_id: :table_id,
10
+ diagnostics: :diagnostics,
11
+ has_errors: :has_errors
12
+ }.freeze
13
+
14
+ attr_accessor(
15
+ :table_id,
16
+ :diagnostics,
17
+ :has_errors
18
+ )
19
+
20
+ def initialize(json)
21
+ super()
22
+ hash = self.class.normalize(json)
23
+ @table_id = hash[:table_id]
24
+ @diagnostics = (hash[:diagnostics] || []).map { |item|
25
+ item ? Retab::WorkflowTableValidationDiagnostic.new(item) : nil
26
+ }
27
+ @has_errors = hash[:has_errors].nil? ? false : hash[:has_errors]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,361 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ require "json"
6
+
7
+ module Retab
8
+ class Tables
9
+ def initialize(client)
10
+ @client = client
11
+ end
12
+
13
+ # Table.List
14
+ # @param project_id [String, nil] Only return tables belonging to this project.
15
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
16
+ # @return [Retab::WorkflowTableListResponse]
17
+ def list(
18
+ project_id: nil,
19
+ request_options: {}
20
+ )
21
+ params = {
22
+ "project_id" => project_id
23
+ }.compact
24
+ response = @client.request(
25
+ method: :get,
26
+ path: "/v1/tables",
27
+ auth: true,
28
+ params: params,
29
+ request_options: request_options
30
+ )
31
+ result = Retab::WorkflowTableListResponse.new(response.body)
32
+ result.last_response = Retab::Types::ApiResponse.new(
33
+ http_status: response.code.to_i,
34
+ http_headers: response.each_header.to_h,
35
+ request_id: response["x-request-id"]
36
+ )
37
+ result
38
+ end
39
+
40
+ # Table.Create
41
+ # @param name [String]
42
+ # @param file [String, IO, Pathname]
43
+ # @param column_schema_overrides [String, nil]
44
+ # @param project_id [String, nil]
45
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
46
+ # @return [Retab::WorkflowTableListResponse]
47
+ def create(
48
+ name:,
49
+ file:,
50
+ column_schema_overrides: nil,
51
+ project_id: nil,
52
+ request_options: {}
53
+ )
54
+ multipart_fields = {}
55
+ multipart_fields["name"] = name unless name.nil?
56
+ multipart_fields["file"] = Retab::Multipart::FilePart.new(file, filename: "file") unless file.nil?
57
+ multipart_fields["column_schema_overrides"] = column_schema_overrides unless column_schema_overrides.nil?
58
+ multipart_fields["project_id"] = project_id unless project_id.nil?
59
+ body = Retab::Multipart.new(multipart_fields)
60
+ response = @client.request(
61
+ method: :post,
62
+ path: "/v1/tables",
63
+ auth: true,
64
+ body: body,
65
+ request_options: request_options
66
+ )
67
+ result = Retab::WorkflowTableListResponse.new(response.body)
68
+ result.last_response = Retab::Types::ApiResponse.new(
69
+ http_status: response.code.to_i,
70
+ http_headers: response.each_header.to_h,
71
+ request_id: response["x-request-id"]
72
+ )
73
+ result
74
+ end
75
+
76
+ # Table.Get
77
+ # @param table_id [String]
78
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
79
+ # @return [Retab::WorkflowTableResponse]
80
+ def get(
81
+ table_id:,
82
+ request_options: {}
83
+ )
84
+ response = @client.request(
85
+ method: :get,
86
+ path: "/v1/tables/#{Retab::Util.encode_path(table_id)}",
87
+ auth: true,
88
+ request_options: request_options
89
+ )
90
+ result = Retab::WorkflowTableResponse.new(response.body)
91
+ result.last_response = Retab::Types::ApiResponse.new(
92
+ http_status: response.code.to_i,
93
+ http_headers: response.each_header.to_h,
94
+ request_id: response["x-request-id"]
95
+ )
96
+ result
97
+ end
98
+
99
+ # Table.Replace
100
+ # @param table_id [String]
101
+ # @param file [String, IO, Pathname]
102
+ # @param column_schema_overrides [String, nil]
103
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
104
+ # @return [Retab::WorkflowTableListResponse]
105
+ def replace(
106
+ table_id:,
107
+ file:,
108
+ column_schema_overrides: nil,
109
+ request_options: {}
110
+ )
111
+ multipart_fields = {}
112
+ multipart_fields["file"] = Retab::Multipart::FilePart.new(file, filename: "file") unless file.nil?
113
+ multipart_fields["column_schema_overrides"] = column_schema_overrides unless column_schema_overrides.nil?
114
+ body = Retab::Multipart.new(multipart_fields)
115
+ response = @client.request(
116
+ method: :put,
117
+ path: "/v1/tables/#{Retab::Util.encode_path(table_id)}",
118
+ auth: true,
119
+ body: body,
120
+ request_options: request_options
121
+ )
122
+ result = Retab::WorkflowTableListResponse.new(response.body)
123
+ result.last_response = Retab::Types::ApiResponse.new(
124
+ http_status: response.code.to_i,
125
+ http_headers: response.each_header.to_h,
126
+ request_id: response["x-request-id"]
127
+ )
128
+ result
129
+ end
130
+
131
+ # Table.Update
132
+ # @param table_id [String]
133
+ # @param name [String, nil]
134
+ # @param metadata [Hash{String => Object}, nil]
135
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
136
+ # @return [Retab::WorkflowTableListResponse]
137
+ def update_table(
138
+ table_id:,
139
+ name: nil,
140
+ metadata: nil,
141
+ request_options: {}
142
+ )
143
+ body = {
144
+ "name" => name,
145
+ "metadata" => metadata
146
+ }.compact
147
+ response = @client.request(
148
+ method: :patch,
149
+ path: "/v1/tables/#{Retab::Util.encode_path(table_id)}",
150
+ auth: true,
151
+ body: body,
152
+ request_options: request_options
153
+ )
154
+ result = Retab::WorkflowTableListResponse.new(response.body)
155
+ result.last_response = Retab::Types::ApiResponse.new(
156
+ http_status: response.code.to_i,
157
+ http_headers: response.each_header.to_h,
158
+ request_id: response["x-request-id"]
159
+ )
160
+ result
161
+ end
162
+
163
+ # Table.Delete
164
+ # @param table_id [String]
165
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
166
+ # @return [void]
167
+ def delete(
168
+ table_id:,
169
+ request_options: {}
170
+ )
171
+ @client.request(
172
+ method: :delete,
173
+ path: "/v1/tables/#{Retab::Util.encode_path(table_id)}",
174
+ auth: true,
175
+ request_options: request_options
176
+ )
177
+ nil
178
+ end
179
+
180
+ # Table.Download
181
+ # @param table_id [String]
182
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
183
+ # @return [String]
184
+ def download(
185
+ table_id:,
186
+ request_options: {}
187
+ )
188
+ response = @client.request(
189
+ method: :get,
190
+ path: "/v1/tables/#{Retab::Util.encode_path(table_id)}/download",
191
+ auth: true,
192
+ request_options: request_options
193
+ )
194
+ response.body
195
+ end
196
+
197
+ # Table.Get Profile
198
+ # @param table_id [String]
199
+ # @param select [Array<String>, nil]
200
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
201
+ # @return [Retab::WorkflowTableProfileResponse]
202
+ def profile(
203
+ table_id:,
204
+ select: nil,
205
+ request_options: {}
206
+ )
207
+ params = {
208
+ "select" => select
209
+ }.compact
210
+ response = @client.request(
211
+ method: :get,
212
+ path: "/v1/tables/#{Retab::Util.encode_path(table_id)}/profile",
213
+ auth: true,
214
+ params: params,
215
+ request_options: request_options
216
+ )
217
+ result = Retab::WorkflowTableProfileResponse.new(response.body)
218
+ result.last_response = Retab::Types::ApiResponse.new(
219
+ http_status: response.code.to_i,
220
+ http_headers: response.each_header.to_h,
221
+ request_id: response["x-request-id"]
222
+ )
223
+ result
224
+ end
225
+
226
+ # Table.Query
227
+ # @param table_id [String]
228
+ # @param filters [Array<Retab::WorkflowTableFilterRule>, nil]
229
+ # @param search [Retab::WorkflowTableSearchRequest, nil]
230
+ # @param case_sensitive [Boolean, nil]
231
+ # @param select [Array<String>, nil]
232
+ # @param distinct [Retab::WorkflowTableDistinctRequest, nil]
233
+ # @param group_by [Array<String>, nil]
234
+ # @param aggregations [Array<Retab::WorkflowTableAggregationRequest>, nil]
235
+ # @param sort [Array<Retab::WorkflowTableSortRule>, nil]
236
+ # @param sample [Retab::WorkflowTableSampleRequest, nil]
237
+ # @param tail [Retab::WorkflowTableTailRequest, nil]
238
+ # @param count_only [Boolean, nil]
239
+ # @param include_explain [Boolean, nil]
240
+ # @param sort_column [String, nil]
241
+ # @param sort_direction [Retab::Types::WorkflowTableSortDirection, nil]
242
+ # @param viewer_mode [String, nil]
243
+ # @param offset [Integer, nil]
244
+ # @param limit [Integer, nil]
245
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
246
+ # @return [Retab::WorkflowTableRowsResponse]
247
+ def query(
248
+ table_id:,
249
+ filters: nil,
250
+ search: nil,
251
+ case_sensitive: nil,
252
+ select: nil,
253
+ distinct: nil,
254
+ group_by: nil,
255
+ aggregations: nil,
256
+ sort: nil,
257
+ sample: nil,
258
+ tail: nil,
259
+ count_only: nil,
260
+ include_explain: nil,
261
+ sort_column: nil,
262
+ sort_direction: nil,
263
+ viewer_mode: nil,
264
+ offset: nil,
265
+ limit: nil,
266
+ request_options: {}
267
+ )
268
+ body = {
269
+ "filters" => filters,
270
+ "search" => search,
271
+ "case_sensitive" => case_sensitive,
272
+ "select" => select,
273
+ "distinct" => distinct,
274
+ "group_by" => group_by,
275
+ "aggregations" => aggregations,
276
+ "sort" => sort,
277
+ "sample" => sample,
278
+ "tail" => tail,
279
+ "count_only" => count_only,
280
+ "include_explain" => include_explain,
281
+ "sort_column" => sort_column,
282
+ "sort_direction" => sort_direction,
283
+ "viewer_mode" => viewer_mode,
284
+ "offset" => offset,
285
+ "limit" => limit
286
+ }.compact
287
+ response = @client.request(
288
+ method: :post,
289
+ path: "/v1/tables/#{Retab::Util.encode_path(table_id)}/query",
290
+ auth: true,
291
+ body: body,
292
+ request_options: request_options
293
+ )
294
+ result = Retab::WorkflowTableRowsResponse.new(response.body)
295
+ result.last_response = Retab::Types::ApiResponse.new(
296
+ http_status: response.code.to_i,
297
+ http_headers: response.each_header.to_h,
298
+ request_id: response["x-request-id"]
299
+ )
300
+ result
301
+ end
302
+
303
+ # Table.Get Schema
304
+ # @param table_id [String]
305
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
306
+ # @return [Retab::WorkflowTableSchemaResponse]
307
+ def schema(
308
+ table_id:,
309
+ request_options: {}
310
+ )
311
+ response = @client.request(
312
+ method: :get,
313
+ path: "/v1/tables/#{Retab::Util.encode_path(table_id)}/schema",
314
+ auth: true,
315
+ request_options: request_options
316
+ )
317
+ result = Retab::WorkflowTableSchemaResponse.new(response.body)
318
+ result.last_response = Retab::Types::ApiResponse.new(
319
+ http_status: response.code.to_i,
320
+ http_headers: response.each_header.to_h,
321
+ request_id: response["x-request-id"]
322
+ )
323
+ result
324
+ end
325
+
326
+ # Table.Validate
327
+ # @param table_id [String]
328
+ # @param required_columns [Array<String>, nil]
329
+ # @param columns [Hash{String => Retab::WorkflowTableValidationColumnRule}, nil]
330
+ # @param unique [Array<Array<String>>, nil]
331
+ # @param request_options [Hash] (see Retab::Types::RequestOptions)
332
+ # @return [Retab::WorkflowTableValidationResponse]
333
+ def validate(
334
+ table_id:,
335
+ required_columns: nil,
336
+ columns: nil,
337
+ unique: nil,
338
+ request_options: {}
339
+ )
340
+ body = {
341
+ "required_columns" => required_columns,
342
+ "columns" => columns,
343
+ "unique" => unique
344
+ }.compact
345
+ response = @client.request(
346
+ method: :post,
347
+ path: "/v1/tables/#{Retab::Util.encode_path(table_id)}/validate",
348
+ auth: true,
349
+ body: body,
350
+ request_options: request_options
351
+ )
352
+ result = Retab::WorkflowTableValidationResponse.new(response.body)
353
+ result.last_response = Retab::Types::ApiResponse.new(
354
+ http_status: response.code.to_i,
355
+ http_headers: response.each_header.to_h,
356
+ request_id: response["x-request-id"]
357
+ )
358
+ result
359
+ end
360
+ end
361
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ module Types
7
+ class ArtifactDriftStatus
8
+ NONE = "none"
9
+ DRIFTED = "drifted"
10
+ BROKEN = "broken"
11
+ UNKNOWN = "unknown"
12
+ ALL = [NONE, DRIFTED, BROKEN, UNKNOWN].freeze
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ module Types
7
+ class ArtifactFreshnessReasons
8
+ VALIDITY_CHANGED = "validity_changed"
9
+ INPUTS_CHANGED = "inputs_changed"
10
+ ENGINE_CHANGED = "engine_changed"
11
+ METRICS_ENGINE_CHANGED = "metrics_engine_changed"
12
+ NO_BASELINE = "no_baseline"
13
+ ALL = [VALIDITY_CHANGED, INPUTS_CHANGED, ENGINE_CHANGED, METRICS_ENGINE_CHANGED, NO_BASELINE].freeze
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module Retab
6
+ module Types
7
+ class ArtifactFreshnessStatus
8
+ FRESH = "fresh"
9
+ STALE = "stale"
10
+ UNKNOWN = "unknown"
11
+ ALL = [FRESH, STALE, UNKNOWN].freeze
12
+ end
13
+ end
14
+ end