svix 1.37.0 → 1.39.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/README.md +8 -1
  4. data/lib/svix/api/application_api.rb +23 -14
  5. data/lib/svix/api/authentication_api.rb +23 -11
  6. data/lib/svix/api/background_tasks_api.rb +3 -3
  7. data/lib/svix/api/broadcast_api.rb +6 -3
  8. data/lib/svix/api/endpoint_api.rb +86 -44
  9. data/lib/svix/api/environment_api.rb +8 -5
  10. data/lib/svix/api/environment_settings_api.rb +2 -2
  11. data/lib/svix/api/event_type_api.rb +39 -21
  12. data/lib/svix/api/events_api.rb +2 -2
  13. data/lib/svix/api/health_api.rb +2 -2
  14. data/lib/svix/api/inbound_api.rb +7 -4
  15. data/lib/svix/api/integration_api.rb +16 -10
  16. data/lib/svix/api/message_api.rb +21 -15
  17. data/lib/svix/api/message_attempt_api.rb +25 -25
  18. data/lib/svix/api/sink_api.rb +7 -4
  19. data/lib/svix/api/statistics_api.rb +9 -6
  20. data/lib/svix/api/stream_api.rb +19 -10
  21. data/lib/svix/api/transformation_template_api.rb +49 -22
  22. data/lib/svix/api/webhook_endpoint_api.rb +572 -0
  23. data/lib/svix/api_client.rb +45 -28
  24. data/lib/svix/api_error.rb +2 -1
  25. data/lib/svix/configuration.rb +42 -12
  26. data/lib/svix/models/aggregate_event_types_out.rb +43 -19
  27. data/lib/svix/models/app_portal_access_in.rb +19 -19
  28. data/lib/svix/models/app_portal_access_out.rb +19 -19
  29. data/lib/svix/models/app_usage_stats_in.rb +19 -19
  30. data/lib/svix/models/app_usage_stats_out.rb +43 -19
  31. data/lib/svix/models/application_in.rb +17 -19
  32. data/lib/svix/models/application_out.rb +25 -19
  33. data/lib/svix/models/application_patch.rb +15 -19
  34. data/lib/svix/models/application_stats.rb +19 -19
  35. data/lib/svix/models/application_token_expire_in.rb +15 -19
  36. data/lib/svix/models/attempt_statistics_data.rb +15 -19
  37. data/lib/svix/models/attempt_statistics_response.rb +45 -19
  38. data/lib/svix/models/auth_token_out.rb +21 -19
  39. data/lib/svix/models/azure_blob_storage_config.rb +21 -19
  40. data/lib/svix/models/background_task_out.rb +45 -19
  41. data/lib/svix/models/background_task_status.rb +7 -4
  42. data/lib/svix/models/background_task_type.rb +7 -4
  43. data/lib/svix/models/big_query_config.rb +271 -0
  44. data/lib/svix/models/border_radius_config.rb +37 -19
  45. data/lib/svix/models/border_radius_enum.rb +7 -4
  46. data/lib/svix/models/client_secret_jwt_params_in.rb +41 -19
  47. data/lib/svix/models/completion_choice.rb +21 -19
  48. data/lib/svix/models/completion_message.rb +19 -19
  49. data/lib/svix/models/create_message_token_in.rb +17 -19
  50. data/lib/svix/models/create_stream_in.rb +30 -23
  51. data/lib/svix/models/custom_color_palette.rb +15 -19
  52. data/lib/svix/models/custom_strings_override.rb +15 -19
  53. data/lib/svix/models/custom_theme_override.rb +15 -19
  54. data/lib/svix/models/dashboard_access_out.rb +19 -19
  55. data/lib/svix/models/duration.rb +19 -19
  56. data/lib/svix/models/endpoint_created_event.rb +17 -19
  57. data/lib/svix/models/endpoint_created_event_data.rb +19 -19
  58. data/lib/svix/models/endpoint_deleted_event.rb +17 -19
  59. data/lib/svix/models/endpoint_deleted_event_data.rb +19 -19
  60. data/lib/svix/models/endpoint_disabled_event.rb +17 -19
  61. data/lib/svix/models/endpoint_disabled_event_data.rb +21 -19
  62. data/lib/svix/models/endpoint_headers_in.rb +17 -19
  63. data/lib/svix/models/endpoint_headers_out.rb +19 -19
  64. data/lib/svix/models/endpoint_headers_patch_in.rb +17 -19
  65. data/lib/svix/models/endpoint_in.rb +17 -19
  66. data/lib/svix/models/endpoint_message_out.rb +47 -19
  67. data/lib/svix/models/endpoint_mtls_config_in.rb +17 -19
  68. data/lib/svix/models/endpoint_oauth_config_in.rb +45 -19
  69. data/lib/svix/models/endpoint_out.rb +29 -19
  70. data/lib/svix/models/endpoint_patch.rb +20 -20
  71. data/lib/svix/models/endpoint_secret_out.rb +17 -19
  72. data/lib/svix/models/endpoint_secret_rotate_in.rb +15 -21
  73. data/lib/svix/models/endpoint_stats.rb +23 -19
  74. data/lib/svix/models/endpoint_transformation_in.rb +15 -19
  75. data/lib/svix/models/endpoint_transformation_out.rb +15 -19
  76. data/lib/svix/models/endpoint_transformation_simulate_in.rb +21 -19
  77. data/lib/svix/models/endpoint_transformation_simulate_out.rb +41 -19
  78. data/lib/svix/models/endpoint_update.rb +17 -19
  79. data/lib/svix/models/endpoint_updated_event.rb +17 -19
  80. data/lib/svix/models/endpoint_updated_event_data.rb +19 -19
  81. data/lib/svix/models/environment_in.rb +19 -19
  82. data/lib/svix/models/environment_out.rb +21 -19
  83. data/lib/svix/models/environment_settings_out.rb +15 -19
  84. data/lib/svix/models/event_example_in.rb +17 -19
  85. data/lib/svix/models/event_in.rb +17 -19
  86. data/lib/svix/models/event_out.rb +19 -19
  87. data/lib/svix/models/event_stream_out.rb +21 -19
  88. data/lib/svix/models/event_type_example_out.rb +17 -19
  89. data/lib/svix/models/event_type_from_open_api.rb +95 -20
  90. data/lib/svix/models/event_type_import_open_api_in.rb +15 -19
  91. data/lib/svix/models/event_type_import_open_api_out.rb +17 -19
  92. data/lib/svix/models/event_type_import_open_api_out_data.rb +17 -19
  93. data/lib/svix/models/event_type_in.rb +19 -19
  94. data/lib/svix/models/event_type_out.rb +25 -19
  95. data/lib/svix/models/event_type_patch.rb +15 -19
  96. data/lib/svix/models/event_type_schema_in.rb +17 -19
  97. data/lib/svix/models/event_type_update.rb +17 -19
  98. data/lib/svix/models/export_event_type_out.rb +43 -19
  99. data/lib/svix/models/font_size_config.rb +15 -19
  100. data/lib/svix/models/generate_in.rb +17 -19
  101. data/lib/svix/models/generate_out.rb +25 -19
  102. data/lib/svix/models/google_cloud_storage_config.rb +19 -19
  103. data/lib/svix/models/http_error_out.rb +19 -19
  104. data/lib/svix/models/http_validation_error.rb +17 -19
  105. data/lib/svix/models/hubspot_oauth_config_in.rb +17 -19
  106. data/lib/svix/models/inbound_path_params.rb +19 -19
  107. data/lib/svix/models/incoming_webhook_payload_out.rb +15 -19
  108. data/lib/svix/models/integration_in.rb +17 -19
  109. data/lib/svix/models/integration_key_out.rb +17 -19
  110. data/lib/svix/models/integration_out.rb +23 -19
  111. data/lib/svix/models/integration_update.rb +17 -19
  112. data/lib/svix/models/kafka_security_protocol_type.rb +7 -4
  113. data/lib/svix/models/list_response_application_out.rb +19 -19
  114. data/lib/svix/models/list_response_application_stats.rb +19 -19
  115. data/lib/svix/models/list_response_background_task_out.rb +19 -19
  116. data/lib/svix/models/list_response_endpoint_message_out.rb +19 -19
  117. data/lib/svix/models/list_response_endpoint_out.rb +19 -19
  118. data/lib/svix/models/list_response_event_type_out.rb +19 -19
  119. data/lib/svix/models/list_response_integration_out.rb +19 -19
  120. data/lib/svix/models/list_response_message_attempt_endpoint_out.rb +19 -19
  121. data/lib/svix/models/list_response_message_attempt_out.rb +19 -19
  122. data/lib/svix/models/list_response_message_endpoint_out.rb +19 -19
  123. data/lib/svix/models/list_response_message_out.rb +19 -19
  124. data/lib/svix/models/list_response_operational_webhook_endpoint_out.rb +259 -0
  125. data/lib/svix/models/list_response_sink_out.rb +19 -19
  126. data/lib/svix/models/list_response_stream_out.rb +19 -19
  127. data/lib/svix/models/list_response_stream_sink_out.rb +19 -19
  128. data/lib/svix/models/list_response_template_out.rb +19 -19
  129. data/lib/svix/models/message_attempt_endpoint_out.rb +57 -19
  130. data/lib/svix/models/message_attempt_exhausted_event.rb +17 -19
  131. data/lib/svix/models/message_attempt_exhausted_event_data.rb +23 -19
  132. data/lib/svix/models/message_attempt_failed_data.rb +21 -19
  133. data/lib/svix/models/message_attempt_failing_event.rb +17 -19
  134. data/lib/svix/models/message_attempt_failing_event_data.rb +23 -19
  135. data/lib/svix/models/message_attempt_headers_out.rb +19 -19
  136. data/lib/svix/models/message_attempt_out.rb +57 -19
  137. data/lib/svix/models/message_attempt_recovered_event.rb +17 -19
  138. data/lib/svix/models/message_attempt_recovered_event_data.rb +23 -19
  139. data/lib/svix/models/message_attempt_trigger_type.rb +7 -4
  140. data/lib/svix/models/message_broadcast_in.rb +19 -19
  141. data/lib/svix/models/message_broadcast_out.rb +43 -19
  142. data/lib/svix/models/message_endpoint_out.rb +51 -19
  143. data/lib/svix/models/message_events_out.rb +21 -19
  144. data/lib/svix/models/message_in.rb +19 -19
  145. data/lib/svix/models/message_out.rb +23 -19
  146. data/lib/svix/models/message_raw_payload_out.rb +17 -19
  147. data/lib/svix/models/message_status.rb +7 -4
  148. data/lib/svix/models/message_subscriber_auth_token_out.rb +19 -19
  149. data/lib/svix/models/o_auth_payload_in.rb +19 -19
  150. data/lib/svix/models/o_auth_payload_out.rb +15 -19
  151. data/lib/svix/models/oauth2_auth_method_in.rb +7 -4
  152. data/lib/svix/models/oauth2_grant_type_in.rb +7 -4
  153. data/lib/svix/models/oauth_jws_signing_algorithm.rb +7 -4
  154. data/lib/svix/models/one_time_token_in.rb +17 -19
  155. data/lib/svix/models/one_time_token_out.rb +17 -19
  156. data/lib/svix/models/operational_webhook_endpoint_in.rb +408 -0
  157. data/lib/svix/models/operational_webhook_endpoint_out.rb +442 -0
  158. data/lib/svix/models/operational_webhook_endpoint_secret_in.rb +233 -0
  159. data/lib/svix/models/operational_webhook_endpoint_secret_out.rb +243 -0
  160. data/lib/svix/models/operational_webhook_endpoint_update.rb +380 -0
  161. data/lib/svix/models/ordering.rb +7 -4
  162. data/lib/svix/models/recover_in.rb +17 -19
  163. data/lib/svix/models/recover_out.rb +43 -19
  164. data/lib/svix/models/redshift_config.rb +25 -19
  165. data/lib/svix/models/replay_in.rb +17 -19
  166. data/lib/svix/models/replay_out.rb +43 -19
  167. data/lib/svix/models/retry_schedule_in_out.rb +15 -19
  168. data/lib/svix/models/rotated_url_out.rb +17 -19
  169. data/lib/svix/models/s3_config.rb +23 -19
  170. data/lib/svix/models/settings_in.rb +15 -19
  171. data/lib/svix/models/settings_out.rb +15 -19
  172. data/lib/svix/models/sink_http_config.rb +17 -19
  173. data/lib/svix/models/sink_in.rb +4 -4
  174. data/lib/svix/models/sink_in_one_of.rb +21 -19
  175. data/lib/svix/models/sink_in_one_of1.rb +25 -19
  176. data/lib/svix/models/sink_in_one_of2.rb +23 -19
  177. data/lib/svix/models/sink_in_one_of3.rb +19 -19
  178. data/lib/svix/models/sink_otel_v1_config.rb +17 -19
  179. data/lib/svix/models/sink_out.rb +4 -4
  180. data/lib/svix/models/sink_payload_format.rb +7 -4
  181. data/lib/svix/models/sink_status.rb +7 -4
  182. data/lib/svix/models/sink_status_in.rb +7 -4
  183. data/lib/svix/models/sink_transform_in.rb +15 -19
  184. data/lib/svix/models/sink_transformation_out.rb +15 -19
  185. data/lib/svix/models/snowflake_config.rb +21 -19
  186. data/lib/svix/models/statistics_period.rb +7 -4
  187. data/lib/svix/models/status_code_class.rb +7 -4
  188. data/lib/svix/models/stream_in.rb +24 -22
  189. data/lib/svix/models/stream_out.rb +28 -22
  190. data/lib/svix/models/stream_patch.rb +22 -22
  191. data/lib/svix/models/stream_sink_in.rb +6 -5
  192. data/lib/svix/models/stream_sink_in_one_of.rb +19 -19
  193. data/lib/svix/models/stream_sink_in_one_of1.rb +19 -19
  194. data/lib/svix/models/stream_sink_in_one_of2.rb +19 -19
  195. data/lib/svix/models/stream_sink_in_one_of3.rb +19 -19
  196. data/lib/svix/models/stream_sink_in_one_of4.rb +19 -19
  197. data/lib/svix/models/stream_sink_in_one_of5.rb +19 -19
  198. data/lib/svix/models/stream_sink_in_one_of6.rb +19 -19
  199. data/lib/svix/models/stream_sink_in_one_of7.rb +271 -0
  200. data/lib/svix/models/stream_sink_out.rb +6 -5
  201. data/lib/svix/models/stream_sink_patch.rb +6 -5
  202. data/lib/svix/models/template_in.rb +43 -21
  203. data/lib/svix/models/template_out.rb +57 -19
  204. data/lib/svix/models/template_patch.rb +43 -21
  205. data/lib/svix/models/template_update.rb +41 -19
  206. data/lib/svix/models/transformation_http_method.rb +7 -4
  207. data/lib/svix/models/transformation_simulate_in.rb +21 -19
  208. data/lib/svix/models/transformation_simulate_out.rb +41 -19
  209. data/lib/svix/models/transformation_template_kind.rb +7 -4
  210. data/lib/svix/models/validation_error.rb +21 -19
  211. data/lib/svix/operational_webhook_endpoint_api.rb +37 -0
  212. data/lib/svix/version.rb +1 -1
  213. data/svix.gemspec +12 -2
  214. metadata +40 -21
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -61,12 +61,15 @@ module Svix
61
61
  if (value = attributes[:'example']).is_a?(Hash)
62
62
  self.example = value
63
63
  end
64
+ else
65
+ self.example = nil
64
66
  end
65
67
  end
66
68
 
67
69
  # Show invalid properties with the reasons. Usually used together with valid?
68
70
  # @return Array for valid properties with the reasons
69
71
  def list_invalid_properties
72
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
70
73
  invalid_properties = Array.new
71
74
  if @example.nil?
72
75
  invalid_properties.push('invalid value for "example", example cannot be nil.')
@@ -78,6 +81,7 @@ module Svix
78
81
  # Check to see if the all the properties in the model are valid
79
82
  # @return true if the model is valid
80
83
  def valid?
84
+ warn '[DEPRECATED] the `valid?` method is obsolete'
81
85
  return false if @example.nil?
82
86
  true
83
87
  end
@@ -106,36 +110,30 @@ module Svix
106
110
  # @param [Hash] attributes Model attributes in the form of hash
107
111
  # @return [Object] Returns the model itself
108
112
  def self.build_from_hash(attributes)
109
- new.build_from_hash(attributes)
110
- end
111
-
112
- # Builds the object from hash
113
- # @param [Hash] attributes Model attributes in the form of hash
114
- # @return [Object] Returns the model itself
115
- def build_from_hash(attributes)
116
113
  return nil unless attributes.is_a?(Hash)
117
- self.class.openapi_types.each_pair do |key, type|
118
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
119
- self.send("#{key}=", nil)
114
+ attributes = attributes.transform_keys(&:to_sym)
115
+ transformed_hash = {}
116
+ openapi_types.each_pair do |key, type|
117
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = nil
120
119
  elsif type =~ /\AArray<(.*)>/i
121
120
  # check to ensure the input is an array given that the attribute
122
121
  # is documented as an array but the input is not
123
- if attributes[self.class.attribute_map[key]].is_a?(Array)
124
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
122
+ if attributes[attribute_map[key]].is_a?(Array)
123
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
125
124
  end
126
- elsif !attributes[self.class.attribute_map[key]].nil?
127
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
125
+ elsif !attributes[attribute_map[key]].nil?
126
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
128
127
  end
129
128
  end
130
-
131
- self
129
+ new(transformed_hash)
132
130
  end
133
131
 
134
132
  # Deserializes the data based on type
135
133
  # @param string type Data type
136
134
  # @param string value Value to be deserialized
137
135
  # @return [Object] Deserialized data
138
- def _deserialize(type, value)
136
+ def self._deserialize(type, value)
139
137
  case type.to_sym
140
138
  when :Time
141
139
  Time.parse(value)
@@ -170,7 +168,7 @@ module Svix
170
168
  else # model
171
169
  # models (e.g. Pet) or oneOf
172
170
  klass = Svix.const_get(type)
173
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
171
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
174
172
  end
175
173
  end
176
174
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -19,6 +19,11 @@ module Svix
19
19
 
20
20
  attr_accessor :description
21
21
 
22
+ attr_accessor :feature_flag
23
+
24
+ # The event type group's name
25
+ attr_accessor :group_name
26
+
22
27
  # The event type's name
23
28
  attr_accessor :name
24
29
 
@@ -29,6 +34,8 @@ module Svix
29
34
  {
30
35
  :'deprecated' => :'deprecated',
31
36
  :'description' => :'description',
37
+ :'feature_flag' => :'featureFlag',
38
+ :'group_name' => :'groupName',
32
39
  :'name' => :'name',
33
40
  :'schemas' => :'schemas'
34
41
  }
@@ -44,6 +51,8 @@ module Svix
44
51
  {
45
52
  :'deprecated' => :'Boolean',
46
53
  :'description' => :'String',
54
+ :'feature_flag' => :'String',
55
+ :'group_name' => :'String',
47
56
  :'name' => :'String',
48
57
  :'schemas' => :'Hash<String, Object>'
49
58
  }
@@ -52,6 +61,8 @@ module Svix
52
61
  # List of attributes with nullable: true
53
62
  def self.openapi_nullable
54
63
  Set.new([
64
+ :'feature_flag',
65
+ :'group_name',
55
66
  :'schemas'
56
67
  ])
57
68
  end
@@ -73,14 +84,28 @@ module Svix
73
84
 
74
85
  if attributes.key?(:'deprecated')
75
86
  self.deprecated = attributes[:'deprecated']
87
+ else
88
+ self.deprecated = nil
76
89
  end
77
90
 
78
91
  if attributes.key?(:'description')
79
92
  self.description = attributes[:'description']
93
+ else
94
+ self.description = nil
95
+ end
96
+
97
+ if attributes.key?(:'feature_flag')
98
+ self.feature_flag = attributes[:'feature_flag']
99
+ end
100
+
101
+ if attributes.key?(:'group_name')
102
+ self.group_name = attributes[:'group_name']
80
103
  end
81
104
 
82
105
  if attributes.key?(:'name')
83
106
  self.name = attributes[:'name']
107
+ else
108
+ self.name = nil
84
109
  end
85
110
 
86
111
  if attributes.key?(:'schemas')
@@ -93,6 +118,7 @@ module Svix
93
118
  # Show invalid properties with the reasons. Usually used together with valid?
94
119
  # @return Array for valid properties with the reasons
95
120
  def list_invalid_properties
121
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
96
122
  invalid_properties = Array.new
97
123
  if @deprecated.nil?
98
124
  invalid_properties.push('invalid value for "deprecated", deprecated cannot be nil.')
@@ -102,6 +128,24 @@ module Svix
102
128
  invalid_properties.push('invalid value for "description", description cannot be nil.')
103
129
  end
104
130
 
131
+ if !@feature_flag.nil? && @feature_flag.to_s.length > 256
132
+ invalid_properties.push('invalid value for "feature_flag", the character length must be smaller than or equal to 256.')
133
+ end
134
+
135
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
136
+ if !@feature_flag.nil? && @feature_flag !~ pattern
137
+ invalid_properties.push("invalid value for \"feature_flag\", must conform to the pattern #{pattern}.")
138
+ end
139
+
140
+ if !@group_name.nil? && @group_name.to_s.length > 256
141
+ invalid_properties.push('invalid value for "group_name", the character length must be smaller than or equal to 256.')
142
+ end
143
+
144
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
145
+ if !@group_name.nil? && @group_name !~ pattern
146
+ invalid_properties.push("invalid value for \"group_name\", must conform to the pattern #{pattern}.")
147
+ end
148
+
105
149
  if @name.nil?
106
150
  invalid_properties.push('invalid value for "name", name cannot be nil.')
107
151
  end
@@ -121,14 +165,49 @@ module Svix
121
165
  # Check to see if the all the properties in the model are valid
122
166
  # @return true if the model is valid
123
167
  def valid?
168
+ warn '[DEPRECATED] the `valid?` method is obsolete'
124
169
  return false if @deprecated.nil?
125
170
  return false if @description.nil?
171
+ return false if !@feature_flag.nil? && @feature_flag.to_s.length > 256
172
+ return false if !@feature_flag.nil? && @feature_flag !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
173
+ return false if !@group_name.nil? && @group_name.to_s.length > 256
174
+ return false if !@group_name.nil? && @group_name !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
126
175
  return false if @name.nil?
127
176
  return false if @name.to_s.length > 256
128
177
  return false if @name !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
129
178
  true
130
179
  end
131
180
 
181
+ # Custom attribute writer method with validation
182
+ # @param [Object] feature_flag Value to be assigned
183
+ def feature_flag=(feature_flag)
184
+ if !feature_flag.nil? && feature_flag.to_s.length > 256
185
+ fail ArgumentError, 'invalid value for "feature_flag", the character length must be smaller than or equal to 256.'
186
+ end
187
+
188
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
189
+ if !feature_flag.nil? && feature_flag !~ pattern
190
+ fail ArgumentError, "invalid value for \"feature_flag\", must conform to the pattern #{pattern}."
191
+ end
192
+
193
+ @feature_flag = feature_flag
194
+ end
195
+
196
+ # Custom attribute writer method with validation
197
+ # @param [Object] group_name Value to be assigned
198
+ def group_name=(group_name)
199
+ if !group_name.nil? && group_name.to_s.length > 256
200
+ fail ArgumentError, 'invalid value for "group_name", the character length must be smaller than or equal to 256.'
201
+ end
202
+
203
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
204
+ if !group_name.nil? && group_name !~ pattern
205
+ fail ArgumentError, "invalid value for \"group_name\", must conform to the pattern #{pattern}."
206
+ end
207
+
208
+ @group_name = group_name
209
+ end
210
+
132
211
  # Custom attribute writer method with validation
133
212
  # @param [Object] name Value to be assigned
134
213
  def name=(name)
@@ -155,6 +234,8 @@ module Svix
155
234
  self.class == o.class &&
156
235
  deprecated == o.deprecated &&
157
236
  description == o.description &&
237
+ feature_flag == o.feature_flag &&
238
+ group_name == o.group_name &&
158
239
  name == o.name &&
159
240
  schemas == o.schemas
160
241
  end
@@ -168,43 +249,37 @@ module Svix
168
249
  # Calculates hash code according to all attributes.
169
250
  # @return [Integer] Hash code
170
251
  def hash
171
- [deprecated, description, name, schemas].hash
252
+ [deprecated, description, feature_flag, group_name, name, schemas].hash
172
253
  end
173
254
 
174
255
  # Builds the object from hash
175
256
  # @param [Hash] attributes Model attributes in the form of hash
176
257
  # @return [Object] Returns the model itself
177
258
  def self.build_from_hash(attributes)
178
- new.build_from_hash(attributes)
179
- end
180
-
181
- # Builds the object from hash
182
- # @param [Hash] attributes Model attributes in the form of hash
183
- # @return [Object] Returns the model itself
184
- def build_from_hash(attributes)
185
259
  return nil unless attributes.is_a?(Hash)
186
- self.class.openapi_types.each_pair do |key, type|
187
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
188
- self.send("#{key}=", nil)
260
+ attributes = attributes.transform_keys(&:to_sym)
261
+ transformed_hash = {}
262
+ openapi_types.each_pair do |key, type|
263
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
264
+ transformed_hash["#{key}"] = nil
189
265
  elsif type =~ /\AArray<(.*)>/i
190
266
  # check to ensure the input is an array given that the attribute
191
267
  # is documented as an array but the input is not
192
- if attributes[self.class.attribute_map[key]].is_a?(Array)
193
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
268
+ if attributes[attribute_map[key]].is_a?(Array)
269
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
194
270
  end
195
- elsif !attributes[self.class.attribute_map[key]].nil?
196
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
271
+ elsif !attributes[attribute_map[key]].nil?
272
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
197
273
  end
198
274
  end
199
-
200
- self
275
+ new(transformed_hash)
201
276
  end
202
277
 
203
278
  # Deserializes the data based on type
204
279
  # @param string type Data type
205
280
  # @param string value Value to be deserialized
206
281
  # @return [Object] Deserialized data
207
- def _deserialize(type, value)
282
+ def self._deserialize(type, value)
208
283
  case type.to_sym
209
284
  when :Time
210
285
  Time.parse(value)
@@ -239,7 +314,7 @@ module Svix
239
314
  else # model
240
315
  # models (e.g. Pet) or oneOf
241
316
  klass = Svix.const_get(type)
242
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
317
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
243
318
  end
244
319
  end
245
320
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -91,6 +91,7 @@ module Svix
91
91
  # Show invalid properties with the reasons. Usually used together with valid?
92
92
  # @return Array for valid properties with the reasons
93
93
  def list_invalid_properties
94
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
94
95
  invalid_properties = Array.new
95
96
  invalid_properties
96
97
  end
@@ -98,6 +99,7 @@ module Svix
98
99
  # Check to see if the all the properties in the model are valid
99
100
  # @return true if the model is valid
100
101
  def valid?
102
+ warn '[DEPRECATED] the `valid?` method is obsolete'
101
103
  true
102
104
  end
103
105
 
@@ -127,36 +129,30 @@ module Svix
127
129
  # @param [Hash] attributes Model attributes in the form of hash
128
130
  # @return [Object] Returns the model itself
129
131
  def self.build_from_hash(attributes)
130
- new.build_from_hash(attributes)
131
- end
132
-
133
- # Builds the object from hash
134
- # @param [Hash] attributes Model attributes in the form of hash
135
- # @return [Object] Returns the model itself
136
- def build_from_hash(attributes)
137
132
  return nil unless attributes.is_a?(Hash)
138
- self.class.openapi_types.each_pair do |key, type|
139
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
140
- self.send("#{key}=", nil)
133
+ attributes = attributes.transform_keys(&:to_sym)
134
+ transformed_hash = {}
135
+ openapi_types.each_pair do |key, type|
136
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
137
+ transformed_hash["#{key}"] = nil
141
138
  elsif type =~ /\AArray<(.*)>/i
142
139
  # check to ensure the input is an array given that the attribute
143
140
  # is documented as an array but the input is not
144
- if attributes[self.class.attribute_map[key]].is_a?(Array)
145
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
141
+ if attributes[attribute_map[key]].is_a?(Array)
142
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
146
143
  end
147
- elsif !attributes[self.class.attribute_map[key]].nil?
148
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
144
+ elsif !attributes[attribute_map[key]].nil?
145
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
149
146
  end
150
147
  end
151
-
152
- self
148
+ new(transformed_hash)
153
149
  end
154
150
 
155
151
  # Deserializes the data based on type
156
152
  # @param string type Data type
157
153
  # @param string value Value to be deserialized
158
154
  # @return [Object] Deserialized data
159
- def _deserialize(type, value)
155
+ def self._deserialize(type, value)
160
156
  case type.to_sym
161
157
  when :Time
162
158
  Time.parse(value)
@@ -191,7 +187,7 @@ module Svix
191
187
  else # model
192
188
  # models (e.g. Pet) or oneOf
193
189
  klass = Svix.const_get(type)
194
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
190
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
195
191
  end
196
192
  end
197
193
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -59,12 +59,15 @@ module Svix
59
59
 
60
60
  if attributes.key?(:'data')
61
61
  self.data = attributes[:'data']
62
+ else
63
+ self.data = nil
62
64
  end
63
65
  end
64
66
 
65
67
  # Show invalid properties with the reasons. Usually used together with valid?
66
68
  # @return Array for valid properties with the reasons
67
69
  def list_invalid_properties
70
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
68
71
  invalid_properties = Array.new
69
72
  if @data.nil?
70
73
  invalid_properties.push('invalid value for "data", data cannot be nil.')
@@ -76,6 +79,7 @@ module Svix
76
79
  # Check to see if the all the properties in the model are valid
77
80
  # @return true if the model is valid
78
81
  def valid?
82
+ warn '[DEPRECATED] the `valid?` method is obsolete'
79
83
  return false if @data.nil?
80
84
  true
81
85
  end
@@ -104,36 +108,30 @@ module Svix
104
108
  # @param [Hash] attributes Model attributes in the form of hash
105
109
  # @return [Object] Returns the model itself
106
110
  def self.build_from_hash(attributes)
107
- new.build_from_hash(attributes)
108
- end
109
-
110
- # Builds the object from hash
111
- # @param [Hash] attributes Model attributes in the form of hash
112
- # @return [Object] Returns the model itself
113
- def build_from_hash(attributes)
114
111
  return nil unless attributes.is_a?(Hash)
115
- self.class.openapi_types.each_pair do |key, type|
116
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
117
- self.send("#{key}=", nil)
112
+ attributes = attributes.transform_keys(&:to_sym)
113
+ transformed_hash = {}
114
+ openapi_types.each_pair do |key, type|
115
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
116
+ transformed_hash["#{key}"] = nil
118
117
  elsif type =~ /\AArray<(.*)>/i
119
118
  # check to ensure the input is an array given that the attribute
120
119
  # is documented as an array but the input is not
121
- if attributes[self.class.attribute_map[key]].is_a?(Array)
122
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
120
+ if attributes[attribute_map[key]].is_a?(Array)
121
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
123
122
  end
124
- elsif !attributes[self.class.attribute_map[key]].nil?
125
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
123
+ elsif !attributes[attribute_map[key]].nil?
124
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
126
125
  end
127
126
  end
128
-
129
- self
127
+ new(transformed_hash)
130
128
  end
131
129
 
132
130
  # Deserializes the data based on type
133
131
  # @param string type Data type
134
132
  # @param string value Value to be deserialized
135
133
  # @return [Object] Deserialized data
136
- def _deserialize(type, value)
134
+ def self._deserialize(type, value)
137
135
  case type.to_sym
138
136
  when :Time
139
137
  Time.parse(value)
@@ -168,7 +166,7 @@ module Svix
168
166
  else # model
169
167
  # models (e.g. Pet) or oneOf
170
168
  klass = Svix.const_get(type)
171
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
169
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
170
  end
173
171
  end
174
172
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -66,6 +66,8 @@ module Svix
66
66
  if (value = attributes[:'modified']).is_a?(Array)
67
67
  self.modified = value
68
68
  end
69
+ else
70
+ self.modified = nil
69
71
  end
70
72
 
71
73
  if attributes.key?(:'to_modify')
@@ -78,6 +80,7 @@ module Svix
78
80
  # Show invalid properties with the reasons. Usually used together with valid?
79
81
  # @return Array for valid properties with the reasons
80
82
  def list_invalid_properties
83
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
81
84
  invalid_properties = Array.new
82
85
  if @modified.nil?
83
86
  invalid_properties.push('invalid value for "modified", modified cannot be nil.')
@@ -89,6 +92,7 @@ module Svix
89
92
  # Check to see if the all the properties in the model are valid
90
93
  # @return true if the model is valid
91
94
  def valid?
95
+ warn '[DEPRECATED] the `valid?` method is obsolete'
92
96
  return false if @modified.nil?
93
97
  true
94
98
  end
@@ -118,36 +122,30 @@ module Svix
118
122
  # @param [Hash] attributes Model attributes in the form of hash
119
123
  # @return [Object] Returns the model itself
120
124
  def self.build_from_hash(attributes)
121
- new.build_from_hash(attributes)
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 build_from_hash(attributes)
128
125
  return nil unless attributes.is_a?(Hash)
129
- self.class.openapi_types.each_pair do |key, type|
130
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
131
- self.send("#{key}=", nil)
126
+ attributes = attributes.transform_keys(&:to_sym)
127
+ transformed_hash = {}
128
+ openapi_types.each_pair do |key, type|
129
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
130
+ transformed_hash["#{key}"] = nil
132
131
  elsif type =~ /\AArray<(.*)>/i
133
132
  # check to ensure the input is an array given that the attribute
134
133
  # is documented as an array but the input is not
135
- if attributes[self.class.attribute_map[key]].is_a?(Array)
136
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
134
+ if attributes[attribute_map[key]].is_a?(Array)
135
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
137
136
  end
138
- elsif !attributes[self.class.attribute_map[key]].nil?
139
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
137
+ elsif !attributes[attribute_map[key]].nil?
138
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
140
139
  end
141
140
  end
142
-
143
- self
141
+ new(transformed_hash)
144
142
  end
145
143
 
146
144
  # Deserializes the data based on type
147
145
  # @param string type Data type
148
146
  # @param string value Value to be deserialized
149
147
  # @return [Object] Deserialized data
150
- def _deserialize(type, value)
148
+ def self._deserialize(type, value)
151
149
  case type.to_sym
152
150
  when :Time
153
151
  Time.parse(value)
@@ -182,7 +180,7 @@ module Svix
182
180
  else # model
183
181
  # models (e.g. Pet) or oneOf
184
182
  klass = Svix.const_get(type)
185
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
183
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
186
184
  end
187
185
  end
188
186
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -101,6 +101,8 @@ module Svix
101
101
 
102
102
  if attributes.key?(:'description')
103
103
  self.description = attributes[:'description']
104
+ else
105
+ self.description = nil
104
106
  end
105
107
 
106
108
  if attributes.key?(:'feature_flag')
@@ -113,6 +115,8 @@ module Svix
113
115
 
114
116
  if attributes.key?(:'name')
115
117
  self.name = attributes[:'name']
118
+ else
119
+ self.name = nil
116
120
  end
117
121
 
118
122
  if attributes.key?(:'schemas')
@@ -125,6 +129,7 @@ module Svix
125
129
  # Show invalid properties with the reasons. Usually used together with valid?
126
130
  # @return Array for valid properties with the reasons
127
131
  def list_invalid_properties
132
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
128
133
  invalid_properties = Array.new
129
134
  if @description.nil?
130
135
  invalid_properties.push('invalid value for "description", description cannot be nil.')
@@ -167,6 +172,7 @@ module Svix
167
172
  # Check to see if the all the properties in the model are valid
168
173
  # @return true if the model is valid
169
174
  def valid?
175
+ warn '[DEPRECATED] the `valid?` method is obsolete'
170
176
  return false if @description.nil?
171
177
  return false if !@feature_flag.nil? && @feature_flag.to_s.length > 256
172
178
  return false if !@feature_flag.nil? && @feature_flag !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
@@ -257,36 +263,30 @@ module Svix
257
263
  # @param [Hash] attributes Model attributes in the form of hash
258
264
  # @return [Object] Returns the model itself
259
265
  def self.build_from_hash(attributes)
260
- new.build_from_hash(attributes)
261
- end
262
-
263
- # Builds the object from hash
264
- # @param [Hash] attributes Model attributes in the form of hash
265
- # @return [Object] Returns the model itself
266
- def build_from_hash(attributes)
267
266
  return nil unless attributes.is_a?(Hash)
268
- self.class.openapi_types.each_pair do |key, type|
269
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
270
- self.send("#{key}=", nil)
267
+ attributes = attributes.transform_keys(&:to_sym)
268
+ transformed_hash = {}
269
+ openapi_types.each_pair do |key, type|
270
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
271
+ transformed_hash["#{key}"] = nil
271
272
  elsif type =~ /\AArray<(.*)>/i
272
273
  # check to ensure the input is an array given that the attribute
273
274
  # is documented as an array but the input is not
274
- if attributes[self.class.attribute_map[key]].is_a?(Array)
275
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
275
+ if attributes[attribute_map[key]].is_a?(Array)
276
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
276
277
  end
277
- elsif !attributes[self.class.attribute_map[key]].nil?
278
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
278
+ elsif !attributes[attribute_map[key]].nil?
279
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
279
280
  end
280
281
  end
281
-
282
- self
282
+ new(transformed_hash)
283
283
  end
284
284
 
285
285
  # Deserializes the data based on type
286
286
  # @param string type Data type
287
287
  # @param string value Value to be deserialized
288
288
  # @return [Object] Deserialized data
289
- def _deserialize(type, value)
289
+ def self._deserialize(type, value)
290
290
  case type.to_sym
291
291
  when :Time
292
292
  Time.parse(value)
@@ -321,7 +321,7 @@ module Svix
321
321
  else # model
322
322
  # models (e.g. Pet) or oneOf
323
323
  klass = Svix.const_get(type)
324
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
324
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
325
325
  end
326
326
  end
327
327