td-client 0.8.45 → 0.8.46
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.
- data/ChangeLog +5 -0
- data/lib/td/client.rb +15 -0
- data/lib/td/client/api.rb +36 -0
- data/lib/td/client/model.rb +16 -0
- data/lib/td/client/version.rb +1 -1
- metadata +2 -2
data/ChangeLog
CHANGED
data/lib/td/client.rb
CHANGED
@@ -418,6 +418,21 @@ class Client
|
|
418
418
|
@api.test_access_control(user, action, scope)
|
419
419
|
end
|
420
420
|
|
421
|
+
def ip_limits
|
422
|
+
ips = @api.list_ip_limits
|
423
|
+
ips.map { |org, ipaddr, mask|
|
424
|
+
IpLimit.new(self, org, ipaddr, mask)
|
425
|
+
}
|
426
|
+
end
|
427
|
+
|
428
|
+
def set_ip_limit(org, ip_ranges)
|
429
|
+
@api.set_ip_limit(org, ip_ranges.to_json)
|
430
|
+
end
|
431
|
+
|
432
|
+
def delete_ip_limit(org)
|
433
|
+
@api.delete_ip_limit(org)
|
434
|
+
end
|
435
|
+
|
421
436
|
# => [AggregationSchema]
|
422
437
|
def aggregation_schemas
|
423
438
|
list = @api.list_aggregation_schema
|
data/lib/td/client/api.rb
CHANGED
@@ -1218,6 +1218,42 @@ class API
|
|
1218
1218
|
return acl
|
1219
1219
|
end
|
1220
1220
|
|
1221
|
+
####
|
1222
|
+
## IP Range Limit API
|
1223
|
+
##
|
1224
|
+
|
1225
|
+
def list_ip_limits
|
1226
|
+
code, body, res = get("/v3/ip_limit/list")
|
1227
|
+
if code != "200"
|
1228
|
+
raise_error("Listing IP limitations failed", res)
|
1229
|
+
end
|
1230
|
+
js = checked_json(body, %w[ip_limits])
|
1231
|
+
lists = js["ip_limits"].map { |ip_limit|
|
1232
|
+
organization = ip_limit['organization']
|
1233
|
+
address = ip_limit['address']
|
1234
|
+
mask = ip_limit['mask']
|
1235
|
+
[organization, address, mask]
|
1236
|
+
}
|
1237
|
+
return lists
|
1238
|
+
end
|
1239
|
+
|
1240
|
+
def set_ip_limit(organization, ip_ranges)
|
1241
|
+
params = {'organization' => organization, 'ip_ranges' => ip_ranges}
|
1242
|
+
code, body, res = post("/v3/ip_limit/set", params)
|
1243
|
+
if code != "200"
|
1244
|
+
raise_error("Setting IP limitation failed", res)
|
1245
|
+
end
|
1246
|
+
return true
|
1247
|
+
end
|
1248
|
+
|
1249
|
+
def delete_ip_limit(organization)
|
1250
|
+
params = {'organization' => organization}
|
1251
|
+
code, body, res = post("/v3/ip_limit/delete", params)
|
1252
|
+
if code != "200"
|
1253
|
+
raise_error("Deleting IP range limitation failed", res)
|
1254
|
+
end
|
1255
|
+
return true
|
1256
|
+
end
|
1221
1257
|
|
1222
1258
|
####
|
1223
1259
|
## Server Status API
|
data/lib/td/client/model.rb
CHANGED
@@ -491,6 +491,22 @@ class AccessControl < Model
|
|
491
491
|
end
|
492
492
|
|
493
493
|
|
494
|
+
class IpLimit < Model
|
495
|
+
def initialize(client, org, address, mask)
|
496
|
+
super(client)
|
497
|
+
@org = org
|
498
|
+
@address = address
|
499
|
+
@mask = mask
|
500
|
+
end
|
501
|
+
|
502
|
+
def ip_range
|
503
|
+
"#{address}/#{mask}"
|
504
|
+
end
|
505
|
+
|
506
|
+
attr_reader :org, :address, :mask
|
507
|
+
end
|
508
|
+
|
509
|
+
|
494
510
|
class AggregationSchema < Model
|
495
511
|
def initialize(client, name, relation_key, logs=nil, attributes=nil, timezone=nil)
|
496
512
|
super(client)
|
data/lib/td/client/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: td-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.46
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-03-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: msgpack
|