google-cloud-bigquery 1.21.0 → 1.24.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/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
|
#
|