smplkit 2.0.12 → 2.0.14

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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/account_api.rb +11 -11
  3. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/api_keys_api.rb +18 -18
  4. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/billing_api.rb +21 -21
  5. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/context_types_api.rb +18 -18
  6. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/contexts_api.rb +11 -11
  7. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/environments_api.rb +18 -18
  8. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/metrics_api.rb +2 -2
  9. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/services_api.rb +18 -18
  10. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/users_api.rb +18 -18
  11. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account.rb +14 -31
  12. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_request.rb +165 -0
  13. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_resource.rb +1 -0
  14. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_response.rb +1 -0
  15. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/account_wipe_request.rb +3 -3
  16. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_attributes.rb +3 -1
  17. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_body.rb +1 -0
  18. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/add_payment_method_data.rb +1 -0
  19. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key.rb +15 -16
  20. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_list_response.rb +1 -0
  21. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_request.rb +165 -0
  22. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_resource.rb +1 -0
  23. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/api_key_response.rb +1 -0
  24. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/auth_token_response.rb +3 -0
  25. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context.rb +6 -3
  26. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_batch_response.rb +2 -0
  27. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_bulk_item.rb +4 -2
  28. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_bulk_register.rb +2 -0
  29. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_list_response.rb +1 -0
  30. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_request.rb +165 -0
  31. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_resource.rb +1 -0
  32. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_response.rb +1 -0
  33. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type.rb +5 -2
  34. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_list_response.rb +1 -0
  35. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_request.rb +165 -0
  36. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_resource.rb +1 -0
  37. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/context_type_response.rb +1 -0
  38. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_attributes.rb +4 -0
  39. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_body.rb +1 -0
  40. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/create_subscription_data.rb +2 -0
  41. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/email.rb +3 -1
  42. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/email_resource.rb +1 -0
  43. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/email_response.rb +1 -0
  44. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment.rb +6 -0
  45. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_list_response.rb +1 -0
  46. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_request.rb +165 -0
  47. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_resource.rb +1 -0
  48. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/environment_response.rb +1 -0
  49. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation.rb +11 -0
  50. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_accept_request.rb +2 -0
  51. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_bulk_create_request.rb +2 -0
  52. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_create_item.rb +3 -0
  53. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_list_response.rb +1 -0
  54. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_resource.rb +1 -0
  55. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_response.rb +1 -0
  56. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice.rb +13 -0
  57. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice_list_response.rb +1 -0
  58. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice_resource.rb +1 -0
  59. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invoice_single_response.rb +1 -0
  60. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/limit_definition.rb +5 -0
  61. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/login_request.rb +3 -0
  62. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_attributes.rb +7 -0
  63. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_bulk_request.rb +2 -0
  64. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_list_response.rb +1 -0
  65. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_name_item.rb +3 -0
  66. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_names_response.rb +1 -0
  67. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_resource.rb +1 -0
  68. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_rollup_attributes.rb +6 -0
  69. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_rollup_list_response.rb +1 -0
  70. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/metric_rollup_resource.rb +1 -0
  71. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/next_tier_meta.rb +4 -0
  72. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/page_meta.rb +5 -4
  73. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method.rb +9 -1
  74. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_list_response.rb +1 -0
  75. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_request.rb +165 -0
  76. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_resource.rb +1 -0
  77. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/payment_method_response.rb +1 -0
  78. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan.rb +4 -0
  79. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_change_request.rb +2 -0
  80. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_definition.rb +3 -0
  81. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_list_response.rb +1 -0
  82. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/plan_resource.rb +1 -0
  83. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/product.rb +8 -0
  84. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/product_list_response.rb +1 -0
  85. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/product_resource.rb +1 -0
  86. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/register_request.rb +4 -1
  87. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service.rb +4 -0
  88. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_list_response.rb +1 -0
  89. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_request.rb +165 -0
  90. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_resource.rb +1 -0
  91. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/service_response.rb +1 -0
  92. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/setup_intent_attributes.rb +2 -0
  93. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/setup_intent_response.rb +1 -0
  94. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_attributes.rb +8 -0
  95. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_list_meta.rb +6 -1
  96. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_list_response.rb +1 -0
  97. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_resource.rb +1 -0
  98. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/subscription_response.rb +1 -0
  99. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user.rb +11 -21
  100. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_list_response.rb +1 -0
  101. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_request.rb +165 -0
  102. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_resource.rb +1 -0
  103. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/user_response.rb +1 -0
  104. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/value.rb +1 -0
  105. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/verify_email_request.rb +2 -0
  106. data/lib/smplkit/_generated/app/lib/smplkit_app_client.rb +8 -0
  107. data/lib/smplkit/_generated/app/spec/api/account_api_spec.rb +2 -2
  108. data/lib/smplkit/_generated/app/spec/api/api_keys_api_spec.rb +2 -2
  109. data/lib/smplkit/_generated/app/spec/api/billing_api_spec.rb +7 -7
  110. data/lib/smplkit/_generated/app/spec/api/context_types_api_spec.rb +2 -2
  111. data/lib/smplkit/_generated/app/spec/api/contexts_api_spec.rb +2 -2
  112. data/lib/smplkit/_generated/app/spec/api/environments_api_spec.rb +2 -2
  113. data/lib/smplkit/_generated/app/spec/api/metrics_api_spec.rb +1 -1
  114. data/lib/smplkit/_generated/app/spec/api/services_api_spec.rb +2 -2
  115. data/lib/smplkit/_generated/app/spec/api/users_api_spec.rb +2 -2
  116. data/lib/smplkit/_generated/app/spec/models/account_request_spec.rb +36 -0
  117. data/lib/smplkit/_generated/app/spec/models/api_key_request_spec.rb +36 -0
  118. data/lib/smplkit/_generated/app/spec/models/api_key_spec.rb +0 -6
  119. data/lib/smplkit/_generated/app/spec/models/context_request_spec.rb +36 -0
  120. data/lib/smplkit/_generated/app/spec/models/context_type_request_spec.rb +36 -0
  121. data/lib/smplkit/_generated/app/spec/models/environment_request_spec.rb +36 -0
  122. data/lib/smplkit/_generated/app/spec/models/payment_method_request_spec.rb +36 -0
  123. data/lib/smplkit/_generated/app/spec/models/service_request_spec.rb +36 -0
  124. data/lib/smplkit/_generated/app/spec/models/user_request_spec.rb +36 -0
  125. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/api/flag_sources_api.rb +4 -4
  126. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/api/flags_api.rb +28 -28
  127. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/api/functions_api.rb +2 -2
  128. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/api/usage_api.rb +2 -2
  129. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag.rb +40 -10
  130. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_bulk_item.rb +34 -9
  131. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_bulk_request.rb +2 -0
  132. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_bulk_response.rb +2 -0
  133. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_environment.rb +4 -0
  134. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_list_response.rb +1 -0
  135. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_request.rb +165 -0
  136. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_resource.rb +1 -0
  137. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_response.rb +1 -0
  138. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_rule.rb +3 -0
  139. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_source.rb +65 -13
  140. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_source_list_response.rb +1 -0
  141. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_source_resource.rb +1 -0
  142. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/flag_value.rb +2 -0
  143. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/manual_review_item.rb +5 -0
  144. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/remove_references_attributes.rb +4 -0
  145. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/remove_references_request.rb +3 -0
  146. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/remove_references_result_envelope.rb +1 -0
  147. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/remove_references_result_resource.rb +1 -0
  148. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/usage_attributes.rb +4 -0
  149. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/usage_list_response.rb +1 -0
  150. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client/models/usage_resource.rb +1 -0
  151. data/lib/smplkit/_generated/flags/lib/smplkit_flags_client.rb +1 -0
  152. data/lib/smplkit/_generated/flags/spec/api/flag_sources_api_spec.rb +2 -2
  153. data/lib/smplkit/_generated/flags/spec/api/flags_api_spec.rb +7 -7
  154. data/lib/smplkit/_generated/flags/spec/api/functions_api_spec.rb +1 -1
  155. data/lib/smplkit/_generated/flags/spec/api/usage_api_spec.rb +1 -1
  156. data/lib/smplkit/_generated/flags/spec/models/flag_bulk_item_spec.rb +4 -0
  157. data/lib/smplkit/_generated/flags/spec/models/flag_request_spec.rb +36 -0
  158. data/lib/smplkit/_generated/flags/spec/models/flag_source_spec.rb +13 -3
  159. data/lib/smplkit/_generated/flags/spec/models/flag_spec.rb +4 -0
  160. metadata +19 -1
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # JSON:API collection response envelope for flags.
17
18
  class FlagListResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -0,0 +1,165 @@
1
+ =begin
2
+ #smplkit Flags API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module SmplkitGeneratedClient::Flags
17
+ # JSON:API request envelope for creating or updating a flag.
18
+ class FlagRequest < ApiModelBase
19
+ attr_accessor :data
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'data' => :'data'
25
+ }
26
+ end
27
+
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ acceptable_attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'data' => :'FlagResource'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SmplkitGeneratedClient::Flags::FlagRequest` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ acceptable_attribute_map = self.class.acceptable_attribute_map
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!acceptable_attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SmplkitGeneratedClient::Flags::FlagRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
66
+
67
+ if attributes.key?(:'data')
68
+ self.data = attributes[:'data']
69
+ else
70
+ self.data = nil
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
+ invalid_properties = Array.new
79
+ if @data.nil?
80
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
81
+ end
82
+
83
+ invalid_properties
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ def valid?
89
+ warn '[DEPRECATED] the `valid?` method is obsolete'
90
+ return false if @data.nil?
91
+ true
92
+ end
93
+
94
+ # Custom attribute writer method with validation
95
+ # @param [Object] data Value to be assigned
96
+ def data=(data)
97
+ if data.nil?
98
+ fail ArgumentError, 'data cannot be nil'
99
+ end
100
+
101
+ @data = data
102
+ end
103
+
104
+ # Checks equality by comparing each attribute.
105
+ # @param [Object] Object to be compared
106
+ def ==(o)
107
+ return true if self.equal?(o)
108
+ self.class == o.class &&
109
+ data == o.data
110
+ end
111
+
112
+ # @see the `==` method
113
+ # @param [Object] Object to be compared
114
+ def eql?(o)
115
+ self == o
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Integer] Hash code
120
+ def hash
121
+ [data].hash
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def self.build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ attributes = attributes.transform_keys(&:to_sym)
130
+ transformed_hash = {}
131
+ openapi_types.each_pair do |key, type|
132
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
133
+ transformed_hash["#{key}"] = nil
134
+ elsif type =~ /\AArray<(.*)>/i
135
+ # check to ensure the input is an array given that the attribute
136
+ # is documented as an array but the input is not
137
+ if attributes[attribute_map[key]].is_a?(Array)
138
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
139
+ end
140
+ elsif !attributes[attribute_map[key]].nil?
141
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
142
+ end
143
+ end
144
+ new(transformed_hash)
145
+ end
146
+
147
+ # Returns the object in the form of hash
148
+ # @return [Hash] Returns the object in the form of hash
149
+ def to_hash
150
+ hash = {}
151
+ self.class.attribute_map.each_pair do |attr, param|
152
+ value = self.send(attr)
153
+ if value.nil?
154
+ is_nullable = self.class.openapi_nullable.include?(attr)
155
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
156
+ end
157
+
158
+ hash[param] = _to_hash(value)
159
+ end
160
+ hash
161
+ end
162
+
163
+ end
164
+
165
+ end
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # JSON:API resource envelope for a flag. `id` is the flag key. For create requests, `id` is required and is chosen by the caller. For update requests, `id` may be omitted (the server reads the key from the URL) or supplied to rename the flag.
17
18
  class FlagResource < ApiModelBase
18
19
  attr_accessor :id
19
20
 
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # JSON:API single-resource response envelope for a flag.
17
18
  class FlagResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -14,9 +14,12 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # A targeting rule that overrides the default within an environment.
17
18
  class FlagRule < ApiModelBase
19
+ # Human-readable description of the rule.
18
20
  attr_accessor :description
19
21
 
22
+ # JSON Logic expression evaluated against the evaluation context. The rule fires when the expression is truthy.
20
23
  attr_accessor :logic
21
24
 
22
25
  attr_accessor :value
@@ -14,29 +14,62 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # A record of an SDK observing a feature flag from a particular service and environment. The flags service auto-registers a source the first time an SDK reports a flag from a given service/environment pair and refreshes `last_seen` on every subsequent report. Each source captures the value type and default value the SDK declared in source code at that location, which makes it possible to detect when service code has drifted from the flag's authoritative configuration.
17
18
  class FlagSource < ApiModelBase
19
+ # Service that declared the flag.
18
20
  attr_accessor :service
19
21
 
22
+ # Environment in which the service declared the flag.
20
23
  attr_accessor :environment
21
24
 
25
+ # Value type the SDK reported when registering the flag from this service/environment. May differ from the flag's authoritative `type` if the service is running stale code.
26
+ attr_accessor :declared_type
27
+
28
+ attr_accessor :declared_default
29
+
30
+ # When this source was first observed.
22
31
  attr_accessor :first_observed
23
32
 
33
+ # Most recent time the SDK re-registered this source.
24
34
  attr_accessor :last_seen
25
35
 
26
- attr_accessor :data
27
-
36
+ # When the source record was created.
28
37
  attr_accessor :created_at
29
38
 
39
+ # When the source record was last modified.
30
40
  attr_accessor :updated_at
31
41
 
42
+ class EnumAttributeValidator
43
+ attr_reader :datatype
44
+ attr_reader :allowable_values
45
+
46
+ def initialize(datatype, allowable_values)
47
+ @allowable_values = allowable_values.map do |value|
48
+ case datatype.to_s
49
+ when /Integer/i
50
+ value.to_i
51
+ when /Float/i
52
+ value.to_f
53
+ else
54
+ value
55
+ end
56
+ end
57
+ end
58
+
59
+ def valid?(value)
60
+ !value || allowable_values.include?(value)
61
+ end
62
+ end
63
+
32
64
  # Attribute mapping from ruby-style variable name to JSON key.
33
65
  def self.attribute_map
34
66
  {
35
67
  :'service' => :'service',
36
68
  :'environment' => :'environment',
69
+ :'declared_type' => :'declared_type',
70
+ :'declared_default' => :'declared_default',
37
71
  :'first_observed' => :'first_observed',
38
72
  :'last_seen' => :'last_seen',
39
- :'data' => :'data',
40
73
  :'created_at' => :'created_at',
41
74
  :'updated_at' => :'updated_at'
42
75
  }
@@ -57,9 +90,10 @@ module SmplkitGeneratedClient::Flags
57
90
  {
58
91
  :'service' => :'String',
59
92
  :'environment' => :'String',
93
+ :'declared_type' => :'String',
94
+ :'declared_default' => :'Object',
60
95
  :'first_observed' => :'Time',
61
96
  :'last_seen' => :'Time',
62
- :'data' => :'Hash<String, Object>',
63
97
  :'created_at' => :'Time',
64
98
  :'updated_at' => :'Time'
65
99
  }
@@ -68,9 +102,12 @@ module SmplkitGeneratedClient::Flags
68
102
  # List of attributes with nullable: true
69
103
  def self.openapi_nullable
70
104
  Set.new([
105
+ :'service',
106
+ :'environment',
107
+ :'declared_type',
108
+ :'declared_default',
71
109
  :'first_observed',
72
110
  :'last_seen',
73
- :'data',
74
111
  :'created_at',
75
112
  :'updated_at'
76
113
  ])
@@ -100,6 +137,14 @@ module SmplkitGeneratedClient::Flags
100
137
  self.environment = attributes[:'environment']
101
138
  end
102
139
 
140
+ if attributes.key?(:'declared_type')
141
+ self.declared_type = attributes[:'declared_type']
142
+ end
143
+
144
+ if attributes.key?(:'declared_default')
145
+ self.declared_default = attributes[:'declared_default']
146
+ end
147
+
103
148
  if attributes.key?(:'first_observed')
104
149
  self.first_observed = attributes[:'first_observed']
105
150
  end
@@ -108,12 +153,6 @@ module SmplkitGeneratedClient::Flags
108
153
  self.last_seen = attributes[:'last_seen']
109
154
  end
110
155
 
111
- if attributes.key?(:'data')
112
- if (value = attributes[:'data']).is_a?(Hash)
113
- self.data = value
114
- end
115
- end
116
-
117
156
  if attributes.key?(:'created_at')
118
157
  self.created_at = attributes[:'created_at']
119
158
  end
@@ -135,9 +174,21 @@ module SmplkitGeneratedClient::Flags
135
174
  # @return true if the model is valid
136
175
  def valid?
137
176
  warn '[DEPRECATED] the `valid?` method is obsolete'
177
+ declared_type_validator = EnumAttributeValidator.new('String', ["BOOLEAN", "STRING", "NUMERIC", "JSON"])
178
+ return false unless declared_type_validator.valid?(@declared_type)
138
179
  true
139
180
  end
140
181
 
182
+ # Custom attribute writer method checking allowed values (enum).
183
+ # @param [Object] declared_type Object to be assigned
184
+ def declared_type=(declared_type)
185
+ validator = EnumAttributeValidator.new('String', ["BOOLEAN", "STRING", "NUMERIC", "JSON"])
186
+ unless validator.valid?(declared_type)
187
+ fail ArgumentError, "invalid value for \"declared_type\", must be one of #{validator.allowable_values}."
188
+ end
189
+ @declared_type = declared_type
190
+ end
191
+
141
192
  # Checks equality by comparing each attribute.
142
193
  # @param [Object] Object to be compared
143
194
  def ==(o)
@@ -145,9 +196,10 @@ module SmplkitGeneratedClient::Flags
145
196
  self.class == o.class &&
146
197
  service == o.service &&
147
198
  environment == o.environment &&
199
+ declared_type == o.declared_type &&
200
+ declared_default == o.declared_default &&
148
201
  first_observed == o.first_observed &&
149
202
  last_seen == o.last_seen &&
150
- data == o.data &&
151
203
  created_at == o.created_at &&
152
204
  updated_at == o.updated_at
153
205
  end
@@ -161,7 +213,7 @@ module SmplkitGeneratedClient::Flags
161
213
  # Calculates hash code according to all attributes.
162
214
  # @return [Integer] Hash code
163
215
  def hash
164
- [service, environment, first_observed, last_seen, data, created_at, updated_at].hash
216
+ [service, environment, declared_type, declared_default, first_observed, last_seen, created_at, updated_at].hash
165
217
  end
166
218
 
167
219
  # Builds the object from hash
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # JSON:API collection response envelope for flag sources.
17
18
  class FlagSourceListResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # JSON:API resource envelope for a flag source. `id` is the source record's UUID. Sources are not created or modified directly — the flags service registers and refreshes them in response to SDK bulk-register requests.
17
18
  class FlagSourceResource < ApiModelBase
18
19
  attr_accessor :id
19
20
 
@@ -14,7 +14,9 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # A named value in a constrained flag's value set.
17
18
  class FlagValue < ApiModelBase
19
+ # Human-readable label for the value.
18
20
  attr_accessor :name
19
21
 
20
22
  attr_accessor :value
@@ -14,13 +14,18 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # A flag rule that could not be safely modified by the bulk remove-references action.
17
18
  class ManualReviewItem < ApiModelBase
19
+ # Key of the flag containing the rule.
18
20
  attr_accessor :flag
19
21
 
22
+ # Environment containing the rule.
20
23
  attr_accessor :environment
21
24
 
25
+ # Position of the rule within the environment's `rules` array.
22
26
  attr_accessor :rule_index
23
27
 
28
+ # Why the rule needs manual review.
24
29
  attr_accessor :reason
25
30
 
26
31
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,11 +14,15 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # Counts and follow-ups returned by the remove-references action.
17
18
  class RemoveReferencesAttributes < ApiModelBase
19
+ # Keys of flags whose rules were modified.
18
20
  attr_accessor :flags_modified
19
21
 
22
+ # Total number of rules removed across all flags.
20
23
  attr_accessor :rules_removed
21
24
 
25
+ # Rules that referenced the context but could not be removed automatically (typically because the reference is inside an `and` expression where removal would broaden the rule).
22
26
  attr_accessor :rules_needing_manual_review
23
27
 
24
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,9 +14,12 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # Inputs to the remove-references action. Exactly one of `context` or `context_type` must be provided.
17
18
  class RemoveReferencesRequest < ApiModelBase
19
+ # Identifier of the context instance to remove references to, formatted as `{type}:{key}` (e.g. `customer:c-123`).
18
20
  attr_accessor :context
19
21
 
22
+ # Context type to remove all references to (any attribute of this type).
20
23
  attr_accessor :context_type
21
24
 
22
25
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # JSON:API single-resource response envelope for the remove-references action.
17
18
  class RemoveReferencesResultEnvelope < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # JSON:API resource envelope for the remove-references result.
17
18
  class RemoveReferencesResultResource < ApiModelBase
18
19
  attr_accessor :type
19
20
 
@@ -14,11 +14,15 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # Usage counter for a single metered limit.
17
18
  class UsageAttributes < ApiModelBase
19
+ # Identifier of the metered limit, e.g. `flags.items`.
18
20
  attr_accessor :limit_key
19
21
 
22
+ # Period the counter covers. `current` is the only supported value.
20
23
  attr_accessor :period
21
24
 
25
+ # Count for the period.
22
26
  attr_accessor :value
23
27
 
24
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # JSON:API collection response envelope for usage counters.
17
18
  class UsageListResponse < ApiModelBase
18
19
  attr_accessor :data
19
20
 
@@ -14,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module SmplkitGeneratedClient::Flags
17
+ # JSON:API resource envelope for a usage counter.
17
18
  class UsageResource < ApiModelBase
18
19
  attr_accessor :id
19
20
 
@@ -24,6 +24,7 @@ require 'smplkit_flags_client/models/flag_bulk_request'
24
24
  require 'smplkit_flags_client/models/flag_bulk_response'
25
25
  require 'smplkit_flags_client/models/flag_environment'
26
26
  require 'smplkit_flags_client/models/flag_list_response'
27
+ require 'smplkit_flags_client/models/flag_request'
27
28
  require 'smplkit_flags_client/models/flag_resource'
28
29
  require 'smplkit_flags_client/models/flag_response'
29
30
  require 'smplkit_flags_client/models/flag_rule'
@@ -34,7 +34,7 @@ describe 'FlagSourcesApi' do
34
34
 
35
35
  # unit tests for list_all_flag_sources
36
36
  # List All Flag Sources
37
- # List all flag sources across all flags. Optionally filter by environment or service.
37
+ # List service/environment observations across all flags for this account. Filter by &#x60;environment&#x60; or &#x60;service&#x60; (or both) to narrow the result.
38
38
  # @param [Hash] opts the optional parameters
39
39
  # @option opts [String] :filter_environment
40
40
  # @option opts [String] :filter_service
@@ -47,7 +47,7 @@ describe 'FlagSourcesApi' do
47
47
 
48
48
  # unit tests for list_flag_sources
49
49
  # List Flag Sources
50
- # List all sources (service/environment observations) for a specific flag.
50
+ # List the service/environment observations recorded for a single flag.
51
51
  # @param id
52
52
  # @param [Hash] opts the optional parameters
53
53
  # @return [FlagSourceListResponse]
@@ -34,7 +34,7 @@ describe 'FlagsApi' do
34
34
 
35
35
  # unit tests for bulk_register_flags
36
36
  # Bulk Register Flags
37
- # Register flags discovered by an SDK. Creates new flags or updates source observations on existing ones.
37
+ # Register flags discovered by an SDK. Creates a new flag for each unreported key and refreshes the service/environment source observation on each already-known key.
38
38
  # @param flag_bulk_request
39
39
  # @param [Hash] opts the optional parameters
40
40
  # @return [FlagBulkResponse]
@@ -46,8 +46,8 @@ describe 'FlagsApi' do
46
46
 
47
47
  # unit tests for create_flag
48
48
  # Create Flag
49
- # Create a new feature flag. The caller provides the id (key) in the request body.
50
- # @param flag_response
49
+ # Create a new feature flag. The caller provides the id (the flag key) in the request body.
50
+ # @param flag_request
51
51
  # @param [Hash] opts the optional parameters
52
52
  # @return [FlagResponse]
53
53
  describe 'create_flag test' do
@@ -70,7 +70,7 @@ describe 'FlagsApi' do
70
70
 
71
71
  # unit tests for get_flag
72
72
  # Get Flag
73
- # Return a feature flag by its key.
73
+ # Retrieve a feature flag by its key.
74
74
  # @param id
75
75
  # @param [Hash] opts the optional parameters
76
76
  # @return [FlagResponse]
@@ -82,7 +82,7 @@ describe 'FlagsApi' do
82
82
 
83
83
  # unit tests for list_flags
84
84
  # List Flags
85
- # List all feature flags for the authenticated account.
85
+ # List feature flags for this account.
86
86
  # @param [Hash] opts the optional parameters
87
87
  # @option opts [String] :filter_type
88
88
  # @option opts [Boolean] :filter_managed
@@ -97,9 +97,9 @@ describe 'FlagsApi' do
97
97
 
98
98
  # unit tests for update_flag
99
99
  # Update Flag
100
- # Replace a feature flag entirely.
100
+ # Replace a feature flag entirely. Every writable field is overwritten.
101
101
  # @param id
102
- # @param flag_response
102
+ # @param flag_request
103
103
  # @param [Hash] opts the optional parameters
104
104
  # @return [FlagResponse]
105
105
  describe 'update_flag test' do
@@ -34,7 +34,7 @@ describe 'FunctionsApi' do
34
34
 
35
35
  # unit tests for remove_references
36
36
  # Execute Remove References
37
- # Bulk-remove context references from flag rules. Traverses every flag in the account, removes rules that reference the specified context, and emits a single flags_changed event when done.
37
+ # Remove every rule that references a specific context across every flag. Provide exactly one of &#x60;context&#x60; (matches a single instance, formatted as &#x60;{type}:{key}&#x60;) or &#x60;context_type&#x60; (matches any attribute of that context type). Rules whose reference sits inside an AND expression are not removed automatically; they are returned in &#x60;rules_needing_manual_review&#x60; for the caller to handle.
38
38
  # @param remove_references_request
39
39
  # @param [Hash] opts the optional parameters
40
40
  # @return [RemoveReferencesResultEnvelope]
@@ -34,7 +34,7 @@ describe 'UsageApi' do
34
34
 
35
35
  # unit tests for list_flags_usage
36
36
  # List Flags Usage
37
- # Return current resource usage counts for the authenticated account.
37
+ # Report current-period usage counters for this account.
38
38
  # @param [Hash] opts the optional parameters
39
39
  # @option opts [String] :filter_period
40
40
  # @return [UsageListResponse]
@@ -36,6 +36,10 @@ describe SmplkitGeneratedClient::Flags::FlagBulkItem do
36
36
  describe 'test attribute "type"' do
37
37
  it 'should work' do
38
38
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["BOOLEAN", "STRING", "NUMERIC", "JSON"])
40
+ # validator.allowable_values.each do |value|
41
+ # expect { instance.type = value }.not_to raise_error
42
+ # end
39
43
  end
40
44
  end
41
45
 
@@ -0,0 +1,36 @@
1
+ =begin
2
+ #smplkit Flags API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for SmplkitGeneratedClient::Flags::FlagRequest
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe SmplkitGeneratedClient::Flags::FlagRequest do
21
+ #let(:instance) { SmplkitGeneratedClient::Flags::FlagRequest.new }
22
+
23
+ describe 'test an instance of FlagRequest' do
24
+ it 'should create an instance of FlagRequest' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(SmplkitGeneratedClient::Flags::FlagRequest)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "data"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ end