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 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
  #