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,276 +0,0 @@
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 'date'
14
- require 'time'
15
-
16
- module Shipeasy::Admin::Generated
17
- # Non-secret config for a Copilot trigger.
18
- class CopilotTriggerConfig < ApiModelBase
19
- # GitHub repo owner. Together with `repo` forms the connector's idempotency key (`owner/repo`).
20
- attr_accessor :owner
21
-
22
- # GitHub repo name.
23
- attr_accessor :repo
24
-
25
- # Optional base ref the agent branches from.
26
- attr_accessor :base_ref
27
-
28
- # Shipeasy project id the run targets.
29
- attr_accessor :project_id
30
-
31
- # Attribute mapping from ruby-style variable name to JSON key.
32
- def self.attribute_map
33
- {
34
- :'owner' => :'owner',
35
- :'repo' => :'repo',
36
- :'base_ref' => :'baseRef',
37
- :'project_id' => :'projectId'
38
- }
39
- end
40
-
41
- # Returns attribute mapping this model knows about
42
- def self.acceptable_attribute_map
43
- attribute_map
44
- end
45
-
46
- # Returns all the JSON keys this model knows about
47
- def self.acceptable_attributes
48
- acceptable_attribute_map.values
49
- end
50
-
51
- # Attribute type mapping.
52
- def self.openapi_types
53
- {
54
- :'owner' => :'String',
55
- :'repo' => :'String',
56
- :'base_ref' => :'String',
57
- :'project_id' => :'String'
58
- }
59
- end
60
-
61
- # List of attributes with nullable: true
62
- def self.openapi_nullable
63
- Set.new([
64
- ])
65
- end
66
-
67
- # Initializes the object
68
- # @param [Hash] attributes Model attributes in the form of hash
69
- def initialize(attributes = {})
70
- if (!attributes.is_a?(Hash))
71
- fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::CopilotTriggerConfig` initialize method"
72
- end
73
-
74
- # check to see if the attribute exists and convert string to symbol for hash key
75
- acceptable_attribute_map = self.class.acceptable_attribute_map
76
- attributes = attributes.each_with_object({}) { |(k, v), h|
77
- if (!acceptable_attribute_map.key?(k.to_sym))
78
- fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::CopilotTriggerConfig`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
79
- end
80
- h[k.to_sym] = v
81
- }
82
-
83
- if attributes.key?(:'owner')
84
- self.owner = attributes[:'owner']
85
- else
86
- self.owner = nil
87
- end
88
-
89
- if attributes.key?(:'repo')
90
- self.repo = attributes[:'repo']
91
- else
92
- self.repo = nil
93
- end
94
-
95
- if attributes.key?(:'base_ref')
96
- self.base_ref = attributes[:'base_ref']
97
- end
98
-
99
- if attributes.key?(:'project_id')
100
- self.project_id = attributes[:'project_id']
101
- else
102
- self.project_id = nil
103
- end
104
- end
105
-
106
- # Show invalid properties with the reasons. Usually used together with valid?
107
- # @return Array for valid properties with the reasons
108
- def list_invalid_properties
109
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
110
- invalid_properties = Array.new
111
- if @owner.nil?
112
- invalid_properties.push('invalid value for "owner", owner cannot be nil.')
113
- end
114
-
115
- if @owner.to_s.length < 1
116
- invalid_properties.push('invalid value for "owner", the character length must be greater than or equal to 1.')
117
- end
118
-
119
- if @repo.nil?
120
- invalid_properties.push('invalid value for "repo", repo cannot be nil.')
121
- end
122
-
123
- if @repo.to_s.length < 1
124
- invalid_properties.push('invalid value for "repo", the character length must be greater than or equal to 1.')
125
- end
126
-
127
- if !@base_ref.nil? && @base_ref.to_s.length < 1
128
- invalid_properties.push('invalid value for "base_ref", the character length must be greater than or equal to 1.')
129
- end
130
-
131
- if @project_id.nil?
132
- invalid_properties.push('invalid value for "project_id", project_id cannot be nil.')
133
- end
134
-
135
- if @project_id.to_s.length < 1
136
- invalid_properties.push('invalid value for "project_id", the character length must be greater than or equal to 1.')
137
- end
138
-
139
- invalid_properties
140
- end
141
-
142
- # Check to see if the all the properties in the model are valid
143
- # @return true if the model is valid
144
- def valid?
145
- warn '[DEPRECATED] the `valid?` method is obsolete'
146
- return false if @owner.nil?
147
- return false if @owner.to_s.length < 1
148
- return false if @repo.nil?
149
- return false if @repo.to_s.length < 1
150
- return false if !@base_ref.nil? && @base_ref.to_s.length < 1
151
- return false if @project_id.nil?
152
- return false if @project_id.to_s.length < 1
153
- true
154
- end
155
-
156
- # Custom attribute writer method with validation
157
- # @param [Object] owner Value to be assigned
158
- def owner=(owner)
159
- if owner.nil?
160
- fail ArgumentError, 'owner cannot be nil'
161
- end
162
-
163
- if owner.to_s.length < 1
164
- fail ArgumentError, 'invalid value for "owner", the character length must be greater than or equal to 1.'
165
- end
166
-
167
- @owner = owner
168
- end
169
-
170
- # Custom attribute writer method with validation
171
- # @param [Object] repo Value to be assigned
172
- def repo=(repo)
173
- if repo.nil?
174
- fail ArgumentError, 'repo cannot be nil'
175
- end
176
-
177
- if repo.to_s.length < 1
178
- fail ArgumentError, 'invalid value for "repo", the character length must be greater than or equal to 1.'
179
- end
180
-
181
- @repo = repo
182
- end
183
-
184
- # Custom attribute writer method with validation
185
- # @param [Object] base_ref Value to be assigned
186
- def base_ref=(base_ref)
187
- if base_ref.nil?
188
- fail ArgumentError, 'base_ref cannot be nil'
189
- end
190
-
191
- if base_ref.to_s.length < 1
192
- fail ArgumentError, 'invalid value for "base_ref", the character length must be greater than or equal to 1.'
193
- end
194
-
195
- @base_ref = base_ref
196
- end
197
-
198
- # Custom attribute writer method with validation
199
- # @param [Object] project_id Value to be assigned
200
- def project_id=(project_id)
201
- if project_id.nil?
202
- fail ArgumentError, 'project_id cannot be nil'
203
- end
204
-
205
- if project_id.to_s.length < 1
206
- fail ArgumentError, 'invalid value for "project_id", the character length must be greater than or equal to 1.'
207
- end
208
-
209
- @project_id = project_id
210
- end
211
-
212
- # Checks equality by comparing each attribute.
213
- # @param [Object] Object to be compared
214
- def ==(o)
215
- return true if self.equal?(o)
216
- self.class == o.class &&
217
- owner == o.owner &&
218
- repo == o.repo &&
219
- base_ref == o.base_ref &&
220
- project_id == o.project_id
221
- end
222
-
223
- # @see the `==` method
224
- # @param [Object] Object to be compared
225
- def eql?(o)
226
- self == o
227
- end
228
-
229
- # Calculates hash code according to all attributes.
230
- # @return [Integer] Hash code
231
- def hash
232
- [owner, repo, base_ref, project_id].hash
233
- end
234
-
235
- # Builds the object from hash
236
- # @param [Hash] attributes Model attributes in the form of hash
237
- # @return [Object] Returns the model itself
238
- def self.build_from_hash(attributes)
239
- return nil unless attributes.is_a?(Hash)
240
- attributes = attributes.transform_keys(&:to_sym)
241
- transformed_hash = {}
242
- openapi_types.each_pair do |key, type|
243
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
244
- transformed_hash["#{key}"] = nil
245
- elsif type =~ /\AArray<(.*)>/i
246
- # check to ensure the input is an array given that the attribute
247
- # is documented as an array but the input is not
248
- if attributes[attribute_map[key]].is_a?(Array)
249
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
250
- end
251
- elsif !attributes[attribute_map[key]].nil?
252
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
253
- end
254
- end
255
- new(transformed_hash)
256
- end
257
-
258
- # Returns the object in the form of hash
259
- # @return [Hash] Returns the object in the form of hash
260
- def to_hash
261
- hash = {}
262
- self.class.attribute_map.each_pair do |attr, param|
263
- value = self.send(attr)
264
- if value.nil?
265
- is_nullable = self.class.openapi_nullable.include?(attr)
266
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
267
- end
268
-
269
- hash[param] = _to_hash(value)
270
- end
271
- hash
272
- end
273
-
274
- end
275
-
276
- end
@@ -1,383 +0,0 @@
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 'date'
14
- require 'time'
15
-
16
- module Shipeasy::Admin::Generated
17
- class CreateAlertRuleRequest < ApiModelBase
18
- # Human label for the rule, shown on the alert and the rules list.
19
- attr_accessor :name
20
-
21
- # Id of the metric to evaluate.
22
- attr_accessor :metric_id
23
-
24
- # How the metric value is compared to the threshold (gt/gte/lt/lte).
25
- attr_accessor :comparator
26
-
27
- # Threshold the metric value is compared against.
28
- attr_accessor :threshold
29
-
30
- # Lookback window (hours) the metric is aggregated over. 1–720.
31
- attr_accessor :window_hours
32
-
33
- # Severity of the raised alert.
34
- attr_accessor :severity
35
-
36
- # Whether the rule is evaluated by the cron.
37
- attr_accessor :enabled
38
-
39
- attr_accessor :notify
40
-
41
- class EnumAttributeValidator
42
- attr_reader :datatype
43
- attr_reader :allowable_values
44
-
45
- def initialize(datatype, allowable_values)
46
- @allowable_values = allowable_values.map do |value|
47
- case datatype.to_s
48
- when /Integer/i
49
- value.to_i
50
- when /Float/i
51
- value.to_f
52
- else
53
- value
54
- end
55
- end
56
- end
57
-
58
- def valid?(value)
59
- !value || allowable_values.include?(value)
60
- end
61
- end
62
-
63
- # Attribute mapping from ruby-style variable name to JSON key.
64
- def self.attribute_map
65
- {
66
- :'name' => :'name',
67
- :'metric_id' => :'metricId',
68
- :'comparator' => :'comparator',
69
- :'threshold' => :'threshold',
70
- :'window_hours' => :'windowHours',
71
- :'severity' => :'severity',
72
- :'enabled' => :'enabled',
73
- :'notify' => :'notify'
74
- }
75
- end
76
-
77
- # Returns attribute mapping this model knows about
78
- def self.acceptable_attribute_map
79
- attribute_map
80
- end
81
-
82
- # Returns all the JSON keys this model knows about
83
- def self.acceptable_attributes
84
- acceptable_attribute_map.values
85
- end
86
-
87
- # Attribute type mapping.
88
- def self.openapi_types
89
- {
90
- :'name' => :'String',
91
- :'metric_id' => :'String',
92
- :'comparator' => :'String',
93
- :'threshold' => :'Float',
94
- :'window_hours' => :'Integer',
95
- :'severity' => :'String',
96
- :'enabled' => :'Boolean',
97
- :'notify' => :'NotificationTarget'
98
- }
99
- end
100
-
101
- # List of attributes with nullable: true
102
- def self.openapi_nullable
103
- Set.new([
104
- :'notify'
105
- ])
106
- end
107
-
108
- # Initializes the object
109
- # @param [Hash] attributes Model attributes in the form of hash
110
- def initialize(attributes = {})
111
- if (!attributes.is_a?(Hash))
112
- fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::CreateAlertRuleRequest` initialize method"
113
- end
114
-
115
- # check to see if the attribute exists and convert string to symbol for hash key
116
- acceptable_attribute_map = self.class.acceptable_attribute_map
117
- attributes = attributes.each_with_object({}) { |(k, v), h|
118
- if (!acceptable_attribute_map.key?(k.to_sym))
119
- fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::CreateAlertRuleRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
120
- end
121
- h[k.to_sym] = v
122
- }
123
-
124
- if attributes.key?(:'name')
125
- self.name = attributes[:'name']
126
- else
127
- self.name = nil
128
- end
129
-
130
- if attributes.key?(:'metric_id')
131
- self.metric_id = attributes[:'metric_id']
132
- else
133
- self.metric_id = nil
134
- end
135
-
136
- if attributes.key?(:'comparator')
137
- self.comparator = attributes[:'comparator']
138
- else
139
- self.comparator = nil
140
- end
141
-
142
- if attributes.key?(:'threshold')
143
- self.threshold = attributes[:'threshold']
144
- else
145
- self.threshold = nil
146
- end
147
-
148
- if attributes.key?(:'window_hours')
149
- self.window_hours = attributes[:'window_hours']
150
- else
151
- self.window_hours = 24
152
- end
153
-
154
- if attributes.key?(:'severity')
155
- self.severity = attributes[:'severity']
156
- else
157
- self.severity = 'warn'
158
- end
159
-
160
- if attributes.key?(:'enabled')
161
- self.enabled = attributes[:'enabled']
162
- else
163
- self.enabled = true
164
- end
165
-
166
- if attributes.key?(:'notify')
167
- self.notify = attributes[:'notify']
168
- end
169
- end
170
-
171
- # Show invalid properties with the reasons. Usually used together with valid?
172
- # @return Array for valid properties with the reasons
173
- def list_invalid_properties
174
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
175
- invalid_properties = Array.new
176
- if @name.nil?
177
- invalid_properties.push('invalid value for "name", name cannot be nil.')
178
- end
179
-
180
- if @name.to_s.length > 120
181
- invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 120.')
182
- end
183
-
184
- if @name.to_s.length < 1
185
- invalid_properties.push('invalid value for "name", the character length must be greater than or equal to 1.')
186
- end
187
-
188
- if @metric_id.nil?
189
- invalid_properties.push('invalid value for "metric_id", metric_id cannot be nil.')
190
- end
191
-
192
- if @metric_id.to_s.length < 1
193
- invalid_properties.push('invalid value for "metric_id", the character length must be greater than or equal to 1.')
194
- end
195
-
196
- if @comparator.nil?
197
- invalid_properties.push('invalid value for "comparator", comparator cannot be nil.')
198
- end
199
-
200
- if @threshold.nil?
201
- invalid_properties.push('invalid value for "threshold", threshold cannot be nil.')
202
- end
203
-
204
- if !@window_hours.nil? && @window_hours > 720
205
- invalid_properties.push('invalid value for "window_hours", must be smaller than or equal to 720.')
206
- end
207
-
208
- if !@window_hours.nil? && @window_hours < 1
209
- invalid_properties.push('invalid value for "window_hours", must be greater than or equal to 1.')
210
- end
211
-
212
- invalid_properties
213
- end
214
-
215
- # Check to see if the all the properties in the model are valid
216
- # @return true if the model is valid
217
- def valid?
218
- warn '[DEPRECATED] the `valid?` method is obsolete'
219
- return false if @name.nil?
220
- return false if @name.to_s.length > 120
221
- return false if @name.to_s.length < 1
222
- return false if @metric_id.nil?
223
- return false if @metric_id.to_s.length < 1
224
- return false if @comparator.nil?
225
- comparator_validator = EnumAttributeValidator.new('String', ["gt", "gte", "lt", "lte"])
226
- return false unless comparator_validator.valid?(@comparator)
227
- return false if @threshold.nil?
228
- return false if !@window_hours.nil? && @window_hours > 720
229
- return false if !@window_hours.nil? && @window_hours < 1
230
- severity_validator = EnumAttributeValidator.new('String', ["danger", "warn", "info"])
231
- return false unless severity_validator.valid?(@severity)
232
- true
233
- end
234
-
235
- # Custom attribute writer method with validation
236
- # @param [Object] name Value to be assigned
237
- def name=(name)
238
- if name.nil?
239
- fail ArgumentError, 'name cannot be nil'
240
- end
241
-
242
- if name.to_s.length > 120
243
- fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 120.'
244
- end
245
-
246
- if name.to_s.length < 1
247
- fail ArgumentError, 'invalid value for "name", the character length must be greater than or equal to 1.'
248
- end
249
-
250
- @name = name
251
- end
252
-
253
- # Custom attribute writer method with validation
254
- # @param [Object] metric_id Value to be assigned
255
- def metric_id=(metric_id)
256
- if metric_id.nil?
257
- fail ArgumentError, 'metric_id cannot be nil'
258
- end
259
-
260
- if metric_id.to_s.length < 1
261
- fail ArgumentError, 'invalid value for "metric_id", the character length must be greater than or equal to 1.'
262
- end
263
-
264
- @metric_id = metric_id
265
- end
266
-
267
- # Custom attribute writer method checking allowed values (enum).
268
- # @param [Object] comparator Object to be assigned
269
- def comparator=(comparator)
270
- validator = EnumAttributeValidator.new('String', ["gt", "gte", "lt", "lte"])
271
- unless validator.valid?(comparator)
272
- fail ArgumentError, "invalid value for \"comparator\", must be one of #{validator.allowable_values}."
273
- end
274
- @comparator = comparator
275
- end
276
-
277
- # Custom attribute writer method with validation
278
- # @param [Object] threshold Value to be assigned
279
- def threshold=(threshold)
280
- if threshold.nil?
281
- fail ArgumentError, 'threshold cannot be nil'
282
- end
283
-
284
- @threshold = threshold
285
- end
286
-
287
- # Custom attribute writer method with validation
288
- # @param [Object] window_hours Value to be assigned
289
- def window_hours=(window_hours)
290
- if window_hours.nil?
291
- fail ArgumentError, 'window_hours cannot be nil'
292
- end
293
-
294
- if window_hours > 720
295
- fail ArgumentError, 'invalid value for "window_hours", must be smaller than or equal to 720.'
296
- end
297
-
298
- if window_hours < 1
299
- fail ArgumentError, 'invalid value for "window_hours", must be greater than or equal to 1.'
300
- end
301
-
302
- @window_hours = window_hours
303
- end
304
-
305
- # Custom attribute writer method checking allowed values (enum).
306
- # @param [Object] severity Object to be assigned
307
- def severity=(severity)
308
- validator = EnumAttributeValidator.new('String', ["danger", "warn", "info"])
309
- unless validator.valid?(severity)
310
- fail ArgumentError, "invalid value for \"severity\", must be one of #{validator.allowable_values}."
311
- end
312
- @severity = severity
313
- end
314
-
315
- # Checks equality by comparing each attribute.
316
- # @param [Object] Object to be compared
317
- def ==(o)
318
- return true if self.equal?(o)
319
- self.class == o.class &&
320
- name == o.name &&
321
- metric_id == o.metric_id &&
322
- comparator == o.comparator &&
323
- threshold == o.threshold &&
324
- window_hours == o.window_hours &&
325
- severity == o.severity &&
326
- enabled == o.enabled &&
327
- notify == o.notify
328
- end
329
-
330
- # @see the `==` method
331
- # @param [Object] Object to be compared
332
- def eql?(o)
333
- self == o
334
- end
335
-
336
- # Calculates hash code according to all attributes.
337
- # @return [Integer] Hash code
338
- def hash
339
- [name, metric_id, comparator, threshold, window_hours, severity, enabled, notify].hash
340
- end
341
-
342
- # Builds the object from hash
343
- # @param [Hash] attributes Model attributes in the form of hash
344
- # @return [Object] Returns the model itself
345
- def self.build_from_hash(attributes)
346
- return nil unless attributes.is_a?(Hash)
347
- attributes = attributes.transform_keys(&:to_sym)
348
- transformed_hash = {}
349
- openapi_types.each_pair do |key, type|
350
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
351
- transformed_hash["#{key}"] = nil
352
- elsif type =~ /\AArray<(.*)>/i
353
- # check to ensure the input is an array given that the attribute
354
- # is documented as an array but the input is not
355
- if attributes[attribute_map[key]].is_a?(Array)
356
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
357
- end
358
- elsif !attributes[attribute_map[key]].nil?
359
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
360
- end
361
- end
362
- new(transformed_hash)
363
- end
364
-
365
- # Returns the object in the form of hash
366
- # @return [Hash] Returns the object in the form of hash
367
- def to_hash
368
- hash = {}
369
- self.class.attribute_map.each_pair do |attr, param|
370
- value = self.send(attr)
371
- if value.nil?
372
- is_nullable = self.class.openapi_nullable.include?(attr)
373
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
374
- end
375
-
376
- hash[param] = _to_hash(value)
377
- end
378
- hash
379
- end
380
-
381
- end
382
-
383
- end