shipeasy-sdk 3.7.0 → 4.0.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 (220) hide show
  1. checksums.yaml +4 -4
  2. data/docs/skill/SKILL.md +7 -4
  3. data/lib/shipeasy/admin.rb +23 -20
  4. data/lib/shipeasy/engine.rb +6 -4
  5. data/lib/shipeasy/sdk/see.rb +7 -5
  6. data/lib/shipeasy/sdk/version.rb +1 -1
  7. data/lib/shipeasy_admin/api/flags_api.rb +127 -214
  8. data/lib/shipeasy_admin/api/killswitch_api.rb +25 -525
  9. data/lib/shipeasy_admin/api/ops_api.rb +44 -351
  10. data/lib/shipeasy_admin/api_client.rb +2 -2
  11. data/lib/shipeasy_admin/api_error.rb +2 -2
  12. data/lib/shipeasy_admin/api_model_base.rb +2 -2
  13. data/lib/shipeasy_admin/configuration.rb +29 -2
  14. data/lib/shipeasy_admin/models/{set_killswitch_value_request.rb → add_to_gate_whitelist_request.rb} +37 -42
  15. data/lib/shipeasy_admin/models/create_public_bug_request.rb +464 -0
  16. data/lib/shipeasy_admin/models/create_public_feature_request_request.rb +407 -0
  17. data/lib/shipeasy_admin/models/{file_error_ticket_response.rb → create_public_ticket_response.rb} +22 -29
  18. data/lib/shipeasy_admin/models/env.rb +2 -2
  19. data/lib/shipeasy_admin/models/error.rb +41 -7
  20. data/lib/shipeasy_admin/models/error_code.rb +14 -3
  21. data/lib/shipeasy_admin/models/{get_experiment_timeseries_response_experiment.rb → gate_whitelist.rb} +51 -42
  22. data/lib/shipeasy_admin/models/gate_whitelist_attr.rb +40 -0
  23. data/lib/shipeasy_admin/models/killswitch_value.rb +2 -2
  24. data/lib/shipeasy_admin/models/notification_target.rb +2 -2
  25. data/lib/shipeasy_admin/models/notification_target_slack_channel.rb +2 -2
  26. data/lib/shipeasy_admin/models/ops_item_priority.rb +42 -0
  27. data/lib/shipeasy_admin/models/ops_item_status.rb +46 -0
  28. data/lib/shipeasy_admin/models/{discard_config_draft_request.rb → remove_from_gate_whitelist_request.rb} +34 -44
  29. data/lib/shipeasy_admin/models/{delete_alert_rule_response.rb → set_gate_whitelist_request.rb} +37 -25
  30. data/lib/shipeasy_admin/models/{set_killswitch_switch_request.rb → toggle_killswitch_request.rb} +30 -72
  31. data/lib/shipeasy_admin/models/{set_killswitch_value_response.rb → toggle_killswitch_response.rb} +100 -6
  32. data/lib/shipeasy_admin/version.rb +2 -2
  33. data/lib/shipeasy_admin.rb +14 -195
  34. metadata +14 -195
  35. data/lib/shipeasy_admin/api/alerts_api.rb +0 -352
  36. data/lib/shipeasy_admin/api/api_keys_api.rb +0 -229
  37. data/lib/shipeasy_admin/api/attributes_api.rb +0 -82
  38. data/lib/shipeasy_admin/api/configs_api.rb +0 -757
  39. data/lib/shipeasy_admin/api/connectors_api.rb +0 -497
  40. data/lib/shipeasy_admin/api/drafts_api.rb +0 -82
  41. data/lib/shipeasy_admin/api/errors_api.rb +0 -389
  42. data/lib/shipeasy_admin/api/events_api.rb +0 -438
  43. data/lib/shipeasy_admin/api/experiments_api.rb +0 -727
  44. data/lib/shipeasy_admin/api/keys_api.rb +0 -317
  45. data/lib/shipeasy_admin/api/metrics_api.rb +0 -281
  46. data/lib/shipeasy_admin/api/profiles_api.rb +0 -222
  47. data/lib/shipeasy_admin/api/projects_api.rb +0 -216
  48. data/lib/shipeasy_admin/api/universes_api.rb +0 -306
  49. data/lib/shipeasy_admin/models/approve_event_request.rb +0 -198
  50. data/lib/shipeasy_admin/models/approve_event_response.rb +0 -166
  51. data/lib/shipeasy_admin/models/claude_trigger_config.rb +0 -204
  52. data/lib/shipeasy_admin/models/connector_event.rb +0 -40
  53. data/lib/shipeasy_admin/models/connector_provider.rb +0 -45
  54. data/lib/shipeasy_admin/models/connector_record.rb +0 -468
  55. data/lib/shipeasy_admin/models/copilot_trigger_config.rb +0 -276
  56. data/lib/shipeasy_admin/models/create_alert_rule_request.rb +0 -383
  57. data/lib/shipeasy_admin/models/create_alert_rule_response.rb +0 -165
  58. data/lib/shipeasy_admin/models/create_claude_trigger_request.rb +0 -309
  59. data/lib/shipeasy_admin/models/create_config_request.rb +0 -291
  60. data/lib/shipeasy_admin/models/create_config_response.rb +0 -201
  61. data/lib/shipeasy_admin/models/create_connector_request.rb +0 -64
  62. data/lib/shipeasy_admin/models/create_connector_response.rb +0 -165
  63. data/lib/shipeasy_admin/models/create_copilot_trigger_request.rb +0 -316
  64. data/lib/shipeasy_admin/models/create_cursor_trigger_request.rb +0 -352
  65. data/lib/shipeasy_admin/models/create_event_request.rb +0 -236
  66. data/lib/shipeasy_admin/models/create_event_response.rb +0 -193
  67. data/lib/shipeasy_admin/models/create_experiment_request.rb +0 -807
  68. data/lib/shipeasy_admin/models/create_experiment_response.rb +0 -212
  69. data/lib/shipeasy_admin/models/create_gate_request.rb +0 -492
  70. data/lib/shipeasy_admin/models/create_gate_response.rb +0 -212
  71. data/lib/shipeasy_admin/models/create_i18n_profile_request.rb +0 -188
  72. data/lib/shipeasy_admin/models/create_i18n_profile_response.rb +0 -193
  73. data/lib/shipeasy_admin/models/create_jules_trigger_request.rb +0 -352
  74. data/lib/shipeasy_admin/models/create_key_request.rb +0 -297
  75. data/lib/shipeasy_admin/models/create_key_response.rb +0 -286
  76. data/lib/shipeasy_admin/models/create_killswitch_request.rb +0 -274
  77. data/lib/shipeasy_admin/models/create_killswitch_response.rb +0 -201
  78. data/lib/shipeasy_admin/models/create_metric_request.rb +0 -403
  79. data/lib/shipeasy_admin/models/create_metric_response.rb +0 -193
  80. data/lib/shipeasy_admin/models/create_o_auth_connector_request.rb +0 -273
  81. data/lib/shipeasy_admin/models/create_ops_item_request.rb +0 -287
  82. data/lib/shipeasy_admin/models/create_ops_item_response.rb +0 -177
  83. data/lib/shipeasy_admin/models/create_universe_request.rb +0 -272
  84. data/lib/shipeasy_admin/models/create_universe_response.rb +0 -212
  85. data/lib/shipeasy_admin/models/cursor_trigger_config.rb +0 -231
  86. data/lib/shipeasy_admin/models/delete_config_response.rb +0 -188
  87. data/lib/shipeasy_admin/models/delete_connector_response.rb +0 -188
  88. data/lib/shipeasy_admin/models/delete_event_response.rb +0 -189
  89. data/lib/shipeasy_admin/models/delete_experiment_response.rb +0 -188
  90. data/lib/shipeasy_admin/models/delete_gate_response.rb +0 -188
  91. data/lib/shipeasy_admin/models/delete_killswitch_response.rb +0 -188
  92. data/lib/shipeasy_admin/models/delete_metric_response.rb +0 -189
  93. data/lib/shipeasy_admin/models/delete_universe_response.rb +0 -188
  94. data/lib/shipeasy_admin/models/disable_gate_response.rb +0 -190
  95. data/lib/shipeasy_admin/models/discard_config_draft_response.rb +0 -188
  96. data/lib/shipeasy_admin/models/enable_gate_response.rb +0 -190
  97. data/lib/shipeasy_admin/models/error_record.rb +0 -597
  98. data/lib/shipeasy_admin/models/error_series_request.rb +0 -251
  99. data/lib/shipeasy_admin/models/error_series_response.rb +0 -195
  100. data/lib/shipeasy_admin/models/error_series_response_rows_inner.rb +0 -192
  101. data/lib/shipeasy_admin/models/experiment_inline_metric.rb +0 -337
  102. data/lib/shipeasy_admin/models/fire_connector_request.rb +0 -149
  103. data/lib/shipeasy_admin/models/fire_connector_response.rb +0 -176
  104. data/lib/shipeasy_admin/models/get_config_response.rb +0 -351
  105. data/lib/shipeasy_admin/models/get_current_project_response.rb +0 -606
  106. data/lib/shipeasy_admin/models/get_current_project_response_module_translations.rb +0 -104
  107. data/lib/shipeasy_admin/models/get_event_response.rb +0 -344
  108. data/lib/shipeasy_admin/models/get_experiment_response.rb +0 -688
  109. data/lib/shipeasy_admin/models/get_experiment_results_response.rb +0 -243
  110. data/lib/shipeasy_admin/models/get_experiment_results_response_experiment.rb +0 -248
  111. data/lib/shipeasy_admin/models/get_experiment_results_response_results_inner.rb +0 -252
  112. data/lib/shipeasy_admin/models/get_experiment_timeseries_response.rb +0 -192
  113. data/lib/shipeasy_admin/models/get_experiment_timeseries_response_series_inner.rb +0 -278
  114. data/lib/shipeasy_admin/models/get_killswitch_response.rb +0 -270
  115. data/lib/shipeasy_admin/models/get_metric_response.rb +0 -378
  116. data/lib/shipeasy_admin/models/get_ops_item_response.rb +0 -349
  117. data/lib/shipeasy_admin/models/jules_trigger_config.rb +0 -240
  118. data/lib/shipeasy_admin/models/key_record.rb +0 -353
  119. data/lib/shipeasy_admin/models/link_pr_to_ops_item_request.rb +0 -186
  120. data/lib/shipeasy_admin/models/link_pr_to_ops_item_response.rb +0 -166
  121. data/lib/shipeasy_admin/models/list_alert_rules_response_inner.rb +0 -478
  122. data/lib/shipeasy_admin/models/list_attributes_response_inner.rb +0 -176
  123. data/lib/shipeasy_admin/models/list_config_activity_response_inner.rb +0 -280
  124. data/lib/shipeasy_admin/models/list_configs_response.rb +0 -178
  125. data/lib/shipeasy_admin/models/list_configs_response_data_inner.rb +0 -351
  126. data/lib/shipeasy_admin/models/list_configs_response_data_inner_drafts_value.rb +0 -237
  127. data/lib/shipeasy_admin/models/list_configs_response_data_inner_envs_value.rb +0 -237
  128. data/lib/shipeasy_admin/models/list_events_response_inner.rb +0 -344
  129. data/lib/shipeasy_admin/models/list_events_response_inner_properties_inner.rb +0 -259
  130. data/lib/shipeasy_admin/models/list_experiments_response.rb +0 -178
  131. data/lib/shipeasy_admin/models/list_experiments_response_data_inner.rb +0 -688
  132. data/lib/shipeasy_admin/models/list_experiments_response_data_inner_groups_inner.rb +0 -241
  133. data/lib/shipeasy_admin/models/list_gates_response.rb +0 -178
  134. data/lib/shipeasy_admin/models/list_gates_response_data_inner.rb +0 -395
  135. data/lib/shipeasy_admin/models/list_gates_response_data_inner_enabled.rb +0 -104
  136. data/lib/shipeasy_admin/models/list_gates_response_data_inner_rules_inner.rb +0 -238
  137. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner.rb +0 -105
  138. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of.rb +0 -358
  139. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of1.rb +0 -331
  140. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of_ramp.rb +0 -319
  141. data/lib/shipeasy_admin/models/list_i18n_drafts_response_inner.rb +0 -272
  142. data/lib/shipeasy_admin/models/list_i18n_keys_response.rb +0 -195
  143. data/lib/shipeasy_admin/models/list_i18n_keys_response_keys_inner.rb +0 -274
  144. data/lib/shipeasy_admin/models/list_i18n_profiles_response_inner.rb +0 -224
  145. data/lib/shipeasy_admin/models/list_keys_response.rb +0 -180
  146. data/lib/shipeasy_admin/models/list_killswitches_response.rb +0 -178
  147. data/lib/shipeasy_admin/models/list_killswitches_response_data_inner.rb +0 -270
  148. data/lib/shipeasy_admin/models/list_killswitches_response_data_inner_envs_value.rb +0 -248
  149. data/lib/shipeasy_admin/models/list_metrics_response_inner.rb +0 -378
  150. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir.rb +0 -288
  151. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg.rb +0 -113
  152. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of.rb +0 -188
  153. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of1.rb +0 -188
  154. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of2.rb +0 -188
  155. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of3.rb +0 -188
  156. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of4.rb +0 -188
  157. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of5.rb +0 -188
  158. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of6.rb +0 -188
  159. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of7.rb +0 -217
  160. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of8.rb +0 -233
  161. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9.rb +0 -240
  162. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator.rb +0 -266
  163. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator_filters_inner.rb +0 -264
  164. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_group_by.rb +0 -228
  165. data/lib/shipeasy_admin/models/list_ops_items_response_inner.rb +0 -349
  166. data/lib/shipeasy_admin/models/list_slack_channels_response.rb +0 -195
  167. data/lib/shipeasy_admin/models/list_slack_channels_response_channels_inner.rb +0 -203
  168. data/lib/shipeasy_admin/models/list_universes_response.rb +0 -178
  169. data/lib/shipeasy_admin/models/list_universes_response_data_inner.rb +0 -305
  170. data/lib/shipeasy_admin/models/notify_ops_request.rb +0 -261
  171. data/lib/shipeasy_admin/models/notify_ops_response.rb +0 -193
  172. data/lib/shipeasy_admin/models/publish_config_draft_request.rb +0 -187
  173. data/lib/shipeasy_admin/models/publish_config_draft_response.rb +0 -257
  174. data/lib/shipeasy_admin/models/publish_i18n_profile_response.rb +0 -391
  175. data/lib/shipeasy_admin/models/push_i18n_keys_request.rb +0 -195
  176. data/lib/shipeasy_admin/models/push_i18n_keys_request_keys_inner.rb +0 -192
  177. data/lib/shipeasy_admin/models/push_i18n_keys_response.rb +0 -251
  178. data/lib/shipeasy_admin/models/reanalyze_experiment_response.rb +0 -214
  179. data/lib/shipeasy_admin/models/revoke_key_response.rb +0 -216
  180. data/lib/shipeasy_admin/models/save_config_draft_request.rb +0 -199
  181. data/lib/shipeasy_admin/models/save_config_draft_response.rb +0 -283
  182. data/lib/shipeasy_admin/models/search_hit.rb +0 -284
  183. data/lib/shipeasy_admin/models/search_response.rb +0 -167
  184. data/lib/shipeasy_admin/models/set_experiment_metrics_request.rb +0 -168
  185. data/lib/shipeasy_admin/models/set_experiment_metrics_request_metrics_inner.rb +0 -216
  186. data/lib/shipeasy_admin/models/set_experiment_metrics_response.rb +0 -179
  187. data/lib/shipeasy_admin/models/set_experiment_metrics_response_metrics_inner.rb +0 -201
  188. data/lib/shipeasy_admin/models/set_experiment_status_request.rb +0 -190
  189. data/lib/shipeasy_admin/models/set_experiment_status_response.rb +0 -214
  190. data/lib/shipeasy_admin/models/set_i18n_label_request.rb +0 -213
  191. data/lib/shipeasy_admin/models/set_i18n_label_response.rb +0 -472
  192. data/lib/shipeasy_admin/models/set_killswitch_switch_response.rb +0 -285
  193. data/lib/shipeasy_admin/models/test_connector_response.rb +0 -189
  194. data/lib/shipeasy_admin/models/unset_killswitch_switch_request.rb +0 -234
  195. data/lib/shipeasy_admin/models/unset_killswitch_switch_response.rb +0 -286
  196. data/lib/shipeasy_admin/models/update_alert_rule_request.rb +0 -304
  197. data/lib/shipeasy_admin/models/update_alert_rule_response.rb +0 -165
  198. data/lib/shipeasy_admin/models/update_config_request.rb +0 -198
  199. data/lib/shipeasy_admin/models/update_config_response.rb +0 -165
  200. data/lib/shipeasy_admin/models/update_config_schema_request.rb +0 -168
  201. data/lib/shipeasy_admin/models/update_config_schema_response.rb +0 -165
  202. data/lib/shipeasy_admin/models/update_connector_request.rb +0 -211
  203. data/lib/shipeasy_admin/models/update_connector_response.rb +0 -166
  204. data/lib/shipeasy_admin/models/update_error_status_request.rb +0 -190
  205. data/lib/shipeasy_admin/models/update_event_request.rb +0 -198
  206. data/lib/shipeasy_admin/models/update_event_response.rb +0 -166
  207. data/lib/shipeasy_admin/models/update_experiment_request.rb +0 -747
  208. data/lib/shipeasy_admin/models/update_experiment_response.rb +0 -165
  209. data/lib/shipeasy_admin/models/update_gate_request.rb +0 -403
  210. data/lib/shipeasy_admin/models/update_gate_response.rb +0 -166
  211. data/lib/shipeasy_admin/models/update_i18n_key_request.rb +0 -176
  212. data/lib/shipeasy_admin/models/update_i18n_key_response.rb +0 -166
  213. data/lib/shipeasy_admin/models/update_killswitch_request.rb +0 -224
  214. data/lib/shipeasy_admin/models/update_killswitch_response.rb +0 -165
  215. data/lib/shipeasy_admin/models/update_ops_item_request.rb +0 -205
  216. data/lib/shipeasy_admin/models/update_ops_item_response.rb +0 -166
  217. data/lib/shipeasy_admin/models/update_universe_request.rb +0 -213
  218. data/lib/shipeasy_admin/models/update_universe_response.rb +0 -165
  219. data/lib/shipeasy_admin/models/upsert_project_request.rb +0 -222
  220. data/lib/shipeasy_admin/models/upsert_project_response.rb +0 -260
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #Shipeasy Admin API
2
+ #Shipeasy Admin API (server-SDK surface)
3
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.
4
+ #The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
5
5
 
6
6
  The version of the OpenAPI document: 2.0.0
7
7
 
@@ -23,15 +23,26 @@ module Shipeasy::Admin::Generated
23
23
  ALREADY_EXISTS = "ALREADY_EXISTS".freeze
24
24
  INVALID_TRANSITION = "INVALID_TRANSITION".freeze
25
25
  IMMUTABLE_FIELD = "IMMUTABLE_FIELD".freeze
26
+ READ_ONLY = "READ_ONLY".freeze
26
27
  REFERENCED_IN_USE = "REFERENCED_IN_USE".freeze
27
28
  VALIDATION = "VALIDATION".freeze
28
29
  REFERENCED_NOT_FOUND = "REFERENCED_NOT_FOUND".freeze
29
30
  GROUPS_WEIGHT_SUM = "GROUPS_WEIGHT_SUM".freeze
30
31
  EVENT_PENDING = "EVENT_PENDING".freeze
31
32
  INTERNAL = "INTERNAL".freeze
33
+ PLAN_LIMIT = "PLAN_LIMIT".freeze
34
+ EXPERIMENT_NO_GOAL_METRIC = "EXPERIMENT_NO_GOAL_METRIC".freeze
35
+ EXPERIMENT_ARCHIVED_RESTART = "EXPERIMENT_ARCHIVED_RESTART".freeze
36
+ EXPERIMENT_RESTORE_INVALID = "EXPERIMENT_RESTORE_INVALID".freeze
37
+ EXPERIMENT_NOT_RUNNING = "EXPERIMENT_NOT_RUNNING".freeze
38
+ EXPERIMENT_RUNNING_ARCHIVE = "EXPERIMENT_RUNNING_ARCHIVE".freeze
39
+ EXPERIMENT_IMMUTABLE_FIELD = "EXPERIMENT_IMMUTABLE_FIELD".freeze
40
+ METRIC_NOT_FOUND = "METRIC_NOT_FOUND".freeze
41
+ METRIC_UNKNOWN_ID = "METRIC_UNKNOWN_ID".freeze
42
+ AGENT_NOT_CONNECTED = "AGENT_NOT_CONNECTED".freeze
32
43
 
33
44
  def self.all_vars
34
- @all_vars ||= [BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, PLAN_REQUIRED, NOT_FOUND, ALREADY_EXISTS, INVALID_TRANSITION, IMMUTABLE_FIELD, REFERENCED_IN_USE, VALIDATION, REFERENCED_NOT_FOUND, GROUPS_WEIGHT_SUM, EVENT_PENDING, INTERNAL].freeze
45
+ @all_vars ||= [BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, PLAN_REQUIRED, NOT_FOUND, ALREADY_EXISTS, INVALID_TRANSITION, IMMUTABLE_FIELD, READ_ONLY, REFERENCED_IN_USE, VALIDATION, REFERENCED_NOT_FOUND, GROUPS_WEIGHT_SUM, EVENT_PENDING, INTERNAL, PLAN_LIMIT, EXPERIMENT_NO_GOAL_METRIC, EXPERIMENT_ARCHIVED_RESTART, EXPERIMENT_RESTORE_INVALID, EXPERIMENT_NOT_RUNNING, EXPERIMENT_RUNNING_ARCHIVE, EXPERIMENT_IMMUTABLE_FIELD, METRIC_NOT_FOUND, METRIC_UNKNOWN_ID, AGENT_NOT_CONNECTED].freeze
35
46
  end
36
47
 
37
48
  # Builds the enum from string
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #Shipeasy Admin API
2
+ #Shipeasy Admin API (server-SDK surface)
3
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.
4
+ #The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
5
5
 
6
6
  The version of the OpenAPI document: 2.0.0
7
7
 
@@ -14,13 +14,18 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Shipeasy::Admin::Generated
17
- class GetExperimentTimeseriesResponseExperiment < ApiModelBase
17
+ # A gate's whitelist — the always-first allowlist that admits the listed identities before any targeting rule or rollout runs. Backed by the pinned `whitelist` entry at the head of the gate's `stack`, so it is the same list the dashboard's Whitelist block edits.
18
+ class GateWhitelist < ApiModelBase
19
+ # Resolved gate id.
18
20
  attr_accessor :id
19
21
 
20
- # Stable experiment key. Single segment or `folder.name` (a-z, 0-9, `_`/`-`; max 128 chars). Used by SDKs as `Shipeasy.getExperiment(user, '<name>')`. Immutable after create.
22
+ # The gate's stable `name`.
21
23
  attr_accessor :name
22
24
 
23
- attr_accessor :status
25
+ attr_accessor :attr
26
+
27
+ # The whitelisted identities, in the order they are stored. Deduplicated case-sensitively; an empty array means the gate has no whitelist.
28
+ attr_accessor :entries
24
29
 
25
30
  class EnumAttributeValidator
26
31
  attr_reader :datatype
@@ -49,7 +54,8 @@ module Shipeasy::Admin::Generated
49
54
  {
50
55
  :'id' => :'id',
51
56
  :'name' => :'name',
52
- :'status' => :'status'
57
+ :'attr' => :'attr',
58
+ :'entries' => :'entries'
53
59
  }
54
60
  end
55
61
 
@@ -68,7 +74,8 @@ module Shipeasy::Admin::Generated
68
74
  {
69
75
  :'id' => :'String',
70
76
  :'name' => :'String',
71
- :'status' => :'String'
77
+ :'attr' => :'GateWhitelistAttr',
78
+ :'entries' => :'Array<String>'
72
79
  }
73
80
  end
74
81
 
@@ -82,14 +89,14 @@ module Shipeasy::Admin::Generated
82
89
  # @param [Hash] attributes Model attributes in the form of hash
83
90
  def initialize(attributes = {})
84
91
  if (!attributes.is_a?(Hash))
85
- fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::GetExperimentTimeseriesResponseExperiment` initialize method"
92
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::GateWhitelist` initialize method"
86
93
  end
87
94
 
88
95
  # check to see if the attribute exists and convert string to symbol for hash key
89
96
  acceptable_attribute_map = self.class.acceptable_attribute_map
90
97
  attributes = attributes.each_with_object({}) { |(k, v), h|
91
98
  if (!acceptable_attribute_map.key?(k.to_sym))
92
- fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::GetExperimentTimeseriesResponseExperiment`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
99
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::GateWhitelist`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
93
100
  end
94
101
  h[k.to_sym] = v
95
102
  }
@@ -106,10 +113,18 @@ module Shipeasy::Admin::Generated
106
113
  self.name = nil
107
114
  end
108
115
 
109
- if attributes.key?(:'status')
110
- self.status = attributes[:'status']
116
+ if attributes.key?(:'attr')
117
+ self.attr = attributes[:'attr']
111
118
  else
112
- self.status = nil
119
+ self.attr = nil
120
+ end
121
+
122
+ if attributes.key?(:'entries')
123
+ if (value = attributes[:'entries']).is_a?(Array)
124
+ self.entries = value
125
+ end
126
+ else
127
+ self.entries = nil
113
128
  end
114
129
  end
115
130
 
@@ -126,17 +141,12 @@ module Shipeasy::Admin::Generated
126
141
  invalid_properties.push('invalid value for "name", name cannot be nil.')
127
142
  end
128
143
 
129
- if @name.to_s.length > 128
130
- invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 128.')
131
- end
132
-
133
- pattern = Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/)
134
- if @name !~ pattern
135
- invalid_properties.push("invalid value for \"name\", must conform to the pattern #{pattern}.")
144
+ if @attr.nil?
145
+ invalid_properties.push('invalid value for "attr", attr cannot be nil.')
136
146
  end
137
147
 
138
- if @status.nil?
139
- invalid_properties.push('invalid value for "status", status cannot be nil.')
148
+ if @entries.nil?
149
+ invalid_properties.push('invalid value for "entries", entries cannot be nil.')
140
150
  end
141
151
 
142
152
  invalid_properties
@@ -148,11 +158,8 @@ module Shipeasy::Admin::Generated
148
158
  warn '[DEPRECATED] the `valid?` method is obsolete'
149
159
  return false if @id.nil?
150
160
  return false if @name.nil?
151
- return false if @name.to_s.length > 128
152
- return false if @name !~ Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/)
153
- return false if @status.nil?
154
- status_validator = EnumAttributeValidator.new('String', ["draft", "running", "stopped", "archived"])
155
- return false unless status_validator.valid?(@status)
161
+ return false if @attr.nil?
162
+ return false if @entries.nil?
156
163
  true
157
164
  end
158
165
 
@@ -173,26 +180,27 @@ module Shipeasy::Admin::Generated
173
180
  fail ArgumentError, 'name cannot be nil'
174
181
  end
175
182
 
176
- if name.to_s.length > 128
177
- fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 128.'
178
- end
183
+ @name = name
184
+ end
179
185
 
180
- pattern = Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/)
181
- if name !~ pattern
182
- fail ArgumentError, "invalid value for \"name\", must conform to the pattern #{pattern}."
186
+ # Custom attribute writer method with validation
187
+ # @param [Object] attr Value to be assigned
188
+ def attr=(attr)
189
+ if attr.nil?
190
+ fail ArgumentError, 'attr cannot be nil'
183
191
  end
184
192
 
185
- @name = name
193
+ @attr = attr
186
194
  end
187
195
 
188
- # Custom attribute writer method checking allowed values (enum).
189
- # @param [Object] status Object to be assigned
190
- def status=(status)
191
- validator = EnumAttributeValidator.new('String', ["draft", "running", "stopped", "archived"])
192
- unless validator.valid?(status)
193
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
196
+ # Custom attribute writer method with validation
197
+ # @param [Object] entries Value to be assigned
198
+ def entries=(entries)
199
+ if entries.nil?
200
+ fail ArgumentError, 'entries cannot be nil'
194
201
  end
195
- @status = status
202
+
203
+ @entries = entries
196
204
  end
197
205
 
198
206
  # Checks equality by comparing each attribute.
@@ -202,7 +210,8 @@ module Shipeasy::Admin::Generated
202
210
  self.class == o.class &&
203
211
  id == o.id &&
204
212
  name == o.name &&
205
- status == o.status
213
+ attr == o.attr &&
214
+ entries == o.entries
206
215
  end
207
216
 
208
217
  # @see the `==` method
@@ -214,7 +223,7 @@ module Shipeasy::Admin::Generated
214
223
  # Calculates hash code according to all attributes.
215
224
  # @return [Integer] Hash code
216
225
  def hash
217
- [id, name, status].hash
226
+ [id, name, attr, entries].hash
218
227
  end
219
228
 
220
229
  # Builds the object from hash
@@ -0,0 +1,40 @@
1
+ =begin
2
+ #Shipeasy Admin API (server-SDK surface)
3
+
4
+ #The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
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 'date'
14
+ require 'time'
15
+
16
+ module Shipeasy::Admin::Generated
17
+ class GateWhitelistAttr
18
+ EMAIL = "email".freeze
19
+ USER_ID = "user_id".freeze
20
+
21
+ def self.all_vars
22
+ @all_vars ||= [EMAIL, USER_ID].freeze
23
+ end
24
+
25
+ # Builds the enum from string
26
+ # @param [String] The enum value in the form of the string
27
+ # @return [String] The enum value
28
+ def self.build_from_hash(value)
29
+ new.build_from_hash(value)
30
+ end
31
+
32
+ # Builds the enum from string
33
+ # @param [String] The enum value in the form of the string
34
+ # @return [String] The enum value
35
+ def build_from_hash(value)
36
+ return value if GateWhitelistAttr.all_vars.include?(value)
37
+ raise "Invalid ENUM value #{value} for class #GateWhitelistAttr"
38
+ end
39
+ end
40
+ end
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #Shipeasy Admin API
2
+ #Shipeasy Admin API (server-SDK surface)
3
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.
4
+ #The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
5
5
 
6
6
  The version of the OpenAPI document: 2.0.0
7
7
 
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #Shipeasy Admin API
2
+ #Shipeasy Admin API (server-SDK surface)
3
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.
4
+ #The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
5
5
 
6
6
  The version of the OpenAPI document: 2.0.0
7
7
 
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #Shipeasy Admin API
2
+ #Shipeasy Admin API (server-SDK surface)
3
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.
4
+ #The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
5
5
 
6
6
  The version of the OpenAPI document: 2.0.0
7
7
 
@@ -0,0 +1,42 @@
1
+ =begin
2
+ #Shipeasy Admin API (server-SDK surface)
3
+
4
+ #The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
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 'date'
14
+ require 'time'
15
+
16
+ module Shipeasy::Admin::Generated
17
+ class OpsItemPriority
18
+ NICE_TO_HAVE = "nice_to_have".freeze
19
+ MEDIUM = "medium".freeze
20
+ HIGH = "high".freeze
21
+ CRITICAL = "critical".freeze
22
+
23
+ def self.all_vars
24
+ @all_vars ||= [NICE_TO_HAVE, MEDIUM, HIGH, CRITICAL].freeze
25
+ end
26
+
27
+ # Builds the enum from string
28
+ # @param [String] The enum value in the form of the string
29
+ # @return [String] The enum value
30
+ def self.build_from_hash(value)
31
+ new.build_from_hash(value)
32
+ end
33
+
34
+ # Builds the enum from string
35
+ # @param [String] The enum value in the form of the string
36
+ # @return [String] The enum value
37
+ def build_from_hash(value)
38
+ return value if OpsItemPriority.all_vars.include?(value)
39
+ raise "Invalid ENUM value #{value} for class #OpsItemPriority"
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,46 @@
1
+ =begin
2
+ #Shipeasy Admin API (server-SDK surface)
3
+
4
+ #The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
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 'date'
14
+ require 'time'
15
+
16
+ module Shipeasy::Admin::Generated
17
+ class OpsItemStatus
18
+ OPEN = "open".freeze
19
+ PENDING_APPROVAL = "pending_approval".freeze
20
+ INVESTIGATING_BY_AI = "investigating_by_ai".freeze
21
+ IN_PROGRESS = "in_progress".freeze
22
+ BLOCKED = "blocked".freeze
23
+ READY_FOR_QA = "ready_for_qa".freeze
24
+ RESOLVED = "resolved".freeze
25
+ WONT_FIX = "wont_fix".freeze
26
+
27
+ def self.all_vars
28
+ @all_vars ||= [OPEN, PENDING_APPROVAL, INVESTIGATING_BY_AI, IN_PROGRESS, BLOCKED, READY_FOR_QA, RESOLVED, WONT_FIX].freeze
29
+ end
30
+
31
+ # Builds the enum from string
32
+ # @param [String] The enum value in the form of the string
33
+ # @return [String] The enum value
34
+ def self.build_from_hash(value)
35
+ new.build_from_hash(value)
36
+ end
37
+
38
+ # Builds the enum from string
39
+ # @param [String] The enum value in the form of the string
40
+ # @return [String] The enum value
41
+ def build_from_hash(value)
42
+ return value if OpsItemStatus.all_vars.include?(value)
43
+ raise "Invalid ENUM value #{value} for class #OpsItemStatus"
44
+ end
45
+ end
46
+ end
@@ -1,7 +1,7 @@
1
1
  =begin
2
- #Shipeasy Admin API
2
+ #Shipeasy Admin API (server-SDK surface)
3
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.
4
+ #The slice of the Shipeasy admin API that the published server SDKs expose as their optional `AdminClient`. Authenticate with an admin SDK key (`Authorization: Bearer sdk_admin_…`) and scope every request to a project via the `X-Project-Id` header. Three capabilities, nothing else: - **File a public ticket** — a bug or a feature request onto the project's ops queue. - **Toggle a kill switch** — flip the switch itself, or one of its named sub-switches, on one environment. - **Manage a flag's whitelist** — read, replace, add to, or remove from the allowlist that admits specific identities ahead of every targeting rule. Everything else in the admin API is reachable through the Shipeasy CLI and MCP server, which speak the complete contract (`openapi.yaml`).
5
5
 
6
6
  The version of the OpenAPI document: 2.0.0
7
7
 
@@ -14,36 +14,15 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Shipeasy::Admin::Generated
17
- # Body for `POST /api/admin/configs/{id}/publish` and `DELETE /api/admin/configs/{id}/drafts`. Names the target env.
18
- class DiscardConfigDraftRequest < ApiModelBase
19
- attr_accessor :env
20
-
21
- class EnumAttributeValidator
22
- attr_reader :datatype
23
- attr_reader :allowable_values
24
-
25
- def initialize(datatype, allowable_values)
26
- @allowable_values = allowable_values.map do |value|
27
- case datatype.to_s
28
- when /Integer/i
29
- value.to_i
30
- when /Float/i
31
- value.to_f
32
- else
33
- value
34
- end
35
- end
36
- end
37
-
38
- def valid?(value)
39
- !value || allowable_values.include?(value)
40
- end
41
- end
17
+ # Body for `DELETE /api/admin/gates/{id}/whitelist`. Removes entries from the whitelist. Removing the last entry leaves an empty whitelist in place — use `PUT` with `entries: []` to drop the block itself.
18
+ class RemoveFromGateWhitelistRequest < ApiModelBase
19
+ # Identities to stop admitting. Entries that aren't listed are skipped, so the call is idempotent.
20
+ attr_accessor :entries
42
21
 
43
22
  # Attribute mapping from ruby-style variable name to JSON key.
44
23
  def self.attribute_map
45
24
  {
46
- :'env' => :'env'
25
+ :'entries' => :'entries'
47
26
  }
48
27
  end
49
28
 
@@ -60,7 +39,7 @@ module Shipeasy::Admin::Generated
60
39
  # Attribute type mapping.
61
40
  def self.openapi_types
62
41
  {
63
- :'env' => :'Env'
42
+ :'entries' => :'Array<String>'
64
43
  }
65
44
  end
66
45
 
@@ -74,22 +53,24 @@ module Shipeasy::Admin::Generated
74
53
  # @param [Hash] attributes Model attributes in the form of hash
75
54
  def initialize(attributes = {})
76
55
  if (!attributes.is_a?(Hash))
77
- fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::DiscardConfigDraftRequest` initialize method"
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::RemoveFromGateWhitelistRequest` initialize method"
78
57
  end
79
58
 
80
59
  # check to see if the attribute exists and convert string to symbol for hash key
81
60
  acceptable_attribute_map = self.class.acceptable_attribute_map
82
61
  attributes = attributes.each_with_object({}) { |(k, v), h|
83
62
  if (!acceptable_attribute_map.key?(k.to_sym))
84
- fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::DiscardConfigDraftRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::RemoveFromGateWhitelistRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
85
64
  end
86
65
  h[k.to_sym] = v
87
66
  }
88
67
 
89
- if attributes.key?(:'env')
90
- self.env = attributes[:'env']
68
+ if attributes.key?(:'entries')
69
+ if (value = attributes[:'entries']).is_a?(Array)
70
+ self.entries = value
71
+ end
91
72
  else
92
- self.env = nil
73
+ self.entries = nil
93
74
  end
94
75
  end
95
76
 
@@ -98,8 +79,12 @@ module Shipeasy::Admin::Generated
98
79
  def list_invalid_properties
99
80
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
100
81
  invalid_properties = Array.new
101
- if @env.nil?
102
- invalid_properties.push('invalid value for "env", env cannot be nil.')
82
+ if @entries.nil?
83
+ invalid_properties.push('invalid value for "entries", entries cannot be nil.')
84
+ end
85
+
86
+ if @entries.length < 1
87
+ invalid_properties.push('invalid value for "entries", number of items must be greater than or equal to 1.')
103
88
  end
104
89
 
105
90
  invalid_properties
@@ -109,18 +94,23 @@ module Shipeasy::Admin::Generated
109
94
  # @return true if the model is valid
110
95
  def valid?
111
96
  warn '[DEPRECATED] the `valid?` method is obsolete'
112
- return false if @env.nil?
97
+ return false if @entries.nil?
98
+ return false if @entries.length < 1
113
99
  true
114
100
  end
115
101
 
116
102
  # Custom attribute writer method with validation
117
- # @param [Object] env Value to be assigned
118
- def env=(env)
119
- if env.nil?
120
- fail ArgumentError, 'env cannot be nil'
103
+ # @param [Object] entries Value to be assigned
104
+ def entries=(entries)
105
+ if entries.nil?
106
+ fail ArgumentError, 'entries cannot be nil'
107
+ end
108
+
109
+ if entries.length < 1
110
+ fail ArgumentError, 'invalid value for "entries", number of items must be greater than or equal to 1.'
121
111
  end
122
112
 
123
- @env = env
113
+ @entries = entries
124
114
  end
125
115
 
126
116
  # Checks equality by comparing each attribute.
@@ -128,7 +118,7 @@ module Shipeasy::Admin::Generated
128
118
  def ==(o)
129
119
  return true if self.equal?(o)
130
120
  self.class == o.class &&
131
- env == o.env
121
+ entries == o.entries
132
122
  end
133
123
 
134
124
  # @see the `==` method
@@ -140,7 +130,7 @@ module Shipeasy::Admin::Generated
140
130
  # Calculates hash code according to all attributes.
141
131
  # @return [Integer] Hash code
142
132
  def hash
143
- [env].hash
133
+ [entries].hash
144
134
  end
145
135
 
146
136
  # Builds the object from hash