vpndetection 1.5.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/vpndetection/api/{database_api.rb → database_wire_api.rb} +41 -51
  4. data/lib/vpndetection/api/lookup_wire_api.rb +142 -0
  5. data/lib/vpndetection/api_client.rb +2 -2
  6. data/lib/vpndetection/api_error.rb +2 -2
  7. data/lib/vpndetection/api_model_base.rb +2 -2
  8. data/lib/vpndetection/client.rb +1 -1
  9. data/lib/vpndetection/configuration.rb +2 -2
  10. data/lib/vpndetection/{database.rb → database_api.rb} +5 -5
  11. data/lib/vpndetection/models/class_detail.rb +2 -2
  12. data/lib/vpndetection/models/{licensed_dataset.rb → database.rb} +20 -26
  13. data/lib/vpndetection/models/{dataset_checksums_response.rb → database_checksums_response.rb} +6 -6
  14. data/lib/vpndetection/models/database_format.rb +40 -0
  15. data/lib/vpndetection/models/{dataset_format_size.rb → database_format_size.rb} +11 -13
  16. data/lib/vpndetection/models/{dataset_list.rb → database_list.rb} +22 -22
  17. data/lib/vpndetection/models/{dataset_metadata.rb → database_metadata.rb} +6 -6
  18. data/lib/vpndetection/models/{dataset_metadata_column.rb → database_metadata_column.rb} +5 -5
  19. data/lib/vpndetection/models/{licensed_version.rb → database_version.rb} +9 -31
  20. data/lib/vpndetection/models/{dataset_checksums.rb → db_checksums.rb} +74 -5
  21. data/lib/vpndetection/models/download.rb +2 -2
  22. data/lib/vpndetection/models/download_list.rb +2 -2
  23. data/lib/vpndetection/models/error_envelope.rb +2 -2
  24. data/lib/vpndetection/models/license_type.rb +41 -0
  25. data/lib/vpndetection/models/lookup_error.rb +2 -2
  26. data/lib/vpndetection/models/lookup_response.rb +2 -2
  27. data/lib/vpndetection/models/proxy_detail.rb +2 -2
  28. data/lib/vpndetection/models/standing.rb +41 -0
  29. data/lib/vpndetection/models/vpn_detail.rb +3 -3
  30. data/lib/vpndetection/transport.rb +1 -1
  31. data/lib/vpndetection/version.rb +1 -1
  32. data/lib/vpndetection.rb +1 -1
  33. metadata +15 -12
  34. data/lib/vpndetection/api/lookup_api.rb +0 -85
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #VPNDetection API
3
3
 
4
- #The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
4
+ #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.09.09
6
+ The version of the OpenAPI document: 2026.09.13
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -14,16 +14,15 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VPNDetection
17
- # One dataset FAMILY your organization is licensed for. A license covers the family, while a download names a specific version, so the ids you pass to the download and checksum endpoints come from `versions`.
18
- class LicensedDataset < ApiModelBase
19
- # The dataset family, e.g. `vpn_ip`. What the license is held against.
17
+ # One database FAMILY your organization is licensed for. A license covers the family, while a download names a specific version, so the ids you pass to the download and checksum endpoints come from `versions`.
18
+ class Database < ApiModelBase
19
+ # The database family, e.g. `vpn_ip`. What the license is held against.
20
20
  attr_accessor :base
21
21
 
22
22
  attr_accessor :name
23
23
 
24
24
  attr_accessor :summary
25
25
 
26
- # What your license permits you to do with the data.
27
26
  attr_accessor :license_type
28
27
 
29
28
  attr_accessor :starts
@@ -40,7 +39,6 @@ module VPNDetection
40
39
  # False when the license has lapsed; downloads are refused.
41
40
  attr_accessor :in_term
42
41
 
43
- # `licensed` is a live grant, `expired` one whose term has ended, and `unlicensed` a dataset published but never bought.
44
42
  attr_accessor :standing
45
43
 
46
44
  # Every published version of this family. The `id` here is what the download and checksum endpoints take.
@@ -101,14 +99,14 @@ module VPNDetection
101
99
  :'base' => :'String',
102
100
  :'name' => :'String',
103
101
  :'summary' => :'String',
104
- :'license_type' => :'String',
102
+ :'license_type' => :'LicenseType',
105
103
  :'starts' => :'Time',
106
104
  :'expires' => :'Time',
107
105
  :'renews_at' => :'Time',
108
106
  :'notice_due_at' => :'Time',
109
107
  :'in_term' => :'Boolean',
110
- :'standing' => :'String',
111
- :'versions' => :'Array<LicensedVersion>'
108
+ :'standing' => :'Standing',
109
+ :'versions' => :'Array<DatabaseVersion>'
112
110
  }
113
111
  end
114
112
 
@@ -126,14 +124,14 @@ module VPNDetection
126
124
  # @param [Hash] attributes Model attributes in the form of hash
127
125
  def initialize(attributes = {})
128
126
  if (!attributes.is_a?(Hash))
129
- fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::LicensedDataset` initialize method"
127
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::Database` initialize method"
130
128
  end
131
129
 
132
130
  # check to see if the attribute exists and convert string to symbol for hash key
133
131
  acceptable_attribute_map = self.class.acceptable_attribute_map
134
132
  attributes = attributes.each_with_object({}) { |(k, v), h|
135
133
  if (!acceptable_attribute_map.key?(k.to_sym))
136
- fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::LicensedDataset`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
134
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::Database`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
137
135
  end
138
136
  h[k.to_sym] = v
139
137
  }
@@ -251,12 +249,8 @@ module VPNDetection
251
249
  return false if @name.nil?
252
250
  return false if @summary.nil?
253
251
  return false if @license_type.nil?
254
- license_type_validator = EnumAttributeValidator.new('String', ["evaluation", "standard", "redistribute"])
255
- return false unless license_type_validator.valid?(@license_type)
256
252
  return false if @in_term.nil?
257
253
  return false if @standing.nil?
258
- standing_validator = EnumAttributeValidator.new('String', ["expired", "licensed", "unlicensed"])
259
- return false unless standing_validator.valid?(@standing)
260
254
  return false if @versions.nil?
261
255
  true
262
256
  end
@@ -291,13 +285,13 @@ module VPNDetection
291
285
  @summary = summary
292
286
  end
293
287
 
294
- # Custom attribute writer method checking allowed values (enum).
295
- # @param [Object] license_type Object to be assigned
288
+ # Custom attribute writer method with validation
289
+ # @param [Object] license_type Value to be assigned
296
290
  def license_type=(license_type)
297
- validator = EnumAttributeValidator.new('String', ["evaluation", "standard", "redistribute"])
298
- unless validator.valid?(license_type)
299
- fail ArgumentError, "invalid value for \"license_type\", must be one of #{validator.allowable_values}."
291
+ if license_type.nil?
292
+ fail ArgumentError, 'license_type cannot be nil'
300
293
  end
294
+
301
295
  @license_type = license_type
302
296
  end
303
297
 
@@ -311,13 +305,13 @@ module VPNDetection
311
305
  @in_term = in_term
312
306
  end
313
307
 
314
- # Custom attribute writer method checking allowed values (enum).
315
- # @param [Object] standing Object to be assigned
308
+ # Custom attribute writer method with validation
309
+ # @param [Object] standing Value to be assigned
316
310
  def standing=(standing)
317
- validator = EnumAttributeValidator.new('String', ["expired", "licensed", "unlicensed"])
318
- unless validator.valid?(standing)
319
- fail ArgumentError, "invalid value for \"standing\", must be one of #{validator.allowable_values}."
311
+ if standing.nil?
312
+ fail ArgumentError, 'standing cannot be nil'
320
313
  end
314
+
321
315
  @standing = standing
322
316
  end
323
317
 
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #VPNDetection API
3
3
 
4
- #The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
4
+ #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.09.09
6
+ The version of the OpenAPI document: 2026.09.13
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VPNDetection
17
- class DatasetChecksumsResponse < ApiModelBase
17
+ class DatabaseChecksumsResponse < ApiModelBase
18
18
  attr_accessor :id
19
19
 
20
20
  attr_accessor :format
@@ -45,7 +45,7 @@ module VPNDetection
45
45
  {
46
46
  :'id' => :'String',
47
47
  :'format' => :'String',
48
- :'checksums' => :'DatasetChecksums'
48
+ :'checksums' => :'DbChecksums'
49
49
  }
50
50
  end
51
51
 
@@ -59,14 +59,14 @@ module VPNDetection
59
59
  # @param [Hash] attributes Model attributes in the form of hash
60
60
  def initialize(attributes = {})
61
61
  if (!attributes.is_a?(Hash))
62
- fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatasetChecksumsResponse` initialize method"
62
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatabaseChecksumsResponse` initialize method"
63
63
  end
64
64
 
65
65
  # check to see if the attribute exists and convert string to symbol for hash key
66
66
  acceptable_attribute_map = self.class.acceptable_attribute_map
67
67
  attributes = attributes.each_with_object({}) { |(k, v), h|
68
68
  if (!acceptable_attribute_map.key?(k.to_sym))
69
- fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatasetChecksumsResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatabaseChecksumsResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
70
70
  end
71
71
  h[k.to_sym] = v
72
72
  }
@@ -0,0 +1,40 @@
1
+ =begin
2
+ #VPNDetection API
3
+
4
+ #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
+
6
+ The version of the OpenAPI document: 2026.09.13
7
+ Contact: support@vpndetection.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module VPNDetection
17
+ class DatabaseFormat
18
+ CSVGZ = "csvgz".freeze
19
+ MMDB = "mmdb".freeze
20
+
21
+ def self.all_vars
22
+ @all_vars ||= [CSVGZ, MMDB].freeze
23
+ end
24
+
25
+ # Builds the enum from string
26
+ # @param [String] The enum value in the form of the string
27
+ # @return [String] The enum value
28
+ def self.build_from_hash(value)
29
+ new.build_from_hash(value)
30
+ end
31
+
32
+ # Builds the enum from string
33
+ # @param [String] The enum value in the form of the string
34
+ # @return [String] The enum value
35
+ def build_from_hash(value)
36
+ return value if DatabaseFormat.all_vars.include?(value)
37
+ raise "Invalid ENUM value #{value} for class #DatabaseFormat"
38
+ end
39
+ end
40
+ end
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #VPNDetection API
3
3
 
4
- #The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
4
+ #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.09.09
6
+ The version of the OpenAPI document: 2026.09.13
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VPNDetection
17
- class DatasetFormatSize < ApiModelBase
17
+ class DatabaseFormatSize < ApiModelBase
18
18
  attr_accessor :format
19
19
 
20
20
  # Size of the published file, or null when it has not been published yet
@@ -63,7 +63,7 @@ module VPNDetection
63
63
  # Attribute type mapping.
64
64
  def self.openapi_types
65
65
  {
66
- :'format' => :'String',
66
+ :'format' => :'DatabaseFormat',
67
67
  :'bytes' => :'Integer'
68
68
  }
69
69
  end
@@ -79,14 +79,14 @@ module VPNDetection
79
79
  # @param [Hash] attributes Model attributes in the form of hash
80
80
  def initialize(attributes = {})
81
81
  if (!attributes.is_a?(Hash))
82
- fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatasetFormatSize` initialize method"
82
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatabaseFormatSize` initialize method"
83
83
  end
84
84
 
85
85
  # check to see if the attribute exists and convert string to symbol for hash key
86
86
  acceptable_attribute_map = self.class.acceptable_attribute_map
87
87
  attributes = attributes.each_with_object({}) { |(k, v), h|
88
88
  if (!acceptable_attribute_map.key?(k.to_sym))
89
- fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatasetFormatSize`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
89
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatabaseFormatSize`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
90
90
  end
91
91
  h[k.to_sym] = v
92
92
  }
@@ -121,18 +121,16 @@ module VPNDetection
121
121
  def valid?
122
122
  warn '[DEPRECATED] the `valid?` method is obsolete'
123
123
  return false if @format.nil?
124
- format_validator = EnumAttributeValidator.new('String', ["csvgz", "mmdb"])
125
- return false unless format_validator.valid?(@format)
126
124
  true
127
125
  end
128
126
 
129
- # Custom attribute writer method checking allowed values (enum).
130
- # @param [Object] format Object to be assigned
127
+ # Custom attribute writer method with validation
128
+ # @param [Object] format Value to be assigned
131
129
  def format=(format)
132
- validator = EnumAttributeValidator.new('String', ["csvgz", "mmdb"])
133
- unless validator.valid?(format)
134
- fail ArgumentError, "invalid value for \"format\", must be one of #{validator.allowable_values}."
130
+ if format.nil?
131
+ fail ArgumentError, 'format cannot be nil'
135
132
  end
133
+
136
134
  @format = format
137
135
  end
138
136
 
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #VPNDetection API
3
3
 
4
- #The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
4
+ #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.09.09
6
+ The version of the OpenAPI document: 2026.09.13
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -14,13 +14,13 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VPNDetection
17
- class DatasetList < ApiModelBase
18
- attr_accessor :datasets
17
+ class DatabaseList < ApiModelBase
18
+ attr_accessor :databases
19
19
 
20
20
  # Attribute mapping from ruby-style variable name to JSON key.
21
21
  def self.attribute_map
22
22
  {
23
- :'datasets' => :'datasets'
23
+ :'databases' => :'databases'
24
24
  }
25
25
  end
26
26
 
@@ -37,7 +37,7 @@ module VPNDetection
37
37
  # Attribute type mapping.
38
38
  def self.openapi_types
39
39
  {
40
- :'datasets' => :'Array<LicensedDataset>'
40
+ :'databases' => :'Array<Database>'
41
41
  }
42
42
  end
43
43
 
@@ -51,24 +51,24 @@ module VPNDetection
51
51
  # @param [Hash] attributes Model attributes in the form of hash
52
52
  def initialize(attributes = {})
53
53
  if (!attributes.is_a?(Hash))
54
- fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatasetList` initialize method"
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatabaseList` initialize method"
55
55
  end
56
56
 
57
57
  # check to see if the attribute exists and convert string to symbol for hash key
58
58
  acceptable_attribute_map = self.class.acceptable_attribute_map
59
59
  attributes = attributes.each_with_object({}) { |(k, v), h|
60
60
  if (!acceptable_attribute_map.key?(k.to_sym))
61
- fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatasetList`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatabaseList`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
62
62
  end
63
63
  h[k.to_sym] = v
64
64
  }
65
65
 
66
- if attributes.key?(:'datasets')
67
- if (value = attributes[:'datasets']).is_a?(Array)
68
- self.datasets = value
66
+ if attributes.key?(:'databases')
67
+ if (value = attributes[:'databases']).is_a?(Array)
68
+ self.databases = value
69
69
  end
70
70
  else
71
- self.datasets = nil
71
+ self.databases = nil
72
72
  end
73
73
  end
74
74
 
@@ -77,8 +77,8 @@ module VPNDetection
77
77
  def list_invalid_properties
78
78
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
79
79
  invalid_properties = Array.new
80
- if @datasets.nil?
81
- invalid_properties.push('invalid value for "datasets", datasets cannot be nil.')
80
+ if @databases.nil?
81
+ invalid_properties.push('invalid value for "databases", databases cannot be nil.')
82
82
  end
83
83
 
84
84
  invalid_properties
@@ -88,18 +88,18 @@ module VPNDetection
88
88
  # @return true if the model is valid
89
89
  def valid?
90
90
  warn '[DEPRECATED] the `valid?` method is obsolete'
91
- return false if @datasets.nil?
91
+ return false if @databases.nil?
92
92
  true
93
93
  end
94
94
 
95
95
  # Custom attribute writer method with validation
96
- # @param [Object] datasets Value to be assigned
97
- def datasets=(datasets)
98
- if datasets.nil?
99
- fail ArgumentError, 'datasets cannot be nil'
96
+ # @param [Object] databases Value to be assigned
97
+ def databases=(databases)
98
+ if databases.nil?
99
+ fail ArgumentError, 'databases cannot be nil'
100
100
  end
101
101
 
102
- @datasets = datasets
102
+ @databases = databases
103
103
  end
104
104
 
105
105
  # Checks equality by comparing each attribute.
@@ -107,7 +107,7 @@ module VPNDetection
107
107
  def ==(o)
108
108
  return true if self.equal?(o)
109
109
  self.class == o.class &&
110
- datasets == o.datasets
110
+ databases == o.databases
111
111
  end
112
112
 
113
113
  # @see the `==` method
@@ -119,7 +119,7 @@ module VPNDetection
119
119
  # Calculates hash code according to all attributes.
120
120
  # @return [Integer] Hash code
121
121
  def hash
122
- [datasets].hash
122
+ [databases].hash
123
123
  end
124
124
 
125
125
  # Builds the object from hash
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #VPNDetection API
3
3
 
4
- #The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
4
+ #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.09.09
6
+ The version of the OpenAPI document: 2026.09.13
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VPNDetection
17
- class DatasetMetadata < ApiModelBase
17
+ class DatabaseMetadata < ApiModelBase
18
18
  attr_accessor :id
19
19
 
20
20
  # How often a new build is published
@@ -72,7 +72,7 @@ module VPNDetection
72
72
  :'update_freq' => :'String',
73
73
  :'updated' => :'Date',
74
74
  :'entries' => :'Integer',
75
- :'schema' => :'Hash<String, Array<DatasetMetadataColumn>>',
75
+ :'schema' => :'Hash<String, Array<DatabaseMetadataColumn>>',
76
76
  :'sample' => :'Hash<String, Array<Object>>',
77
77
  :'size' => :'Hash<String, Integer>',
78
78
  :'sample_size' => :'Hash<String, Integer>',
@@ -90,14 +90,14 @@ module VPNDetection
90
90
  # @param [Hash] attributes Model attributes in the form of hash
91
91
  def initialize(attributes = {})
92
92
  if (!attributes.is_a?(Hash))
93
- fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatasetMetadata` initialize method"
93
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatabaseMetadata` initialize method"
94
94
  end
95
95
 
96
96
  # check to see if the attribute exists and convert string to symbol for hash key
97
97
  acceptable_attribute_map = self.class.acceptable_attribute_map
98
98
  attributes = attributes.each_with_object({}) { |(k, v), h|
99
99
  if (!acceptable_attribute_map.key?(k.to_sym))
100
- fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatasetMetadata`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
100
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatabaseMetadata`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
101
101
  end
102
102
  h[k.to_sym] = v
103
103
  }
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #VPNDetection API
3
3
 
4
- #The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
4
+ #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.09.09
6
+ The version of the OpenAPI document: 2026.09.13
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VPNDetection
17
- class DatasetMetadataColumn < ApiModelBase
17
+ class DatabaseMetadataColumn < ApiModelBase
18
18
  attr_accessor :name
19
19
 
20
20
  attr_accessor :type
@@ -59,14 +59,14 @@ module VPNDetection
59
59
  # @param [Hash] attributes Model attributes in the form of hash
60
60
  def initialize(attributes = {})
61
61
  if (!attributes.is_a?(Hash))
62
- fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatasetMetadataColumn` initialize method"
62
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatabaseMetadataColumn` initialize method"
63
63
  end
64
64
 
65
65
  # check to see if the attribute exists and convert string to symbol for hash key
66
66
  acceptable_attribute_map = self.class.acceptable_attribute_map
67
67
  attributes = attributes.each_with_object({}) { |(k, v), h|
68
68
  if (!acceptable_attribute_map.key?(k.to_sym))
69
- fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatasetMetadataColumn`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatabaseMetadataColumn`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
70
70
  end
71
71
  h[k.to_sym] = v
72
72
  }
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #VPNDetection API
3
3
 
4
- #The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
4
+ #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.09.09
6
+ The version of the OpenAPI document: 2026.09.13
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -14,8 +14,8 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VPNDetection
17
- class LicensedVersion < ApiModelBase
18
- # The versioned dataset id, e.g. `vpn_ip_v1`. Pass this to download.
17
+ class DatabaseVersion < ApiModelBase
18
+ # The versioned database id, e.g. `vpn_ip_v1`. Pass this to download.
19
19
  attr_accessor :id
20
20
 
21
21
  attr_accessor :version
@@ -27,28 +27,6 @@ module VPNDetection
27
27
  # The formats an evaluation sample is published in, if any.
28
28
  attr_accessor :sample_formats
29
29
 
30
- class EnumAttributeValidator
31
- attr_reader :datatype
32
- attr_reader :allowable_values
33
-
34
- def initialize(datatype, allowable_values)
35
- @allowable_values = allowable_values.map do |value|
36
- case datatype.to_s
37
- when /Integer/i
38
- value.to_i
39
- when /Float/i
40
- value.to_f
41
- else
42
- value
43
- end
44
- end
45
- end
46
-
47
- def valid?(value)
48
- !value || allowable_values.include?(value)
49
- end
50
- end
51
-
52
30
  # Attribute mapping from ruby-style variable name to JSON key.
53
31
  def self.attribute_map
54
32
  {
@@ -56,7 +34,7 @@ module VPNDetection
56
34
  :'version' => :'version',
57
35
  :'summary' => :'summary',
58
36
  :'formats' => :'formats',
59
- :'sample_formats' => :'sampleFormats'
37
+ :'sample_formats' => :'sample_formats'
60
38
  }
61
39
  end
62
40
 
@@ -76,8 +54,8 @@ module VPNDetection
76
54
  :'id' => :'String',
77
55
  :'version' => :'Integer',
78
56
  :'summary' => :'String',
79
- :'formats' => :'Array<DatasetFormatSize>',
80
- :'sample_formats' => :'Array<String>'
57
+ :'formats' => :'Array<DatabaseFormatSize>',
58
+ :'sample_formats' => :'Array<DatabaseFormat>'
81
59
  }
82
60
  end
83
61
 
@@ -91,14 +69,14 @@ module VPNDetection
91
69
  # @param [Hash] attributes Model attributes in the form of hash
92
70
  def initialize(attributes = {})
93
71
  if (!attributes.is_a?(Hash))
94
- fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::LicensedVersion` initialize method"
72
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::DatabaseVersion` initialize method"
95
73
  end
96
74
 
97
75
  # check to see if the attribute exists and convert string to symbol for hash key
98
76
  acceptable_attribute_map = self.class.acceptable_attribute_map
99
77
  attributes = attributes.each_with_object({}) { |(k, v), h|
100
78
  if (!acceptable_attribute_map.key?(k.to_sym))
101
- fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::LicensedVersion`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
79
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::DatabaseVersion`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
102
80
  end
103
81
  h[k.to_sym] = v
104
82
  }