shipeasy-sdk 2.1.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -0
  3. data/docs/skill/SKILL.md +6 -2
  4. data/lib/generators/shipeasy/install/USAGE +24 -0
  5. data/lib/generators/shipeasy/install/install_generator.rb +86 -0
  6. data/lib/generators/shipeasy/install/templates/initializer.rb.tt +41 -0
  7. data/lib/shipeasy/admin.rb +91 -0
  8. data/lib/shipeasy/sdk/version.rb +1 -1
  9. data/lib/shipeasy_admin/api/alerts_api.rb +352 -0
  10. data/lib/shipeasy_admin/api/api_keys_api.rb +229 -0
  11. data/lib/shipeasy_admin/api/attributes_api.rb +82 -0
  12. data/lib/shipeasy_admin/api/configs_api.rb +757 -0
  13. data/lib/shipeasy_admin/api/connectors_api.rb +497 -0
  14. data/lib/shipeasy_admin/api/drafts_api.rb +82 -0
  15. data/lib/shipeasy_admin/api/errors_api.rb +389 -0
  16. data/lib/shipeasy_admin/api/events_api.rb +438 -0
  17. data/lib/shipeasy_admin/api/experiments_api.rb +727 -0
  18. data/lib/shipeasy_admin/api/flags_api.rb +438 -0
  19. data/lib/shipeasy_admin/api/keys_api.rb +317 -0
  20. data/lib/shipeasy_admin/api/killswitch_api.rb +603 -0
  21. data/lib/shipeasy_admin/api/metrics_api.rb +281 -0
  22. data/lib/shipeasy_admin/api/ops_api.rb +465 -0
  23. data/lib/shipeasy_admin/api/profiles_api.rb +226 -0
  24. data/lib/shipeasy_admin/api/projects_api.rb +216 -0
  25. data/lib/shipeasy_admin/api/universes_api.rb +306 -0
  26. data/lib/shipeasy_admin/api_client.rb +441 -0
  27. data/lib/shipeasy_admin/api_error.rb +58 -0
  28. data/lib/shipeasy_admin/api_model_base.rb +88 -0
  29. data/lib/shipeasy_admin/configuration.rb +397 -0
  30. data/lib/shipeasy_admin/models/approve_event_request.rb +198 -0
  31. data/lib/shipeasy_admin/models/approve_event_response.rb +166 -0
  32. data/lib/shipeasy_admin/models/claude_trigger_config.rb +204 -0
  33. data/lib/shipeasy_admin/models/connector_event.rb +40 -0
  34. data/lib/shipeasy_admin/models/connector_provider.rb +45 -0
  35. data/lib/shipeasy_admin/models/connector_record.rb +468 -0
  36. data/lib/shipeasy_admin/models/copilot_trigger_config.rb +276 -0
  37. data/lib/shipeasy_admin/models/create_alert_rule_request.rb +383 -0
  38. data/lib/shipeasy_admin/models/create_alert_rule_response.rb +165 -0
  39. data/lib/shipeasy_admin/models/create_claude_trigger_request.rb +309 -0
  40. data/lib/shipeasy_admin/models/create_config_request.rb +291 -0
  41. data/lib/shipeasy_admin/models/create_config_response.rb +201 -0
  42. data/lib/shipeasy_admin/models/create_connector_request.rb +64 -0
  43. data/lib/shipeasy_admin/models/create_connector_response.rb +165 -0
  44. data/lib/shipeasy_admin/models/create_copilot_trigger_request.rb +316 -0
  45. data/lib/shipeasy_admin/models/create_cursor_trigger_request.rb +352 -0
  46. data/lib/shipeasy_admin/models/create_event_request.rb +236 -0
  47. data/lib/shipeasy_admin/models/create_event_response.rb +193 -0
  48. data/lib/shipeasy_admin/models/create_experiment_request.rb +807 -0
  49. data/lib/shipeasy_admin/models/create_experiment_response.rb +212 -0
  50. data/lib/shipeasy_admin/models/create_gate_request.rb +492 -0
  51. data/lib/shipeasy_admin/models/create_gate_response.rb +212 -0
  52. data/lib/shipeasy_admin/models/create_i18n_profile_request.rb +188 -0
  53. data/lib/shipeasy_admin/models/create_i18n_profile_response.rb +193 -0
  54. data/lib/shipeasy_admin/models/create_jules_trigger_request.rb +352 -0
  55. data/lib/shipeasy_admin/models/create_key_request.rb +297 -0
  56. data/lib/shipeasy_admin/models/create_key_response.rb +286 -0
  57. data/lib/shipeasy_admin/models/create_killswitch_request.rb +274 -0
  58. data/lib/shipeasy_admin/models/create_killswitch_response.rb +201 -0
  59. data/lib/shipeasy_admin/models/create_metric_request.rb +403 -0
  60. data/lib/shipeasy_admin/models/create_metric_response.rb +193 -0
  61. data/lib/shipeasy_admin/models/create_o_auth_connector_request.rb +273 -0
  62. data/lib/shipeasy_admin/models/create_ops_item_request.rb +287 -0
  63. data/lib/shipeasy_admin/models/create_ops_item_response.rb +177 -0
  64. data/lib/shipeasy_admin/models/create_universe_request.rb +272 -0
  65. data/lib/shipeasy_admin/models/create_universe_response.rb +212 -0
  66. data/lib/shipeasy_admin/models/cursor_trigger_config.rb +231 -0
  67. data/lib/shipeasy_admin/models/delete_alert_rule_response.rb +188 -0
  68. data/lib/shipeasy_admin/models/delete_config_response.rb +188 -0
  69. data/lib/shipeasy_admin/models/delete_connector_response.rb +188 -0
  70. data/lib/shipeasy_admin/models/delete_event_response.rb +189 -0
  71. data/lib/shipeasy_admin/models/delete_experiment_response.rb +188 -0
  72. data/lib/shipeasy_admin/models/delete_gate_response.rb +188 -0
  73. data/lib/shipeasy_admin/models/delete_killswitch_response.rb +188 -0
  74. data/lib/shipeasy_admin/models/delete_metric_response.rb +189 -0
  75. data/lib/shipeasy_admin/models/delete_universe_response.rb +188 -0
  76. data/lib/shipeasy_admin/models/disable_gate_response.rb +190 -0
  77. data/lib/shipeasy_admin/models/discard_config_draft_request.rb +187 -0
  78. data/lib/shipeasy_admin/models/discard_config_draft_response.rb +188 -0
  79. data/lib/shipeasy_admin/models/enable_gate_response.rb +190 -0
  80. data/lib/shipeasy_admin/models/env.rb +41 -0
  81. data/lib/shipeasy_admin/models/error.rb +207 -0
  82. data/lib/shipeasy_admin/models/error_code.rb +52 -0
  83. data/lib/shipeasy_admin/models/error_record.rb +597 -0
  84. data/lib/shipeasy_admin/models/error_series_request.rb +251 -0
  85. data/lib/shipeasy_admin/models/error_series_response.rb +195 -0
  86. data/lib/shipeasy_admin/models/error_series_response_rows_inner.rb +192 -0
  87. data/lib/shipeasy_admin/models/experiment_inline_metric.rb +337 -0
  88. data/lib/shipeasy_admin/models/file_error_ticket_response.rb +193 -0
  89. data/lib/shipeasy_admin/models/fire_connector_request.rb +149 -0
  90. data/lib/shipeasy_admin/models/fire_connector_response.rb +176 -0
  91. data/lib/shipeasy_admin/models/get_config_response.rb +351 -0
  92. data/lib/shipeasy_admin/models/get_current_project_response.rb +606 -0
  93. data/lib/shipeasy_admin/models/get_current_project_response_module_translations.rb +104 -0
  94. data/lib/shipeasy_admin/models/get_event_response.rb +344 -0
  95. data/lib/shipeasy_admin/models/get_experiment_response.rb +688 -0
  96. data/lib/shipeasy_admin/models/get_experiment_results_response.rb +243 -0
  97. data/lib/shipeasy_admin/models/get_experiment_results_response_experiment.rb +248 -0
  98. data/lib/shipeasy_admin/models/get_experiment_results_response_results_inner.rb +252 -0
  99. data/lib/shipeasy_admin/models/get_experiment_timeseries_response.rb +192 -0
  100. data/lib/shipeasy_admin/models/get_experiment_timeseries_response_experiment.rb +261 -0
  101. data/lib/shipeasy_admin/models/get_experiment_timeseries_response_series_inner.rb +278 -0
  102. data/lib/shipeasy_admin/models/get_killswitch_response.rb +270 -0
  103. data/lib/shipeasy_admin/models/get_metric_response.rb +378 -0
  104. data/lib/shipeasy_admin/models/get_ops_item_response.rb +349 -0
  105. data/lib/shipeasy_admin/models/jules_trigger_config.rb +240 -0
  106. data/lib/shipeasy_admin/models/key_record.rb +353 -0
  107. data/lib/shipeasy_admin/models/killswitch_value.rb +178 -0
  108. data/lib/shipeasy_admin/models/link_pr_to_ops_item_request.rb +186 -0
  109. data/lib/shipeasy_admin/models/link_pr_to_ops_item_response.rb +166 -0
  110. data/lib/shipeasy_admin/models/list_alert_rules_response_inner.rb +478 -0
  111. data/lib/shipeasy_admin/models/list_attributes_response_inner.rb +176 -0
  112. data/lib/shipeasy_admin/models/list_config_activity_response_inner.rb +280 -0
  113. data/lib/shipeasy_admin/models/list_configs_response.rb +178 -0
  114. data/lib/shipeasy_admin/models/list_configs_response_data_inner.rb +351 -0
  115. data/lib/shipeasy_admin/models/list_configs_response_data_inner_drafts_value.rb +237 -0
  116. data/lib/shipeasy_admin/models/list_configs_response_data_inner_envs_value.rb +237 -0
  117. data/lib/shipeasy_admin/models/list_events_response_inner.rb +344 -0
  118. data/lib/shipeasy_admin/models/list_events_response_inner_properties_inner.rb +259 -0
  119. data/lib/shipeasy_admin/models/list_experiments_response.rb +178 -0
  120. data/lib/shipeasy_admin/models/list_experiments_response_data_inner.rb +688 -0
  121. data/lib/shipeasy_admin/models/list_experiments_response_data_inner_groups_inner.rb +241 -0
  122. data/lib/shipeasy_admin/models/list_gates_response.rb +178 -0
  123. data/lib/shipeasy_admin/models/list_gates_response_data_inner.rb +395 -0
  124. data/lib/shipeasy_admin/models/list_gates_response_data_inner_enabled.rb +104 -0
  125. data/lib/shipeasy_admin/models/list_gates_response_data_inner_rules_inner.rb +238 -0
  126. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner.rb +105 -0
  127. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of.rb +358 -0
  128. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of1.rb +331 -0
  129. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of_ramp.rb +319 -0
  130. data/lib/shipeasy_admin/models/list_i18n_drafts_response_inner.rb +272 -0
  131. data/lib/shipeasy_admin/models/list_i18n_keys_response.rb +195 -0
  132. data/lib/shipeasy_admin/models/list_i18n_keys_response_keys_inner.rb +284 -0
  133. data/lib/shipeasy_admin/models/list_i18n_profiles_response_inner.rb +224 -0
  134. data/lib/shipeasy_admin/models/list_keys_response.rb +180 -0
  135. data/lib/shipeasy_admin/models/list_killswitches_response.rb +178 -0
  136. data/lib/shipeasy_admin/models/list_killswitches_response_data_inner.rb +270 -0
  137. data/lib/shipeasy_admin/models/list_killswitches_response_data_inner_envs_value.rb +248 -0
  138. data/lib/shipeasy_admin/models/list_metrics_response_inner.rb +378 -0
  139. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir.rb +288 -0
  140. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg.rb +113 -0
  141. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of.rb +188 -0
  142. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of1.rb +188 -0
  143. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of2.rb +188 -0
  144. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of3.rb +188 -0
  145. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of4.rb +188 -0
  146. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of5.rb +188 -0
  147. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of6.rb +188 -0
  148. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of7.rb +217 -0
  149. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of8.rb +233 -0
  150. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9.rb +240 -0
  151. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator.rb +266 -0
  152. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator_filters_inner.rb +264 -0
  153. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_group_by.rb +228 -0
  154. data/lib/shipeasy_admin/models/list_ops_items_response_inner.rb +349 -0
  155. data/lib/shipeasy_admin/models/list_slack_channels_response.rb +195 -0
  156. data/lib/shipeasy_admin/models/list_slack_channels_response_channels_inner.rb +203 -0
  157. data/lib/shipeasy_admin/models/list_universes_response.rb +178 -0
  158. data/lib/shipeasy_admin/models/list_universes_response_data_inner.rb +305 -0
  159. data/lib/shipeasy_admin/models/notification_target.rb +159 -0
  160. data/lib/shipeasy_admin/models/notification_target_slack_channel.rb +208 -0
  161. data/lib/shipeasy_admin/models/notify_ops_request.rb +261 -0
  162. data/lib/shipeasy_admin/models/notify_ops_response.rb +193 -0
  163. data/lib/shipeasy_admin/models/publish_config_draft_request.rb +187 -0
  164. data/lib/shipeasy_admin/models/publish_config_draft_response.rb +257 -0
  165. data/lib/shipeasy_admin/models/publish_i18n_profile_request.rb +149 -0
  166. data/lib/shipeasy_admin/models/publish_i18n_profile_response.rb +404 -0
  167. data/lib/shipeasy_admin/models/push_i18n_keys_request.rb +205 -0
  168. data/lib/shipeasy_admin/models/push_i18n_keys_request_keys_inner.rb +192 -0
  169. data/lib/shipeasy_admin/models/push_i18n_keys_response.rb +261 -0
  170. data/lib/shipeasy_admin/models/reanalyze_experiment_response.rb +214 -0
  171. data/lib/shipeasy_admin/models/revoke_key_response.rb +216 -0
  172. data/lib/shipeasy_admin/models/save_config_draft_request.rb +199 -0
  173. data/lib/shipeasy_admin/models/save_config_draft_response.rb +283 -0
  174. data/lib/shipeasy_admin/models/search_hit.rb +284 -0
  175. data/lib/shipeasy_admin/models/search_response.rb +167 -0
  176. data/lib/shipeasy_admin/models/set_experiment_metrics_request.rb +168 -0
  177. data/lib/shipeasy_admin/models/set_experiment_metrics_request_metrics_inner.rb +216 -0
  178. data/lib/shipeasy_admin/models/set_experiment_metrics_response.rb +179 -0
  179. data/lib/shipeasy_admin/models/set_experiment_metrics_response_metrics_inner.rb +201 -0
  180. data/lib/shipeasy_admin/models/set_experiment_status_request.rb +190 -0
  181. data/lib/shipeasy_admin/models/set_experiment_status_response.rb +214 -0
  182. data/lib/shipeasy_admin/models/set_i18n_label_request.rb +213 -0
  183. data/lib/shipeasy_admin/models/set_i18n_label_response.rb +472 -0
  184. data/lib/shipeasy_admin/models/set_killswitch_switch_request.rb +261 -0
  185. data/lib/shipeasy_admin/models/set_killswitch_switch_response.rb +285 -0
  186. data/lib/shipeasy_admin/models/set_killswitch_value_request.rb +214 -0
  187. data/lib/shipeasy_admin/models/set_killswitch_value_response.rb +283 -0
  188. data/lib/shipeasy_admin/models/test_connector_response.rb +189 -0
  189. data/lib/shipeasy_admin/models/unset_killswitch_switch_request.rb +234 -0
  190. data/lib/shipeasy_admin/models/unset_killswitch_switch_response.rb +286 -0
  191. data/lib/shipeasy_admin/models/update_alert_rule_request.rb +304 -0
  192. data/lib/shipeasy_admin/models/update_alert_rule_response.rb +165 -0
  193. data/lib/shipeasy_admin/models/update_config_request.rb +198 -0
  194. data/lib/shipeasy_admin/models/update_config_response.rb +165 -0
  195. data/lib/shipeasy_admin/models/update_config_schema_request.rb +168 -0
  196. data/lib/shipeasy_admin/models/update_config_schema_response.rb +165 -0
  197. data/lib/shipeasy_admin/models/update_connector_request.rb +211 -0
  198. data/lib/shipeasy_admin/models/update_connector_response.rb +166 -0
  199. data/lib/shipeasy_admin/models/update_error_status_request.rb +190 -0
  200. data/lib/shipeasy_admin/models/update_event_request.rb +198 -0
  201. data/lib/shipeasy_admin/models/update_event_response.rb +166 -0
  202. data/lib/shipeasy_admin/models/update_experiment_request.rb +747 -0
  203. data/lib/shipeasy_admin/models/update_experiment_response.rb +165 -0
  204. data/lib/shipeasy_admin/models/update_gate_request.rb +403 -0
  205. data/lib/shipeasy_admin/models/update_gate_response.rb +166 -0
  206. data/lib/shipeasy_admin/models/update_i18n_key_request.rb +176 -0
  207. data/lib/shipeasy_admin/models/update_i18n_key_response.rb +166 -0
  208. data/lib/shipeasy_admin/models/update_killswitch_request.rb +224 -0
  209. data/lib/shipeasy_admin/models/update_killswitch_response.rb +165 -0
  210. data/lib/shipeasy_admin/models/update_ops_item_request.rb +205 -0
  211. data/lib/shipeasy_admin/models/update_ops_item_response.rb +166 -0
  212. data/lib/shipeasy_admin/models/update_universe_request.rb +213 -0
  213. data/lib/shipeasy_admin/models/update_universe_response.rb +165 -0
  214. data/lib/shipeasy_admin/models/upsert_project_request.rb +222 -0
  215. data/lib/shipeasy_admin/models/upsert_project_response.rb +260 -0
  216. data/lib/shipeasy_admin/version.rb +15 -0
  217. data/lib/shipeasy_admin.rb +243 -0
  218. metadata +277 -2
@@ -0,0 +1,317 @@
1
+ =begin
2
+ #Shipeasy Admin API
3
+
4
+ #REST API for managing feature gates, experiments, configs, universes, and killswitches in a Shipeasy project. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Mint admin keys via `POST /api/admin/keys` with `type: \"admin\"`. Keys expire after 90 days; rotate with the `revoke` action.
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Shipeasy::Admin::Generated
16
+ class KeysApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # List i18n keys
23
+ # List keys for a profile, optionally filtered to a name `prefix`. **Use case:** Read the current keys (and values) for a profile — e.g. to diff before a push.
24
+ # @param [Hash] opts the optional parameters
25
+ # @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
26
+ # @option opts [String] :profile_id Profile id to list keys for.
27
+ # @option opts [String] :prefix Only keys whose name starts with this.
28
+ # @option opts [String] :q Free-text search — matches keys whose name OR value contains this substring (case-insensitive). Use it to find the key behind a piece of on-screen copy.
29
+ # @option opts [Integer] :limit Max keys to return (1–500).
30
+ # @return [ListI18nKeysResponse]
31
+ def list_i18n_keys(opts = {})
32
+ data, _status_code, _headers = list_i18n_keys_with_http_info(opts)
33
+ data
34
+ end
35
+
36
+ # List i18n keys
37
+ # List keys for a profile, optionally filtered to a name `prefix`. **Use case:** Read the current keys (and values) for a profile — e.g. to diff before a push.
38
+ # @param [Hash] opts the optional parameters
39
+ # @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
40
+ # @option opts [String] :profile_id Profile id to list keys for.
41
+ # @option opts [String] :prefix Only keys whose name starts with this.
42
+ # @option opts [String] :q Free-text search — matches keys whose name OR value contains this substring (case-insensitive). Use it to find the key behind a piece of on-screen copy.
43
+ # @option opts [Integer] :limit Max keys to return (1–500).
44
+ # @return [Array<(ListI18nKeysResponse, Integer, Hash)>] ListI18nKeysResponse data, response status code and response headers
45
+ def list_i18n_keys_with_http_info(opts = {})
46
+ if @api_client.config.debugging
47
+ @api_client.config.logger.debug 'Calling API: KeysApi.list_i18n_keys ...'
48
+ end
49
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 500
50
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling KeysApi.list_i18n_keys, must be smaller than or equal to 500.'
51
+ end
52
+
53
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
54
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling KeysApi.list_i18n_keys, must be greater than or equal to 1.'
55
+ end
56
+
57
+ # resource path
58
+ local_var_path = '/api/admin/i18n/keys'
59
+
60
+ # query parameters
61
+ query_params = opts[:query_params] || {}
62
+ query_params[:'profile_id'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?
63
+ query_params[:'prefix'] = opts[:'prefix'] if !opts[:'prefix'].nil?
64
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
65
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
66
+
67
+ # header parameters
68
+ header_params = opts[:header_params] || {}
69
+ # HTTP header 'Accept' (if needed)
70
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
71
+ header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
72
+
73
+ # form parameters
74
+ form_params = opts[:form_params] || {}
75
+
76
+ # http body (model)
77
+ post_body = opts[:debug_body]
78
+
79
+ # return_type
80
+ return_type = opts[:debug_return_type] || 'ListI18nKeysResponse'
81
+
82
+ # auth_names
83
+ auth_names = opts[:debug_auth_names] || ['bearerSdkKey']
84
+
85
+ new_options = opts.merge(
86
+ :operation => :"KeysApi.list_i18n_keys",
87
+ :header_params => header_params,
88
+ :query_params => query_params,
89
+ :form_params => form_params,
90
+ :body => post_body,
91
+ :auth_names => auth_names,
92
+ :return_type => return_type
93
+ )
94
+
95
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
96
+ if @api_client.config.debugging
97
+ @api_client.config.logger.debug "API called: KeysApi#list_i18n_keys\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
98
+ end
99
+ return data, status_code, headers
100
+ end
101
+
102
+ # Push new i18n keys (insert-only)
103
+ # Add NEW keys to a profile. Insert-only — existing keys are left untouched (overwrite one with `updateI18nKey`). **Use case:** Seed newly-extracted keys without clobbering translations already in the profile.
104
+ # @param push_i18n_keys_request [PushI18nKeysRequest]
105
+ # @param [Hash] opts the optional parameters
106
+ # @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
107
+ # @return [PushI18nKeysResponse]
108
+ def push_i18n_keys(push_i18n_keys_request, opts = {})
109
+ data, _status_code, _headers = push_i18n_keys_with_http_info(push_i18n_keys_request, opts)
110
+ data
111
+ end
112
+
113
+ # Push new i18n keys (insert-only)
114
+ # Add NEW keys to a profile. Insert-only — existing keys are left untouched (overwrite one with &#x60;updateI18nKey&#x60;). **Use case:** Seed newly-extracted keys without clobbering translations already in the profile.
115
+ # @param push_i18n_keys_request [PushI18nKeysRequest]
116
+ # @param [Hash] opts the optional parameters
117
+ # @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
118
+ # @return [Array<(PushI18nKeysResponse, Integer, Hash)>] PushI18nKeysResponse data, response status code and response headers
119
+ def push_i18n_keys_with_http_info(push_i18n_keys_request, opts = {})
120
+ if @api_client.config.debugging
121
+ @api_client.config.logger.debug 'Calling API: KeysApi.push_i18n_keys ...'
122
+ end
123
+ # verify the required parameter 'push_i18n_keys_request' is set
124
+ if @api_client.config.client_side_validation && push_i18n_keys_request.nil?
125
+ fail ArgumentError, "Missing the required parameter 'push_i18n_keys_request' when calling KeysApi.push_i18n_keys"
126
+ end
127
+ # resource path
128
+ local_var_path = '/api/admin/i18n/keys'
129
+
130
+ # query parameters
131
+ query_params = opts[:query_params] || {}
132
+
133
+ # header parameters
134
+ header_params = opts[:header_params] || {}
135
+ # HTTP header 'Accept' (if needed)
136
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
137
+ # HTTP header 'Content-Type'
138
+ content_type = @api_client.select_header_content_type(['application/json'])
139
+ if !content_type.nil?
140
+ header_params['Content-Type'] = content_type
141
+ end
142
+ header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
143
+
144
+ # form parameters
145
+ form_params = opts[:form_params] || {}
146
+
147
+ # http body (model)
148
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(push_i18n_keys_request)
149
+
150
+ # return_type
151
+ return_type = opts[:debug_return_type] || 'PushI18nKeysResponse'
152
+
153
+ # auth_names
154
+ auth_names = opts[:debug_auth_names] || ['bearerSdkKey']
155
+
156
+ new_options = opts.merge(
157
+ :operation => :"KeysApi.push_i18n_keys",
158
+ :header_params => header_params,
159
+ :query_params => query_params,
160
+ :form_params => form_params,
161
+ :body => post_body,
162
+ :auth_names => auth_names,
163
+ :return_type => return_type
164
+ )
165
+
166
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
167
+ if @api_client.config.debugging
168
+ @api_client.config.logger.debug "API called: KeysApi#push_i18n_keys\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
169
+ end
170
+ return data, status_code, headers
171
+ end
172
+
173
+ # Set a key's value and publish it live
174
+ # Upsert a single key's value into a profile and immediately publish the whole profile (KV rebuild + CDN purge) so the new value is live in one call. The key is inserted when new and overwritten when it already exists. `profile` is a profile name — omit it to target the project's default-marked profile, or pass a name to target another locale. **Use case:** Correct or replace one live string and ship it without a separate `push` + `publish`.
175
+ # @param set_i18n_label_request [SetI18nLabelRequest]
176
+ # @param [Hash] opts the optional parameters
177
+ # @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
178
+ # @return [SetI18nLabelResponse]
179
+ def set_i18n_label(set_i18n_label_request, opts = {})
180
+ data, _status_code, _headers = set_i18n_label_with_http_info(set_i18n_label_request, opts)
181
+ data
182
+ end
183
+
184
+ # Set a key&#39;s value and publish it live
185
+ # Upsert a single key&#39;s value into a profile and immediately publish the whole profile (KV rebuild + CDN purge) so the new value is live in one call. The key is inserted when new and overwritten when it already exists. &#x60;profile&#x60; is a profile name — omit it to target the project&#39;s default-marked profile, or pass a name to target another locale. **Use case:** Correct or replace one live string and ship it without a separate &#x60;push&#x60; + &#x60;publish&#x60;.
186
+ # @param set_i18n_label_request [SetI18nLabelRequest]
187
+ # @param [Hash] opts the optional parameters
188
+ # @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
189
+ # @return [Array<(SetI18nLabelResponse, Integer, Hash)>] SetI18nLabelResponse data, response status code and response headers
190
+ def set_i18n_label_with_http_info(set_i18n_label_request, opts = {})
191
+ if @api_client.config.debugging
192
+ @api_client.config.logger.debug 'Calling API: KeysApi.set_i18n_label ...'
193
+ end
194
+ # verify the required parameter 'set_i18n_label_request' is set
195
+ if @api_client.config.client_side_validation && set_i18n_label_request.nil?
196
+ fail ArgumentError, "Missing the required parameter 'set_i18n_label_request' when calling KeysApi.set_i18n_label"
197
+ end
198
+ # resource path
199
+ local_var_path = '/api/admin/i18n/set'
200
+
201
+ # query parameters
202
+ query_params = opts[:query_params] || {}
203
+
204
+ # header parameters
205
+ header_params = opts[:header_params] || {}
206
+ # HTTP header 'Accept' (if needed)
207
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
208
+ # HTTP header 'Content-Type'
209
+ content_type = @api_client.select_header_content_type(['application/json'])
210
+ if !content_type.nil?
211
+ header_params['Content-Type'] = content_type
212
+ end
213
+ header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
214
+
215
+ # form parameters
216
+ form_params = opts[:form_params] || {}
217
+
218
+ # http body (model)
219
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(set_i18n_label_request)
220
+
221
+ # return_type
222
+ return_type = opts[:debug_return_type] || 'SetI18nLabelResponse'
223
+
224
+ # auth_names
225
+ auth_names = opts[:debug_auth_names] || ['bearerSdkKey']
226
+
227
+ new_options = opts.merge(
228
+ :operation => :"KeysApi.set_i18n_label",
229
+ :header_params => header_params,
230
+ :query_params => query_params,
231
+ :form_params => form_params,
232
+ :body => post_body,
233
+ :auth_names => auth_names,
234
+ :return_type => return_type
235
+ )
236
+
237
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
238
+ if @api_client.config.debugging
239
+ @api_client.config.logger.debug "API called: KeysApi#set_i18n_label\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
240
+ end
241
+ return data, status_code, headers
242
+ end
243
+
244
+ # Update one i18n key
245
+ # Overwrite a single existing key's value — the only overwrite path. **Use case:** Correct or re-translate a single string in place.
246
+ # @param id [String] The key&#39;s id.
247
+ # @param update_i18n_key_request [UpdateI18nKeyRequest]
248
+ # @param [Hash] opts the optional parameters
249
+ # @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
250
+ # @return [UpdateI18nKeyResponse]
251
+ def update_i18n_key(id, update_i18n_key_request, opts = {})
252
+ data, _status_code, _headers = update_i18n_key_with_http_info(id, update_i18n_key_request, opts)
253
+ data
254
+ end
255
+
256
+ # Update one i18n key
257
+ # Overwrite a single existing key&#39;s value — the only overwrite path. **Use case:** Correct or re-translate a single string in place.
258
+ # @param id [String] The key&#39;s id.
259
+ # @param update_i18n_key_request [UpdateI18nKeyRequest]
260
+ # @param [Hash] opts the optional parameters
261
+ # @option opts [String] :x_project_id Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
262
+ # @return [Array<(UpdateI18nKeyResponse, Integer, Hash)>] UpdateI18nKeyResponse data, response status code and response headers
263
+ def update_i18n_key_with_http_info(id, update_i18n_key_request, opts = {})
264
+ if @api_client.config.debugging
265
+ @api_client.config.logger.debug 'Calling API: KeysApi.update_i18n_key ...'
266
+ end
267
+ # verify the required parameter 'update_i18n_key_request' is set
268
+ if @api_client.config.client_side_validation && update_i18n_key_request.nil?
269
+ fail ArgumentError, "Missing the required parameter 'update_i18n_key_request' when calling KeysApi.update_i18n_key"
270
+ end
271
+ # resource path
272
+ local_var_path = '/api/admin/i18n/keys/{id}'.sub('{id}', CGI.escape(id.to_s))
273
+
274
+ # query parameters
275
+ query_params = opts[:query_params] || {}
276
+
277
+ # header parameters
278
+ header_params = opts[:header_params] || {}
279
+ # HTTP header 'Accept' (if needed)
280
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
281
+ # HTTP header 'Content-Type'
282
+ content_type = @api_client.select_header_content_type(['application/json'])
283
+ if !content_type.nil?
284
+ header_params['Content-Type'] = content_type
285
+ end
286
+ header_params[:'X-Project-Id'] = opts[:'x_project_id'] if !opts[:'x_project_id'].nil?
287
+
288
+ # form parameters
289
+ form_params = opts[:form_params] || {}
290
+
291
+ # http body (model)
292
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_i18n_key_request)
293
+
294
+ # return_type
295
+ return_type = opts[:debug_return_type] || 'UpdateI18nKeyResponse'
296
+
297
+ # auth_names
298
+ auth_names = opts[:debug_auth_names] || ['bearerSdkKey']
299
+
300
+ new_options = opts.merge(
301
+ :operation => :"KeysApi.update_i18n_key",
302
+ :header_params => header_params,
303
+ :query_params => query_params,
304
+ :form_params => form_params,
305
+ :body => post_body,
306
+ :auth_names => auth_names,
307
+ :return_type => return_type
308
+ )
309
+
310
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
311
+ if @api_client.config.debugging
312
+ @api_client.config.logger.debug "API called: KeysApi#update_i18n_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
313
+ end
314
+ return data, status_code, headers
315
+ end
316
+ end
317
+ end