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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41107fdb920537ef29f375d86dea227cf33bbf8ca29ac17daa228e1a0df2367e
4
- data.tar.gz: 632289096e6fca9acefda0a767c377a7f04a5e25698e696651c6cedaa2f254e5
3
+ metadata.gz: 32f4b672ccecbbd45bfb9790fc4110a22244a6459c459aa40bb1c1b4b77c1094
4
+ data.tar.gz: 2ac69379fefad5547aac47be509a50945af647d7fe7b61e1653fc4dd9c9ca865
5
5
  SHA512:
6
- metadata.gz: d565666e1b6f242603ee8f3e05960219d2d5345fd7e1730214f45ea835e7116327a09a7814831390fd2e1fcea507d97ed098cdfd2e251d7679011812cd49090e
7
- data.tar.gz: 7d3136310a7fa8ff8474b021e348e4dcb933dcfa80a764e53984cd390cf8a2ad38015ffe31450f88e2d7bc57f6dde3c11c568a17348c30833b8dc32dfb754cd9
6
+ metadata.gz: 9362e5d687de750ecdbdcbb131739116d3571c58db900fdf4748b6ce480f120670fce8901a8a9cfe83ddd53bbfd5e7866e396caff66e2151dc36a22dbabc3e7f
7
+ data.tar.gz: f08197d575142c5c5c16ba4c09e9d96af5ccb5e92fd9b0c11b87fe8431a0cac72bc2462e57ec6080a8c2d8c45b2f92b25a908cdbab35c3116e33f41b46b82559
@@ -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
@@ -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/googlecloudplatform/google-cloud-ruby/issues?q=label%3A%22api%3A+bigquery%22
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
- [slack-ruby]: https://gcp-slack.appspot.com/
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
- # table.data.each do |row|
57
- # puts row
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
@@ -84,7 +84,7 @@ module Google
84
84
  Bigquery::Project.new(
85
85
  Bigquery::Service.new(
86
86
  project_id, credentials,
87
- retries: retries, timeout: timeout, host: endpoint
87
+ retries: retries, timeout: timeout, host: endpoint, quota_project: configure.quota_project
88
88
  )
89
89
  )
90
90
  end
@@ -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. Label
276
- # keys and values can be no longer than 63 characters, can only
277
- # contain lowercase letters, numeric characters, underscores and
278
- # dashes. International characters are allowed. Label values are
279
- # optional. Label keys must start with a letter and each label in
280
- # the list must have a different key.
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
- # * Label keys and values can be no longer than 63 characters.
317
- # * Label keys and values can contain only lowercase letters, numbers,
318
- # underscores, hyphens, and international characters.
319
- # * Label keys and values cannot exceed 128 bytes in size.
320
- # * Label keys must begin with a letter.
321
- # * Label keys must be unique within a dataset.
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 the query. May be either a code resource to load from a
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. See [User-Defined
644
- # Functions](https://cloud.google.com/bigquery/docs/reference/standard-sql/user-defined-functions).
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. Label
1167
- # keys and values can be no longer than 63 characters, can only
1168
- # contain lowercase letters, numeric characters, underscores and
1169
- # dashes. International characters are allowed. Label values are
1170
- # optional. Label keys must start with a letter and each label in the
1171
- # list must have a different key. See [Requirements for
1172
- # labels](https://cloud.google.com/bigquery/docs/creating-managing-labels#requirements).
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 the query. May be either a code resource to load from a
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. See [User-Defined
1179
- # Functions](https://cloud.google.com/bigquery/docs/reference/standard-sql/user-defined-functions).
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. Label
1762
- # keys and values can be no longer than 63 characters, can only
1763
- # contain lowercase letters, numeric characters, underscores and
1764
- # dashes. International characters are allowed. Label values are
1765
- # optional. Label keys must start with a letter and each label in the
1766
- # list must have a different key. See [Requirements for
1767
- # labels](https://cloud.google.com/bigquery/docs/creating-managing-labels#requirements).
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
- "user" => :user_by_email,
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
- "domain" => :domain,
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
  #