svix 1.30.0 → 1.32.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87c95bcfa216f8fd64498a21379c7acd075e79c11ef5619d0ba8d1f7c2330d98
4
- data.tar.gz: 824c4aaa3488ad2f60389303ab751d926ecd8f8535dec358cdd32da3e0491e85
3
+ metadata.gz: 7592de3632a6291a61776d7cc6edbfe2991efba0e61590810048d79cc9dc08bb
4
+ data.tar.gz: 89691f8f97d1e0ab8cb1fa3f04c6aa1f74d26d77e464fb65419b1d035903a62f
5
5
  SHA512:
6
- metadata.gz: cb01ce60809e2c0d8c9ced17be0ff901b27c0aef917fdb66467857e4ee8194fdca336219fab24cf58337842e22536c40299d9713a55ab6aac958678b617b7f23
7
- data.tar.gz: 6fa418bb9d1f8d2de1c3ced7fd4ef97dfff61a65f5fc72d00e9787863ea566685a30d0d7cdcf63fb2bdbe5f71204b8c54b519a313e76bc0ef3ed654a4cc925c9
6
+ metadata.gz: 9aec9b0dd858e6a2e6f6f931b2bd2d3456170663c17555dfa265bf58d2650345d7fc59d7a09b6ab2aeb175d3a82f7a143474c18e98c641f587ad77ae2662fe84
7
+ data.tar.gz: 0c445610c103cdf4d16901763924e02bfc969fee4c9c579d9c8d85d1387b57b941bb50c7b383ed257cdaa67e3c261a7e7820014e2921d1e61ab5dc206e5583ce
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- svix (1.30.0)
4
+ svix (1.32.0)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
@@ -15,6 +15,8 @@ require 'time'
15
15
 
16
16
  module Svix
17
17
  class AppPortalAccessIn
18
+ attr_accessor :application
19
+
18
20
  # How long the token will be valid for, in seconds. Valid values are between 1 hour and 7 days. The default is 7 days.
19
21
  attr_accessor :expiry
20
22
 
@@ -27,6 +29,7 @@ module Svix
27
29
  # Attribute mapping from ruby-style variable name to JSON key.
28
30
  def self.attribute_map
29
31
  {
32
+ :'application' => :'application',
30
33
  :'expiry' => :'expiry',
31
34
  :'feature_flags' => :'featureFlags',
32
35
  :'read_only' => :'readOnly'
@@ -41,6 +44,7 @@ module Svix
41
44
  # Attribute type mapping.
42
45
  def self.openapi_types
43
46
  {
47
+ :'application' => :'ApplicationIn',
44
48
  :'expiry' => :'Integer',
45
49
  :'feature_flags' => :'Array<String>',
46
50
  :'read_only' => :'Boolean'
@@ -70,6 +74,10 @@ module Svix
70
74
  h[k.to_sym] = v
71
75
  }
72
76
 
77
+ if attributes.key?(:'application')
78
+ self.application = attributes[:'application']
79
+ end
80
+
73
81
  if attributes.key?(:'expiry')
74
82
  self.expiry = attributes[:'expiry']
75
83
  else
@@ -135,6 +143,7 @@ module Svix
135
143
  def ==(o)
136
144
  return true if self.equal?(o)
137
145
  self.class == o.class &&
146
+ application == o.application &&
138
147
  expiry == o.expiry &&
139
148
  feature_flags == o.feature_flags &&
140
149
  read_only == o.read_only
@@ -149,7 +158,7 @@ module Svix
149
158
  # Calculates hash code according to all attributes.
150
159
  # @return [Integer] Hash code
151
160
  def hash
152
- [expiry, feature_flags, read_only].hash
161
+ [application, expiry, feature_flags, read_only].hash
153
162
  end
154
163
 
155
164
  # Builds the object from hash
@@ -15,12 +15,12 @@ require 'time'
15
15
 
16
16
  module Svix
17
17
  class CreateStreamIn
18
- attr_accessor :events
18
+ attr_accessor :messages
19
19
 
20
20
  # Attribute mapping from ruby-style variable name to JSON key.
21
21
  def self.attribute_map
22
22
  {
23
- :'events' => :'events'
23
+ :'messages' => :'messages'
24
24
  }
25
25
  end
26
26
 
@@ -32,7 +32,7 @@ module Svix
32
32
  # Attribute type mapping.
33
33
  def self.openapi_types
34
34
  {
35
- :'events' => :'Array<EventIn>'
35
+ :'messages' => :'Array<EventIn>'
36
36
  }
37
37
  end
38
38
 
@@ -57,9 +57,9 @@ module Svix
57
57
  h[k.to_sym] = v
58
58
  }
59
59
 
60
- if attributes.key?(:'events')
61
- if (value = attributes[:'events']).is_a?(Array)
62
- self.events = value
60
+ if attributes.key?(:'messages')
61
+ if (value = attributes[:'messages']).is_a?(Array)
62
+ self.messages = value
63
63
  end
64
64
  end
65
65
  end
@@ -68,8 +68,8 @@ module Svix
68
68
  # @return Array for valid properties with the reasons
69
69
  def list_invalid_properties
70
70
  invalid_properties = Array.new
71
- if @events.nil?
72
- invalid_properties.push('invalid value for "events", events cannot be nil.')
71
+ if @messages.nil?
72
+ invalid_properties.push('invalid value for "messages", messages cannot be nil.')
73
73
  end
74
74
 
75
75
  invalid_properties
@@ -78,7 +78,7 @@ module Svix
78
78
  # Check to see if the all the properties in the model are valid
79
79
  # @return true if the model is valid
80
80
  def valid?
81
- return false if @events.nil?
81
+ return false if @messages.nil?
82
82
  true
83
83
  end
84
84
 
@@ -87,7 +87,7 @@ module Svix
87
87
  def ==(o)
88
88
  return true if self.equal?(o)
89
89
  self.class == o.class &&
90
- events == o.events
90
+ messages == o.messages
91
91
  end
92
92
 
93
93
  # @see the `==` method
@@ -99,7 +99,7 @@ module Svix
99
99
  # Calculates hash code according to all attributes.
100
100
  # @return [Integer] Hash code
101
101
  def hash
102
- [events].hash
102
+ [messages].hash
103
103
  end
104
104
 
105
105
  # Builds the object from hash
@@ -0,0 +1,259 @@
1
+ =begin
2
+ #Svix API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.1.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Svix
17
+ class ListResponseStreamOut
18
+ attr_accessor :data
19
+
20
+ attr_accessor :done
21
+
22
+ attr_accessor :iterator
23
+
24
+ attr_accessor :prev_iterator
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'data' => :'data',
30
+ :'done' => :'done',
31
+ :'iterator' => :'iterator',
32
+ :'prev_iterator' => :'prevIterator'
33
+ }
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'data' => :'Array<StreamOut>',
45
+ :'done' => :'Boolean',
46
+ :'iterator' => :'String',
47
+ :'prev_iterator' => :'String'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ :'iterator',
55
+ :'prev_iterator'
56
+ ])
57
+ end
58
+
59
+ # Initializes the object
60
+ # @param [Hash] attributes Model attributes in the form of hash
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Svix::ListResponseStreamOut` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Svix::ListResponseStreamOut`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'data')
75
+ if (value = attributes[:'data']).is_a?(Array)
76
+ self.data = value
77
+ end
78
+ end
79
+
80
+ if attributes.key?(:'done')
81
+ self.done = attributes[:'done']
82
+ end
83
+
84
+ if attributes.key?(:'iterator')
85
+ self.iterator = attributes[:'iterator']
86
+ end
87
+
88
+ if attributes.key?(:'prev_iterator')
89
+ self.prev_iterator = attributes[:'prev_iterator']
90
+ end
91
+ end
92
+
93
+ # Show invalid properties with the reasons. Usually used together with valid?
94
+ # @return Array for valid properties with the reasons
95
+ def list_invalid_properties
96
+ invalid_properties = Array.new
97
+ if @data.nil?
98
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
99
+ end
100
+
101
+ if @done.nil?
102
+ invalid_properties.push('invalid value for "done", done cannot be nil.')
103
+ end
104
+
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ return false if @data.nil?
112
+ return false if @done.nil?
113
+ true
114
+ end
115
+
116
+ # Checks equality by comparing each attribute.
117
+ # @param [Object] Object to be compared
118
+ def ==(o)
119
+ return true if self.equal?(o)
120
+ self.class == o.class &&
121
+ data == o.data &&
122
+ done == o.done &&
123
+ iterator == o.iterator &&
124
+ prev_iterator == o.prev_iterator
125
+ end
126
+
127
+ # @see the `==` method
128
+ # @param [Object] Object to be compared
129
+ def eql?(o)
130
+ self == o
131
+ end
132
+
133
+ # Calculates hash code according to all attributes.
134
+ # @return [Integer] Hash code
135
+ def hash
136
+ [data, done, iterator, prev_iterator].hash
137
+ end
138
+
139
+ # Builds the object from hash
140
+ # @param [Hash] attributes Model attributes in the form of hash
141
+ # @return [Object] Returns the model itself
142
+ def self.build_from_hash(attributes)
143
+ new.build_from_hash(attributes)
144
+ end
145
+
146
+ # Builds the object from hash
147
+ # @param [Hash] attributes Model attributes in the form of hash
148
+ # @return [Object] Returns the model itself
149
+ def build_from_hash(attributes)
150
+ return nil unless attributes.is_a?(Hash)
151
+ self.class.openapi_types.each_pair do |key, type|
152
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
153
+ self.send("#{key}=", nil)
154
+ elsif type =~ /\AArray<(.*)>/i
155
+ # check to ensure the input is an array given that the attribute
156
+ # is documented as an array but the input is not
157
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
158
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
159
+ end
160
+ elsif !attributes[self.class.attribute_map[key]].nil?
161
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
162
+ end
163
+ end
164
+
165
+ self
166
+ end
167
+
168
+ # Deserializes the data based on type
169
+ # @param string type Data type
170
+ # @param string value Value to be deserialized
171
+ # @return [Object] Deserialized data
172
+ def _deserialize(type, value)
173
+ case type.to_sym
174
+ when :Time
175
+ Time.parse(value)
176
+ when :Date
177
+ Date.parse(value)
178
+ when :String
179
+ value.to_s
180
+ when :Integer
181
+ value.to_i
182
+ when :Float
183
+ value.to_f
184
+ when :Boolean
185
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
186
+ true
187
+ else
188
+ false
189
+ end
190
+ when :Object
191
+ # generic object (usually a Hash), return directly
192
+ value
193
+ when /\AArray<(?<inner_type>.+)>\z/
194
+ inner_type = Regexp.last_match[:inner_type]
195
+ value.map { |v| _deserialize(inner_type, v) }
196
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
197
+ k_type = Regexp.last_match[:k_type]
198
+ v_type = Regexp.last_match[:v_type]
199
+ {}.tap do |hash|
200
+ value.each do |k, v|
201
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
202
+ end
203
+ end
204
+ else # model
205
+ # models (e.g. Pet) or oneOf
206
+ klass = Svix.const_get(type)
207
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
208
+ end
209
+ end
210
+
211
+ # Returns the string representation of the object
212
+ # @return [String] String presentation of the object
213
+ def to_s
214
+ to_hash.to_s
215
+ end
216
+
217
+ # to_body is an alias to to_hash (backward compatibility)
218
+ # @return [Hash] Returns the object in the form of hash
219
+ def to_body
220
+ to_hash
221
+ end
222
+
223
+ # Returns the object in the form of hash
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_hash
226
+ hash = {}
227
+ self.class.attribute_map.each_pair do |attr, param|
228
+ value = self.send(attr)
229
+ if value.nil?
230
+ is_nullable = self.class.openapi_nullable.include?(attr)
231
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
232
+ end
233
+
234
+ hash[param] = _to_hash(value)
235
+ end
236
+ hash
237
+ end
238
+
239
+ # Outputs non-array value in the form of hash
240
+ # For object, use to_hash. Otherwise, just return the value
241
+ # @param [Object] value Any valid value
242
+ # @return [Hash] Returns the value in the form of hash
243
+ def _to_hash(value)
244
+ if value.is_a?(Array)
245
+ value.compact.map { |v| _to_hash(v) }
246
+ elsif value.is_a?(Hash)
247
+ {}.tap do |hash|
248
+ value.each { |k, v| hash[k] = _to_hash(v) }
249
+ end
250
+ elsif value.respond_to? :to_hash
251
+ value.to_hash
252
+ else
253
+ value
254
+ end
255
+ end
256
+
257
+ end
258
+
259
+ end
@@ -26,6 +26,10 @@ module Svix
26
26
 
27
27
  attr_accessor :payload
28
28
 
29
+ # Optional number of hours to retain the message payload. Note that this is mutually exclusive with `payloadRetentionPeriod`.
30
+ attr_accessor :payload_retention_hours
31
+
32
+ # Optional number of days to retain the message payload. Defaults to 90. Note that this is mutually exclusive with `payloadRetentionHours`.
29
33
  attr_accessor :payload_retention_period
30
34
 
31
35
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -35,6 +39,7 @@ module Svix
35
39
  :'event_id' => :'eventId',
36
40
  :'event_type' => :'eventType',
37
41
  :'payload' => :'payload',
42
+ :'payload_retention_hours' => :'payloadRetentionHours',
38
43
  :'payload_retention_period' => :'payloadRetentionPeriod'
39
44
  }
40
45
  end
@@ -51,6 +56,7 @@ module Svix
51
56
  :'event_id' => :'String',
52
57
  :'event_type' => :'String',
53
58
  :'payload' => :'Object',
59
+ :'payload_retention_hours' => :'Integer',
54
60
  :'payload_retention_period' => :'Integer'
55
61
  }
56
62
  end
@@ -60,6 +66,8 @@ module Svix
60
66
  Set.new([
61
67
  :'channels',
62
68
  :'event_id',
69
+ :'payload_retention_hours',
70
+ :'payload_retention_period'
63
71
  ])
64
72
  end
65
73
 
@@ -96,6 +104,10 @@ module Svix
96
104
  self.payload = attributes[:'payload']
97
105
  end
98
106
 
107
+ if attributes.key?(:'payload_retention_hours')
108
+ self.payload_retention_hours = attributes[:'payload_retention_hours']
109
+ end
110
+
99
111
  if attributes.key?(:'payload_retention_period')
100
112
  self.payload_retention_period = attributes[:'payload_retention_period']
101
113
  else
@@ -145,12 +157,20 @@ module Svix
145
157
  invalid_properties.push('invalid value for "payload", payload cannot be nil.')
146
158
  end
147
159
 
160
+ if !@payload_retention_hours.nil? && @payload_retention_hours > 2160
161
+ invalid_properties.push('invalid value for "payload_retention_hours", must be smaller than or equal to 2160.')
162
+ end
163
+
164
+ if !@payload_retention_hours.nil? && @payload_retention_hours < 1
165
+ invalid_properties.push('invalid value for "payload_retention_hours", must be greater than or equal to 1.')
166
+ end
167
+
148
168
  if !@payload_retention_period.nil? && @payload_retention_period > 90
149
169
  invalid_properties.push('invalid value for "payload_retention_period", must be smaller than or equal to 90.')
150
170
  end
151
171
 
152
- if !@payload_retention_period.nil? && @payload_retention_period < 5
153
- invalid_properties.push('invalid value for "payload_retention_period", must be greater than or equal to 5.')
172
+ if !@payload_retention_period.nil? && @payload_retention_period < 1
173
+ invalid_properties.push('invalid value for "payload_retention_period", must be greater than or equal to 1.')
154
174
  end
155
175
 
156
176
  invalid_properties
@@ -168,8 +188,10 @@ module Svix
168
188
  return false if @event_type.to_s.length > 256
169
189
  return false if @event_type !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
170
190
  return false if @payload.nil?
191
+ return false if !@payload_retention_hours.nil? && @payload_retention_hours > 2160
192
+ return false if !@payload_retention_hours.nil? && @payload_retention_hours < 1
171
193
  return false if !@payload_retention_period.nil? && @payload_retention_period > 90
172
- return false if !@payload_retention_period.nil? && @payload_retention_period < 5
194
+ return false if !@payload_retention_period.nil? && @payload_retention_period < 1
173
195
  true
174
196
  end
175
197
 
@@ -225,6 +247,20 @@ module Svix
225
247
  @event_type = event_type
226
248
  end
227
249
 
250
+ # Custom attribute writer method with validation
251
+ # @param [Object] payload_retention_hours Value to be assigned
252
+ def payload_retention_hours=(payload_retention_hours)
253
+ if !payload_retention_hours.nil? && payload_retention_hours > 2160
254
+ fail ArgumentError, 'invalid value for "payload_retention_hours", must be smaller than or equal to 2160.'
255
+ end
256
+
257
+ if !payload_retention_hours.nil? && payload_retention_hours < 1
258
+ fail ArgumentError, 'invalid value for "payload_retention_hours", must be greater than or equal to 1.'
259
+ end
260
+
261
+ @payload_retention_hours = payload_retention_hours
262
+ end
263
+
228
264
  # Custom attribute writer method with validation
229
265
  # @param [Object] payload_retention_period Value to be assigned
230
266
  def payload_retention_period=(payload_retention_period)
@@ -232,8 +268,8 @@ module Svix
232
268
  fail ArgumentError, 'invalid value for "payload_retention_period", must be smaller than or equal to 90.'
233
269
  end
234
270
 
235
- if !payload_retention_period.nil? && payload_retention_period < 5
236
- fail ArgumentError, 'invalid value for "payload_retention_period", must be greater than or equal to 5.'
271
+ if !payload_retention_period.nil? && payload_retention_period < 1
272
+ fail ArgumentError, 'invalid value for "payload_retention_period", must be greater than or equal to 1.'
237
273
  end
238
274
 
239
275
  @payload_retention_period = payload_retention_period
@@ -248,6 +284,7 @@ module Svix
248
284
  event_id == o.event_id &&
249
285
  event_type == o.event_type &&
250
286
  payload == o.payload &&
287
+ payload_retention_hours == o.payload_retention_hours &&
251
288
  payload_retention_period == o.payload_retention_period
252
289
  end
253
290
 
@@ -260,7 +297,7 @@ module Svix
260
297
  # Calculates hash code according to all attributes.
261
298
  # @return [Integer] Hash code
262
299
  def hash
263
- [channels, event_id, event_type, payload, payload_retention_period].hash
300
+ [channels, event_id, event_type, payload, payload_retention_hours, payload_retention_period].hash
264
301
  end
265
302
 
266
303
  # Builds the object from hash
@@ -26,8 +26,13 @@ module Svix
26
26
  # The event type's name
27
27
  attr_accessor :event_type
28
28
 
29
+ # JSON payload to send as the request body of the webhook. We also support sending non-JSON payloads. Please contact us for more information.
29
30
  attr_accessor :payload
30
31
 
32
+ # Optional number of hours to retain the message payload. Note that this is mutually exclusive with `payloadRetentionPeriod`.
33
+ attr_accessor :payload_retention_hours
34
+
35
+ # Optional number of days to retain the message payload. Defaults to 90. Note that this is mutually exclusive with `payloadRetentionHours`.
31
36
  attr_accessor :payload_retention_period
32
37
 
33
38
  # List of free-form tags that can be filtered by when listing messages
@@ -44,6 +49,7 @@ module Svix
44
49
  :'event_id' => :'eventId',
45
50
  :'event_type' => :'eventType',
46
51
  :'payload' => :'payload',
52
+ :'payload_retention_hours' => :'payloadRetentionHours',
47
53
  :'payload_retention_period' => :'payloadRetentionPeriod',
48
54
  :'tags' => :'tags',
49
55
  :'transformations_params' => :'transformationsParams'
@@ -63,6 +69,7 @@ module Svix
63
69
  :'event_id' => :'String',
64
70
  :'event_type' => :'String',
65
71
  :'payload' => :'Object',
72
+ :'payload_retention_hours' => :'Integer',
66
73
  :'payload_retention_period' => :'Integer',
67
74
  :'tags' => :'Array<String>',
68
75
  :'transformations_params' => :'Object'
@@ -74,6 +81,8 @@ module Svix
74
81
  Set.new([
75
82
  :'channels',
76
83
  :'event_id',
84
+ :'payload_retention_hours',
85
+ :'payload_retention_period',
77
86
  :'tags',
78
87
  :'transformations_params'
79
88
  ])
@@ -116,6 +125,10 @@ module Svix
116
125
  self.payload = attributes[:'payload']
117
126
  end
118
127
 
128
+ if attributes.key?(:'payload_retention_hours')
129
+ self.payload_retention_hours = attributes[:'payload_retention_hours']
130
+ end
131
+
119
132
  if attributes.key?(:'payload_retention_period')
120
133
  self.payload_retention_period = attributes[:'payload_retention_period']
121
134
  else
@@ -175,12 +188,20 @@ module Svix
175
188
  invalid_properties.push('invalid value for "payload", payload cannot be nil.')
176
189
  end
177
190
 
191
+ if !@payload_retention_hours.nil? && @payload_retention_hours > 2160
192
+ invalid_properties.push('invalid value for "payload_retention_hours", must be smaller than or equal to 2160.')
193
+ end
194
+
195
+ if !@payload_retention_hours.nil? && @payload_retention_hours < 1
196
+ invalid_properties.push('invalid value for "payload_retention_hours", must be greater than or equal to 1.')
197
+ end
198
+
178
199
  if !@payload_retention_period.nil? && @payload_retention_period > 90
179
200
  invalid_properties.push('invalid value for "payload_retention_period", must be smaller than or equal to 90.')
180
201
  end
181
202
 
182
- if !@payload_retention_period.nil? && @payload_retention_period < 5
183
- invalid_properties.push('invalid value for "payload_retention_period", must be greater than or equal to 5.')
203
+ if !@payload_retention_period.nil? && @payload_retention_period < 1
204
+ invalid_properties.push('invalid value for "payload_retention_period", must be greater than or equal to 1.')
184
205
  end
185
206
 
186
207
  if !@tags.nil? && @tags.length > 5
@@ -206,8 +227,10 @@ module Svix
206
227
  return false if @event_type.to_s.length > 256
207
228
  return false if @event_type !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
208
229
  return false if @payload.nil?
230
+ return false if !@payload_retention_hours.nil? && @payload_retention_hours > 2160
231
+ return false if !@payload_retention_hours.nil? && @payload_retention_hours < 1
209
232
  return false if !@payload_retention_period.nil? && @payload_retention_period > 90
210
- return false if !@payload_retention_period.nil? && @payload_retention_period < 5
233
+ return false if !@payload_retention_period.nil? && @payload_retention_period < 1
211
234
  return false if !@tags.nil? && @tags.length > 5
212
235
  return false if !@tags.nil? && @tags.length < 1
213
236
  true
@@ -265,6 +288,20 @@ module Svix
265
288
  @event_type = event_type
266
289
  end
267
290
 
291
+ # Custom attribute writer method with validation
292
+ # @param [Object] payload_retention_hours Value to be assigned
293
+ def payload_retention_hours=(payload_retention_hours)
294
+ if !payload_retention_hours.nil? && payload_retention_hours > 2160
295
+ fail ArgumentError, 'invalid value for "payload_retention_hours", must be smaller than or equal to 2160.'
296
+ end
297
+
298
+ if !payload_retention_hours.nil? && payload_retention_hours < 1
299
+ fail ArgumentError, 'invalid value for "payload_retention_hours", must be greater than or equal to 1.'
300
+ end
301
+
302
+ @payload_retention_hours = payload_retention_hours
303
+ end
304
+
268
305
  # Custom attribute writer method with validation
269
306
  # @param [Object] payload_retention_period Value to be assigned
270
307
  def payload_retention_period=(payload_retention_period)
@@ -272,8 +309,8 @@ module Svix
272
309
  fail ArgumentError, 'invalid value for "payload_retention_period", must be smaller than or equal to 90.'
273
310
  end
274
311
 
275
- if !payload_retention_period.nil? && payload_retention_period < 5
276
- fail ArgumentError, 'invalid value for "payload_retention_period", must be greater than or equal to 5.'
312
+ if !payload_retention_period.nil? && payload_retention_period < 1
313
+ fail ArgumentError, 'invalid value for "payload_retention_period", must be greater than or equal to 1.'
277
314
  end
278
315
 
279
316
  @payload_retention_period = payload_retention_period
@@ -303,6 +340,7 @@ module Svix
303
340
  event_id == o.event_id &&
304
341
  event_type == o.event_type &&
305
342
  payload == o.payload &&
343
+ payload_retention_hours == o.payload_retention_hours &&
306
344
  payload_retention_period == o.payload_retention_period &&
307
345
  tags == o.tags &&
308
346
  transformations_params == o.transformations_params
@@ -317,7 +355,7 @@ module Svix
317
355
  # Calculates hash code according to all attributes.
318
356
  # @return [Integer] Hash code
319
357
  def hash
320
- [application, channels, event_id, event_type, payload, payload_retention_period, tags, transformations_params].hash
358
+ [application, channels, event_id, event_type, payload, payload_retention_hours, payload_retention_period, tags, transformations_params].hash
321
359
  end
322
360
 
323
361
  # Builds the object from hash