gcloud 0.11.0 → 0.12.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 (121) hide show
  1. checksums.yaml +8 -8
  2. data/AUTHENTICATION.md +3 -3
  3. data/CHANGELOG.md +92 -0
  4. data/OVERVIEW.md +3 -3
  5. data/lib/gcloud.rb +75 -25
  6. data/lib/gcloud/backoff.rb +5 -1
  7. data/lib/gcloud/bigquery.rb +25 -43
  8. data/lib/gcloud/bigquery/copy_job.rb +13 -13
  9. data/lib/gcloud/bigquery/data.rb +20 -16
  10. data/lib/gcloud/bigquery/dataset.rb +202 -177
  11. data/lib/gcloud/bigquery/dataset/access.rb +118 -104
  12. data/lib/gcloud/bigquery/dataset/list.rb +14 -18
  13. data/lib/gcloud/bigquery/extract_job.rb +12 -12
  14. data/lib/gcloud/bigquery/insert_response.rb +12 -14
  15. data/lib/gcloud/bigquery/job.rb +45 -57
  16. data/lib/gcloud/bigquery/job/list.rb +18 -24
  17. data/lib/gcloud/bigquery/load_job.rb +35 -27
  18. data/lib/gcloud/bigquery/project.rb +53 -73
  19. data/lib/gcloud/bigquery/query_data.rb +28 -35
  20. data/lib/gcloud/bigquery/query_job.rb +18 -18
  21. data/lib/gcloud/bigquery/schema.rb +359 -0
  22. data/lib/gcloud/bigquery/service.rb +506 -0
  23. data/lib/gcloud/bigquery/table.rb +185 -266
  24. data/lib/gcloud/bigquery/table/list.rb +15 -19
  25. data/lib/gcloud/bigquery/view.rb +126 -81
  26. data/lib/gcloud/datastore.rb +39 -27
  27. data/lib/gcloud/datastore/commit.rb +2 -2
  28. data/lib/gcloud/datastore/dataset.rb +8 -19
  29. data/lib/gcloud/datastore/dataset/lookup_results.rb +2 -4
  30. data/lib/gcloud/datastore/dataset/query_results.rb +0 -2
  31. data/lib/gcloud/datastore/entity.rb +7 -1
  32. data/lib/gcloud/datastore/errors.rb +5 -27
  33. data/lib/gcloud/datastore/grpc_utils.rb +4 -3
  34. data/lib/gcloud/datastore/key.rb +6 -0
  35. data/lib/gcloud/datastore/service.rb +18 -12
  36. data/lib/gcloud/datastore/transaction.rb +0 -10
  37. data/lib/gcloud/dns.rb +29 -19
  38. data/lib/gcloud/dns/change.rb +10 -15
  39. data/lib/gcloud/dns/change/list.rb +4 -4
  40. data/lib/gcloud/dns/importer.rb +1 -1
  41. data/lib/gcloud/dns/project.rb +32 -49
  42. data/lib/gcloud/dns/record.rb +8 -2
  43. data/lib/gcloud/dns/record/list.rb +4 -4
  44. data/lib/gcloud/dns/service.rb +167 -0
  45. data/lib/gcloud/dns/zone.rb +33 -52
  46. data/lib/gcloud/dns/zone/list.rb +12 -16
  47. data/lib/gcloud/errors.rb +31 -19
  48. data/lib/gcloud/logging.rb +50 -39
  49. data/lib/gcloud/logging/entry.rb +197 -24
  50. data/lib/gcloud/logging/entry/list.rb +0 -2
  51. data/lib/gcloud/logging/logger.rb +1 -1
  52. data/lib/gcloud/logging/metric.rb +3 -9
  53. data/lib/gcloud/logging/metric/list.rb +0 -2
  54. data/lib/gcloud/logging/project.rb +58 -54
  55. data/lib/gcloud/logging/resource_descriptor.rb +2 -2
  56. data/lib/gcloud/logging/resource_descriptor/list.rb +0 -2
  57. data/lib/gcloud/logging/service.rb +32 -23
  58. data/lib/gcloud/logging/sink.rb +8 -14
  59. data/lib/gcloud/logging/sink/list.rb +0 -2
  60. data/lib/gcloud/pubsub.rb +21 -16
  61. data/lib/gcloud/pubsub/policy.rb +204 -0
  62. data/lib/gcloud/pubsub/project.rb +26 -38
  63. data/lib/gcloud/pubsub/service.rb +39 -31
  64. data/lib/gcloud/pubsub/subscription.rb +56 -59
  65. data/lib/gcloud/pubsub/subscription/list.rb +4 -4
  66. data/lib/gcloud/pubsub/topic.rb +69 -66
  67. data/lib/gcloud/pubsub/topic/list.rb +0 -2
  68. data/lib/gcloud/pubsub/topic/{batch.rb → publisher.rb} +15 -2
  69. data/lib/gcloud/resource_manager.rb +27 -26
  70. data/lib/gcloud/resource_manager/manager.rb +19 -39
  71. data/lib/gcloud/resource_manager/policy.rb +211 -0
  72. data/lib/gcloud/resource_manager/project.rb +97 -121
  73. data/lib/gcloud/resource_manager/project/list.rb +7 -7
  74. data/lib/gcloud/resource_manager/project/updater.rb +4 -9
  75. data/lib/gcloud/resource_manager/service.rb +127 -0
  76. data/lib/gcloud/storage.rb +24 -42
  77. data/lib/gcloud/storage/bucket.rb +104 -192
  78. data/lib/gcloud/storage/bucket/acl.rb +47 -143
  79. data/lib/gcloud/storage/bucket/cors.rb +55 -11
  80. data/lib/gcloud/storage/bucket/list.rb +14 -14
  81. data/lib/gcloud/storage/errors.rb +3 -43
  82. data/lib/gcloud/storage/file.rb +114 -111
  83. data/lib/gcloud/storage/file/acl.rb +27 -113
  84. data/lib/gcloud/storage/file/list.rb +21 -21
  85. data/lib/gcloud/storage/project.rb +49 -59
  86. data/lib/gcloud/storage/service.rb +347 -0
  87. data/lib/gcloud/translate.rb +24 -14
  88. data/lib/gcloud/translate/api.rb +12 -21
  89. data/lib/gcloud/translate/detection.rb +5 -5
  90. data/lib/gcloud/translate/language.rb +1 -1
  91. data/lib/gcloud/translate/service.rb +80 -0
  92. data/lib/gcloud/translate/translation.rb +6 -6
  93. data/lib/gcloud/version.rb +1 -1
  94. data/lib/gcloud/vision.rb +24 -15
  95. data/lib/gcloud/vision/annotate.rb +24 -21
  96. data/lib/gcloud/vision/annotation.rb +9 -9
  97. data/lib/gcloud/vision/annotation/entity.rb +11 -11
  98. data/lib/gcloud/vision/annotation/face.rb +25 -25
  99. data/lib/gcloud/vision/annotation/properties.rb +8 -8
  100. data/lib/gcloud/vision/annotation/safe_search.rb +4 -4
  101. data/lib/gcloud/vision/annotation/text.rb +7 -7
  102. data/lib/gcloud/vision/annotation/vertex.rb +1 -1
  103. data/lib/gcloud/vision/image.rb +11 -11
  104. data/lib/gcloud/vision/location.rb +5 -2
  105. data/lib/gcloud/vision/project.rb +14 -16
  106. data/lib/gcloud/vision/service.rb +66 -0
  107. data/lib/google/api_client.rb +0 -0
  108. metadata +27 -24
  109. data/lib/gcloud/bigquery/connection.rb +0 -624
  110. data/lib/gcloud/bigquery/errors.rb +0 -68
  111. data/lib/gcloud/bigquery/table/schema.rb +0 -234
  112. data/lib/gcloud/dns/connection.rb +0 -173
  113. data/lib/gcloud/dns/errors.rb +0 -68
  114. data/lib/gcloud/resource_manager/connection.rb +0 -134
  115. data/lib/gcloud/resource_manager/errors.rb +0 -68
  116. data/lib/gcloud/storage/connection.rb +0 -444
  117. data/lib/gcloud/translate/connection.rb +0 -85
  118. data/lib/gcloud/translate/errors.rb +0 -68
  119. data/lib/gcloud/upload.rb +0 -95
  120. data/lib/gcloud/vision/connection.rb +0 -63
  121. data/lib/gcloud/vision/errors.rb +0 -69
@@ -46,17 +46,17 @@ module Gcloud
46
46
  "owner" => "OWNER" }
47
47
 
48
48
  # @private
49
- SCOPES = { "user" => "userByEmail",
50
- "user_by_email" => "userByEmail",
51
- "userByEmail" => "userByEmail",
52
- "group" => "groupByEmail",
53
- "group_by_email" => "groupByEmail",
54
- "groupByEmail" => "groupByEmail",
55
- "domain" => "domain",
56
- "special" => "specialGroup",
57
- "special_group" => "specialGroup",
58
- "specialGroup" => "specialGroup",
59
- "view" => "view" }
49
+ SCOPES = { "user" => :user_by_email,
50
+ "user_by_email" => :user_by_email,
51
+ "userByEmail" => :user_by_email,
52
+ "group" => :group_by_email,
53
+ "group_by_email" => :group_by_email,
54
+ "groupByEmail" => :group_by_email,
55
+ "domain" => :domain,
56
+ "special" => :special_group,
57
+ "special_group" => :special_group,
58
+ "specialGroup" => :special_group,
59
+ "view" => :view }
60
60
 
61
61
  # @private
62
62
  GROUPS = { "owners" => "projectOwners",
@@ -72,22 +72,37 @@ module Gcloud
72
72
  "all_authenticated_users" => "allAuthenticatedUsers",
73
73
  "allAuthenticatedUsers" => "allAuthenticatedUsers" }
74
74
 
75
- # @private
76
- attr_reader :access
77
-
78
75
  ##
79
76
  # @private
80
77
  # Initialized a new Access object.
81
- # Must provide a valid Dataset object.
82
- def initialize access, context
83
- @original = access.dup
84
- @access = access.dup
85
- @context = context
78
+ # Must provide a valid Google::Apis::BigqueryV2::Dataset object.
79
+ # Access will mutate the gapi object.
80
+ def initialize
81
+ @rules = [] # easiest to do this in the constructor
82
+ @original_rules_hashes = @rules.map(&:to_h)
86
83
  end
87
84
 
88
85
  # @private
89
86
  def changed?
90
- @original != @access
87
+ @original_rules_hashes != @rules.map(&:to_h)
88
+ end
89
+
90
+ # @private
91
+ def empty?
92
+ @rules.empty?
93
+ end
94
+
95
+ # @private
96
+ def freeze
97
+ @rules = @rules.map(&:dup).map(&:freeze)
98
+ @rules.freeze
99
+ super
100
+ end
101
+
102
+ ##
103
+ # @private View the access rules as an array of hashes.
104
+ def to_a
105
+ @rules.map(&:to_h)
91
106
  end
92
107
 
93
108
  ##
@@ -123,7 +138,7 @@ module Gcloud
123
138
  # Reference](https://cloud.google.com/bigquery/query-reference#from):
124
139
  # +project_name:datasetId.tableId+.
125
140
  def add_reader_view view
126
- add_access_role_scope_value :reader, :view, view
141
+ add_access_view view
127
142
  end
128
143
 
129
144
  ##
@@ -151,17 +166,6 @@ module Gcloud
151
166
  add_access_role_scope_value :writer, :special, group
152
167
  end
153
168
 
154
- ##
155
- # Add writer access to a view.
156
- # The view can be a Gcloud::Bigquery::View object,
157
- # or a string identifier as specified by the
158
- # [Query
159
- # Reference](https://cloud.google.com/bigquery/query-reference#from):
160
- # +project_name:datasetId.tableId+.
161
- def add_writer_view view
162
- add_access_role_scope_value :writer, :view, view
163
- end
164
-
165
169
  ##
166
170
  # Add owner access to a user.
167
171
  def add_owner_user email
@@ -187,17 +191,6 @@ module Gcloud
187
191
  add_access_role_scope_value :owner, :special, group
188
192
  end
189
193
 
190
- ##
191
- # Add owner access to a view.
192
- # The view can be a Gcloud::Bigquery::View object,
193
- # or a string identifier as specified by the
194
- # [Query
195
- # Reference](https://cloud.google.com/bigquery/query-reference#from):
196
- # +project_name:datasetId.tableId+.
197
- def add_owner_view view
198
- add_access_role_scope_value :owner, :view, view
199
- end
200
-
201
194
  ##
202
195
  # Remove reader access from a user.
203
196
  def remove_reader_user email
@@ -231,7 +224,7 @@ module Gcloud
231
224
  # Reference](https://cloud.google.com/bigquery/query-reference#from):
232
225
  # +project_name:datasetId.tableId+.
233
226
  def remove_reader_view view
234
- remove_access_role_scope_value :reader, :view, view
227
+ remove_access_view view
235
228
  end
236
229
 
237
230
  ##
@@ -259,17 +252,6 @@ module Gcloud
259
252
  remove_access_role_scope_value :writer, :special, group
260
253
  end
261
254
 
262
- ##
263
- # Remove writer access from a view.
264
- # The view can be a Gcloud::Bigquery::View object,
265
- # or a string identifier as specified by the
266
- # [Query
267
- # Reference](https://cloud.google.com/bigquery/query-reference#from):
268
- # +project_name:datasetId.tableId+.
269
- def remove_writer_view view
270
- remove_access_role_scope_value :writer, :view, view
271
- end
272
-
273
255
  ##
274
256
  # Remove owner access from a user.
275
257
  def remove_owner_user email
@@ -295,17 +277,6 @@ module Gcloud
295
277
  remove_access_role_scope_value :owner, :special, group
296
278
  end
297
279
 
298
- ##
299
- # Remove owner access from a view.
300
- # The view can be a Gcloud::Bigquery::View object,
301
- # or a string identifier as specified by the
302
- # [Query
303
- # Reference](https://cloud.google.com/bigquery/query-reference#from):
304
- # +project_name:datasetId.tableId+.
305
- def remove_owner_view view
306
- remove_access_role_scope_value :owner, :view, view
307
- end
308
-
309
280
  ##
310
281
  # Checks reader access for a user.
311
282
  def reader_user? email
@@ -339,7 +310,7 @@ module Gcloud
339
310
  # Reference](https://cloud.google.com/bigquery/query-reference#from):
340
311
  # +project_name:datasetId.tableId+.
341
312
  def reader_view? view
342
- lookup_access_role_scope_value :reader, :view, view
313
+ lookup_access_view view
343
314
  end
344
315
 
345
316
  ##
@@ -367,17 +338,6 @@ module Gcloud
367
338
  lookup_access_role_scope_value :writer, :special, group
368
339
  end
369
340
 
370
- ##
371
- # Checks writer access for a view.
372
- # The view can be a Gcloud::Bigquery::View object,
373
- # or a string identifier as specified by the
374
- # [Query
375
- # Reference](https://cloud.google.com/bigquery/query-reference#from):
376
- # +project_name:datasetId.tableId+.
377
- def writer_view? view
378
- lookup_access_role_scope_value :writer, :view, view
379
- end
380
-
381
341
  ##
382
342
  # Checks owner access for a user.
383
343
  def owner_user? email
@@ -403,15 +363,21 @@ module Gcloud
403
363
  lookup_access_role_scope_value :owner, :special, group
404
364
  end
405
365
 
406
- ##
407
- # Checks owner access for a view.
408
- # The view can be a Gcloud::Bigquery::View object,
409
- # or a string identifier as specified by the
410
- # [Query
411
- # Reference](https://cloud.google.com/bigquery/query-reference#from):
412
- # +project_name:datasetId.tableId+.
413
- def owner_view? view
414
- lookup_access_role_scope_value :owner, :view, view
366
+ # @private
367
+ def self.from_gapi gapi
368
+ rules = Array gapi.access
369
+ new.tap do |s|
370
+ s.instance_variable_set :@rules, rules
371
+ s.instance_variable_set :@original_rules_hashes,
372
+ rules.map(&:to_h)
373
+ s.instance_variable_set :@dataset_reference,
374
+ gapi.dataset_reference
375
+ end
376
+ end
377
+
378
+ # @private
379
+ def to_gapi
380
+ @rules
415
381
  end
416
382
 
417
383
  protected
@@ -446,46 +412,94 @@ module Gcloud
446
412
  if view.respond_to? :table_ref
447
413
  view.table_ref
448
414
  else
449
- Connection.table_ref_from_s view, @context
415
+ Service.table_ref_from_s view, @dataset_reference
450
416
  end
451
417
  end
452
418
 
453
419
  # @private
454
420
  def add_access_role_scope_value role, scope, value
455
- role = validate_role role
421
+ role = validate_role(role)
456
422
  scope = validate_scope scope
457
423
  # If scope is special group, make sure value is in the list
458
- value = validate_special_group(value) if scope == "specialGroup"
459
- # If scope is view, make sure value is in the right format
460
- value = validate_view(value) if scope == "view"
424
+ value = validate_special_group(value) if scope == :special_group
461
425
  # Remove any rules of this scope and value
462
- access.reject! { |h| h[scope] == value }
426
+ @rules.reject!(&find_by_scope_and_value(scope, value))
427
+ # Add new rule for this role, scope, and value
428
+ opts = { role: role, scope => value }
429
+ @rules << Google::Apis::BigqueryV2::Dataset::Access.new(opts)
430
+ end
431
+
432
+ # @private
433
+ def add_access_view value
434
+ # scope is view, make sure value is in the right format
435
+ value = validate_view(value)
436
+ # Remove existing view rule, if any
437
+ @rules.reject!(&find_view(value))
463
438
  # Add new rule for this role, scope, and value
464
- access << { "role" => role, scope => value }
439
+ opts = { view: value }
440
+ @rules << Google::Apis::BigqueryV2::Dataset::Access.new(opts)
465
441
  end
466
442
 
467
443
  # @private
468
444
  def remove_access_role_scope_value role, scope, value
469
- role = validate_role role
445
+ role = validate_role(role)
470
446
  scope = validate_scope scope
471
447
  # If scope is special group, make sure value is in the list
472
- value = validate_special_group(value) if scope == "specialGroup"
473
- # If scope is view, make sure value is in the right format
474
- value = validate_view(value) if scope == "view"
448
+ value = validate_special_group(value) if scope == :special_group
475
449
  # Remove any rules of this role, scope, and value
476
- access.reject! { |h| h["role"] == role && h[scope] == value }
450
+ @rules.reject!(
451
+ &find_by_role_and_scope_and_value(role, scope, value))
452
+ end
453
+
454
+ # @private
455
+ def remove_access_view value
456
+ # scope is view, make sure value is in the right format
457
+ value = validate_view(value)
458
+ # Remove existing view rule, if any
459
+ @rules.reject!(&find_view(value))
477
460
  end
478
461
 
479
462
  # @private
480
463
  def lookup_access_role_scope_value role, scope, value
481
- role = validate_role role
464
+ role = validate_role(role)
482
465
  scope = validate_scope scope
483
466
  # If scope is special group, make sure value is in the list
484
- value = validate_special_group(value) if scope == "specialGroup"
485
- # If scope is view, make sure value is in the right format
486
- value = validate_view(value) if scope == "view"
467
+ value = validate_special_group(value) if scope == :special_group
487
468
  # Detect any rules of this role, scope, and value
488
- !(!access.detect { |h| h["role"] == role && h[scope] == value })
469
+ !(!@rules.detect(
470
+ &find_by_role_and_scope_and_value(role, scope, value)))
471
+ end
472
+
473
+ # @private
474
+ def lookup_access_view value
475
+ # scope is view, make sure value is in the right format
476
+ value = validate_view(value)
477
+ # Detect view rule, if any
478
+ !(!@rules.detect(&find_view(value)))
479
+ end
480
+
481
+ # @private
482
+ def find_by_role_and_scope_and_value role, scope, value
483
+ lambda do |a|
484
+ h = a.to_h
485
+ h[:role] == role && h[scope] == value
486
+ end
487
+ end
488
+
489
+ # @private
490
+ def find_by_scope_and_value scope, value
491
+ lambda do |a|
492
+ h = a.to_h
493
+ h[scope] == value
494
+ end
495
+ end
496
+
497
+ # @private
498
+ def find_view value
499
+ lambda do |a|
500
+ h = a.to_h
501
+ h[:view].to_h == value.to_h
502
+ end
489
503
  end
490
504
  end
491
505
  end
@@ -71,14 +71,10 @@ module Gcloud
71
71
  # end
72
72
  def next
73
73
  return nil unless next?
74
- ensure_connection!
74
+ ensure_service!
75
75
  options = { all: @hidden, token: token, max: @max }
76
- resp = @connection.list_datasets options
77
- if resp.success?
78
- self.class.from_response resp, @connection
79
- else
80
- fail ApiError.from_response(resp)
81
- end
76
+ gapi = @service.list_datasets options
77
+ self.class.from_gapi gapi, @service, @hidden, @max
82
78
  end
83
79
 
84
80
  ##
@@ -148,24 +144,24 @@ module Gcloud
148
144
 
149
145
  ##
150
146
  # @private New Dataset::List from a response object.
151
- def self.from_response resp, conn, hidden = nil, max = nil
152
- datasets = List.new(Array(resp.data["datasets"]).map do |gapi_object|
153
- Dataset.from_gapi gapi_object, conn
147
+ def self.from_gapi gapi_list, service, hidden = nil, max = nil
148
+ datasets = List.new(Array(gapi_list.datasets).map do |gapi_object|
149
+ Dataset.from_gapi gapi_object, service
154
150
  end)
155
- datasets.instance_variable_set "@token", resp.data["nextPageToken"]
156
- datasets.instance_variable_set "@etag", resp.data["etag"]
157
- datasets.instance_variable_set "@connection", conn
158
- datasets.instance_variable_set "@hidden", hidden
159
- datasets.instance_variable_set "@max", max
151
+ datasets.instance_variable_set :@token, gapi_list.next_page_token
152
+ datasets.instance_variable_set :@etag, gapi_list.etag
153
+ datasets.instance_variable_set :@service, service
154
+ datasets.instance_variable_set :@hidden, hidden
155
+ datasets.instance_variable_set :@max, max
160
156
  datasets
161
157
  end
162
158
 
163
159
  protected
164
160
 
165
161
  ##
166
- # Raise an error unless an active connection is available.
167
- def ensure_connection!
168
- fail "Must have active connection" unless @connection
162
+ # Raise an error unless an active service is available.
163
+ def ensure_service!
164
+ fail "Must have active connection" unless @service
169
165
  end
170
166
  end
171
167
  end
@@ -32,25 +32,25 @@ module Gcloud
32
32
  # The URI or URIs representing the Google Cloud Storage files to which
33
33
  # the data is exported.
34
34
  def destinations
35
- Array config["extract"]["destinationUris"]
35
+ Array @gapi.configuration.extract.destination_uris
36
36
  end
37
37
 
38
38
  ##
39
39
  # The table from which the data is exported. This is the table upon
40
40
  # which {Table#extract} was called. Returns a {Table} instance.
41
41
  def source
42
- table = config["extract"]["sourceTable"]
42
+ table = @gapi.configuration.extract.source_table
43
43
  return nil unless table
44
- retrieve_table table["projectId"],
45
- table["datasetId"],
46
- table["tableId"]
44
+ retrieve_table table.project_id,
45
+ table.dataset_id,
46
+ table.table_id
47
47
  end
48
48
 
49
49
  ##
50
50
  # Checks if the export operation compresses the data using gzip. The
51
51
  # default is `false`.
52
52
  def compression?
53
- val = config["extract"]["compression"]
53
+ val = @gapi.configuration.extract.compression
54
54
  val == "GZIP"
55
55
  end
56
56
 
@@ -58,7 +58,7 @@ module Gcloud
58
58
  # Checks if the destination format for the data is [newline-delimited
59
59
  # JSON](http://jsonlines.org/). The default is `false`.
60
60
  def json?
61
- val = config["extract"]["destinationFormat"]
61
+ val = @gapi.configuration.extract.destination_format
62
62
  val == "NEWLINE_DELIMITED_JSON"
63
63
  end
64
64
 
@@ -66,7 +66,7 @@ module Gcloud
66
66
  # Checks if the destination format for the data is CSV. Tables with nested
67
67
  # or repeated fields cannot be exported as CSV. The default is `true`.
68
68
  def csv?
69
- val = config["extract"]["destinationFormat"]
69
+ val = @gapi.configuration.extract.destination_format
70
70
  return true if val.nil?
71
71
  val == "CSV"
72
72
  end
@@ -75,7 +75,7 @@ module Gcloud
75
75
  # Checks if the destination format for the data is
76
76
  # [Avro](http://avro.apache.org/). The default is `false`.
77
77
  def avro?
78
- val = config["extract"]["destinationFormat"]
78
+ val = @gapi.configuration.extract.destination_format
79
79
  val == "AVRO"
80
80
  end
81
81
 
@@ -83,7 +83,7 @@ module Gcloud
83
83
  # The symbol the operation uses to delimit fields in the exported data.
84
84
  # The default is a comma (,).
85
85
  def delimiter
86
- val = config["extract"]["fieldDelimiter"]
86
+ val = @gapi.configuration.extract.field_delimiter
87
87
  val = "," if val.nil?
88
88
  val
89
89
  end
@@ -92,7 +92,7 @@ module Gcloud
92
92
  # Checks if the exported data contains a header row. The default is
93
93
  # `true`.
94
94
  def print_header?
95
- val = config["extract"]["printHeader"]
95
+ val = @gapi.configuration.extract.print_header
96
96
  val = true if val.nil?
97
97
  val
98
98
  end
@@ -102,7 +102,7 @@ module Gcloud
102
102
  # {#destinations}. Returns an Array of values in the same order as the URI
103
103
  # patterns.
104
104
  def destinations_file_counts
105
- Array stats["extract"]["destinationUriFileCounts"]
105
+ Array @gapi.statistics.extract.destination_uri_file_counts
106
106
  end
107
107
 
108
108
  ##