svix 1.36.0 → 1.37.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,311 @@
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
+ # Configuration parameters for defining a Redshift sink.
18
+ class RedshiftConfig
19
+ attr_accessor :access_key_id
20
+
21
+ attr_accessor :cluster_identifier
22
+
23
+ # Database name. Only required if not using transformations.
24
+ attr_accessor :db_name
25
+
26
+ attr_accessor :db_user
27
+
28
+ attr_accessor :region
29
+
30
+ # Schema name. Only used if not using transformations.
31
+ attr_accessor :schema_name
32
+
33
+ attr_accessor :secret_access_key
34
+
35
+ # Table name. Only required if not using transformations.
36
+ attr_accessor :table_name
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ def self.attribute_map
40
+ {
41
+ :'access_key_id' => :'accessKeyId',
42
+ :'cluster_identifier' => :'clusterIdentifier',
43
+ :'db_name' => :'dbName',
44
+ :'db_user' => :'dbUser',
45
+ :'region' => :'region',
46
+ :'schema_name' => :'schemaName',
47
+ :'secret_access_key' => :'secretAccessKey',
48
+ :'table_name' => :'tableName'
49
+ }
50
+ end
51
+
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.openapi_types
59
+ {
60
+ :'access_key_id' => :'String',
61
+ :'cluster_identifier' => :'String',
62
+ :'db_name' => :'String',
63
+ :'db_user' => :'String',
64
+ :'region' => :'String',
65
+ :'schema_name' => :'String',
66
+ :'secret_access_key' => :'String',
67
+ :'table_name' => :'String'
68
+ }
69
+ end
70
+
71
+ # List of attributes with nullable: true
72
+ def self.openapi_nullable
73
+ Set.new([
74
+ :'schema_name',
75
+ ])
76
+ end
77
+
78
+ # Initializes the object
79
+ # @param [Hash] attributes Model attributes in the form of hash
80
+ def initialize(attributes = {})
81
+ if (!attributes.is_a?(Hash))
82
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Svix::RedshiftConfig` initialize method"
83
+ end
84
+
85
+ # check to see if the attribute exists and convert string to symbol for hash key
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!self.class.attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Svix::RedshiftConfig`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'access_key_id')
94
+ self.access_key_id = attributes[:'access_key_id']
95
+ end
96
+
97
+ if attributes.key?(:'cluster_identifier')
98
+ self.cluster_identifier = attributes[:'cluster_identifier']
99
+ end
100
+
101
+ if attributes.key?(:'db_name')
102
+ self.db_name = attributes[:'db_name']
103
+ end
104
+
105
+ if attributes.key?(:'db_user')
106
+ self.db_user = attributes[:'db_user']
107
+ end
108
+
109
+ if attributes.key?(:'region')
110
+ self.region = attributes[:'region']
111
+ end
112
+
113
+ if attributes.key?(:'schema_name')
114
+ self.schema_name = attributes[:'schema_name']
115
+ end
116
+
117
+ if attributes.key?(:'secret_access_key')
118
+ self.secret_access_key = attributes[:'secret_access_key']
119
+ end
120
+
121
+ if attributes.key?(:'table_name')
122
+ self.table_name = attributes[:'table_name']
123
+ end
124
+ end
125
+
126
+ # Show invalid properties with the reasons. Usually used together with valid?
127
+ # @return Array for valid properties with the reasons
128
+ def list_invalid_properties
129
+ invalid_properties = Array.new
130
+ if @access_key_id.nil?
131
+ invalid_properties.push('invalid value for "access_key_id", access_key_id cannot be nil.')
132
+ end
133
+
134
+ if @cluster_identifier.nil?
135
+ invalid_properties.push('invalid value for "cluster_identifier", cluster_identifier cannot be nil.')
136
+ end
137
+
138
+ if @db_user.nil?
139
+ invalid_properties.push('invalid value for "db_user", db_user cannot be nil.')
140
+ end
141
+
142
+ if @region.nil?
143
+ invalid_properties.push('invalid value for "region", region cannot be nil.')
144
+ end
145
+
146
+ if @secret_access_key.nil?
147
+ invalid_properties.push('invalid value for "secret_access_key", secret_access_key cannot be nil.')
148
+ end
149
+
150
+ invalid_properties
151
+ end
152
+
153
+ # Check to see if the all the properties in the model are valid
154
+ # @return true if the model is valid
155
+ def valid?
156
+ return false if @access_key_id.nil?
157
+ return false if @cluster_identifier.nil?
158
+ return false if @db_user.nil?
159
+ return false if @region.nil?
160
+ return false if @secret_access_key.nil?
161
+ true
162
+ end
163
+
164
+ # Checks equality by comparing each attribute.
165
+ # @param [Object] Object to be compared
166
+ def ==(o)
167
+ return true if self.equal?(o)
168
+ self.class == o.class &&
169
+ access_key_id == o.access_key_id &&
170
+ cluster_identifier == o.cluster_identifier &&
171
+ db_name == o.db_name &&
172
+ db_user == o.db_user &&
173
+ region == o.region &&
174
+ schema_name == o.schema_name &&
175
+ secret_access_key == o.secret_access_key &&
176
+ table_name == o.table_name
177
+ end
178
+
179
+ # @see the `==` method
180
+ # @param [Object] Object to be compared
181
+ def eql?(o)
182
+ self == o
183
+ end
184
+
185
+ # Calculates hash code according to all attributes.
186
+ # @return [Integer] Hash code
187
+ def hash
188
+ [access_key_id, cluster_identifier, db_name, db_user, region, schema_name, secret_access_key, table_name].hash
189
+ end
190
+
191
+ # Builds the object from hash
192
+ # @param [Hash] attributes Model attributes in the form of hash
193
+ # @return [Object] Returns the model itself
194
+ def self.build_from_hash(attributes)
195
+ new.build_from_hash(attributes)
196
+ end
197
+
198
+ # Builds the object from hash
199
+ # @param [Hash] attributes Model attributes in the form of hash
200
+ # @return [Object] Returns the model itself
201
+ def build_from_hash(attributes)
202
+ return nil unless attributes.is_a?(Hash)
203
+ self.class.openapi_types.each_pair do |key, type|
204
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
205
+ self.send("#{key}=", nil)
206
+ elsif type =~ /\AArray<(.*)>/i
207
+ # check to ensure the input is an array given that the attribute
208
+ # is documented as an array but the input is not
209
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
210
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
211
+ end
212
+ elsif !attributes[self.class.attribute_map[key]].nil?
213
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
214
+ end
215
+ end
216
+
217
+ self
218
+ end
219
+
220
+ # Deserializes the data based on type
221
+ # @param string type Data type
222
+ # @param string value Value to be deserialized
223
+ # @return [Object] Deserialized data
224
+ def _deserialize(type, value)
225
+ case type.to_sym
226
+ when :Time
227
+ Time.parse(value)
228
+ when :Date
229
+ Date.parse(value)
230
+ when :String
231
+ value.to_s
232
+ when :Integer
233
+ value.to_i
234
+ when :Float
235
+ value.to_f
236
+ when :Boolean
237
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
238
+ true
239
+ else
240
+ false
241
+ end
242
+ when :Object
243
+ # generic object (usually a Hash), return directly
244
+ value
245
+ when /\AArray<(?<inner_type>.+)>\z/
246
+ inner_type = Regexp.last_match[:inner_type]
247
+ value.map { |v| _deserialize(inner_type, v) }
248
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
249
+ k_type = Regexp.last_match[:k_type]
250
+ v_type = Regexp.last_match[:v_type]
251
+ {}.tap do |hash|
252
+ value.each do |k, v|
253
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
254
+ end
255
+ end
256
+ else # model
257
+ # models (e.g. Pet) or oneOf
258
+ klass = Svix.const_get(type)
259
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
260
+ end
261
+ end
262
+
263
+ # Returns the string representation of the object
264
+ # @return [String] String presentation of the object
265
+ def to_s
266
+ to_hash.to_s
267
+ end
268
+
269
+ # to_body is an alias to to_hash (backward compatibility)
270
+ # @return [Hash] Returns the object in the form of hash
271
+ def to_body
272
+ to_hash
273
+ end
274
+
275
+ # Returns the object in the form of hash
276
+ # @return [Hash] Returns the object in the form of hash
277
+ def to_hash
278
+ hash = {}
279
+ self.class.attribute_map.each_pair do |attr, param|
280
+ value = self.send(attr)
281
+ if value.nil?
282
+ is_nullable = self.class.openapi_nullable.include?(attr)
283
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
284
+ end
285
+
286
+ hash[param] = _to_hash(value)
287
+ end
288
+ hash
289
+ end
290
+
291
+ # Outputs non-array value in the form of hash
292
+ # For object, use to_hash. Otherwise, just return the value
293
+ # @param [Object] value Any valid value
294
+ # @return [Hash] Returns the value in the form of hash
295
+ def _to_hash(value)
296
+ if value.is_a?(Array)
297
+ value.compact.map { |v| _to_hash(v) }
298
+ elsif value.is_a?(Hash)
299
+ {}.tap do |hash|
300
+ value.each { |k, v| hash[k] = _to_hash(v) }
301
+ end
302
+ elsif value.respond_to? :to_hash
303
+ value.to_hash
304
+ else
305
+ value
306
+ end
307
+ end
308
+
309
+ end
310
+
311
+ end
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Svix
17
17
  class S3Config
18
- attr_accessor :access_key
18
+ attr_accessor :access_key_id
19
19
 
20
20
  attr_accessor :bucket
21
21
 
@@ -26,7 +26,7 @@ module Svix
26
26
  # Attribute mapping from ruby-style variable name to JSON key.
27
27
  def self.attribute_map
28
28
  {
29
- :'access_key' => :'accessKey',
29
+ :'access_key_id' => :'accessKeyId',
30
30
  :'bucket' => :'bucket',
31
31
  :'region' => :'region',
32
32
  :'secret_access_key' => :'secretAccessKey'
@@ -41,7 +41,7 @@ module Svix
41
41
  # Attribute type mapping.
42
42
  def self.openapi_types
43
43
  {
44
- :'access_key' => :'String',
44
+ :'access_key_id' => :'String',
45
45
  :'bucket' => :'String',
46
46
  :'region' => :'String',
47
47
  :'secret_access_key' => :'String'
@@ -69,8 +69,8 @@ module Svix
69
69
  h[k.to_sym] = v
70
70
  }
71
71
 
72
- if attributes.key?(:'access_key')
73
- self.access_key = attributes[:'access_key']
72
+ if attributes.key?(:'access_key_id')
73
+ self.access_key_id = attributes[:'access_key_id']
74
74
  end
75
75
 
76
76
  if attributes.key?(:'bucket')
@@ -90,8 +90,8 @@ module Svix
90
90
  # @return Array for valid properties with the reasons
91
91
  def list_invalid_properties
92
92
  invalid_properties = Array.new
93
- if @access_key.nil?
94
- invalid_properties.push('invalid value for "access_key", access_key cannot be nil.')
93
+ if @access_key_id.nil?
94
+ invalid_properties.push('invalid value for "access_key_id", access_key_id cannot be nil.')
95
95
  end
96
96
 
97
97
  if @bucket.nil?
@@ -112,7 +112,7 @@ module Svix
112
112
  # Check to see if the all the properties in the model are valid
113
113
  # @return true if the model is valid
114
114
  def valid?
115
- return false if @access_key.nil?
115
+ return false if @access_key_id.nil?
116
116
  return false if @bucket.nil?
117
117
  return false if @region.nil?
118
118
  return false if @secret_access_key.nil?
@@ -124,7 +124,7 @@ module Svix
124
124
  def ==(o)
125
125
  return true if self.equal?(o)
126
126
  self.class == o.class &&
127
- access_key == o.access_key &&
127
+ access_key_id == o.access_key_id &&
128
128
  bucket == o.bucket &&
129
129
  region == o.region &&
130
130
  secret_access_key == o.secret_access_key
@@ -139,7 +139,7 @@ module Svix
139
139
  # Calculates hash code according to all attributes.
140
140
  # @return [Integer] Hash code
141
141
  def hash
142
- [access_key, bucket, region, secret_access_key].hash
142
+ [access_key_id, bucket, region, secret_access_key].hash
143
143
  end
144
144
 
145
145
  # Builds the object from hash
@@ -15,11 +15,14 @@ require 'time'
15
15
 
16
16
  module Svix
17
17
  class SinkHttpConfig
18
+ attr_accessor :headers
19
+
18
20
  attr_accessor :url
19
21
 
20
22
  # Attribute mapping from ruby-style variable name to JSON key.
21
23
  def self.attribute_map
22
24
  {
25
+ :'headers' => :'headers',
23
26
  :'url' => :'url'
24
27
  }
25
28
  end
@@ -32,6 +35,7 @@ module Svix
32
35
  # Attribute type mapping.
33
36
  def self.openapi_types
34
37
  {
38
+ :'headers' => :'Hash<String, String>',
35
39
  :'url' => :'String'
36
40
  }
37
41
  end
@@ -57,6 +61,12 @@ module Svix
57
61
  h[k.to_sym] = v
58
62
  }
59
63
 
64
+ if attributes.key?(:'headers')
65
+ if (value = attributes[:'headers']).is_a?(Hash)
66
+ self.headers = value
67
+ end
68
+ end
69
+
60
70
  if attributes.key?(:'url')
61
71
  self.url = attributes[:'url']
62
72
  end
@@ -85,6 +95,7 @@ module Svix
85
95
  def ==(o)
86
96
  return true if self.equal?(o)
87
97
  self.class == o.class &&
98
+ headers == o.headers &&
88
99
  url == o.url
89
100
  end
90
101
 
@@ -97,7 +108,7 @@ module Svix
97
108
  # Calculates hash code according to all attributes.
98
109
  # @return [Integer] Hash code
99
110
  def hash
100
- [url].hash
111
+ [headers, url].hash
101
112
  end
102
113
 
103
114
  # Builds the object from hash
@@ -22,8 +22,7 @@ module Svix
22
22
  :'SinkInOneOf',
23
23
  :'SinkInOneOf1',
24
24
  :'SinkInOneOf2',
25
- :'SinkInOneOf3',
26
- :'SinkInOneOf4'
25
+ :'SinkInOneOf3'
27
26
  ]
28
27
  end
29
28
 
@@ -111,7 +111,7 @@ module Svix
111
111
  # @return true if the model is valid
112
112
  def valid?
113
113
  return false if @type.nil?
114
- type_validator = EnumAttributeValidator.new('String', ["otelV1HttpTrace"])
114
+ type_validator = EnumAttributeValidator.new('String', ["http"])
115
115
  return false unless type_validator.valid?(@type)
116
116
  return false if @url.nil?
117
117
  true
@@ -120,7 +120,7 @@ module Svix
120
120
  # Custom attribute writer method checking allowed values (enum).
121
121
  # @param [Object] type Object to be assigned
122
122
  def type=(type)
123
- validator = EnumAttributeValidator.new('String', ["otelV1HttpTrace"])
123
+ validator = EnumAttributeValidator.new('String', ["http"])
124
124
  unless validator.valid?(type)
125
125
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
126
126
  end
@@ -22,8 +22,7 @@ module Svix
22
22
  :'SinkInOneOf',
23
23
  :'SinkInOneOf1',
24
24
  :'SinkInOneOf2',
25
- :'SinkInOneOf3',
26
- :'SinkInOneOf4'
25
+ :'SinkInOneOf3'
27
26
  ]
28
27
  end
29
28
 
@@ -14,17 +14,24 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Svix
17
+ # Configuration parameters for defining a Snowflake sink.
17
18
  class SnowflakeConfig
19
+ # Snowflake account identifier, which includes both the organization and account IDs separated by a hyphen.
18
20
  attr_accessor :account_identifier
19
21
 
22
+ # Database name. Only required if not using transformations.
20
23
  attr_accessor :db_name
21
24
 
25
+ # PEM-encoded private key used for signing token-based requests to the Snowflake API. Beginning/end delimiters are not required.
22
26
  attr_accessor :private_key
23
27
 
28
+ # Schema name. Only required if not using transformations.
24
29
  attr_accessor :schema_name
25
30
 
31
+ # Table name. Only required if not using transformations.
26
32
  attr_accessor :table_name
27
33
 
34
+ # The Snowflake user id.
28
35
  attr_accessor :user_id
29
36
 
30
37
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -22,7 +22,10 @@ module Svix
22
22
  :'StreamSinkInOneOf',
23
23
  :'StreamSinkInOneOf1',
24
24
  :'StreamSinkInOneOf2',
25
- :'StreamSinkInOneOf3'
25
+ :'StreamSinkInOneOf3',
26
+ :'StreamSinkInOneOf4',
27
+ :'StreamSinkInOneOf5',
28
+ :'StreamSinkInOneOf6'
26
29
  ]
27
30
  end
28
31
 
@@ -57,7 +57,7 @@ module Svix
57
57
  # Attribute type mapping.
58
58
  def self.openapi_types
59
59
  {
60
- :'config' => :'SinkOtelV1Config',
60
+ :'config' => :'AzureBlobStorageConfig',
61
61
  :'type' => :'String'
62
62
  }
63
63
  end
@@ -112,7 +112,7 @@ module Svix
112
112
  def valid?
113
113
  return false if @config.nil?
114
114
  return false if @type.nil?
115
- type_validator = EnumAttributeValidator.new('String', ["otelV1HttpTrace"])
115
+ type_validator = EnumAttributeValidator.new('String', ["azureBlobStorage"])
116
116
  return false unless type_validator.valid?(@type)
117
117
  true
118
118
  end
@@ -120,7 +120,7 @@ module Svix
120
120
  # Custom attribute writer method checking allowed values (enum).
121
121
  # @param [Object] type Object to be assigned
122
122
  def type=(type)
123
- validator = EnumAttributeValidator.new('String', ["otelV1HttpTrace"])
123
+ validator = EnumAttributeValidator.new('String', ["azureBlobStorage"])
124
124
  unless validator.valid?(type)
125
125
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
126
126
  end
@@ -57,7 +57,7 @@ module Svix
57
57
  # Attribute type mapping.
58
58
  def self.openapi_types
59
59
  {
60
- :'config' => :'SinkHttpConfig',
60
+ :'config' => :'SinkOtelV1Config',
61
61
  :'type' => :'String'
62
62
  }
63
63
  end
@@ -112,7 +112,7 @@ module Svix
112
112
  def valid?
113
113
  return false if @config.nil?
114
114
  return false if @type.nil?
115
- type_validator = EnumAttributeValidator.new('String', ["http"])
115
+ type_validator = EnumAttributeValidator.new('String', ["otelV1HttpTrace"])
116
116
  return false unless type_validator.valid?(@type)
117
117
  true
118
118
  end
@@ -120,7 +120,7 @@ module Svix
120
120
  # Custom attribute writer method checking allowed values (enum).
121
121
  # @param [Object] type Object to be assigned
122
122
  def type=(type)
123
- validator = EnumAttributeValidator.new('String', ["http"])
123
+ validator = EnumAttributeValidator.new('String', ["otelV1HttpTrace"])
124
124
  unless validator.valid?(type)
125
125
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
126
126
  end
@@ -57,7 +57,7 @@ module Svix
57
57
  # Attribute type mapping.
58
58
  def self.openapi_types
59
59
  {
60
- :'config' => :'S3Config',
60
+ :'config' => :'SinkHttpConfig',
61
61
  :'type' => :'String'
62
62
  }
63
63
  end
@@ -112,7 +112,7 @@ module Svix
112
112
  def valid?
113
113
  return false if @config.nil?
114
114
  return false if @type.nil?
115
- type_validator = EnumAttributeValidator.new('String', ["amazonS3"])
115
+ type_validator = EnumAttributeValidator.new('String', ["http"])
116
116
  return false unless type_validator.valid?(@type)
117
117
  true
118
118
  end
@@ -120,7 +120,7 @@ module Svix
120
120
  # Custom attribute writer method checking allowed values (enum).
121
121
  # @param [Object] type Object to be assigned
122
122
  def type=(type)
123
- validator = EnumAttributeValidator.new('String', ["amazonS3"])
123
+ validator = EnumAttributeValidator.new('String', ["http"])
124
124
  unless validator.valid?(type)
125
125
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
126
126
  end
@@ -57,7 +57,7 @@ module Svix
57
57
  # Attribute type mapping.
58
58
  def self.openapi_types
59
59
  {
60
- :'config' => :'SnowflakeConfig',
60
+ :'config' => :'S3Config',
61
61
  :'type' => :'String'
62
62
  }
63
63
  end
@@ -112,7 +112,7 @@ module Svix
112
112
  def valid?
113
113
  return false if @config.nil?
114
114
  return false if @type.nil?
115
- type_validator = EnumAttributeValidator.new('String', ["snowflake"])
115
+ type_validator = EnumAttributeValidator.new('String', ["amazonS3"])
116
116
  return false unless type_validator.valid?(@type)
117
117
  true
118
118
  end
@@ -120,7 +120,7 @@ module Svix
120
120
  # Custom attribute writer method checking allowed values (enum).
121
121
  # @param [Object] type Object to be assigned
122
122
  def type=(type)
123
- validator = EnumAttributeValidator.new('String', ["snowflake"])
123
+ validator = EnumAttributeValidator.new('String', ["amazonS3"])
124
124
  unless validator.valid?(type)
125
125
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
126
126
  end