shipeasy-sdk 3.8.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 (219) 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/sdk/see.rb +7 -5
  5. data/lib/shipeasy/sdk/version.rb +1 -1
  6. data/lib/shipeasy_admin/api/flags_api.rb +127 -214
  7. data/lib/shipeasy_admin/api/killswitch_api.rb +25 -525
  8. data/lib/shipeasy_admin/api/ops_api.rb +44 -351
  9. data/lib/shipeasy_admin/api_client.rb +2 -2
  10. data/lib/shipeasy_admin/api_error.rb +2 -2
  11. data/lib/shipeasy_admin/api_model_base.rb +2 -2
  12. data/lib/shipeasy_admin/configuration.rb +29 -2
  13. data/lib/shipeasy_admin/models/{set_killswitch_value_request.rb → add_to_gate_whitelist_request.rb} +37 -42
  14. data/lib/shipeasy_admin/models/create_public_bug_request.rb +464 -0
  15. data/lib/shipeasy_admin/models/create_public_feature_request_request.rb +407 -0
  16. data/lib/shipeasy_admin/models/{file_error_ticket_response.rb → create_public_ticket_response.rb} +22 -29
  17. data/lib/shipeasy_admin/models/env.rb +2 -2
  18. data/lib/shipeasy_admin/models/error.rb +41 -7
  19. data/lib/shipeasy_admin/models/error_code.rb +14 -3
  20. data/lib/shipeasy_admin/models/{get_experiment_timeseries_response_experiment.rb → gate_whitelist.rb} +51 -42
  21. data/lib/shipeasy_admin/models/gate_whitelist_attr.rb +40 -0
  22. data/lib/shipeasy_admin/models/killswitch_value.rb +2 -2
  23. data/lib/shipeasy_admin/models/notification_target.rb +2 -2
  24. data/lib/shipeasy_admin/models/notification_target_slack_channel.rb +2 -2
  25. data/lib/shipeasy_admin/models/ops_item_priority.rb +42 -0
  26. data/lib/shipeasy_admin/models/ops_item_status.rb +46 -0
  27. data/lib/shipeasy_admin/models/{discard_config_draft_request.rb → remove_from_gate_whitelist_request.rb} +34 -44
  28. data/lib/shipeasy_admin/models/{delete_alert_rule_response.rb → set_gate_whitelist_request.rb} +37 -25
  29. data/lib/shipeasy_admin/models/{set_killswitch_switch_request.rb → toggle_killswitch_request.rb} +30 -72
  30. data/lib/shipeasy_admin/models/{set_killswitch_value_response.rb → toggle_killswitch_response.rb} +100 -6
  31. data/lib/shipeasy_admin/version.rb +2 -2
  32. data/lib/shipeasy_admin.rb +14 -195
  33. metadata +13 -194
  34. data/lib/shipeasy_admin/api/alerts_api.rb +0 -352
  35. data/lib/shipeasy_admin/api/api_keys_api.rb +0 -229
  36. data/lib/shipeasy_admin/api/attributes_api.rb +0 -82
  37. data/lib/shipeasy_admin/api/configs_api.rb +0 -757
  38. data/lib/shipeasy_admin/api/connectors_api.rb +0 -497
  39. data/lib/shipeasy_admin/api/drafts_api.rb +0 -82
  40. data/lib/shipeasy_admin/api/errors_api.rb +0 -389
  41. data/lib/shipeasy_admin/api/events_api.rb +0 -438
  42. data/lib/shipeasy_admin/api/experiments_api.rb +0 -727
  43. data/lib/shipeasy_admin/api/keys_api.rb +0 -317
  44. data/lib/shipeasy_admin/api/metrics_api.rb +0 -281
  45. data/lib/shipeasy_admin/api/profiles_api.rb +0 -222
  46. data/lib/shipeasy_admin/api/projects_api.rb +0 -216
  47. data/lib/shipeasy_admin/api/universes_api.rb +0 -306
  48. data/lib/shipeasy_admin/models/approve_event_request.rb +0 -198
  49. data/lib/shipeasy_admin/models/approve_event_response.rb +0 -166
  50. data/lib/shipeasy_admin/models/claude_trigger_config.rb +0 -204
  51. data/lib/shipeasy_admin/models/connector_event.rb +0 -40
  52. data/lib/shipeasy_admin/models/connector_provider.rb +0 -45
  53. data/lib/shipeasy_admin/models/connector_record.rb +0 -468
  54. data/lib/shipeasy_admin/models/copilot_trigger_config.rb +0 -276
  55. data/lib/shipeasy_admin/models/create_alert_rule_request.rb +0 -383
  56. data/lib/shipeasy_admin/models/create_alert_rule_response.rb +0 -165
  57. data/lib/shipeasy_admin/models/create_claude_trigger_request.rb +0 -309
  58. data/lib/shipeasy_admin/models/create_config_request.rb +0 -291
  59. data/lib/shipeasy_admin/models/create_config_response.rb +0 -201
  60. data/lib/shipeasy_admin/models/create_connector_request.rb +0 -64
  61. data/lib/shipeasy_admin/models/create_connector_response.rb +0 -165
  62. data/lib/shipeasy_admin/models/create_copilot_trigger_request.rb +0 -316
  63. data/lib/shipeasy_admin/models/create_cursor_trigger_request.rb +0 -352
  64. data/lib/shipeasy_admin/models/create_event_request.rb +0 -236
  65. data/lib/shipeasy_admin/models/create_event_response.rb +0 -193
  66. data/lib/shipeasy_admin/models/create_experiment_request.rb +0 -807
  67. data/lib/shipeasy_admin/models/create_experiment_response.rb +0 -212
  68. data/lib/shipeasy_admin/models/create_gate_request.rb +0 -492
  69. data/lib/shipeasy_admin/models/create_gate_response.rb +0 -212
  70. data/lib/shipeasy_admin/models/create_i18n_profile_request.rb +0 -188
  71. data/lib/shipeasy_admin/models/create_i18n_profile_response.rb +0 -193
  72. data/lib/shipeasy_admin/models/create_jules_trigger_request.rb +0 -352
  73. data/lib/shipeasy_admin/models/create_key_request.rb +0 -297
  74. data/lib/shipeasy_admin/models/create_key_response.rb +0 -286
  75. data/lib/shipeasy_admin/models/create_killswitch_request.rb +0 -274
  76. data/lib/shipeasy_admin/models/create_killswitch_response.rb +0 -201
  77. data/lib/shipeasy_admin/models/create_metric_request.rb +0 -403
  78. data/lib/shipeasy_admin/models/create_metric_response.rb +0 -193
  79. data/lib/shipeasy_admin/models/create_o_auth_connector_request.rb +0 -273
  80. data/lib/shipeasy_admin/models/create_ops_item_request.rb +0 -287
  81. data/lib/shipeasy_admin/models/create_ops_item_response.rb +0 -177
  82. data/lib/shipeasy_admin/models/create_universe_request.rb +0 -272
  83. data/lib/shipeasy_admin/models/create_universe_response.rb +0 -212
  84. data/lib/shipeasy_admin/models/cursor_trigger_config.rb +0 -231
  85. data/lib/shipeasy_admin/models/delete_config_response.rb +0 -188
  86. data/lib/shipeasy_admin/models/delete_connector_response.rb +0 -188
  87. data/lib/shipeasy_admin/models/delete_event_response.rb +0 -189
  88. data/lib/shipeasy_admin/models/delete_experiment_response.rb +0 -188
  89. data/lib/shipeasy_admin/models/delete_gate_response.rb +0 -188
  90. data/lib/shipeasy_admin/models/delete_killswitch_response.rb +0 -188
  91. data/lib/shipeasy_admin/models/delete_metric_response.rb +0 -189
  92. data/lib/shipeasy_admin/models/delete_universe_response.rb +0 -188
  93. data/lib/shipeasy_admin/models/disable_gate_response.rb +0 -190
  94. data/lib/shipeasy_admin/models/discard_config_draft_response.rb +0 -188
  95. data/lib/shipeasy_admin/models/enable_gate_response.rb +0 -190
  96. data/lib/shipeasy_admin/models/error_record.rb +0 -597
  97. data/lib/shipeasy_admin/models/error_series_request.rb +0 -251
  98. data/lib/shipeasy_admin/models/error_series_response.rb +0 -195
  99. data/lib/shipeasy_admin/models/error_series_response_rows_inner.rb +0 -192
  100. data/lib/shipeasy_admin/models/experiment_inline_metric.rb +0 -337
  101. data/lib/shipeasy_admin/models/fire_connector_request.rb +0 -149
  102. data/lib/shipeasy_admin/models/fire_connector_response.rb +0 -176
  103. data/lib/shipeasy_admin/models/get_config_response.rb +0 -351
  104. data/lib/shipeasy_admin/models/get_current_project_response.rb +0 -606
  105. data/lib/shipeasy_admin/models/get_current_project_response_module_translations.rb +0 -104
  106. data/lib/shipeasy_admin/models/get_event_response.rb +0 -344
  107. data/lib/shipeasy_admin/models/get_experiment_response.rb +0 -688
  108. data/lib/shipeasy_admin/models/get_experiment_results_response.rb +0 -243
  109. data/lib/shipeasy_admin/models/get_experiment_results_response_experiment.rb +0 -248
  110. data/lib/shipeasy_admin/models/get_experiment_results_response_results_inner.rb +0 -252
  111. data/lib/shipeasy_admin/models/get_experiment_timeseries_response.rb +0 -192
  112. data/lib/shipeasy_admin/models/get_experiment_timeseries_response_series_inner.rb +0 -278
  113. data/lib/shipeasy_admin/models/get_killswitch_response.rb +0 -270
  114. data/lib/shipeasy_admin/models/get_metric_response.rb +0 -378
  115. data/lib/shipeasy_admin/models/get_ops_item_response.rb +0 -349
  116. data/lib/shipeasy_admin/models/jules_trigger_config.rb +0 -240
  117. data/lib/shipeasy_admin/models/key_record.rb +0 -353
  118. data/lib/shipeasy_admin/models/link_pr_to_ops_item_request.rb +0 -186
  119. data/lib/shipeasy_admin/models/link_pr_to_ops_item_response.rb +0 -166
  120. data/lib/shipeasy_admin/models/list_alert_rules_response_inner.rb +0 -478
  121. data/lib/shipeasy_admin/models/list_attributes_response_inner.rb +0 -176
  122. data/lib/shipeasy_admin/models/list_config_activity_response_inner.rb +0 -280
  123. data/lib/shipeasy_admin/models/list_configs_response.rb +0 -178
  124. data/lib/shipeasy_admin/models/list_configs_response_data_inner.rb +0 -351
  125. data/lib/shipeasy_admin/models/list_configs_response_data_inner_drafts_value.rb +0 -237
  126. data/lib/shipeasy_admin/models/list_configs_response_data_inner_envs_value.rb +0 -237
  127. data/lib/shipeasy_admin/models/list_events_response_inner.rb +0 -344
  128. data/lib/shipeasy_admin/models/list_events_response_inner_properties_inner.rb +0 -259
  129. data/lib/shipeasy_admin/models/list_experiments_response.rb +0 -178
  130. data/lib/shipeasy_admin/models/list_experiments_response_data_inner.rb +0 -688
  131. data/lib/shipeasy_admin/models/list_experiments_response_data_inner_groups_inner.rb +0 -241
  132. data/lib/shipeasy_admin/models/list_gates_response.rb +0 -178
  133. data/lib/shipeasy_admin/models/list_gates_response_data_inner.rb +0 -395
  134. data/lib/shipeasy_admin/models/list_gates_response_data_inner_enabled.rb +0 -104
  135. data/lib/shipeasy_admin/models/list_gates_response_data_inner_rules_inner.rb +0 -238
  136. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner.rb +0 -105
  137. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of.rb +0 -358
  138. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of1.rb +0 -331
  139. data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of_ramp.rb +0 -319
  140. data/lib/shipeasy_admin/models/list_i18n_drafts_response_inner.rb +0 -272
  141. data/lib/shipeasy_admin/models/list_i18n_keys_response.rb +0 -195
  142. data/lib/shipeasy_admin/models/list_i18n_keys_response_keys_inner.rb +0 -274
  143. data/lib/shipeasy_admin/models/list_i18n_profiles_response_inner.rb +0 -224
  144. data/lib/shipeasy_admin/models/list_keys_response.rb +0 -180
  145. data/lib/shipeasy_admin/models/list_killswitches_response.rb +0 -178
  146. data/lib/shipeasy_admin/models/list_killswitches_response_data_inner.rb +0 -270
  147. data/lib/shipeasy_admin/models/list_killswitches_response_data_inner_envs_value.rb +0 -248
  148. data/lib/shipeasy_admin/models/list_metrics_response_inner.rb +0 -378
  149. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir.rb +0 -288
  150. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg.rb +0 -113
  151. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of.rb +0 -188
  152. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of1.rb +0 -188
  153. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of2.rb +0 -188
  154. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of3.rb +0 -188
  155. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of4.rb +0 -188
  156. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of5.rb +0 -188
  157. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of6.rb +0 -188
  158. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of7.rb +0 -217
  159. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of8.rb +0 -233
  160. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9.rb +0 -240
  161. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator.rb +0 -266
  162. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator_filters_inner.rb +0 -264
  163. data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_group_by.rb +0 -228
  164. data/lib/shipeasy_admin/models/list_ops_items_response_inner.rb +0 -349
  165. data/lib/shipeasy_admin/models/list_slack_channels_response.rb +0 -195
  166. data/lib/shipeasy_admin/models/list_slack_channels_response_channels_inner.rb +0 -203
  167. data/lib/shipeasy_admin/models/list_universes_response.rb +0 -178
  168. data/lib/shipeasy_admin/models/list_universes_response_data_inner.rb +0 -305
  169. data/lib/shipeasy_admin/models/notify_ops_request.rb +0 -261
  170. data/lib/shipeasy_admin/models/notify_ops_response.rb +0 -193
  171. data/lib/shipeasy_admin/models/publish_config_draft_request.rb +0 -187
  172. data/lib/shipeasy_admin/models/publish_config_draft_response.rb +0 -257
  173. data/lib/shipeasy_admin/models/publish_i18n_profile_response.rb +0 -391
  174. data/lib/shipeasy_admin/models/push_i18n_keys_request.rb +0 -195
  175. data/lib/shipeasy_admin/models/push_i18n_keys_request_keys_inner.rb +0 -192
  176. data/lib/shipeasy_admin/models/push_i18n_keys_response.rb +0 -251
  177. data/lib/shipeasy_admin/models/reanalyze_experiment_response.rb +0 -214
  178. data/lib/shipeasy_admin/models/revoke_key_response.rb +0 -216
  179. data/lib/shipeasy_admin/models/save_config_draft_request.rb +0 -199
  180. data/lib/shipeasy_admin/models/save_config_draft_response.rb +0 -283
  181. data/lib/shipeasy_admin/models/search_hit.rb +0 -284
  182. data/lib/shipeasy_admin/models/search_response.rb +0 -167
  183. data/lib/shipeasy_admin/models/set_experiment_metrics_request.rb +0 -168
  184. data/lib/shipeasy_admin/models/set_experiment_metrics_request_metrics_inner.rb +0 -216
  185. data/lib/shipeasy_admin/models/set_experiment_metrics_response.rb +0 -179
  186. data/lib/shipeasy_admin/models/set_experiment_metrics_response_metrics_inner.rb +0 -201
  187. data/lib/shipeasy_admin/models/set_experiment_status_request.rb +0 -190
  188. data/lib/shipeasy_admin/models/set_experiment_status_response.rb +0 -214
  189. data/lib/shipeasy_admin/models/set_i18n_label_request.rb +0 -213
  190. data/lib/shipeasy_admin/models/set_i18n_label_response.rb +0 -472
  191. data/lib/shipeasy_admin/models/set_killswitch_switch_response.rb +0 -285
  192. data/lib/shipeasy_admin/models/test_connector_response.rb +0 -189
  193. data/lib/shipeasy_admin/models/unset_killswitch_switch_request.rb +0 -234
  194. data/lib/shipeasy_admin/models/unset_killswitch_switch_response.rb +0 -286
  195. data/lib/shipeasy_admin/models/update_alert_rule_request.rb +0 -304
  196. data/lib/shipeasy_admin/models/update_alert_rule_response.rb +0 -165
  197. data/lib/shipeasy_admin/models/update_config_request.rb +0 -198
  198. data/lib/shipeasy_admin/models/update_config_response.rb +0 -165
  199. data/lib/shipeasy_admin/models/update_config_schema_request.rb +0 -168
  200. data/lib/shipeasy_admin/models/update_config_schema_response.rb +0 -165
  201. data/lib/shipeasy_admin/models/update_connector_request.rb +0 -211
  202. data/lib/shipeasy_admin/models/update_connector_response.rb +0 -166
  203. data/lib/shipeasy_admin/models/update_error_status_request.rb +0 -190
  204. data/lib/shipeasy_admin/models/update_event_request.rb +0 -198
  205. data/lib/shipeasy_admin/models/update_event_response.rb +0 -166
  206. data/lib/shipeasy_admin/models/update_experiment_request.rb +0 -747
  207. data/lib/shipeasy_admin/models/update_experiment_response.rb +0 -165
  208. data/lib/shipeasy_admin/models/update_gate_request.rb +0 -403
  209. data/lib/shipeasy_admin/models/update_gate_response.rb +0 -166
  210. data/lib/shipeasy_admin/models/update_i18n_key_request.rb +0 -176
  211. data/lib/shipeasy_admin/models/update_i18n_key_response.rb +0 -166
  212. data/lib/shipeasy_admin/models/update_killswitch_request.rb +0 -224
  213. data/lib/shipeasy_admin/models/update_killswitch_response.rb +0 -165
  214. data/lib/shipeasy_admin/models/update_ops_item_request.rb +0 -205
  215. data/lib/shipeasy_admin/models/update_ops_item_response.rb +0 -166
  216. data/lib/shipeasy_admin/models/update_universe_request.rb +0 -213
  217. data/lib/shipeasy_admin/models/update_universe_response.rb +0 -165
  218. data/lib/shipeasy_admin/models/upsert_project_request.rb +0 -222
  219. 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