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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/vpndetection/api/{database_api.rb → database_wire_api.rb} +41 -51
- data/lib/vpndetection/api/lookup_wire_api.rb +142 -0
- data/lib/vpndetection/api_client.rb +2 -2
- data/lib/vpndetection/api_error.rb +2 -2
- data/lib/vpndetection/api_model_base.rb +2 -2
- data/lib/vpndetection/client.rb +1 -1
- data/lib/vpndetection/configuration.rb +2 -2
- data/lib/vpndetection/{database.rb → database_api.rb} +5 -5
- data/lib/vpndetection/models/class_detail.rb +2 -2
- data/lib/vpndetection/models/{licensed_dataset.rb → database.rb} +20 -26
- data/lib/vpndetection/models/{dataset_checksums_response.rb → database_checksums_response.rb} +6 -6
- data/lib/vpndetection/models/database_format.rb +40 -0
- data/lib/vpndetection/models/{dataset_format_size.rb → database_format_size.rb} +11 -13
- data/lib/vpndetection/models/{dataset_list.rb → database_list.rb} +22 -22
- data/lib/vpndetection/models/{dataset_metadata.rb → database_metadata.rb} +6 -6
- data/lib/vpndetection/models/{dataset_metadata_column.rb → database_metadata_column.rb} +5 -5
- data/lib/vpndetection/models/{licensed_version.rb → database_version.rb} +9 -31
- data/lib/vpndetection/models/{dataset_checksums.rb → db_checksums.rb} +74 -5
- data/lib/vpndetection/models/download.rb +2 -2
- data/lib/vpndetection/models/download_list.rb +2 -2
- data/lib/vpndetection/models/error_envelope.rb +2 -2
- data/lib/vpndetection/models/license_type.rb +41 -0
- data/lib/vpndetection/models/lookup_error.rb +2 -2
- data/lib/vpndetection/models/lookup_response.rb +2 -2
- data/lib/vpndetection/models/proxy_detail.rb +2 -2
- data/lib/vpndetection/models/standing.rb +41 -0
- data/lib/vpndetection/models/vpn_detail.rb +3 -3
- data/lib/vpndetection/transport.rb +1 -1
- data/lib/vpndetection/version.rb +1 -1
- data/lib/vpndetection.rb +1 -1
- metadata +15 -12
- 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
|
|
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.
|
|
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
|
|
18
|
-
class
|
|
19
|
-
# The
|
|
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' => :'
|
|
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' => :'
|
|
111
|
-
:'versions' => :'Array<
|
|
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::
|
|
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::
|
|
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
|
|
295
|
-
# @param [Object] license_type
|
|
288
|
+
# Custom attribute writer method with validation
|
|
289
|
+
# @param [Object] license_type Value to be assigned
|
|
296
290
|
def license_type=(license_type)
|
|
297
|
-
|
|
298
|
-
|
|
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
|
|
315
|
-
# @param [Object] standing
|
|
308
|
+
# Custom attribute writer method with validation
|
|
309
|
+
# @param [Object] standing Value to be assigned
|
|
316
310
|
def standing=(standing)
|
|
317
|
-
|
|
318
|
-
|
|
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
|
|
data/lib/vpndetection/models/{dataset_checksums_response.rb → database_checksums_response.rb}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#VPNDetection API
|
|
3
3
|
|
|
4
|
-
#The VPNDetection API: classify any IP address, and download the
|
|
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.
|
|
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
|
|
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' => :'
|
|
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::
|
|
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::
|
|
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
|
|
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.
|
|
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
|
|
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' => :'
|
|
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::
|
|
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::
|
|
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
|
|
130
|
-
# @param [Object] format
|
|
127
|
+
# Custom attribute writer method with validation
|
|
128
|
+
# @param [Object] format Value to be assigned
|
|
131
129
|
def format=(format)
|
|
132
|
-
|
|
133
|
-
|
|
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
|
|
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.
|
|
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
|
|
18
|
-
attr_accessor :
|
|
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
|
-
:'
|
|
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
|
-
:'
|
|
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::
|
|
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::
|
|
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?(:'
|
|
67
|
-
if (value = attributes[:'
|
|
68
|
-
self.
|
|
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.
|
|
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 @
|
|
81
|
-
invalid_properties.push('invalid value for "
|
|
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 @
|
|
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]
|
|
97
|
-
def
|
|
98
|
-
if
|
|
99
|
-
fail ArgumentError, '
|
|
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
|
-
@
|
|
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
|
-
|
|
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
|
-
[
|
|
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
|
|
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.
|
|
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
|
|
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<
|
|
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::
|
|
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::
|
|
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
|
|
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.
|
|
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
|
|
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::
|
|
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::
|
|
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
|
|
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.
|
|
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
|
|
18
|
-
# The versioned
|
|
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' => :'
|
|
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<
|
|
80
|
-
:'sample_formats' => :'Array<
|
|
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::
|
|
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::
|
|
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
|
}
|