google-cloud-bigquery 1.21.0 → 1.24.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +45 -0
- data/TROUBLESHOOTING.md +2 -8
- data/lib/google-cloud-bigquery.rb +9 -2
- data/lib/google/cloud/bigquery.rb +1 -1
- data/lib/google/cloud/bigquery/convert.rb +3 -1
- data/lib/google/cloud/bigquery/copy_job.rb +15 -6
- data/lib/google/cloud/bigquery/data.rb +12 -0
- data/lib/google/cloud/bigquery/dataset.rb +85 -28
- data/lib/google/cloud/bigquery/dataset/access.rb +183 -4
- data/lib/google/cloud/bigquery/external.rb +24 -0
- data/lib/google/cloud/bigquery/extract_job.rb +153 -45
- data/lib/google/cloud/bigquery/load_job.rb +21 -10
- data/lib/google/cloud/bigquery/model.rb +164 -8
- data/lib/google/cloud/bigquery/project.rb +176 -72
- data/lib/google/cloud/bigquery/query_job.rb +26 -10
- data/lib/google/cloud/bigquery/service.rb +17 -11
- data/lib/google/cloud/bigquery/table.rb +91 -46
- data/lib/google/cloud/bigquery/time.rb +6 -0
- data/lib/google/cloud/bigquery/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32f4b672ccecbbd45bfb9790fc4110a22244a6459c459aa40bb1c1b4b77c1094
|
4
|
+
data.tar.gz: 2ac69379fefad5547aac47be509a50945af647d7fe7b61e1653fc4dd9c9ca865
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9362e5d687de750ecdbdcbb131739116d3571c58db900fdf4748b6ce480f120670fce8901a8a9cfe83ddd53bbfd5e7866e396caff66e2151dc36a22dbabc3e7f
|
7
|
+
data.tar.gz: f08197d575142c5c5c16ba4c09e9d96af5ccb5e92fd9b0c11b87fe8431a0cac72bc2462e57ec6080a8c2d8c45b2f92b25a908cdbab35c3116e33f41b46b82559
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,50 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 1.24.0 / 2020-10-29
|
4
|
+
|
5
|
+
#### Features
|
6
|
+
|
7
|
+
* Add iamMember to Dataset::Access
|
8
|
+
|
9
|
+
#### Bug Fixes
|
10
|
+
|
11
|
+
* Ensure dense encoding of JSON responses
|
12
|
+
* Set query param prettyPrint=false for all requests.
|
13
|
+
* Upgrade google-api-client to ~> 0.47
|
14
|
+
|
15
|
+
#### Documentation
|
16
|
+
|
17
|
+
* Update supported types for time partition type
|
18
|
+
|
19
|
+
### 1.23.0 / 2020-09-17
|
20
|
+
|
21
|
+
#### Features
|
22
|
+
|
23
|
+
* quota_project can be set via library configuration ([#7627](https://www.github.com/googleapis/google-cloud-ruby/issues/7627))
|
24
|
+
|
25
|
+
### 1.22.0 / 2020-09-10
|
26
|
+
|
27
|
+
#### Features
|
28
|
+
|
29
|
+
* Add support for ML model export
|
30
|
+
* Add model support to Project#extract and #extract_job
|
31
|
+
* Add ExtractJob#model?
|
32
|
+
* Add ExtractJob#ml_tf_saved_model?
|
33
|
+
* Add ExtractJob#ml_xgboost_booster?
|
34
|
+
* Add Model#extract and #extract_job
|
35
|
+
|
36
|
+
### 1.21.2 / 2020-07-21
|
37
|
+
|
38
|
+
#### Documentation
|
39
|
+
|
40
|
+
* Update Data#each samples
|
41
|
+
|
42
|
+
### 1.21.1 / 2020-05-28
|
43
|
+
|
44
|
+
#### Documentation
|
45
|
+
|
46
|
+
* Fix a few broken links
|
47
|
+
|
3
48
|
### 1.21.0 / 2020-03-31
|
4
49
|
|
5
50
|
#### Features
|
data/TROUBLESHOOTING.md
CHANGED
@@ -24,14 +24,8 @@ improved, *please* create a new issue on GitHub so we can talk about it.
|
|
24
24
|
|
25
25
|
- [New issue][gh-ruby]
|
26
26
|
|
27
|
-
Or, you can ask questions on the [Google Cloud Platform Slack][slack-ruby]. You
|
28
|
-
can use the "ruby" channel for general Ruby questions, or use the
|
29
|
-
"google-cloud-ruby" channel if you have questions about this gem in particular.
|
30
|
-
|
31
27
|
[so-ruby]: http://stackoverflow.com/questions/tagged/google-cloud-platform+ruby+bigquery
|
32
28
|
|
33
|
-
[gh-search-ruby]: https://github.com/
|
34
|
-
|
35
|
-
[gh-ruby]: https://github.com/googlecloudplatform/google-cloud-ruby/issues/new
|
29
|
+
[gh-search-ruby]: https://github.com/googleapis/google-cloud-ruby/issues?q=label%3A%22api%3A+bigquery%22
|
36
30
|
|
37
|
-
[
|
31
|
+
[gh-ruby]: https://github.com/googleapis/google-cloud-ruby/issues/new
|
@@ -53,9 +53,15 @@ module Google
|
|
53
53
|
# bigquery = gcloud.bigquery
|
54
54
|
# dataset = bigquery.dataset "my_dataset"
|
55
55
|
# table = dataset.table "my_table"
|
56
|
-
#
|
57
|
-
#
|
56
|
+
#
|
57
|
+
# data = table.data
|
58
|
+
#
|
59
|
+
# # Iterate over the first page of results
|
60
|
+
# data.each do |row|
|
61
|
+
# puts row[:name]
|
58
62
|
# end
|
63
|
+
# # Retrieve the next page of results
|
64
|
+
# data = data.next if data.next?
|
59
65
|
#
|
60
66
|
# @example The default scope can be overridden with the `scope` option:
|
61
67
|
# require "google/cloud"
|
@@ -127,6 +133,7 @@ Google::Cloud.configure.add_config! :bigquery do |config|
|
|
127
133
|
config.add_field! :credentials, default_creds, match: [String, Hash, Google::Auth::Credentials], allow_nil: true
|
128
134
|
config.add_alias! :keyfile, :credentials
|
129
135
|
config.add_field! :scope, nil, match: [String, Array]
|
136
|
+
config.add_field! :quota_project, nil, match: String
|
130
137
|
config.add_field! :retries, nil, match: Integer
|
131
138
|
config.add_field! :timeout, nil, match: Integer
|
132
139
|
config.add_field! :endpoint, nil, match: String
|
@@ -318,7 +318,9 @@ module Google
|
|
318
318
|
"parquet" => "PARQUET",
|
319
319
|
"datastore" => "DATASTORE_BACKUP",
|
320
320
|
"backup" => "DATASTORE_BACKUP",
|
321
|
-
"datastore_backup" => "DATASTORE_BACKUP"
|
321
|
+
"datastore_backup" => "DATASTORE_BACKUP",
|
322
|
+
"ml_tf_saved_model" => "ML_TF_SAVED_MODEL",
|
323
|
+
"ml_xgboost_booster" => "ML_XGBOOST_BOOSTER"
|
322
324
|
}[format.to_s.downcase]
|
323
325
|
return val unless val.nil?
|
324
326
|
format
|
@@ -272,12 +272,21 @@ module Google
|
|
272
272
|
# Sets the labels to use for the job.
|
273
273
|
#
|
274
274
|
# @param [Hash] value A hash of user-provided labels associated with
|
275
|
-
# the job. You can use these to organize and group your jobs.
|
276
|
-
#
|
277
|
-
#
|
278
|
-
#
|
279
|
-
#
|
280
|
-
#
|
275
|
+
# the job. You can use these to organize and group your jobs.
|
276
|
+
#
|
277
|
+
# The labels applied to a resource must meet the following requirements:
|
278
|
+
#
|
279
|
+
# * Each resource can have multiple labels, up to a maximum of 64.
|
280
|
+
# * Each label must be a key-value pair.
|
281
|
+
# * Keys have a minimum length of 1 character and a maximum length of
|
282
|
+
# 63 characters, and cannot be empty. Values can be empty, and have
|
283
|
+
# a maximum length of 63 characters.
|
284
|
+
# * Keys and values can contain only lowercase letters, numeric characters,
|
285
|
+
# underscores, and dashes. All characters must use UTF-8 encoding, and
|
286
|
+
# international characters are allowed.
|
287
|
+
# * The key portion of a label must be unique. However, you can use the
|
288
|
+
# same key with multiple resources.
|
289
|
+
# * Keys must start with a lowercase letter or international character.
|
281
290
|
#
|
282
291
|
# @!group Attributes
|
283
292
|
def labels= value
|
@@ -41,9 +41,12 @@ module Google
|
|
41
41
|
#
|
42
42
|
# data.count # 100000
|
43
43
|
# data.total # 164656
|
44
|
+
#
|
45
|
+
# # Iterate over the first page of results
|
44
46
|
# data.each do |row|
|
45
47
|
# puts row[:word]
|
46
48
|
# end
|
49
|
+
# # Retrieve the next page of results
|
47
50
|
# data = data.next if data.next?
|
48
51
|
#
|
49
52
|
class Data < DelegateClass(::Array)
|
@@ -117,9 +120,12 @@ module Google
|
|
117
120
|
#
|
118
121
|
# data.count # 100000
|
119
122
|
# data.total # 164656
|
123
|
+
#
|
124
|
+
# # Iterate over the first page of results
|
120
125
|
# data.each do |row|
|
121
126
|
# puts row[:word]
|
122
127
|
# end
|
128
|
+
# # Retrieve the next page of results
|
123
129
|
# data = data.next if data.next?
|
124
130
|
#
|
125
131
|
def total
|
@@ -375,9 +381,12 @@ module Google
|
|
375
381
|
#
|
376
382
|
# data.count # 100000
|
377
383
|
# data.total # 164656
|
384
|
+
#
|
385
|
+
# # Iterate over the first page of results
|
378
386
|
# data.each do |row|
|
379
387
|
# puts row[:word]
|
380
388
|
# end
|
389
|
+
# # Retrieve the next page of results
|
381
390
|
# data = data.next if data.next?
|
382
391
|
#
|
383
392
|
def next?
|
@@ -402,9 +411,12 @@ module Google
|
|
402
411
|
#
|
403
412
|
# data.count # 100000
|
404
413
|
# data.total # 164656
|
414
|
+
#
|
415
|
+
# # Iterate over the first page of results
|
405
416
|
# data.each do |row|
|
406
417
|
# puts row[:word]
|
407
418
|
# end
|
419
|
+
# # Retrieve the next page of results
|
408
420
|
# data = data.next if data.next?
|
409
421
|
#
|
410
422
|
def next
|
@@ -313,12 +313,19 @@ module Google
|
|
313
313
|
# @param [Hash<String, String>] labels A hash containing key/value
|
314
314
|
# pairs.
|
315
315
|
#
|
316
|
-
#
|
317
|
-
#
|
318
|
-
#
|
319
|
-
# *
|
320
|
-
# *
|
321
|
-
#
|
316
|
+
# The labels applied to a resource must meet the following requirements:
|
317
|
+
#
|
318
|
+
# * Each resource can have multiple labels, up to a maximum of 64.
|
319
|
+
# * Each label must be a key-value pair.
|
320
|
+
# * Keys have a minimum length of 1 character and a maximum length of
|
321
|
+
# 63 characters, and cannot be empty. Values can be empty, and have
|
322
|
+
# a maximum length of 63 characters.
|
323
|
+
# * Keys and values can contain only lowercase letters, numeric characters,
|
324
|
+
# underscores, and dashes. All characters must use UTF-8 encoding, and
|
325
|
+
# international characters are allowed.
|
326
|
+
# * The key portion of a label must be unique. However, you can use the
|
327
|
+
# same key with multiple resources.
|
328
|
+
# * Keys must start with a lowercase letter or international character.
|
322
329
|
#
|
323
330
|
# @example
|
324
331
|
# require "google/cloud/bigquery"
|
@@ -636,12 +643,20 @@ module Google
|
|
636
643
|
# SQL](https://cloud.google.com/bigquery/docs/reference/legacy-sql)
|
637
644
|
# dialect. Optional. The default value is false.
|
638
645
|
# @param [Array<String>, String] udfs User-defined function resources
|
639
|
-
# used in
|
640
|
-
# Google Cloud Storage URI (`gs://bucket/path`), or an inline resource
|
646
|
+
# used in a legacy SQL query. May be either a code resource to load from
|
647
|
+
# a Google Cloud Storage URI (`gs://bucket/path`), or an inline resource
|
641
648
|
# that contains code for a user-defined function (UDF). Providing an
|
642
649
|
# inline code resource is equivalent to providing a URI for a file
|
643
|
-
# containing the same code.
|
644
|
-
#
|
650
|
+
# containing the same code.
|
651
|
+
#
|
652
|
+
# This parameter is used for defining User Defined Function (UDF)
|
653
|
+
# resources only when using legacy SQL. Users of standard SQL should
|
654
|
+
# leverage either DDL (e.g. `CREATE [TEMPORARY] FUNCTION ...`) or the
|
655
|
+
# Routines API to define UDF resources.
|
656
|
+
#
|
657
|
+
# For additional information on migrating, see: [Migrating to
|
658
|
+
# standard SQL - Differences in user-defined JavaScript
|
659
|
+
# functions](https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy-sql#differences_in_user-defined_javascript_functions)
|
645
660
|
#
|
646
661
|
# @return [Google::Cloud::Bigquery::Table] A new table object.
|
647
662
|
#
|
@@ -1163,20 +1178,36 @@ module Google
|
|
1163
1178
|
# is 1,024 characters. If `job_id` is provided, then `prefix` will not
|
1164
1179
|
# be used.
|
1165
1180
|
# @param [Hash] labels A hash of user-provided labels associated with
|
1166
|
-
# the job. You can use these to organize and group your jobs.
|
1167
|
-
#
|
1168
|
-
#
|
1169
|
-
#
|
1170
|
-
#
|
1171
|
-
#
|
1172
|
-
#
|
1181
|
+
# the job. You can use these to organize and group your jobs.
|
1182
|
+
#
|
1183
|
+
# The labels applied to a resource must meet the following requirements:
|
1184
|
+
#
|
1185
|
+
# * Each resource can have multiple labels, up to a maximum of 64.
|
1186
|
+
# * Each label must be a key-value pair.
|
1187
|
+
# * Keys have a minimum length of 1 character and a maximum length of
|
1188
|
+
# 63 characters, and cannot be empty. Values can be empty, and have
|
1189
|
+
# a maximum length of 63 characters.
|
1190
|
+
# * Keys and values can contain only lowercase letters, numeric characters,
|
1191
|
+
# underscores, and dashes. All characters must use UTF-8 encoding, and
|
1192
|
+
# international characters are allowed.
|
1193
|
+
# * The key portion of a label must be unique. However, you can use the
|
1194
|
+
# same key with multiple resources.
|
1195
|
+
# * Keys must start with a lowercase letter or international character.
|
1173
1196
|
# @param [Array<String>, String] udfs User-defined function resources
|
1174
|
-
# used in
|
1175
|
-
# Google Cloud Storage URI (`gs://bucket/path`), or an inline resource
|
1197
|
+
# used in a legacy SQL query. May be either a code resource to load from
|
1198
|
+
# a Google Cloud Storage URI (`gs://bucket/path`), or an inline resource
|
1176
1199
|
# that contains code for a user-defined function (UDF). Providing an
|
1177
1200
|
# inline code resource is equivalent to providing a URI for a file
|
1178
|
-
# containing the same code.
|
1179
|
-
#
|
1201
|
+
# containing the same code.
|
1202
|
+
#
|
1203
|
+
# This parameter is used for defining User Defined Function (UDF)
|
1204
|
+
# resources only when using legacy SQL. Users of standard SQL should
|
1205
|
+
# leverage either DDL (e.g. `CREATE [TEMPORARY] FUNCTION ...`) or the
|
1206
|
+
# Routines API to define UDF resources.
|
1207
|
+
#
|
1208
|
+
# For additional information on migrating, see: [Migrating to
|
1209
|
+
# standard SQL - Differences in user-defined JavaScript
|
1210
|
+
# functions](https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy-sql#differences_in_user-defined_javascript_functions)
|
1180
1211
|
# @param [Integer] maximum_billing_tier Deprecated: Change the billing
|
1181
1212
|
# tier to allow high-compute queries.
|
1182
1213
|
# @yield [job] a job configuration object
|
@@ -1458,9 +1489,12 @@ module Google
|
|
1458
1489
|
#
|
1459
1490
|
# data = dataset.query "SELECT name FROM my_table"
|
1460
1491
|
#
|
1492
|
+
# # Iterate over the first page of results
|
1461
1493
|
# data.each do |row|
|
1462
1494
|
# puts row[:name]
|
1463
1495
|
# end
|
1496
|
+
# # Retrieve the next page of results
|
1497
|
+
# data = data.next if data.next?
|
1464
1498
|
#
|
1465
1499
|
# @example Query using legacy SQL:
|
1466
1500
|
# require "google/cloud/bigquery"
|
@@ -1471,9 +1505,12 @@ module Google
|
|
1471
1505
|
# data = dataset.query "SELECT name FROM my_table",
|
1472
1506
|
# legacy_sql: true
|
1473
1507
|
#
|
1508
|
+
# # Iterate over the first page of results
|
1474
1509
|
# data.each do |row|
|
1475
1510
|
# puts row[:name]
|
1476
1511
|
# end
|
1512
|
+
# # Retrieve the next page of results
|
1513
|
+
# data = data.next if data.next?
|
1477
1514
|
#
|
1478
1515
|
# @example Query using positional query parameters:
|
1479
1516
|
# require "google/cloud/bigquery"
|
@@ -1484,9 +1521,12 @@ module Google
|
|
1484
1521
|
# data = dataset.query "SELECT name FROM my_table WHERE id = ?",
|
1485
1522
|
# params: [1]
|
1486
1523
|
#
|
1524
|
+
# # Iterate over the first page of results
|
1487
1525
|
# data.each do |row|
|
1488
1526
|
# puts row[:name]
|
1489
1527
|
# end
|
1528
|
+
# # Retrieve the next page of results
|
1529
|
+
# data = data.next if data.next?
|
1490
1530
|
#
|
1491
1531
|
# @example Query using named query parameters:
|
1492
1532
|
# require "google/cloud/bigquery"
|
@@ -1497,9 +1537,12 @@ module Google
|
|
1497
1537
|
# data = dataset.query "SELECT name FROM my_table WHERE id = @id",
|
1498
1538
|
# params: { id: 1 }
|
1499
1539
|
#
|
1540
|
+
# # Iterate over the first page of results
|
1500
1541
|
# data.each do |row|
|
1501
1542
|
# puts row[:name]
|
1502
1543
|
# end
|
1544
|
+
# # Retrieve the next page of results
|
1545
|
+
# data = data.next if data.next?
|
1503
1546
|
#
|
1504
1547
|
# @example Query using named query parameters with types:
|
1505
1548
|
# require "google/cloud/bigquery"
|
@@ -1512,9 +1555,12 @@ module Google
|
|
1512
1555
|
# params: { ids: [] },
|
1513
1556
|
# types: { ids: [:INT64] }
|
1514
1557
|
#
|
1558
|
+
# # Iterate over the first page of results
|
1515
1559
|
# data.each do |row|
|
1516
1560
|
# puts row[:name]
|
1517
1561
|
# end
|
1562
|
+
# # Retrieve the next page of results
|
1563
|
+
# data = data.next if data.next?
|
1518
1564
|
#
|
1519
1565
|
# @example Execute a DDL statement:
|
1520
1566
|
# require "google/cloud/bigquery"
|
@@ -1553,9 +1599,12 @@ module Google
|
|
1553
1599
|
# query.table = dataset.table "my_table", skip_lookup: true
|
1554
1600
|
# end
|
1555
1601
|
#
|
1602
|
+
# # Iterate over the first page of results
|
1556
1603
|
# data.each do |row|
|
1557
1604
|
# puts row[:name]
|
1558
1605
|
# end
|
1606
|
+
# # Retrieve the next page of results
|
1607
|
+
# data = data.next if data.next?
|
1559
1608
|
#
|
1560
1609
|
# @!group Data
|
1561
1610
|
#
|
@@ -1758,13 +1807,21 @@ module Google
|
|
1758
1807
|
# is 1,024 characters. If `job_id` is provided, then `prefix` will not
|
1759
1808
|
# be used.
|
1760
1809
|
# @param [Hash] labels A hash of user-provided labels associated with
|
1761
|
-
# the job. You can use these to organize and group your jobs.
|
1762
|
-
#
|
1763
|
-
#
|
1764
|
-
#
|
1765
|
-
#
|
1766
|
-
#
|
1767
|
-
#
|
1810
|
+
# the job. You can use these to organize and group your jobs.
|
1811
|
+
#
|
1812
|
+
# The labels applied to a resource must meet the following requirements:
|
1813
|
+
#
|
1814
|
+
# * Each resource can have multiple labels, up to a maximum of 64.
|
1815
|
+
# * Each label must be a key-value pair.
|
1816
|
+
# * Keys have a minimum length of 1 character and a maximum length of
|
1817
|
+
# 63 characters, and cannot be empty. Values can be empty, and have
|
1818
|
+
# a maximum length of 63 characters.
|
1819
|
+
# * Keys and values can contain only lowercase letters, numeric characters,
|
1820
|
+
# underscores, and dashes. All characters must use UTF-8 encoding, and
|
1821
|
+
# international characters are allowed.
|
1822
|
+
# * The key portion of a label must be unique. However, you can use the
|
1823
|
+
# same key with multiple resources.
|
1824
|
+
# * Keys must start with a lowercase letter or international character.
|
1768
1825
|
# @yield [updater] A block for setting the schema and other
|
1769
1826
|
# options for the destination table. The schema can be omitted if the
|
1770
1827
|
# destination table already exists, or if you're loading data from a
|
@@ -48,16 +48,18 @@ module Google
|
|
48
48
|
|
49
49
|
# @private
|
50
50
|
SCOPES = {
|
51
|
-
"
|
52
|
-
"user_by_email" => :user_by_email,
|
53
|
-
"userByEmail" => :user_by_email,
|
51
|
+
"domain" => :domain,
|
54
52
|
"group" => :group_by_email,
|
55
53
|
"group_by_email" => :group_by_email,
|
56
54
|
"groupByEmail" => :group_by_email,
|
57
|
-
"
|
55
|
+
"iam_member" => :iam_member,
|
56
|
+
"iamMember" => :iam_member,
|
58
57
|
"special" => :special_group,
|
59
58
|
"special_group" => :special_group,
|
60
59
|
"specialGroup" => :special_group,
|
60
|
+
"user" => :user_by_email,
|
61
|
+
"user_by_email" => :user_by_email,
|
62
|
+
"userByEmail" => :user_by_email,
|
61
63
|
"view" => :view
|
62
64
|
}.freeze
|
63
65
|
|
@@ -150,6 +152,26 @@ module Google
|
|
150
152
|
add_access_role_scope_value :reader, :group, email
|
151
153
|
end
|
152
154
|
|
155
|
+
##
|
156
|
+
# Add reader access to some other type of member that appears in the IAM
|
157
|
+
# Policy but isn't a user, group, domain, or special group.
|
158
|
+
#
|
159
|
+
# @param [String] identity The identity reference.
|
160
|
+
#
|
161
|
+
# @example
|
162
|
+
# require "google/cloud/bigquery"
|
163
|
+
#
|
164
|
+
# bigquery = Google::Cloud::Bigquery.new
|
165
|
+
# dataset = bigquery.dataset "my_dataset"
|
166
|
+
#
|
167
|
+
# dataset.access do |access|
|
168
|
+
# access.add_reader_iam_member "entity@example.com"
|
169
|
+
# end
|
170
|
+
#
|
171
|
+
def add_reader_iam_member identity
|
172
|
+
add_access_role_scope_value :reader, :iam_member, identity
|
173
|
+
end
|
174
|
+
|
153
175
|
##
|
154
176
|
# Add reader access to a domain.
|
155
177
|
#
|
@@ -255,6 +277,26 @@ module Google
|
|
255
277
|
add_access_role_scope_value :writer, :group, email
|
256
278
|
end
|
257
279
|
|
280
|
+
##
|
281
|
+
# Add writer access to some other type of member that appears in the IAM
|
282
|
+
# Policy but isn't a user, group, domain, or special group.
|
283
|
+
#
|
284
|
+
# @param [String] identity The identity reference.
|
285
|
+
#
|
286
|
+
# @example
|
287
|
+
# require "google/cloud/bigquery"
|
288
|
+
#
|
289
|
+
# bigquery = Google::Cloud::Bigquery.new
|
290
|
+
# dataset = bigquery.dataset "my_dataset"
|
291
|
+
#
|
292
|
+
# dataset.access do |access|
|
293
|
+
# access.add_writer_iam_member "entity@example.com"
|
294
|
+
# end
|
295
|
+
#
|
296
|
+
def add_writer_iam_member identity
|
297
|
+
add_access_role_scope_value :writer, :iam_member, identity
|
298
|
+
end
|
299
|
+
|
258
300
|
##
|
259
301
|
# Add writer access to a domain.
|
260
302
|
#
|
@@ -333,6 +375,26 @@ module Google
|
|
333
375
|
add_access_role_scope_value :owner, :group, email
|
334
376
|
end
|
335
377
|
|
378
|
+
##
|
379
|
+
# Add owner access to some other type of member that appears in the IAM
|
380
|
+
# Policy but isn't a user, group, domain, or special group.
|
381
|
+
#
|
382
|
+
# @param [String] identity The identity reference.
|
383
|
+
#
|
384
|
+
# @example
|
385
|
+
# require "google/cloud/bigquery"
|
386
|
+
#
|
387
|
+
# bigquery = Google::Cloud::Bigquery.new
|
388
|
+
# dataset = bigquery.dataset "my_dataset"
|
389
|
+
#
|
390
|
+
# dataset.access do |access|
|
391
|
+
# access.add_owner_iam_member "entity@example.com"
|
392
|
+
# end
|
393
|
+
#
|
394
|
+
def add_owner_iam_member identity
|
395
|
+
add_access_role_scope_value :owner, :iam_member, identity
|
396
|
+
end
|
397
|
+
|
336
398
|
##
|
337
399
|
# Add owner access to a domain.
|
338
400
|
#
|
@@ -411,6 +473,26 @@ module Google
|
|
411
473
|
remove_access_role_scope_value :reader, :group, email
|
412
474
|
end
|
413
475
|
|
476
|
+
##
|
477
|
+
# Remove reader access from some other type of member that appears in the IAM
|
478
|
+
# Policy but isn't a user, group, domain, or special group.
|
479
|
+
#
|
480
|
+
# @param [String] identity The identity reference.
|
481
|
+
#
|
482
|
+
# @example
|
483
|
+
# require "google/cloud/bigquery"
|
484
|
+
#
|
485
|
+
# bigquery = Google::Cloud::Bigquery.new
|
486
|
+
# dataset = bigquery.dataset "my_dataset"
|
487
|
+
#
|
488
|
+
# dataset.access do |access|
|
489
|
+
# access.remove_reader_iam_member "entity@example.com"
|
490
|
+
# end
|
491
|
+
#
|
492
|
+
def remove_reader_iam_member identity
|
493
|
+
remove_access_role_scope_value :reader, :iam_member, identity
|
494
|
+
end
|
495
|
+
|
414
496
|
##
|
415
497
|
# Remove reader access from a domain.
|
416
498
|
#
|
@@ -516,6 +598,26 @@ module Google
|
|
516
598
|
remove_access_role_scope_value :writer, :group, email
|
517
599
|
end
|
518
600
|
|
601
|
+
##
|
602
|
+
# Remove writer access from some other type of member that appears in the IAM
|
603
|
+
# Policy but isn't a user, group, domain, or special group.
|
604
|
+
#
|
605
|
+
# @param [String] identity The identity reference.
|
606
|
+
#
|
607
|
+
# @example
|
608
|
+
# require "google/cloud/bigquery"
|
609
|
+
#
|
610
|
+
# bigquery = Google::Cloud::Bigquery.new
|
611
|
+
# dataset = bigquery.dataset "my_dataset"
|
612
|
+
#
|
613
|
+
# dataset.access do |access|
|
614
|
+
# access.remove_writer_iam_member "entity@example.com"
|
615
|
+
# end
|
616
|
+
#
|
617
|
+
def remove_writer_iam_member identity
|
618
|
+
remove_access_role_scope_value :writer, :iam_member, identity
|
619
|
+
end
|
620
|
+
|
519
621
|
##
|
520
622
|
# Remove writer access from a domain.
|
521
623
|
#
|
@@ -594,6 +696,26 @@ module Google
|
|
594
696
|
remove_access_role_scope_value :owner, :group, email
|
595
697
|
end
|
596
698
|
|
699
|
+
##
|
700
|
+
# Remove owner access from some other type of member that appears in the IAM
|
701
|
+
# Policy but isn't a user, group, domain, or special group.
|
702
|
+
#
|
703
|
+
# @param [String] identity The identity reference.
|
704
|
+
#
|
705
|
+
# @example
|
706
|
+
# require "google/cloud/bigquery"
|
707
|
+
#
|
708
|
+
# bigquery = Google::Cloud::Bigquery.new
|
709
|
+
# dataset = bigquery.dataset "my_dataset"
|
710
|
+
#
|
711
|
+
# dataset.access do |access|
|
712
|
+
# access.remove_owner_iam_member "entity@example.com"
|
713
|
+
# end
|
714
|
+
#
|
715
|
+
def remove_owner_iam_member identity
|
716
|
+
remove_access_role_scope_value :owner, :iam_member, identity
|
717
|
+
end
|
718
|
+
|
597
719
|
##
|
598
720
|
# Remove owner access from a domain.
|
599
721
|
#
|
@@ -670,6 +792,25 @@ module Google
|
|
670
792
|
lookup_access_role_scope_value :reader, :group, email
|
671
793
|
end
|
672
794
|
|
795
|
+
##
|
796
|
+
# Checks reader access for some other type of member that appears in the IAM
|
797
|
+
# Policy but isn't a user, group, domain, or special group.
|
798
|
+
#
|
799
|
+
# @param [String] identity The identity reference.
|
800
|
+
#
|
801
|
+
# @example
|
802
|
+
# require "google/cloud/bigquery"
|
803
|
+
#
|
804
|
+
# bigquery = Google::Cloud::Bigquery.new
|
805
|
+
# dataset = bigquery.dataset "my_dataset"
|
806
|
+
#
|
807
|
+
# access = dataset.access
|
808
|
+
# access.reader_iam_member? "entity@example.com" #=> false
|
809
|
+
#
|
810
|
+
def reader_iam_member? identity
|
811
|
+
lookup_access_role_scope_value :reader, :iam_member, identity
|
812
|
+
end
|
813
|
+
|
673
814
|
##
|
674
815
|
# Checks reader access for a domain.
|
675
816
|
#
|
@@ -770,6 +911,25 @@ module Google
|
|
770
911
|
lookup_access_role_scope_value :writer, :group, email
|
771
912
|
end
|
772
913
|
|
914
|
+
##
|
915
|
+
# Checks writer access for some other type of member that appears in the IAM
|
916
|
+
# Policy but isn't a user, group, domain, or special group.
|
917
|
+
#
|
918
|
+
# @param [String] identity The identity reference.
|
919
|
+
#
|
920
|
+
# @example
|
921
|
+
# require "google/cloud/bigquery"
|
922
|
+
#
|
923
|
+
# bigquery = Google::Cloud::Bigquery.new
|
924
|
+
# dataset = bigquery.dataset "my_dataset"
|
925
|
+
#
|
926
|
+
# access = dataset.access
|
927
|
+
# access.writer_iam_member? "entity@example.com" #=> false
|
928
|
+
#
|
929
|
+
def writer_iam_member? identity
|
930
|
+
lookup_access_role_scope_value :writer, :iam_member, identity
|
931
|
+
end
|
932
|
+
|
773
933
|
##
|
774
934
|
# Checks writer access for a domain.
|
775
935
|
#
|
@@ -844,6 +1004,25 @@ module Google
|
|
844
1004
|
lookup_access_role_scope_value :owner, :group, email
|
845
1005
|
end
|
846
1006
|
|
1007
|
+
##
|
1008
|
+
# Checks owner access for some other type of member that appears in the IAM
|
1009
|
+
# Policy but isn't a user, group, domain, or special group.
|
1010
|
+
#
|
1011
|
+
# @param [String] identity The identity reference.
|
1012
|
+
#
|
1013
|
+
# @example
|
1014
|
+
# require "google/cloud/bigquery"
|
1015
|
+
#
|
1016
|
+
# bigquery = Google::Cloud::Bigquery.new
|
1017
|
+
# dataset = bigquery.dataset "my_dataset"
|
1018
|
+
#
|
1019
|
+
# access = dataset.access
|
1020
|
+
# access.owner_iam_member? "entity@example.com" #=> false
|
1021
|
+
#
|
1022
|
+
def owner_iam_member? identity
|
1023
|
+
lookup_access_role_scope_value :owner, :iam_member, identity
|
1024
|
+
end
|
1025
|
+
|
847
1026
|
##
|
848
1027
|
# Checks owner access for a domain.
|
849
1028
|
#
|