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.
- checksums.yaml +4 -4
- data/docs/skill/SKILL.md +7 -4
- data/lib/shipeasy/admin.rb +23 -20
- data/lib/shipeasy/sdk/see.rb +7 -5
- data/lib/shipeasy/sdk/version.rb +1 -1
- data/lib/shipeasy_admin/api/flags_api.rb +127 -214
- data/lib/shipeasy_admin/api/killswitch_api.rb +25 -525
- data/lib/shipeasy_admin/api/ops_api.rb +44 -351
- data/lib/shipeasy_admin/api_client.rb +2 -2
- data/lib/shipeasy_admin/api_error.rb +2 -2
- data/lib/shipeasy_admin/api_model_base.rb +2 -2
- data/lib/shipeasy_admin/configuration.rb +29 -2
- data/lib/shipeasy_admin/models/{set_killswitch_value_request.rb → add_to_gate_whitelist_request.rb} +37 -42
- data/lib/shipeasy_admin/models/create_public_bug_request.rb +464 -0
- data/lib/shipeasy_admin/models/create_public_feature_request_request.rb +407 -0
- data/lib/shipeasy_admin/models/{file_error_ticket_response.rb → create_public_ticket_response.rb} +22 -29
- data/lib/shipeasy_admin/models/env.rb +2 -2
- data/lib/shipeasy_admin/models/error.rb +41 -7
- data/lib/shipeasy_admin/models/error_code.rb +14 -3
- data/lib/shipeasy_admin/models/{get_experiment_timeseries_response_experiment.rb → gate_whitelist.rb} +51 -42
- data/lib/shipeasy_admin/models/gate_whitelist_attr.rb +40 -0
- data/lib/shipeasy_admin/models/killswitch_value.rb +2 -2
- data/lib/shipeasy_admin/models/notification_target.rb +2 -2
- data/lib/shipeasy_admin/models/notification_target_slack_channel.rb +2 -2
- data/lib/shipeasy_admin/models/ops_item_priority.rb +42 -0
- data/lib/shipeasy_admin/models/ops_item_status.rb +46 -0
- data/lib/shipeasy_admin/models/{discard_config_draft_request.rb → remove_from_gate_whitelist_request.rb} +34 -44
- data/lib/shipeasy_admin/models/{delete_alert_rule_response.rb → set_gate_whitelist_request.rb} +37 -25
- data/lib/shipeasy_admin/models/{set_killswitch_switch_request.rb → toggle_killswitch_request.rb} +30 -72
- data/lib/shipeasy_admin/models/{set_killswitch_value_response.rb → toggle_killswitch_response.rb} +100 -6
- data/lib/shipeasy_admin/version.rb +2 -2
- data/lib/shipeasy_admin.rb +14 -195
- metadata +13 -194
- data/lib/shipeasy_admin/api/alerts_api.rb +0 -352
- data/lib/shipeasy_admin/api/api_keys_api.rb +0 -229
- data/lib/shipeasy_admin/api/attributes_api.rb +0 -82
- data/lib/shipeasy_admin/api/configs_api.rb +0 -757
- data/lib/shipeasy_admin/api/connectors_api.rb +0 -497
- data/lib/shipeasy_admin/api/drafts_api.rb +0 -82
- data/lib/shipeasy_admin/api/errors_api.rb +0 -389
- data/lib/shipeasy_admin/api/events_api.rb +0 -438
- data/lib/shipeasy_admin/api/experiments_api.rb +0 -727
- data/lib/shipeasy_admin/api/keys_api.rb +0 -317
- data/lib/shipeasy_admin/api/metrics_api.rb +0 -281
- data/lib/shipeasy_admin/api/profiles_api.rb +0 -222
- data/lib/shipeasy_admin/api/projects_api.rb +0 -216
- data/lib/shipeasy_admin/api/universes_api.rb +0 -306
- data/lib/shipeasy_admin/models/approve_event_request.rb +0 -198
- data/lib/shipeasy_admin/models/approve_event_response.rb +0 -166
- data/lib/shipeasy_admin/models/claude_trigger_config.rb +0 -204
- data/lib/shipeasy_admin/models/connector_event.rb +0 -40
- data/lib/shipeasy_admin/models/connector_provider.rb +0 -45
- data/lib/shipeasy_admin/models/connector_record.rb +0 -468
- data/lib/shipeasy_admin/models/copilot_trigger_config.rb +0 -276
- data/lib/shipeasy_admin/models/create_alert_rule_request.rb +0 -383
- data/lib/shipeasy_admin/models/create_alert_rule_response.rb +0 -165
- data/lib/shipeasy_admin/models/create_claude_trigger_request.rb +0 -309
- data/lib/shipeasy_admin/models/create_config_request.rb +0 -291
- data/lib/shipeasy_admin/models/create_config_response.rb +0 -201
- data/lib/shipeasy_admin/models/create_connector_request.rb +0 -64
- data/lib/shipeasy_admin/models/create_connector_response.rb +0 -165
- data/lib/shipeasy_admin/models/create_copilot_trigger_request.rb +0 -316
- data/lib/shipeasy_admin/models/create_cursor_trigger_request.rb +0 -352
- data/lib/shipeasy_admin/models/create_event_request.rb +0 -236
- data/lib/shipeasy_admin/models/create_event_response.rb +0 -193
- data/lib/shipeasy_admin/models/create_experiment_request.rb +0 -807
- data/lib/shipeasy_admin/models/create_experiment_response.rb +0 -212
- data/lib/shipeasy_admin/models/create_gate_request.rb +0 -492
- data/lib/shipeasy_admin/models/create_gate_response.rb +0 -212
- data/lib/shipeasy_admin/models/create_i18n_profile_request.rb +0 -188
- data/lib/shipeasy_admin/models/create_i18n_profile_response.rb +0 -193
- data/lib/shipeasy_admin/models/create_jules_trigger_request.rb +0 -352
- data/lib/shipeasy_admin/models/create_key_request.rb +0 -297
- data/lib/shipeasy_admin/models/create_key_response.rb +0 -286
- data/lib/shipeasy_admin/models/create_killswitch_request.rb +0 -274
- data/lib/shipeasy_admin/models/create_killswitch_response.rb +0 -201
- data/lib/shipeasy_admin/models/create_metric_request.rb +0 -403
- data/lib/shipeasy_admin/models/create_metric_response.rb +0 -193
- data/lib/shipeasy_admin/models/create_o_auth_connector_request.rb +0 -273
- data/lib/shipeasy_admin/models/create_ops_item_request.rb +0 -287
- data/lib/shipeasy_admin/models/create_ops_item_response.rb +0 -177
- data/lib/shipeasy_admin/models/create_universe_request.rb +0 -272
- data/lib/shipeasy_admin/models/create_universe_response.rb +0 -212
- data/lib/shipeasy_admin/models/cursor_trigger_config.rb +0 -231
- data/lib/shipeasy_admin/models/delete_config_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_connector_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_event_response.rb +0 -189
- data/lib/shipeasy_admin/models/delete_experiment_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_gate_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_killswitch_response.rb +0 -188
- data/lib/shipeasy_admin/models/delete_metric_response.rb +0 -189
- data/lib/shipeasy_admin/models/delete_universe_response.rb +0 -188
- data/lib/shipeasy_admin/models/disable_gate_response.rb +0 -190
- data/lib/shipeasy_admin/models/discard_config_draft_response.rb +0 -188
- data/lib/shipeasy_admin/models/enable_gate_response.rb +0 -190
- data/lib/shipeasy_admin/models/error_record.rb +0 -597
- data/lib/shipeasy_admin/models/error_series_request.rb +0 -251
- data/lib/shipeasy_admin/models/error_series_response.rb +0 -195
- data/lib/shipeasy_admin/models/error_series_response_rows_inner.rb +0 -192
- data/lib/shipeasy_admin/models/experiment_inline_metric.rb +0 -337
- data/lib/shipeasy_admin/models/fire_connector_request.rb +0 -149
- data/lib/shipeasy_admin/models/fire_connector_response.rb +0 -176
- data/lib/shipeasy_admin/models/get_config_response.rb +0 -351
- data/lib/shipeasy_admin/models/get_current_project_response.rb +0 -606
- data/lib/shipeasy_admin/models/get_current_project_response_module_translations.rb +0 -104
- data/lib/shipeasy_admin/models/get_event_response.rb +0 -344
- data/lib/shipeasy_admin/models/get_experiment_response.rb +0 -688
- data/lib/shipeasy_admin/models/get_experiment_results_response.rb +0 -243
- data/lib/shipeasy_admin/models/get_experiment_results_response_experiment.rb +0 -248
- data/lib/shipeasy_admin/models/get_experiment_results_response_results_inner.rb +0 -252
- data/lib/shipeasy_admin/models/get_experiment_timeseries_response.rb +0 -192
- data/lib/shipeasy_admin/models/get_experiment_timeseries_response_series_inner.rb +0 -278
- data/lib/shipeasy_admin/models/get_killswitch_response.rb +0 -270
- data/lib/shipeasy_admin/models/get_metric_response.rb +0 -378
- data/lib/shipeasy_admin/models/get_ops_item_response.rb +0 -349
- data/lib/shipeasy_admin/models/jules_trigger_config.rb +0 -240
- data/lib/shipeasy_admin/models/key_record.rb +0 -353
- data/lib/shipeasy_admin/models/link_pr_to_ops_item_request.rb +0 -186
- data/lib/shipeasy_admin/models/link_pr_to_ops_item_response.rb +0 -166
- data/lib/shipeasy_admin/models/list_alert_rules_response_inner.rb +0 -478
- data/lib/shipeasy_admin/models/list_attributes_response_inner.rb +0 -176
- data/lib/shipeasy_admin/models/list_config_activity_response_inner.rb +0 -280
- data/lib/shipeasy_admin/models/list_configs_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_configs_response_data_inner.rb +0 -351
- data/lib/shipeasy_admin/models/list_configs_response_data_inner_drafts_value.rb +0 -237
- data/lib/shipeasy_admin/models/list_configs_response_data_inner_envs_value.rb +0 -237
- data/lib/shipeasy_admin/models/list_events_response_inner.rb +0 -344
- data/lib/shipeasy_admin/models/list_events_response_inner_properties_inner.rb +0 -259
- data/lib/shipeasy_admin/models/list_experiments_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_experiments_response_data_inner.rb +0 -688
- data/lib/shipeasy_admin/models/list_experiments_response_data_inner_groups_inner.rb +0 -241
- data/lib/shipeasy_admin/models/list_gates_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_gates_response_data_inner.rb +0 -395
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_enabled.rb +0 -104
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_rules_inner.rb +0 -238
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner.rb +0 -105
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of.rb +0 -358
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of1.rb +0 -331
- data/lib/shipeasy_admin/models/list_gates_response_data_inner_stack_inner_one_of_ramp.rb +0 -319
- data/lib/shipeasy_admin/models/list_i18n_drafts_response_inner.rb +0 -272
- data/lib/shipeasy_admin/models/list_i18n_keys_response.rb +0 -195
- data/lib/shipeasy_admin/models/list_i18n_keys_response_keys_inner.rb +0 -274
- data/lib/shipeasy_admin/models/list_i18n_profiles_response_inner.rb +0 -224
- data/lib/shipeasy_admin/models/list_keys_response.rb +0 -180
- data/lib/shipeasy_admin/models/list_killswitches_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_killswitches_response_data_inner.rb +0 -270
- data/lib/shipeasy_admin/models/list_killswitches_response_data_inner_envs_value.rb +0 -248
- data/lib/shipeasy_admin/models/list_metrics_response_inner.rb +0 -378
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir.rb +0 -288
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg.rb +0 -113
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of1.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of2.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of3.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of4.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of5.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of6.rb +0 -188
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of7.rb +0 -217
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of8.rb +0 -233
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9.rb +0 -240
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator.rb +0 -266
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_agg_one_of9_numerator_filters_inner.rb +0 -264
- data/lib/shipeasy_admin/models/list_metrics_response_inner_query_ir_group_by.rb +0 -228
- data/lib/shipeasy_admin/models/list_ops_items_response_inner.rb +0 -349
- data/lib/shipeasy_admin/models/list_slack_channels_response.rb +0 -195
- data/lib/shipeasy_admin/models/list_slack_channels_response_channels_inner.rb +0 -203
- data/lib/shipeasy_admin/models/list_universes_response.rb +0 -178
- data/lib/shipeasy_admin/models/list_universes_response_data_inner.rb +0 -305
- data/lib/shipeasy_admin/models/notify_ops_request.rb +0 -261
- data/lib/shipeasy_admin/models/notify_ops_response.rb +0 -193
- data/lib/shipeasy_admin/models/publish_config_draft_request.rb +0 -187
- data/lib/shipeasy_admin/models/publish_config_draft_response.rb +0 -257
- data/lib/shipeasy_admin/models/publish_i18n_profile_response.rb +0 -391
- data/lib/shipeasy_admin/models/push_i18n_keys_request.rb +0 -195
- data/lib/shipeasy_admin/models/push_i18n_keys_request_keys_inner.rb +0 -192
- data/lib/shipeasy_admin/models/push_i18n_keys_response.rb +0 -251
- data/lib/shipeasy_admin/models/reanalyze_experiment_response.rb +0 -214
- data/lib/shipeasy_admin/models/revoke_key_response.rb +0 -216
- data/lib/shipeasy_admin/models/save_config_draft_request.rb +0 -199
- data/lib/shipeasy_admin/models/save_config_draft_response.rb +0 -283
- data/lib/shipeasy_admin/models/search_hit.rb +0 -284
- data/lib/shipeasy_admin/models/search_response.rb +0 -167
- data/lib/shipeasy_admin/models/set_experiment_metrics_request.rb +0 -168
- data/lib/shipeasy_admin/models/set_experiment_metrics_request_metrics_inner.rb +0 -216
- data/lib/shipeasy_admin/models/set_experiment_metrics_response.rb +0 -179
- data/lib/shipeasy_admin/models/set_experiment_metrics_response_metrics_inner.rb +0 -201
- data/lib/shipeasy_admin/models/set_experiment_status_request.rb +0 -190
- data/lib/shipeasy_admin/models/set_experiment_status_response.rb +0 -214
- data/lib/shipeasy_admin/models/set_i18n_label_request.rb +0 -213
- data/lib/shipeasy_admin/models/set_i18n_label_response.rb +0 -472
- data/lib/shipeasy_admin/models/set_killswitch_switch_response.rb +0 -285
- data/lib/shipeasy_admin/models/test_connector_response.rb +0 -189
- data/lib/shipeasy_admin/models/unset_killswitch_switch_request.rb +0 -234
- data/lib/shipeasy_admin/models/unset_killswitch_switch_response.rb +0 -286
- data/lib/shipeasy_admin/models/update_alert_rule_request.rb +0 -304
- data/lib/shipeasy_admin/models/update_alert_rule_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_config_request.rb +0 -198
- data/lib/shipeasy_admin/models/update_config_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_config_schema_request.rb +0 -168
- data/lib/shipeasy_admin/models/update_config_schema_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_connector_request.rb +0 -211
- data/lib/shipeasy_admin/models/update_connector_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_error_status_request.rb +0 -190
- data/lib/shipeasy_admin/models/update_event_request.rb +0 -198
- data/lib/shipeasy_admin/models/update_event_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_experiment_request.rb +0 -747
- data/lib/shipeasy_admin/models/update_experiment_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_gate_request.rb +0 -403
- data/lib/shipeasy_admin/models/update_gate_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_i18n_key_request.rb +0 -176
- data/lib/shipeasy_admin/models/update_i18n_key_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_killswitch_request.rb +0 -224
- data/lib/shipeasy_admin/models/update_killswitch_response.rb +0 -165
- data/lib/shipeasy_admin/models/update_ops_item_request.rb +0 -205
- data/lib/shipeasy_admin/models/update_ops_item_response.rb +0 -166
- data/lib/shipeasy_admin/models/update_universe_request.rb +0 -213
- data/lib/shipeasy_admin/models/update_universe_response.rb +0 -165
- data/lib/shipeasy_admin/models/upsert_project_request.rb +0 -222
- data/lib/shipeasy_admin/models/upsert_project_response.rb +0 -260
data/lib/shipeasy_admin/models/{delete_alert_rule_response.rb → set_gate_whitelist_request.rb}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Shipeasy Admin API
|
|
2
|
+
#Shipeasy Admin API (server-SDK surface)
|
|
3
3
|
|
|
4
|
-
#
|
|
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,8 +14,13 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Shipeasy::Admin::Generated
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
# Body for `PUT /api/admin/gates/{id}/whitelist`. Replaces the whole list — idempotent, and the only call that can switch `attr` or clear the whitelist.
|
|
18
|
+
class SetGateWhitelistRequest < ApiModelBase
|
|
19
|
+
# Identity attribute to match on. Defaults to the whitelist's current attribute, or `email` when the gate has no whitelist yet.
|
|
20
|
+
attr_accessor :attr
|
|
21
|
+
|
|
22
|
+
# The complete whitelist after the call. Pass `[]` to remove the whitelist from the gate entirely.
|
|
23
|
+
attr_accessor :entries
|
|
19
24
|
|
|
20
25
|
class EnumAttributeValidator
|
|
21
26
|
attr_reader :datatype
|
|
@@ -42,7 +47,8 @@ module Shipeasy::Admin::Generated
|
|
|
42
47
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
43
48
|
def self.attribute_map
|
|
44
49
|
{
|
|
45
|
-
:'
|
|
50
|
+
:'attr' => :'attr',
|
|
51
|
+
:'entries' => :'entries'
|
|
46
52
|
}
|
|
47
53
|
end
|
|
48
54
|
|
|
@@ -59,7 +65,8 @@ module Shipeasy::Admin::Generated
|
|
|
59
65
|
# Attribute type mapping.
|
|
60
66
|
def self.openapi_types
|
|
61
67
|
{
|
|
62
|
-
:'
|
|
68
|
+
:'attr' => :'GateWhitelistAttr',
|
|
69
|
+
:'entries' => :'Array<String>'
|
|
63
70
|
}
|
|
64
71
|
end
|
|
65
72
|
|
|
@@ -73,22 +80,28 @@ module Shipeasy::Admin::Generated
|
|
|
73
80
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
74
81
|
def initialize(attributes = {})
|
|
75
82
|
if (!attributes.is_a?(Hash))
|
|
76
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::
|
|
83
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::SetGateWhitelistRequest` initialize method"
|
|
77
84
|
end
|
|
78
85
|
|
|
79
86
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
80
87
|
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
81
88
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
82
89
|
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
83
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::
|
|
90
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::SetGateWhitelistRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
84
91
|
end
|
|
85
92
|
h[k.to_sym] = v
|
|
86
93
|
}
|
|
87
94
|
|
|
88
|
-
if attributes.key?(:'
|
|
89
|
-
self.
|
|
95
|
+
if attributes.key?(:'attr')
|
|
96
|
+
self.attr = attributes[:'attr']
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
if attributes.key?(:'entries')
|
|
100
|
+
if (value = attributes[:'entries']).is_a?(Array)
|
|
101
|
+
self.entries = value
|
|
102
|
+
end
|
|
90
103
|
else
|
|
91
|
-
self.
|
|
104
|
+
self.entries = nil
|
|
92
105
|
end
|
|
93
106
|
end
|
|
94
107
|
|
|
@@ -97,8 +110,8 @@ module Shipeasy::Admin::Generated
|
|
|
97
110
|
def list_invalid_properties
|
|
98
111
|
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
99
112
|
invalid_properties = Array.new
|
|
100
|
-
if @
|
|
101
|
-
invalid_properties.push('invalid value for "
|
|
113
|
+
if @entries.nil?
|
|
114
|
+
invalid_properties.push('invalid value for "entries", entries cannot be nil.')
|
|
102
115
|
end
|
|
103
116
|
|
|
104
117
|
invalid_properties
|
|
@@ -108,20 +121,18 @@ module Shipeasy::Admin::Generated
|
|
|
108
121
|
# @return true if the model is valid
|
|
109
122
|
def valid?
|
|
110
123
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
111
|
-
return false if @
|
|
112
|
-
ok_validator = EnumAttributeValidator.new('Boolean', ["true"])
|
|
113
|
-
return false unless ok_validator.valid?(@ok)
|
|
124
|
+
return false if @entries.nil?
|
|
114
125
|
true
|
|
115
126
|
end
|
|
116
127
|
|
|
117
|
-
# Custom attribute writer method
|
|
118
|
-
# @param [Object]
|
|
119
|
-
def
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
fail ArgumentError, "invalid value for \"ok\", must be one of #{validator.allowable_values}."
|
|
128
|
+
# Custom attribute writer method with validation
|
|
129
|
+
# @param [Object] entries Value to be assigned
|
|
130
|
+
def entries=(entries)
|
|
131
|
+
if entries.nil?
|
|
132
|
+
fail ArgumentError, 'entries cannot be nil'
|
|
123
133
|
end
|
|
124
|
-
|
|
134
|
+
|
|
135
|
+
@entries = entries
|
|
125
136
|
end
|
|
126
137
|
|
|
127
138
|
# Checks equality by comparing each attribute.
|
|
@@ -129,7 +140,8 @@ module Shipeasy::Admin::Generated
|
|
|
129
140
|
def ==(o)
|
|
130
141
|
return true if self.equal?(o)
|
|
131
142
|
self.class == o.class &&
|
|
132
|
-
|
|
143
|
+
attr == o.attr &&
|
|
144
|
+
entries == o.entries
|
|
133
145
|
end
|
|
134
146
|
|
|
135
147
|
# @see the `==` method
|
|
@@ -141,7 +153,7 @@ module Shipeasy::Admin::Generated
|
|
|
141
153
|
# Calculates hash code according to all attributes.
|
|
142
154
|
# @return [Integer] Hash code
|
|
143
155
|
def hash
|
|
144
|
-
[
|
|
156
|
+
[attr, entries].hash
|
|
145
157
|
end
|
|
146
158
|
|
|
147
159
|
# Builds the object from hash
|
data/lib/shipeasy_admin/models/{set_killswitch_switch_request.rb → toggle_killswitch_request.rb}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Shipeasy Admin API
|
|
2
|
+
#Shipeasy Admin API (server-SDK surface)
|
|
3
3
|
|
|
4
|
-
#
|
|
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,16 +14,17 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Shipeasy::Admin::Generated
|
|
17
|
-
# Body for `
|
|
18
|
-
class
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
# Switch key to set.
|
|
17
|
+
# Body for `POST /api/admin/killswitches/{id}/toggle`. Every field is optional, so the four useful calls read as one method with a widening argument list: - `{}` — flip the flat value on prod. - `{ \"switchKey\": \"eu_region\" }` — flip that sub-switch on prod. - `{ \"switchKey\": \"eu_region\", \"value\": true }` — set that sub-switch on prod, idempotently. - `{ \"switchKey\": \"eu_region\", \"value\": true, \"env\": \"staging\" }` — the same, on a chosen env.
|
|
18
|
+
class ToggleKillswitchRequest < ApiModelBase
|
|
19
|
+
# Which target to flip. Omit (or `null`) to flip the killswitch's own flat `value`; name a switch key to flip that nested sub-switch instead, creating the entry if it doesn't exist yet.
|
|
22
20
|
attr_accessor :switch_key
|
|
23
21
|
|
|
24
|
-
#
|
|
22
|
+
# The value to publish. Omit (or `null`) to flip whatever is stored now — read-modify-write in one call. Pass an explicit `true`/`false` to make the call idempotent, so a retry can't undo the first attempt.
|
|
25
23
|
attr_accessor :value
|
|
26
24
|
|
|
25
|
+
# Environment to publish on. Defaults to `prod` — the environment an incident response means when it says \"kill it\".
|
|
26
|
+
attr_accessor :env
|
|
27
|
+
|
|
27
28
|
class EnumAttributeValidator
|
|
28
29
|
attr_reader :datatype
|
|
29
30
|
attr_reader :allowable_values
|
|
@@ -49,9 +50,9 @@ module Shipeasy::Admin::Generated
|
|
|
49
50
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
50
51
|
def self.attribute_map
|
|
51
52
|
{
|
|
52
|
-
:'env' => :'env',
|
|
53
53
|
:'switch_key' => :'switchKey',
|
|
54
|
-
:'value' => :'value'
|
|
54
|
+
:'value' => :'value',
|
|
55
|
+
:'env' => :'env'
|
|
55
56
|
}
|
|
56
57
|
end
|
|
57
58
|
|
|
@@ -68,15 +69,17 @@ module Shipeasy::Admin::Generated
|
|
|
68
69
|
# Attribute type mapping.
|
|
69
70
|
def self.openapi_types
|
|
70
71
|
{
|
|
71
|
-
:'env' => :'Env',
|
|
72
72
|
:'switch_key' => :'String',
|
|
73
|
-
:'value' => :'Boolean'
|
|
73
|
+
:'value' => :'Boolean',
|
|
74
|
+
:'env' => :'Env'
|
|
74
75
|
}
|
|
75
76
|
end
|
|
76
77
|
|
|
77
78
|
# List of attributes with nullable: true
|
|
78
79
|
def self.openapi_nullable
|
|
79
80
|
Set.new([
|
|
81
|
+
:'switch_key',
|
|
82
|
+
:'value',
|
|
80
83
|
])
|
|
81
84
|
end
|
|
82
85
|
|
|
@@ -84,34 +87,28 @@ module Shipeasy::Admin::Generated
|
|
|
84
87
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
85
88
|
def initialize(attributes = {})
|
|
86
89
|
if (!attributes.is_a?(Hash))
|
|
87
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::
|
|
90
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::ToggleKillswitchRequest` initialize method"
|
|
88
91
|
end
|
|
89
92
|
|
|
90
93
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
91
94
|
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
92
95
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
93
96
|
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
94
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::
|
|
97
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::ToggleKillswitchRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
95
98
|
end
|
|
96
99
|
h[k.to_sym] = v
|
|
97
100
|
}
|
|
98
101
|
|
|
99
|
-
if attributes.key?(:'env')
|
|
100
|
-
self.env = attributes[:'env']
|
|
101
|
-
else
|
|
102
|
-
self.env = nil
|
|
103
|
-
end
|
|
104
|
-
|
|
105
102
|
if attributes.key?(:'switch_key')
|
|
106
103
|
self.switch_key = attributes[:'switch_key']
|
|
107
|
-
else
|
|
108
|
-
self.switch_key = nil
|
|
109
104
|
end
|
|
110
105
|
|
|
111
106
|
if attributes.key?(:'value')
|
|
112
107
|
self.value = attributes[:'value']
|
|
113
|
-
|
|
114
|
-
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
if attributes.key?(:'env')
|
|
111
|
+
self.env = attributes[:'env']
|
|
115
112
|
end
|
|
116
113
|
end
|
|
117
114
|
|
|
@@ -120,27 +117,15 @@ module Shipeasy::Admin::Generated
|
|
|
120
117
|
def list_invalid_properties
|
|
121
118
|
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
122
119
|
invalid_properties = Array.new
|
|
123
|
-
if
|
|
124
|
-
invalid_properties.push('invalid value for "env", env cannot be nil.')
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
if @switch_key.nil?
|
|
128
|
-
invalid_properties.push('invalid value for "switch_key", switch_key cannot be nil.')
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
if @switch_key.to_s.length > 64
|
|
120
|
+
if !@switch_key.nil? && @switch_key.to_s.length > 64
|
|
132
121
|
invalid_properties.push('invalid value for "switch_key", the character length must be smaller than or equal to 64.')
|
|
133
122
|
end
|
|
134
123
|
|
|
135
124
|
pattern = Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/)
|
|
136
|
-
if @switch_key !~ pattern
|
|
125
|
+
if !@switch_key.nil? && @switch_key !~ pattern
|
|
137
126
|
invalid_properties.push("invalid value for \"switch_key\", must conform to the pattern #{pattern}.")
|
|
138
127
|
end
|
|
139
128
|
|
|
140
|
-
if @value.nil?
|
|
141
|
-
invalid_properties.push('invalid value for "value", value cannot be nil.')
|
|
142
|
-
end
|
|
143
|
-
|
|
144
129
|
invalid_properties
|
|
145
130
|
end
|
|
146
131
|
|
|
@@ -148,61 +133,34 @@ module Shipeasy::Admin::Generated
|
|
|
148
133
|
# @return true if the model is valid
|
|
149
134
|
def valid?
|
|
150
135
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
151
|
-
return false if
|
|
152
|
-
return false if
|
|
153
|
-
return false if @switch_key.to_s.length > 64
|
|
154
|
-
return false if @switch_key !~ Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/)
|
|
155
|
-
return false if @value.nil?
|
|
136
|
+
return false if !@switch_key.nil? && @switch_key.to_s.length > 64
|
|
137
|
+
return false if !@switch_key.nil? && @switch_key !~ Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/)
|
|
156
138
|
true
|
|
157
139
|
end
|
|
158
140
|
|
|
159
|
-
# Custom attribute writer method with validation
|
|
160
|
-
# @param [Object] env Value to be assigned
|
|
161
|
-
def env=(env)
|
|
162
|
-
if env.nil?
|
|
163
|
-
fail ArgumentError, 'env cannot be nil'
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
@env = env
|
|
167
|
-
end
|
|
168
|
-
|
|
169
141
|
# Custom attribute writer method with validation
|
|
170
142
|
# @param [Object] switch_key Value to be assigned
|
|
171
143
|
def switch_key=(switch_key)
|
|
172
|
-
if switch_key.nil?
|
|
173
|
-
fail ArgumentError, 'switch_key cannot be nil'
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
if switch_key.to_s.length > 64
|
|
144
|
+
if !switch_key.nil? && switch_key.to_s.length > 64
|
|
177
145
|
fail ArgumentError, 'invalid value for "switch_key", the character length must be smaller than or equal to 64.'
|
|
178
146
|
end
|
|
179
147
|
|
|
180
148
|
pattern = Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/)
|
|
181
|
-
if switch_key !~ pattern
|
|
149
|
+
if !switch_key.nil? && switch_key !~ pattern
|
|
182
150
|
fail ArgumentError, "invalid value for \"switch_key\", must conform to the pattern #{pattern}."
|
|
183
151
|
end
|
|
184
152
|
|
|
185
153
|
@switch_key = switch_key
|
|
186
154
|
end
|
|
187
155
|
|
|
188
|
-
# Custom attribute writer method with validation
|
|
189
|
-
# @param [Object] value Value to be assigned
|
|
190
|
-
def value=(value)
|
|
191
|
-
if value.nil?
|
|
192
|
-
fail ArgumentError, 'value cannot be nil'
|
|
193
|
-
end
|
|
194
|
-
|
|
195
|
-
@value = value
|
|
196
|
-
end
|
|
197
|
-
|
|
198
156
|
# Checks equality by comparing each attribute.
|
|
199
157
|
# @param [Object] Object to be compared
|
|
200
158
|
def ==(o)
|
|
201
159
|
return true if self.equal?(o)
|
|
202
160
|
self.class == o.class &&
|
|
203
|
-
env == o.env &&
|
|
204
161
|
switch_key == o.switch_key &&
|
|
205
|
-
value == o.value
|
|
162
|
+
value == o.value &&
|
|
163
|
+
env == o.env
|
|
206
164
|
end
|
|
207
165
|
|
|
208
166
|
# @see the `==` method
|
|
@@ -214,7 +172,7 @@ module Shipeasy::Admin::Generated
|
|
|
214
172
|
# Calculates hash code according to all attributes.
|
|
215
173
|
# @return [Integer] Hash code
|
|
216
174
|
def hash
|
|
217
|
-
[
|
|
175
|
+
[switch_key, value, env].hash
|
|
218
176
|
end
|
|
219
177
|
|
|
220
178
|
# Builds the object from hash
|
data/lib/shipeasy_admin/models/{set_killswitch_value_response.rb → toggle_killswitch_response.rb}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Shipeasy Admin API
|
|
2
|
+
#Shipeasy Admin API (server-SDK surface)
|
|
3
3
|
|
|
4
|
-
#
|
|
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,11 +14,21 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Shipeasy::Admin::Generated
|
|
17
|
-
class
|
|
17
|
+
class ToggleKillswitchResponse < ApiModelBase
|
|
18
|
+
# Resolved killswitch id.
|
|
18
19
|
attr_accessor :id
|
|
19
20
|
|
|
20
21
|
attr_accessor :env
|
|
21
22
|
|
|
23
|
+
# The sub-switch that was flipped, or `null` when the flat `value` was.
|
|
24
|
+
attr_accessor :switch_key
|
|
25
|
+
|
|
26
|
+
# The value that was in effect before this call. Equal to `value` when an idempotent `value` matched what was already stored.
|
|
27
|
+
attr_accessor :previous
|
|
28
|
+
|
|
29
|
+
# The value now in effect on `env`.
|
|
30
|
+
attr_accessor :value
|
|
31
|
+
|
|
22
32
|
# Newly published version on `env`.
|
|
23
33
|
attr_accessor :version
|
|
24
34
|
|
|
@@ -51,6 +61,9 @@ module Shipeasy::Admin::Generated
|
|
|
51
61
|
{
|
|
52
62
|
:'id' => :'id',
|
|
53
63
|
:'env' => :'env',
|
|
64
|
+
:'switch_key' => :'switchKey',
|
|
65
|
+
:'previous' => :'previous',
|
|
66
|
+
:'value' => :'value',
|
|
54
67
|
:'version' => :'version',
|
|
55
68
|
:'published' => :'published'
|
|
56
69
|
}
|
|
@@ -71,6 +84,9 @@ module Shipeasy::Admin::Generated
|
|
|
71
84
|
{
|
|
72
85
|
:'id' => :'String',
|
|
73
86
|
:'env' => :'Env',
|
|
87
|
+
:'switch_key' => :'String',
|
|
88
|
+
:'previous' => :'Boolean',
|
|
89
|
+
:'value' => :'Boolean',
|
|
74
90
|
:'version' => :'Integer',
|
|
75
91
|
:'published' => :'KillswitchValue'
|
|
76
92
|
}
|
|
@@ -79,6 +95,7 @@ module Shipeasy::Admin::Generated
|
|
|
79
95
|
# List of attributes with nullable: true
|
|
80
96
|
def self.openapi_nullable
|
|
81
97
|
Set.new([
|
|
98
|
+
:'switch_key',
|
|
82
99
|
])
|
|
83
100
|
end
|
|
84
101
|
|
|
@@ -86,14 +103,14 @@ module Shipeasy::Admin::Generated
|
|
|
86
103
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
87
104
|
def initialize(attributes = {})
|
|
88
105
|
if (!attributes.is_a?(Hash))
|
|
89
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::
|
|
106
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Shipeasy::Admin::Generated::ToggleKillswitchResponse` initialize method"
|
|
90
107
|
end
|
|
91
108
|
|
|
92
109
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
93
110
|
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
94
111
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
95
112
|
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
96
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::
|
|
113
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Shipeasy::Admin::Generated::ToggleKillswitchResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
97
114
|
end
|
|
98
115
|
h[k.to_sym] = v
|
|
99
116
|
}
|
|
@@ -110,6 +127,24 @@ module Shipeasy::Admin::Generated
|
|
|
110
127
|
self.env = nil
|
|
111
128
|
end
|
|
112
129
|
|
|
130
|
+
if attributes.key?(:'switch_key')
|
|
131
|
+
self.switch_key = attributes[:'switch_key']
|
|
132
|
+
else
|
|
133
|
+
self.switch_key = nil
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
if attributes.key?(:'previous')
|
|
137
|
+
self.previous = attributes[:'previous']
|
|
138
|
+
else
|
|
139
|
+
self.previous = nil
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
if attributes.key?(:'value')
|
|
143
|
+
self.value = attributes[:'value']
|
|
144
|
+
else
|
|
145
|
+
self.value = nil
|
|
146
|
+
end
|
|
147
|
+
|
|
113
148
|
if attributes.key?(:'version')
|
|
114
149
|
self.version = attributes[:'version']
|
|
115
150
|
else
|
|
@@ -136,6 +171,23 @@ module Shipeasy::Admin::Generated
|
|
|
136
171
|
invalid_properties.push('invalid value for "env", env cannot be nil.')
|
|
137
172
|
end
|
|
138
173
|
|
|
174
|
+
if @switch_key.to_s.length > 64
|
|
175
|
+
invalid_properties.push('invalid value for "switch_key", the character length must be smaller than or equal to 64.')
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
pattern = Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/)
|
|
179
|
+
if @switch_key !~ pattern
|
|
180
|
+
invalid_properties.push("invalid value for \"switch_key\", must conform to the pattern #{pattern}.")
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
if @previous.nil?
|
|
184
|
+
invalid_properties.push('invalid value for "previous", previous cannot be nil.')
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
if @value.nil?
|
|
188
|
+
invalid_properties.push('invalid value for "value", value cannot be nil.')
|
|
189
|
+
end
|
|
190
|
+
|
|
139
191
|
if @version.nil?
|
|
140
192
|
invalid_properties.push('invalid value for "version", version cannot be nil.')
|
|
141
193
|
end
|
|
@@ -161,6 +213,10 @@ module Shipeasy::Admin::Generated
|
|
|
161
213
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
162
214
|
return false if @id.nil?
|
|
163
215
|
return false if @env.nil?
|
|
216
|
+
return false if @switch_key.to_s.length > 64
|
|
217
|
+
return false if @switch_key !~ Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/)
|
|
218
|
+
return false if @previous.nil?
|
|
219
|
+
return false if @value.nil?
|
|
164
220
|
return false if @version.nil?
|
|
165
221
|
return false if @version > 9007199254740991
|
|
166
222
|
return false if @version < -9007199254740991
|
|
@@ -188,6 +244,41 @@ module Shipeasy::Admin::Generated
|
|
|
188
244
|
@env = env
|
|
189
245
|
end
|
|
190
246
|
|
|
247
|
+
# Custom attribute writer method with validation
|
|
248
|
+
# @param [Object] switch_key Value to be assigned
|
|
249
|
+
def switch_key=(switch_key)
|
|
250
|
+
if !switch_key.nil? && switch_key.to_s.length > 64
|
|
251
|
+
fail ArgumentError, 'invalid value for "switch_key", the character length must be smaller than or equal to 64.'
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
pattern = Regexp.new(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/)
|
|
255
|
+
if !switch_key.nil? && switch_key !~ pattern
|
|
256
|
+
fail ArgumentError, "invalid value for \"switch_key\", must conform to the pattern #{pattern}."
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
@switch_key = switch_key
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
# Custom attribute writer method with validation
|
|
263
|
+
# @param [Object] previous Value to be assigned
|
|
264
|
+
def previous=(previous)
|
|
265
|
+
if previous.nil?
|
|
266
|
+
fail ArgumentError, 'previous cannot be nil'
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
@previous = previous
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
# Custom attribute writer method with validation
|
|
273
|
+
# @param [Object] value Value to be assigned
|
|
274
|
+
def value=(value)
|
|
275
|
+
if value.nil?
|
|
276
|
+
fail ArgumentError, 'value cannot be nil'
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
@value = value
|
|
280
|
+
end
|
|
281
|
+
|
|
191
282
|
# Custom attribute writer method with validation
|
|
192
283
|
# @param [Object] version Value to be assigned
|
|
193
284
|
def version=(version)
|
|
@@ -223,6 +314,9 @@ module Shipeasy::Admin::Generated
|
|
|
223
314
|
self.class == o.class &&
|
|
224
315
|
id == o.id &&
|
|
225
316
|
env == o.env &&
|
|
317
|
+
switch_key == o.switch_key &&
|
|
318
|
+
previous == o.previous &&
|
|
319
|
+
value == o.value &&
|
|
226
320
|
version == o.version &&
|
|
227
321
|
published == o.published
|
|
228
322
|
end
|
|
@@ -236,7 +330,7 @@ module Shipeasy::Admin::Generated
|
|
|
236
330
|
# Calculates hash code according to all attributes.
|
|
237
331
|
# @return [Integer] Hash code
|
|
238
332
|
def hash
|
|
239
|
-
[id, env, version, published].hash
|
|
333
|
+
[id, env, switch_key, previous, value, version, published].hash
|
|
240
334
|
end
|
|
241
335
|
|
|
242
336
|
# Builds the object from hash
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Shipeasy Admin API
|
|
2
|
+
#Shipeasy Admin API (server-SDK surface)
|
|
3
3
|
|
|
4
|
-
#
|
|
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
|
|