td-client 0.8.68 → 0.8.69
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/lib/td/client.rb +250 -57
- data/lib/td/client/api.rb +125 -7
- data/lib/td/client/api/access_control.rb +14 -2
- data/lib/td/client/api/account.rb +4 -0
- data/lib/td/client/api/bulk_import.rb +41 -11
- data/lib/td/client/api/bulk_load.rb +205 -0
- data/lib/td/client/api/database.rb +6 -3
- data/lib/td/client/api/export.rb +5 -0
- data/lib/td/client/api/import.rb +7 -1
- data/lib/td/client/api/job.rb +49 -5
- data/lib/td/client/api/partial_delete.rb +6 -0
- data/lib/td/client/api/result.rb +7 -2
- data/lib/td/client/api/schedule.rb +17 -3
- data/lib/td/client/api/server_status.rb +1 -0
- data/lib/td/client/api/table.rb +41 -6
- data/lib/td/client/api/to_hash_struct.rb +82 -0
- data/lib/td/client/api/user.rb +27 -10
- data/lib/td/client/compat_gzip_reader.rb +3 -0
- data/lib/td/client/model.rb +209 -0
- data/lib/td/client/version.rb +1 -1
- data/spec/spec_helper.rb +14 -6
- data/spec/td/client/bulk_load_spec.rb +358 -0
- data/spec/td/client/job_api_spec.rb +10 -8
- data/spec/td/client_sched_spec.rb +1 -1
- metadata +96 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cce938755d8baa274b4129395cc3bf025852123d
|
4
|
+
data.tar.gz: 251fa5c0007d67a8bcbae03f01f31d7748a2654d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebe285884532e4683d0ca58db039433d5f53fd5cf047db0318ceb93230f0bf0b151fd1f5bd321bbfc55f23784ecd4650764fa57019ec3b6e8d8762a74b6486e1
|
7
|
+
data.tar.gz: d37ce150f9a65d5d5a5231c4d277cd1867f193e0c9dec8c5920424faa67acfa75ff5e0e114130156ebc6db991af4eb58b6095784c5afc8cb0124724180ffb687
|
data/lib/td/client.rb
CHANGED
@@ -5,53 +5,70 @@ require 'td/client/model'
|
|
5
5
|
|
6
6
|
|
7
7
|
class Client
|
8
|
+
# @param [String] user TreasureData username
|
9
|
+
# @param [String] password TreasureData password
|
10
|
+
# @param [Hash] opts options for API
|
11
|
+
# @return [Client] instance of this class
|
8
12
|
def self.authenticate(user, password, opts={})
|
9
13
|
api = API.new(nil, opts)
|
10
14
|
apikey = api.authenticate(user, password)
|
11
15
|
new(apikey)
|
12
16
|
end
|
13
17
|
|
18
|
+
# @param [Hash] opts options for API
|
19
|
+
# @return [String] HTTP status code of server returns
|
14
20
|
def self.server_status(opts={})
|
15
21
|
api = API.new(nil, opts)
|
16
22
|
api.server_status
|
17
23
|
end
|
18
24
|
|
25
|
+
# @param [String] apikey TreasureData API key
|
26
|
+
# @param [Hash] opts options for API
|
19
27
|
def initialize(apikey, opts={})
|
20
28
|
@api = API.new(apikey, opts)
|
21
29
|
end
|
22
30
|
|
31
|
+
# @!attribute [r] api
|
23
32
|
attr_reader :api
|
24
33
|
|
34
|
+
# @return [String] API key
|
25
35
|
def apikey
|
26
36
|
@api.apikey
|
27
37
|
end
|
28
38
|
|
39
|
+
# @return [String] HTTP status code of server returns
|
29
40
|
def server_status
|
30
41
|
@api.server_status
|
31
42
|
end
|
32
43
|
|
33
|
-
#
|
44
|
+
# @param [String] db_name
|
45
|
+
# @param [Hash] opts
|
46
|
+
# @return [true]
|
34
47
|
def create_database(db_name, opts={})
|
35
48
|
@api.create_database(db_name, opts)
|
36
49
|
end
|
37
50
|
|
38
|
-
#
|
51
|
+
# @param [String] db_name
|
52
|
+
# @return [Symbol]
|
39
53
|
def delete_database(db_name)
|
40
54
|
@api.delete_database(db_name)
|
41
55
|
end
|
42
56
|
|
43
|
-
#
|
57
|
+
# @return [Account]
|
44
58
|
def account
|
45
59
|
account_id, plan, storage, guaranteed_cores, maximum_cores, created_at = @api.show_account
|
46
60
|
return Account.new(self, account_id, plan, storage, guaranteed_cores, maximum_cores, created_at)
|
47
61
|
end
|
48
62
|
|
63
|
+
# @param [Fixnum] from
|
64
|
+
# @param [Fixnum] to
|
65
|
+
# @return [Array] from, to, interval, history
|
49
66
|
def core_utilization(from, to)
|
50
67
|
from, to, interval, history = @api.account_core_utilization(from, to)
|
51
68
|
return from, to, interval, history
|
52
69
|
end
|
53
70
|
|
54
|
-
#
|
71
|
+
# @return [Array] databases
|
55
72
|
def databases
|
56
73
|
m = @api.list_databases
|
57
74
|
m.map {|db_name,(count, created_at, updated_at, org, permission)|
|
@@ -59,7 +76,8 @@ class Client
|
|
59
76
|
}
|
60
77
|
end
|
61
78
|
|
62
|
-
#
|
79
|
+
# @param [String] db_name
|
80
|
+
# @return [Database]
|
63
81
|
def database(db_name)
|
64
82
|
m = @api.list_databases
|
65
83
|
m.each {|name,(count, created_at, updated_at, org, permission)|
|
@@ -70,37 +88,55 @@ class Client
|
|
70
88
|
raise NotFoundError, "Database '#{db_name}' does not exist"
|
71
89
|
end
|
72
90
|
|
73
|
-
#
|
91
|
+
# @return [true]
|
74
92
|
def create_log_table(db_name, table_name)
|
75
93
|
@api.create_log_table(db_name, table_name)
|
76
94
|
end
|
77
95
|
|
78
|
-
#
|
96
|
+
# @param [String] db_name
|
97
|
+
# @param [String] table_name
|
98
|
+
# @param [String] primary_key
|
99
|
+
# @param [String] primary_key_type
|
100
|
+
# @return [true]
|
79
101
|
def create_item_table(db_name, table_name, primary_key, primary_key_type)
|
80
102
|
@api.create_item_table(db_name, table_name, primary_key, primary_key_type)
|
81
103
|
end
|
82
104
|
|
83
|
-
#
|
105
|
+
# Swap table names
|
106
|
+
#
|
107
|
+
# @param [String] db_name
|
108
|
+
# @param [String] table_name1
|
109
|
+
# @param [String] table_name2
|
110
|
+
# @return [true]
|
84
111
|
def swap_table(db_name, table_name1, table_name2)
|
85
112
|
@api.swap_table(db_name, table_name1, table_name2)
|
86
113
|
end
|
87
114
|
|
88
|
-
#
|
115
|
+
# @param [String] db_name
|
116
|
+
# @param [String] table_name
|
117
|
+
# @param [String] schema
|
118
|
+
# @return [true]
|
89
119
|
def update_schema(db_name, table_name, schema)
|
90
120
|
@api.update_schema(db_name, table_name, schema.to_json)
|
91
121
|
end
|
92
122
|
|
93
|
-
#
|
123
|
+
# @param [String] db_name
|
124
|
+
# @param [String] table_name
|
125
|
+
# @param [Fixnum] expire_days
|
126
|
+
# @return [true]
|
94
127
|
def update_expire(db_name, table_name, expire_days)
|
95
128
|
@api.update_expire(db_name, table_name, expire_days)
|
96
129
|
end
|
97
130
|
|
98
|
-
#
|
131
|
+
# @param [String] db_name
|
132
|
+
# @param [String] table_name
|
133
|
+
# @return [Symbol]
|
99
134
|
def delete_table(db_name, table_name)
|
100
135
|
@api.delete_table(db_name, table_name)
|
101
136
|
end
|
102
137
|
|
103
|
-
#
|
138
|
+
# @param [String] db_name
|
139
|
+
# @return [Array] Tables
|
104
140
|
def tables(db_name)
|
105
141
|
m = @api.list_tables(db_name)
|
106
142
|
m.map {|table_name, (type, schema, count, created_at, updated_at, estimated_storage_size, last_import, last_log_timestamp, expire_days, primary_key, primary_key_type)|
|
@@ -110,7 +146,9 @@ class Client
|
|
110
146
|
}
|
111
147
|
end
|
112
148
|
|
113
|
-
#
|
149
|
+
# @param [String] db_name
|
150
|
+
# @param [String] table_name
|
151
|
+
# @return [Table]
|
114
152
|
def table(db_name, table_name)
|
115
153
|
tables(db_name).each {|t|
|
116
154
|
if t.name == table_name
|
@@ -120,11 +158,24 @@ class Client
|
|
120
158
|
raise NotFoundError, "Table '#{db_name}.#{table_name}' does not exist"
|
121
159
|
end
|
122
160
|
|
161
|
+
# @param [String] db_name
|
162
|
+
# @param [String] table_name
|
163
|
+
# @param [Fixnum] count
|
164
|
+
# @param [Fixnum] to
|
165
|
+
# @param [Fixnum] from
|
166
|
+
# @param [Proc] block
|
167
|
+
# @return [Array, nil]
|
123
168
|
def tail(db_name, table_name, count, to=nil, from=nil, &block)
|
124
169
|
@api.tail(db_name, table_name, count, to, from, &block)
|
125
170
|
end
|
126
171
|
|
127
|
-
#
|
172
|
+
# @param [String] db_name
|
173
|
+
# @param [String] q
|
174
|
+
# @param [String] result_url
|
175
|
+
# @param [Fixnum] priority
|
176
|
+
# @param [Fixnum] retry_limit
|
177
|
+
# @param [Hash] opts
|
178
|
+
# @return [Job]
|
128
179
|
def query(db_name, q, result_url=nil, priority=nil, retry_limit=nil, opts={})
|
129
180
|
# for compatibility, assume type is hive unless specifically specified
|
130
181
|
type = opts[:type] || opts['type'] || :hive
|
@@ -133,7 +184,11 @@ class Client
|
|
133
184
|
Job.new(self, job_id, type, q)
|
134
185
|
end
|
135
186
|
|
136
|
-
#
|
187
|
+
# @param [Fixnum] from
|
188
|
+
# @param [Fixnum] to
|
189
|
+
# @param [String] status
|
190
|
+
# @param [Hash] conditions
|
191
|
+
# @return [Job]
|
137
192
|
def jobs(from=nil, to=nil, status=nil, conditions=nil)
|
138
193
|
results = @api.list_jobs(from, to, status, conditions)
|
139
194
|
results.map {|job_id, type, status, query, start_at, end_at, cpu_time,
|
@@ -143,7 +198,8 @@ class Client
|
|
143
198
|
}
|
144
199
|
end
|
145
200
|
|
146
|
-
#
|
201
|
+
# @param [String] job_id
|
202
|
+
# @return [Job]
|
147
203
|
def job(job_id)
|
148
204
|
job_id = job_id.to_s
|
149
205
|
type, query, status, url, debug, start_at, end_at, cpu_time,
|
@@ -152,112 +208,154 @@ class Client
|
|
152
208
|
result_size, nil, result_url, hive_result_schema, priority, retry_limit, org, db)
|
153
209
|
end
|
154
210
|
|
155
|
-
#
|
211
|
+
# @param [String] job_id
|
212
|
+
# @return [String] HTTP status code
|
156
213
|
def job_status(job_id)
|
157
214
|
return @api.job_status(job_id)
|
158
215
|
end
|
159
216
|
|
160
|
-
#
|
217
|
+
# @param [String] job_id
|
218
|
+
# @return [Object]
|
161
219
|
def job_result(job_id)
|
162
220
|
@api.job_result(job_id)
|
163
221
|
end
|
164
222
|
|
165
|
-
#
|
223
|
+
# @param [String] job_id
|
224
|
+
# @param [String] format
|
225
|
+
# @param [IO] io
|
226
|
+
# @param [Proc] block
|
227
|
+
# @return [String]
|
166
228
|
def job_result_format(job_id, format, io=nil, &block)
|
167
229
|
@api.job_result_format(job_id, format, io, &block)
|
168
230
|
end
|
169
231
|
|
170
|
-
#
|
232
|
+
# @param [String] job_id
|
233
|
+
# @param [Proc] block
|
234
|
+
# @return [nil]
|
171
235
|
def job_result_each(job_id, &block)
|
172
236
|
@api.job_result_each(job_id, &block)
|
173
237
|
end
|
174
238
|
|
175
|
-
#
|
239
|
+
# @param [String] job_id
|
240
|
+
# @param [Proc] block
|
241
|
+
# @return [nil]
|
176
242
|
def job_result_each_with_compr_size(job_id, &block)
|
177
243
|
@api.job_result_each_with_compr_size(job_id, &block)
|
178
244
|
end
|
179
245
|
|
180
|
-
#
|
246
|
+
# @param [String] job_id
|
247
|
+
# @return [String] former_status
|
181
248
|
def kill(job_id)
|
182
249
|
@api.kill(job_id)
|
183
250
|
end
|
184
251
|
|
185
|
-
#
|
252
|
+
# @param [String] db_name
|
253
|
+
# @param [String] table_name
|
254
|
+
# @param [String] storage_type
|
255
|
+
# @param [Hash] opts
|
256
|
+
# @return [Job]
|
186
257
|
def export(db_name, table_name, storage_type, opts={})
|
187
258
|
job_id = @api.export(db_name, table_name, storage_type, opts)
|
188
259
|
Job.new(self, job_id, :export, nil)
|
189
260
|
end
|
190
261
|
|
191
|
-
#
|
262
|
+
# @param [String] db_name
|
263
|
+
# @param [String] table_name
|
264
|
+
# @param [Fixnum] to
|
265
|
+
# @param [Fixnum] from
|
266
|
+
# @param [Hash] opts
|
267
|
+
# @return [Job]
|
192
268
|
def partial_delete(db_name, table_name, to, from, opts={})
|
193
269
|
job_id = @api.partial_delete(db_name, table_name, to, from, opts)
|
194
270
|
Job.new(self, job_id, :partialdelete, nil)
|
195
271
|
end
|
196
272
|
|
197
|
-
#
|
273
|
+
# @param [String] name
|
274
|
+
# @param [String] database
|
275
|
+
# @param [String] table
|
276
|
+
# @param [Hash] opts
|
277
|
+
# @return [nil]
|
198
278
|
def create_bulk_import(name, database, table, opts={})
|
199
279
|
@api.create_bulk_import(name, database, table, opts)
|
200
280
|
end
|
201
281
|
|
202
|
-
#
|
282
|
+
# @param [String] name
|
283
|
+
# @return [nil]
|
203
284
|
def delete_bulk_import(name)
|
204
285
|
@api.delete_bulk_import(name)
|
205
286
|
end
|
206
287
|
|
207
|
-
#
|
288
|
+
# @param [String] name
|
289
|
+
# @return [nil]
|
208
290
|
def freeze_bulk_import(name)
|
209
291
|
@api.freeze_bulk_import(name)
|
210
292
|
end
|
211
293
|
|
212
|
-
#
|
294
|
+
# @param [String] name
|
295
|
+
# @return [nil]
|
213
296
|
def unfreeze_bulk_import(name)
|
214
297
|
@api.unfreeze_bulk_import(name)
|
215
298
|
end
|
216
299
|
|
217
|
-
#
|
300
|
+
# @param [String] name
|
301
|
+
# @return [Job]
|
218
302
|
def perform_bulk_import(name)
|
219
303
|
job_id = @api.perform_bulk_import(name)
|
220
304
|
Job.new(self, job_id, :bulk_import, nil)
|
221
305
|
end
|
222
306
|
|
223
|
-
#
|
307
|
+
# @param [String] name
|
308
|
+
# @return [nil]
|
224
309
|
def commit_bulk_import(name)
|
225
310
|
@api.commit_bulk_import(name)
|
226
311
|
end
|
227
312
|
|
228
|
-
#
|
313
|
+
# @param [String] name
|
314
|
+
# @param [Proc] block
|
315
|
+
# @return [Hash]
|
229
316
|
def bulk_import_error_records(name, &block)
|
230
317
|
@api.bulk_import_error_records(name, &block)
|
231
318
|
end
|
232
319
|
|
233
|
-
#
|
320
|
+
# @param [String] name
|
321
|
+
# @return [BulkImport]
|
234
322
|
def bulk_import(name)
|
235
323
|
data = @api.show_bulk_import(name)
|
236
324
|
BulkImport.new(self, data)
|
237
325
|
end
|
238
326
|
|
239
|
-
#
|
327
|
+
# @return [Array<BulkImport>]
|
240
328
|
def bulk_imports
|
241
329
|
@api.list_bulk_imports.map {|data|
|
242
330
|
BulkImport.new(self, data)
|
243
331
|
}
|
244
332
|
end
|
245
333
|
|
246
|
-
#
|
334
|
+
# @param [String] name
|
335
|
+
# @param [String] part_name
|
336
|
+
# @param [String, StringIO] stream
|
337
|
+
# @param [Fixnum] size
|
338
|
+
# @return [nil]
|
247
339
|
def bulk_import_upload_part(name, part_name, stream, size)
|
248
340
|
@api.bulk_import_upload_part(name, part_name, stream, size)
|
249
341
|
end
|
250
342
|
|
251
|
-
#
|
343
|
+
# @param [String] name
|
344
|
+
# @param [String] part_name
|
345
|
+
# @return [nil]
|
252
346
|
def bulk_import_delete_part(name, part_name)
|
253
347
|
@api.bulk_import_delete_part(name, part_name)
|
254
348
|
end
|
255
349
|
|
350
|
+
# @param [String] name
|
351
|
+
# @return [Array]
|
256
352
|
def list_bulk_import_parts(name)
|
257
353
|
@api.list_bulk_import_parts(name)
|
258
354
|
end
|
259
355
|
|
260
|
-
#
|
356
|
+
# @param [String] name
|
357
|
+
# @param [Hash] opts
|
358
|
+
# @return [Time]
|
261
359
|
def create_schedule(name, opts)
|
262
360
|
raise ArgumentError, "'cron' option is required" unless opts[:cron] || opts['cron']
|
263
361
|
raise ArgumentError, "'query' option is required" unless opts[:query] || opts['query']
|
@@ -265,12 +363,13 @@ class Client
|
|
265
363
|
return Time.parse(start)
|
266
364
|
end
|
267
365
|
|
268
|
-
#
|
366
|
+
# @param [String] name
|
367
|
+
# @return [Array]
|
269
368
|
def delete_schedule(name)
|
270
369
|
@api.delete_schedule(name)
|
271
370
|
end
|
272
371
|
|
273
|
-
# [Schedule]
|
372
|
+
# @return [Array<Schedule>]
|
274
373
|
def schedules
|
275
374
|
result = @api.list_schedules
|
276
375
|
result.map {|name,cron,query,database,result_url,timezone,delay,next_time,priority,retry_limit,org_name|
|
@@ -278,12 +377,18 @@ class Client
|
|
278
377
|
}
|
279
378
|
end
|
280
379
|
|
380
|
+
# @param [String] name
|
381
|
+
# @param [Hash] params
|
382
|
+
# @return [nil]
|
281
383
|
def update_schedule(name, params)
|
282
384
|
@api.update_schedule(name, params)
|
283
385
|
nil
|
284
386
|
end
|
285
387
|
|
286
|
-
# [
|
388
|
+
# @param [String] name
|
389
|
+
# @param [Fixnum] from
|
390
|
+
# @param [Fixnum] to
|
391
|
+
# @return [Array<ScheduledJob>]
|
287
392
|
def history(name, from=nil, to=nil)
|
288
393
|
result = @api.history(name, from, to)
|
289
394
|
result.map {|scheduled_at,job_id,type,status,query,start_at,end_at,result_url,priority,database|
|
@@ -302,7 +407,10 @@ class Client
|
|
302
407
|
}
|
303
408
|
end
|
304
409
|
|
305
|
-
# [
|
410
|
+
# @param [String] name
|
411
|
+
# @param [Fixnum] time UNIX timestamp
|
412
|
+
# @param [Fixnum] num
|
413
|
+
# @return [Array<ScheduledJob>]
|
306
414
|
def run_schedule(name, time, num)
|
307
415
|
results = @api.run_schedule(name, time, num)
|
308
416
|
results.map {|job_id,type,scheduled_at|
|
@@ -310,12 +418,18 @@ class Client
|
|
310
418
|
}
|
311
419
|
end
|
312
420
|
|
313
|
-
#
|
421
|
+
# @param [String] db_name
|
422
|
+
# @param [String] table_name
|
423
|
+
# @param [String] format
|
424
|
+
# @param [String, StringIO] stream
|
425
|
+
# @param [Fixnum] size
|
426
|
+
# @param [String] unique_id
|
427
|
+
# @return [Float]
|
314
428
|
def import(db_name, table_name, format, stream, size, unique_id=nil)
|
315
429
|
@api.import(db_name, table_name, format, stream, size, unique_id)
|
316
430
|
end
|
317
431
|
|
318
|
-
#
|
432
|
+
# @return [Array<Result>]
|
319
433
|
def results
|
320
434
|
results = @api.list_result
|
321
435
|
rs = results.map {|name,url,organizations|
|
@@ -324,17 +438,21 @@ class Client
|
|
324
438
|
return rs
|
325
439
|
end
|
326
440
|
|
327
|
-
#
|
441
|
+
# @param [String] name
|
442
|
+
# @param [String] url
|
443
|
+
# @param [Hash] opts
|
444
|
+
# @return [true]
|
328
445
|
def create_result(name, url, opts={})
|
329
446
|
@api.create_result(name, url, opts)
|
330
447
|
end
|
331
448
|
|
332
|
-
#
|
449
|
+
# @param [String] name
|
450
|
+
# @return [true]
|
333
451
|
def delete_result(name)
|
334
452
|
@api.delete_result(name)
|
335
453
|
end
|
336
454
|
|
337
|
-
#
|
455
|
+
# @return [Array<User>]
|
338
456
|
def users
|
339
457
|
list = @api.list_users
|
340
458
|
list.map {|name,org,roles,email|
|
@@ -342,47 +460,62 @@ class Client
|
|
342
460
|
}
|
343
461
|
end
|
344
462
|
|
345
|
-
#
|
463
|
+
# @param [String] name
|
464
|
+
# @param [String] org
|
465
|
+
# @param [String] email
|
466
|
+
# @param [String] password
|
467
|
+
# @return [true]
|
346
468
|
def add_user(name, org, email, password)
|
347
469
|
@api.add_user(name, org, email, password)
|
348
470
|
end
|
349
471
|
|
350
|
-
#
|
472
|
+
# @param [String] user
|
473
|
+
# @return [true]
|
351
474
|
def remove_user(user)
|
352
475
|
@api.remove_user(user)
|
353
476
|
end
|
354
477
|
|
355
|
-
#
|
478
|
+
# @param [String] user
|
479
|
+
# @param [String] email
|
480
|
+
# @return [true]
|
356
481
|
def change_email(user, email)
|
357
482
|
@api.change_email(user, email)
|
358
483
|
end
|
359
484
|
|
360
|
-
#
|
485
|
+
# @param [String] user
|
486
|
+
# @return [Array<String>]
|
361
487
|
def list_apikeys(user)
|
362
488
|
@api.list_apikeys(user)
|
363
489
|
end
|
364
490
|
|
365
|
-
#
|
491
|
+
# @param [String] user
|
492
|
+
# @return [true]
|
366
493
|
def add_apikey(user)
|
367
494
|
@api.add_apikey(user)
|
368
495
|
end
|
369
496
|
|
370
|
-
#
|
497
|
+
# @param [String] user
|
498
|
+
# @param [String] apikey
|
499
|
+
# @return [true]
|
371
500
|
def remove_apikey(user, apikey)
|
372
501
|
@api.remove_apikey(user, apikey)
|
373
502
|
end
|
374
503
|
|
375
|
-
#
|
504
|
+
# @param [String] user
|
505
|
+
# @param [String] password
|
506
|
+
# @return [true]
|
376
507
|
def change_password(user, password)
|
377
508
|
@api.change_password(user, password)
|
378
509
|
end
|
379
510
|
|
380
|
-
#
|
511
|
+
# @param [String] old_password
|
512
|
+
# @param [String] password
|
513
|
+
# @return [true]
|
381
514
|
def change_my_password(old_password, password)
|
382
515
|
@api.change_my_password(old_password, password)
|
383
516
|
end
|
384
517
|
|
385
|
-
#
|
518
|
+
# @return [Array<AccessControl>]
|
386
519
|
def access_controls
|
387
520
|
list = @api.list_access_controls
|
388
521
|
list.map {|subject,action,scope,grant_option|
|
@@ -390,20 +523,80 @@ class Client
|
|
390
523
|
}
|
391
524
|
end
|
392
525
|
|
393
|
-
#
|
526
|
+
# @param [String] subject
|
527
|
+
# @param [String] action
|
528
|
+
# @param [String] scope
|
529
|
+
# @param [Array] grant_option
|
530
|
+
# @return [true]
|
394
531
|
def grant_access_control(subject, action, scope, grant_option)
|
395
532
|
@api.grant_access_control(subject, action, scope, grant_option)
|
396
533
|
end
|
397
534
|
|
398
|
-
#
|
535
|
+
# @param [String] subject
|
536
|
+
# @param [String] action
|
537
|
+
# @param [String] scope
|
538
|
+
# @return [true]
|
399
539
|
def revoke_access_control(subject, action, scope)
|
400
540
|
@api.revoke_access_control(subject, action, scope)
|
401
541
|
end
|
402
542
|
|
403
|
-
#
|
543
|
+
# @param [String] user
|
544
|
+
# @param [String] action
|
545
|
+
# @param [String] scope
|
546
|
+
# @return [Array]
|
404
547
|
def test_access_control(user, action, scope)
|
405
548
|
@api.test_access_control(user, action, scope)
|
406
549
|
end
|
550
|
+
|
551
|
+
# => BulkLoad::Job
|
552
|
+
def bulk_load_guess(job)
|
553
|
+
@api.bulk_load_guess(job)
|
554
|
+
end
|
555
|
+
|
556
|
+
# => BulkLoad::Job
|
557
|
+
def bulk_load_preview(job)
|
558
|
+
@api.bulk_load_preview(job)
|
559
|
+
end
|
560
|
+
|
561
|
+
# => String
|
562
|
+
def bulk_load_issue(database, table, job)
|
563
|
+
@api.bulk_load_issue(database, table, job)
|
564
|
+
end
|
565
|
+
|
566
|
+
# nil -> [BulkLoad]
|
567
|
+
def bulk_load_list
|
568
|
+
@api.bulk_load_list
|
569
|
+
end
|
570
|
+
|
571
|
+
# name: String, database: String, table: String, job: BulkLoad -> BulkLoad
|
572
|
+
def bulk_load_create(name, database, table, job, opts = {})
|
573
|
+
@api.bulk_load_create(name, database, table, job, opts)
|
574
|
+
end
|
575
|
+
|
576
|
+
# name: String -> BulkLoad
|
577
|
+
def bulk_load_show(name)
|
578
|
+
@api.bulk_load_show(name)
|
579
|
+
end
|
580
|
+
|
581
|
+
# name: String, job: BulkLoad -> BulkLoad
|
582
|
+
def bulk_load_update(name, job)
|
583
|
+
@api.bulk_load_update(name, job)
|
584
|
+
end
|
585
|
+
|
586
|
+
# name: String -> BulkLoad
|
587
|
+
def bulk_load_delete(name)
|
588
|
+
@api.bulk_load_delete(name)
|
589
|
+
end
|
590
|
+
|
591
|
+
# name: String -> [Job]
|
592
|
+
def bulk_load_history(name)
|
593
|
+
@api.bulk_load_history(name)
|
594
|
+
end
|
595
|
+
|
596
|
+
def bulk_load_run(name, scheduled_time = nil)
|
597
|
+
@api.bulk_load_run(name, scheduled_time)
|
598
|
+
end
|
599
|
+
|
407
600
|
end
|
408
601
|
|
409
602
|
end # module TreasureData
|