google-api-client 0.9.15 → 0.9.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +298 -0
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +122 -0
  5. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +458 -0
  6. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  7. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +82 -3
  8. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +33 -0
  9. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +38 -0
  10. data/generated/google/apis/admin_directory_v1.rb +1 -1
  11. data/generated/google/apis/admin_directory_v1/classes.rb +80 -0
  12. data/generated/google/apis/admin_directory_v1/representations.rb +23 -0
  13. data/generated/google/apis/admin_directory_v1/service.rb +39 -0
  14. data/generated/google/apis/adsense_v1_4.rb +1 -1
  15. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  16. data/generated/google/apis/analytics_v3.rb +1 -1
  17. data/generated/google/apis/analytics_v3/classes.rb +11 -5
  18. data/generated/google/apis/analytics_v3/representations.rb +1 -0
  19. data/generated/google/apis/analytics_v3/service.rb +17 -18
  20. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  21. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  22. data/generated/google/apis/androidenterprise_v1/classes.rb +80 -2
  23. data/generated/google/apis/androidenterprise_v1/representations.rb +30 -0
  24. data/generated/google/apis/androidenterprise_v1/service.rb +55 -6
  25. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  26. data/generated/google/apis/appengine_v1beta5.rb +1 -1
  27. data/generated/google/apis/appengine_v1beta5/classes.rb +1 -1
  28. data/generated/google/apis/appengine_v1beta5/service.rb +36 -0
  29. data/generated/google/apis/appsactivity_v1.rb +1 -1
  30. data/generated/google/apis/bigquery_v2.rb +1 -1
  31. data/generated/google/apis/bigquery_v2/classes.rb +2 -2
  32. data/generated/google/apis/books_v1.rb +1 -1
  33. data/generated/google/apis/books_v1/classes.rb +2 -1
  34. data/generated/google/apis/calendar_v3.rb +1 -1
  35. data/generated/google/apis/classroom_v1.rb +1 -1
  36. data/generated/google/apis/classroom_v1/classes.rb +7 -0
  37. data/generated/google/apis/classroom_v1/representations.rb +1 -0
  38. data/generated/google/apis/classroom_v1/service.rb +25 -15
  39. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  40. data/generated/google/apis/cloudbuild_v1/classes.rb +56 -8
  41. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  42. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +535 -298
  43. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +141 -36
  44. data/generated/google/apis/cloudresourcemanager_v1/service.rb +250 -45
  45. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  46. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +99 -4
  47. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +44 -0
  48. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +24 -33
  49. data/generated/google/apis/compute_beta.rb +1 -1
  50. data/generated/google/apis/compute_beta/classes.rb +44 -29
  51. data/generated/google/apis/compute_beta/representations.rb +1 -0
  52. data/generated/google/apis/compute_beta/service.rb +123 -25
  53. data/generated/google/apis/compute_v1.rb +1 -1
  54. data/generated/google/apis/compute_v1/classes.rb +43 -20
  55. data/generated/google/apis/compute_v1/representations.rb +3 -0
  56. data/generated/google/apis/compute_v1/service.rb +608 -67
  57. data/generated/google/apis/content_v2.rb +1 -1
  58. data/generated/google/apis/dataflow_v1b3.rb +38 -0
  59. data/generated/google/apis/dataflow_v1b3/classes.rb +4009 -0
  60. data/generated/google/apis/dataflow_v1b3/representations.rb +1718 -0
  61. data/generated/google/apis/dataflow_v1b3/service.rb +515 -0
  62. data/generated/google/apis/datastore_v1.rb +1 -1
  63. data/generated/google/apis/dns_v1.rb +1 -1
  64. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  65. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +79 -86
  66. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +25 -28
  67. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +10 -8
  68. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  69. data/generated/google/apis/drive_v2.rb +1 -1
  70. data/generated/google/apis/drive_v2/classes.rb +9 -0
  71. data/generated/google/apis/drive_v2/representations.rb +1 -0
  72. data/generated/google/apis/drive_v2/service.rb +8 -1
  73. data/generated/google/apis/drive_v3.rb +1 -1
  74. data/generated/google/apis/drive_v3/classes.rb +7 -0
  75. data/generated/google/apis/drive_v3/representations.rb +1 -0
  76. data/generated/google/apis/drive_v3/service.rb +8 -1
  77. data/generated/google/apis/genomics_v1.rb +1 -1
  78. data/generated/google/apis/iam_v1.rb +2 -2
  79. data/generated/google/apis/iam_v1/classes.rb +181 -206
  80. data/generated/google/apis/iam_v1/representations.rb +36 -45
  81. data/generated/google/apis/iam_v1/service.rb +101 -67
  82. data/generated/google/apis/identitytoolkit_v3.rb +4 -1
  83. data/generated/google/apis/identitytoolkit_v3/classes.rb +11 -27
  84. data/generated/google/apis/identitytoolkit_v3/representations.rb +2 -16
  85. data/generated/google/apis/language_v1beta1.rb +1 -1
  86. data/generated/google/apis/language_v1beta1/classes.rb +4 -2
  87. data/generated/google/apis/language_v1beta1/service.rb +2 -4
  88. data/generated/google/apis/logging_v2beta1.rb +6 -6
  89. data/generated/google/apis/logging_v2beta1/classes.rb +742 -732
  90. data/generated/google/apis/logging_v2beta1/representations.rb +134 -147
  91. data/generated/google/apis/logging_v2beta1/service.rb +276 -209
  92. data/generated/google/apis/monitoring_v3.rb +1 -1
  93. data/generated/google/apis/monitoring_v3/classes.rb +20 -13
  94. data/generated/google/apis/monitoring_v3/service.rb +1 -1
  95. data/generated/google/apis/oauth2_v2.rb +1 -1
  96. data/generated/google/apis/plus_domains_v1.rb +1 -1
  97. data/generated/google/apis/plus_v1.rb +1 -1
  98. data/generated/google/apis/pubsub_v1.rb +1 -1
  99. data/generated/google/apis/pubsub_v1/classes.rb +10 -9
  100. data/generated/google/apis/pubsub_v1/service.rb +128 -27
  101. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -2
  102. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +3 -1
  103. data/generated/google/apis/sheets_v4.rb +1 -1
  104. data/generated/google/apis/sheets_v4/classes.rb +2 -0
  105. data/generated/google/apis/speech_v1beta1.rb +1 -1
  106. data/generated/google/apis/speech_v1beta1/classes.rb +20 -30
  107. data/generated/google/apis/speech_v1beta1/representations.rb +6 -7
  108. data/generated/google/apis/speech_v1beta1/service.rb +68 -65
  109. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  110. data/generated/google/apis/sqladmin_v1beta4/classes.rb +6 -0
  111. data/generated/google/apis/sqladmin_v1beta4/representations.rb +1 -0
  112. data/generated/google/apis/storage_v1.rb +1 -1
  113. data/generated/google/apis/storage_v1/classes.rb +3 -3
  114. data/generated/google/apis/storage_v1/representations.rb +2 -1
  115. data/generated/google/apis/storage_v1/service.rb +5 -2
  116. data/generated/google/apis/vision_v1.rb +1 -1
  117. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  118. data/lib/google/apis/version.rb +1 -1
  119. metadata +10 -2
@@ -522,6 +522,7 @@ module Google
522
522
  # @private
523
523
  class Representation < Google::Apis::Core::JsonRepresentation
524
524
  property :kind, as: 'kind'
525
+ property :next_page_token, as: 'nextPageToken'
525
526
  collection :revisions, as: 'revisions', class: Google::Apis::DriveV3::Revision, decorator: Google::Apis::DriveV3::Revision::Representation
526
527
 
527
528
  end
@@ -1460,6 +1460,11 @@ module Google
1460
1460
  # Lists a file's revisions.
1461
1461
  # @param [String] file_id
1462
1462
  # The ID of the file.
1463
+ # @param [Fixnum] page_size
1464
+ # The maximum number of revisions to return per page.
1465
+ # @param [String] page_token
1466
+ # The token for continuing a previous list request on the next page. This should
1467
+ # be set to the value of 'nextPageToken' from the previous response.
1463
1468
  # @param [String] fields
1464
1469
  # Selector specifying which fields to include in a partial response.
1465
1470
  # @param [String] quota_user
@@ -1481,11 +1486,13 @@ module Google
1481
1486
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1482
1487
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1483
1488
  # @raise [Google::Apis::AuthorizationError] Authorization is required
1484
- def list_revisions(file_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
1489
+ def list_revisions(file_id, page_size: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
1485
1490
  command = make_simple_command(:get, 'files/{fileId}/revisions', options)
1486
1491
  command.response_representation = Google::Apis::DriveV3::RevisionList::Representation
1487
1492
  command.response_class = Google::Apis::DriveV3::RevisionList
1488
1493
  command.params['fileId'] = file_id unless file_id.nil?
1494
+ command.query['pageSize'] = page_size unless page_size.nil?
1495
+ command.query['pageToken'] = page_token unless page_token.nil?
1489
1496
  command.query['fields'] = fields unless fields.nil?
1490
1497
  command.query['quotaUser'] = quota_user unless quota_user.nil?
1491
1498
  command.query['userIp'] = user_ip unless user_ip.nil?
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/genomics/
26
26
  module GenomicsV1
27
27
  VERSION = 'V1'
28
- REVISION = '20160914'
28
+ REVISION = '20161005'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -18,7 +18,7 @@ require 'google/apis/iam_v1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Google Identity and Access Management API
21
+ # Google Identity and Access Management (IAM) API
22
22
  #
23
23
  # Manages identity and access control for Google Cloud Platform resources,
24
24
  # including the creation of service accounts, which you can use to authenticate
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/iam/
28
28
  module IamV1
29
29
  VERSION = 'V1'
30
- REVISION = '20160129'
30
+ REVISION = '20160915'
31
31
 
32
32
  # View and manage your data across Google Cloud Platform services
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -31,8 +31,8 @@ module Google
31
31
  # @return [Array<Google::Apis::IamV1::ServiceAccount>]
32
32
  attr_accessor :accounts
33
33
 
34
- # To retrieve the next page of results, set [ListServiceAccountsRequest.
35
- # page_token] to this value.
34
+ # To retrieve the next page of results, set ListServiceAccountsRequest.
35
+ # page_token to this value.
36
36
  # Corresponds to the JSON property `nextPageToken`
37
37
  # @return [String]
38
38
  attr_accessor :next_page_token
@@ -49,22 +49,25 @@ module Google
49
49
  end
50
50
 
51
51
  # A service account in the Identity and Access Management API. To create a
52
- # service account, you specify the project_id and account_id for the account.
53
- # The account_id is unique within the project, and used to generate the service
54
- # account email address and a stable unique id. All other methods can identify
55
- # accounts using the format "projects/`project`/serviceAccounts/`account`".
56
- # Using '-' as a wildcard for the project, will infer the project from the
57
- # account. The account value can be the email address or the unique_id of the
58
- # service account.
52
+ # service account, specify the `project_id` and the `account_id` for the account.
53
+ # The `account_id` is unique within the project, and is used to generate the
54
+ # service account email address and a stable `unique_id`. If the account already
55
+ # exists, the account's resource name is returned in util::Status's ResourceInfo.
56
+ # resource_name in the format of projects/`project`/serviceAccounts/`email`. The
57
+ # caller can use the name in other methods to access the account. All other
58
+ # methods can identify the service account using the format `projects/`project`/
59
+ # serviceAccounts/`account``. Using `-` as a wildcard for the project will infer
60
+ # the project from the account. The `account` value can be the `email` address
61
+ # or the `unique_id` of the service account.
59
62
  class ServiceAccount
60
63
  include Google::Apis::Core::Hashable
61
64
 
62
- # The resource name of the service account in the format "projects/`project`/
63
- # serviceAccounts/`account`". In requests using '-' as a wildcard for the
64
- # project, will infer the project from the account and the account value can be
65
- # the email address or the unique_id of the service account. In responses the
66
- # resource name will always be in the format "projects/`project`/serviceAccounts/
67
- # `email`".
65
+ # The resource name of the service account in the following format: `projects/`
66
+ # project`/serviceAccounts/`account``. Requests using `-` as a wildcard for the
67
+ # project will infer the project from the `account` and the `account` value can
68
+ # be the `email` address or the `unique_id` of the service account. In responses
69
+ # the resource name will always be in the format `projects/`project`/
70
+ # serviceAccounts/`email``.
68
71
  # Corresponds to the JSON property `name`
69
72
  # @return [String]
70
73
  attr_accessor :name
@@ -74,12 +77,12 @@ module Google
74
77
  # @return [String]
75
78
  attr_accessor :project_id
76
79
 
77
- # @OutputOnly unique and stable id of the service account.
80
+ # @OutputOnly The unique and stable id of the service account.
78
81
  # Corresponds to the JSON property `uniqueId`
79
82
  # @return [String]
80
83
  attr_accessor :unique_id
81
84
 
82
- # @OutputOnly Email address of the service account.
85
+ # @OutputOnly The email address of the service account.
83
86
  # Corresponds to the JSON property `email`
84
87
  # @return [String]
85
88
  attr_accessor :email
@@ -123,21 +126,24 @@ module Google
123
126
  include Google::Apis::Core::Hashable
124
127
 
125
128
  # Required. The account id that is used to generate the service account email
126
- # address and a stable unique id. It is unique within a project, must be 1-63
127
- # characters long, and match the regular expression [a-z]([-a-z0-9]*[a-z0-9]) to
128
- # comply with RFC1035.
129
+ # address and a stable unique id. It is unique within a project, must be 6-30
130
+ # characters long, and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])`
131
+ # to comply with RFC1035.
129
132
  # Corresponds to the JSON property `accountId`
130
133
  # @return [String]
131
134
  attr_accessor :account_id
132
135
 
133
136
  # A service account in the Identity and Access Management API. To create a
134
- # service account, you specify the project_id and account_id for the account.
135
- # The account_id is unique within the project, and used to generate the service
136
- # account email address and a stable unique id. All other methods can identify
137
- # accounts using the format "projects/`project`/serviceAccounts/`account`".
138
- # Using '-' as a wildcard for the project, will infer the project from the
139
- # account. The account value can be the email address or the unique_id of the
140
- # service account.
137
+ # service account, specify the `project_id` and the `account_id` for the account.
138
+ # The `account_id` is unique within the project, and is used to generate the
139
+ # service account email address and a stable `unique_id`. If the account already
140
+ # exists, the account's resource name is returned in util::Status's ResourceInfo.
141
+ # resource_name in the format of projects/`project`/serviceAccounts/`email`. The
142
+ # caller can use the name in other methods to access the account. All other
143
+ # methods can identify the service account using the format `projects/`project`/
144
+ # serviceAccounts/`account``. Using `-` as a wildcard for the project will infer
145
+ # the project from the account. The `account` value can be the `email` address
146
+ # or the `unique_id` of the service account.
141
147
  # Corresponds to the JSON property `serviceAccount`
142
148
  # @return [Google::Apis::IamV1::ServiceAccount]
143
149
  attr_accessor :service_account
@@ -189,28 +195,47 @@ module Google
189
195
  end
190
196
  end
191
197
 
192
- # Represents a service account key. A service account can have 0 or more key
193
- # pairs. The private keys for these are not stored by Google. ServiceAccountKeys
194
- # are immutable.
198
+ # Represents a service account key. A service account has two sets of key-pairs:
199
+ # user-managed, and system-managed. User-managed key-pairs can be created and
200
+ # deleted by users. Users are responsible for rotating these keys periodically
201
+ # to ensure security of their service accounts. Users retain the private key of
202
+ # these key-pairs, and Google retains ONLY the public key. System-managed key-
203
+ # pairs are managed automatically by Google, and rotated daily without user
204
+ # intervention. The private key never leaves Google's servers to maximize
205
+ # security. Public keys for all service accounts are also published at the
206
+ # OAuth2 Service Account API.
195
207
  class ServiceAccountKey
196
208
  include Google::Apis::Core::Hashable
197
209
 
198
- # The resource name of the service account key in the format "projects/`project`/
199
- # serviceAccounts/`email`/keys/`key`".
210
+ # The resource name of the service account key in the following format `projects/
211
+ # `project`/serviceAccounts/`account`/keys/`key``.
200
212
  # Corresponds to the JSON property `name`
201
213
  # @return [String]
202
214
  attr_accessor :name
203
215
 
204
- # The type of the private key.
216
+ # The output format for the private key. Only provided in `
217
+ # CreateServiceAccountKey` responses, not in `GetServiceAccountKey` or `
218
+ # ListServiceAccountKey` responses. Google never exposes system-managed private
219
+ # keys, and never retains user-managed private keys.
205
220
  # Corresponds to the JSON property `privateKeyType`
206
221
  # @return [String]
207
222
  attr_accessor :private_key_type
208
223
 
209
- # The key data.
224
+ # Specifies the algorithm (and possibly key size) for the key.
225
+ # Corresponds to the JSON property `keyAlgorithm`
226
+ # @return [String]
227
+ attr_accessor :key_algorithm
228
+
229
+ # The private key data. Only provided in `CreateServiceAccountKey` responses.
210
230
  # Corresponds to the JSON property `privateKeyData`
211
231
  # @return [String]
212
232
  attr_accessor :private_key_data
213
233
 
234
+ # The public key data. Only provided in `GetServiceAccountKey` responses.
235
+ # Corresponds to the JSON property `publicKeyData`
236
+ # @return [String]
237
+ attr_accessor :public_key_data
238
+
214
239
  # The key can be used after this timestamp.
215
240
  # Corresponds to the JSON property `validAfterTime`
216
241
  # @return [String]
@@ -229,7 +254,9 @@ module Google
229
254
  def update!(**args)
230
255
  @name = args[:name] if args.key?(:name)
231
256
  @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
257
+ @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
232
258
  @private_key_data = args[:private_key_data] if args.key?(:private_key_data)
259
+ @public_key_data = args[:public_key_data] if args.key?(:public_key_data)
233
260
  @valid_after_time = args[:valid_after_time] if args.key?(:valid_after_time)
234
261
  @valid_before_time = args[:valid_before_time] if args.key?(:valid_before_time)
235
262
  end
@@ -239,11 +266,18 @@ module Google
239
266
  class CreateServiceAccountKeyRequest
240
267
  include Google::Apis::Core::Hashable
241
268
 
242
- # The type of the key requested. GOOGLE_CREDENTIALS is the default key type.
269
+ # The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the default
270
+ # output format.
243
271
  # Corresponds to the JSON property `privateKeyType`
244
272
  # @return [String]
245
273
  attr_accessor :private_key_type
246
274
 
275
+ # Which type of key and algorithm to use for the key. The default is currently a
276
+ # 4K RSA key. However this may change in the future.
277
+ # Corresponds to the JSON property `keyAlgorithm`
278
+ # @return [String]
279
+ attr_accessor :key_algorithm
280
+
247
281
  def initialize(**args)
248
282
  update!(**args)
249
283
  end
@@ -251,6 +285,7 @@ module Google
251
285
  # Update properties of this object
252
286
  def update!(**args)
253
287
  @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
288
+ @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
254
289
  end
255
290
  end
256
291
 
@@ -258,7 +293,7 @@ module Google
258
293
  class SignBlobRequest
259
294
  include Google::Apis::Core::Hashable
260
295
 
261
- # The bytes to sign
296
+ # The bytes to sign.
262
297
  # Corresponds to the JSON property `bytesToSign`
263
298
  # @return [String]
264
299
  attr_accessor :bytes_to_sign
@@ -305,7 +340,7 @@ module Google
305
340
  # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
306
341
  # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
307
342
  # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
308
- # appspot.gserviceaccount.com"] `, ` "role": "roles/viewer", "members": ["user:
343
+ # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
309
344
  # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
310
345
  # IAM developer's guide](https://cloud.google.com/iam).
311
346
  class Policy
@@ -323,11 +358,6 @@ module Google
323
358
  # @return [Array<Google::Apis::IamV1::Binding>]
324
359
  attr_accessor :bindings
325
360
 
326
- #
327
- # Corresponds to the JSON property `rules`
328
- # @return [Array<Google::Apis::IamV1::Rule>]
329
- attr_accessor :rules
330
-
331
361
  # `etag` is used for optimistic concurrency control as a way to help prevent
332
362
  # simultaneous updates of a policy from overwriting each other. It is strongly
333
363
  # suggested that systems make use of the `etag` in the read-modify-write cycle
@@ -348,7 +378,6 @@ module Google
348
378
  def update!(**args)
349
379
  @version = args[:version] if args.key?(:version)
350
380
  @bindings = args[:bindings] if args.key?(:bindings)
351
- @rules = args[:rules] if args.key?(:rules)
352
381
  @etag = args[:etag] if args.key?(:etag)
353
382
  end
354
383
  end
@@ -390,49 +419,23 @@ module Google
390
419
  end
391
420
  end
392
421
 
393
- # A rule to be applied in a Policy.
394
- class Rule
422
+ # Request message for `SetIamPolicy` method.
423
+ class SetIamPolicyRequest
395
424
  include Google::Apis::Core::Hashable
396
425
 
397
- # Human-readable description of the rule.
398
- # Corresponds to the JSON property `description`
399
- # @return [String]
400
- attr_accessor :description
401
-
402
- # A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value
403
- # of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.
404
- # *') matches all verbs.
405
- # Corresponds to the JSON property `permissions`
406
- # @return [Array<String>]
407
- attr_accessor :permissions
408
-
409
- # Required
410
- # Corresponds to the JSON property `action`
411
- # @return [String]
412
- attr_accessor :action
413
-
414
- # The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this set of entries.
415
- # Corresponds to the JSON property `in`
416
- # @return [Array<String>]
417
- attr_accessor :in
418
-
419
- # The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in this set of
420
- # entries. The format for in and not_in entries is the same as for members in a
421
- # Binding (see google/iam/v1/policy.proto).
422
- # Corresponds to the JSON property `notIn`
423
- # @return [Array<String>]
424
- attr_accessor :not_in
425
-
426
- # Additional restrictions that must be met
427
- # Corresponds to the JSON property `conditions`
428
- # @return [Array<Google::Apis::IamV1::Condition>]
429
- attr_accessor :conditions
430
-
431
- # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
432
- # that match the LOG action.
433
- # Corresponds to the JSON property `logConfig`
434
- # @return [Array<Google::Apis::IamV1::LogConfig>]
435
- attr_accessor :log_config
426
+ # Defines an Identity and Access Management (IAM) policy. It is used to specify
427
+ # access control policies for Cloud Platform resources. A `Policy` consists of a
428
+ # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
429
+ # the members can be user accounts, Google groups, Google domains, and service
430
+ # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
431
+ # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
432
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
433
+ # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
434
+ # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
435
+ # IAM developer's guide](https://cloud.google.com/iam).
436
+ # Corresponds to the JSON property `policy`
437
+ # @return [Google::Apis::IamV1::Policy]
438
+ attr_accessor :policy
436
439
 
437
440
  def initialize(**args)
438
441
  update!(**args)
@@ -440,50 +443,20 @@ module Google
440
443
 
441
444
  # Update properties of this object
442
445
  def update!(**args)
443
- @description = args[:description] if args.key?(:description)
444
- @permissions = args[:permissions] if args.key?(:permissions)
445
- @action = args[:action] if args.key?(:action)
446
- @in = args[:in] if args.key?(:in)
447
- @not_in = args[:not_in] if args.key?(:not_in)
448
- @conditions = args[:conditions] if args.key?(:conditions)
449
- @log_config = args[:log_config] if args.key?(:log_config)
446
+ @policy = args[:policy] if args.key?(:policy)
450
447
  end
451
448
  end
452
449
 
453
- # A condition to be met.
454
- class Condition
450
+ # Request message for `TestIamPermissions` method.
451
+ class TestIamPermissionsRequest
455
452
  include Google::Apis::Core::Hashable
456
453
 
457
- # Trusted attributes supplied by the IAM system.
458
- # Corresponds to the JSON property `iam`
459
- # @return [String]
460
- attr_accessor :iam
461
-
462
- # Trusted attributes supplied by any service that owns resources and uses the
463
- # IAM system for access control.
464
- # Corresponds to the JSON property `sys`
465
- # @return [String]
466
- attr_accessor :sys
467
-
468
- # Trusted attributes discharged by the service.
469
- # Corresponds to the JSON property `svc`
470
- # @return [String]
471
- attr_accessor :svc
472
-
473
- # An operator to apply the subject with.
474
- # Corresponds to the JSON property `op`
475
- # @return [String]
476
- attr_accessor :op
477
-
478
- # The object of the condition. Exactly one of these must be set.
479
- # Corresponds to the JSON property `value`
480
- # @return [String]
481
- attr_accessor :value
482
-
483
- # The objects of the condition. This is mutually exclusive with 'value'.
484
- # Corresponds to the JSON property `values`
454
+ # The set of permissions to check for the `resource`. Permissions with wildcards
455
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
456
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
457
+ # Corresponds to the JSON property `permissions`
485
458
  # @return [Array<String>]
486
- attr_accessor :values
459
+ attr_accessor :permissions
487
460
 
488
461
  def initialize(**args)
489
462
  update!(**args)
@@ -491,44 +464,18 @@ module Google
491
464
 
492
465
  # Update properties of this object
493
466
  def update!(**args)
494
- @iam = args[:iam] if args.key?(:iam)
495
- @sys = args[:sys] if args.key?(:sys)
496
- @svc = args[:svc] if args.key?(:svc)
497
- @op = args[:op] if args.key?(:op)
498
- @value = args[:value] if args.key?(:value)
499
- @values = args[:values] if args.key?(:values)
467
+ @permissions = args[:permissions] if args.key?(:permissions)
500
468
  end
501
469
  end
502
470
 
503
- # Specifies what kind of log the caller must write Increment a streamz counter
504
- # with the specified metric and field names. Metric names should start with a '/'
505
- # , generally be lowercase-only, and end in "_count". Field names should not
506
- # contain an initial slash. The actual exported metric names will have "/iam/
507
- # policy" prepended. Field names correspond to IAM request parameters and field
508
- # values are their respective values. At present only "iam_principal",
509
- # corresponding to IAMContext.principal, is supported. Examples: counter `
510
- # metric: "/debug_access_count" field: "iam_principal" ` ==> increment counter /
511
- # iam/policy/backend_debug_access_count `iam_principal=[value of IAMContext.
512
- # principal]` At this time we do not support: * multiple field names (though
513
- # this may be supported in the future) * decrementing the counter * incrementing
514
- # it by anything other than 1
515
- class LogConfig
471
+ # Response message for `TestIamPermissions` method.
472
+ class TestIamPermissionsResponse
516
473
  include Google::Apis::Core::Hashable
517
474
 
518
- # Options for counters
519
- # Corresponds to the JSON property `counter`
520
- # @return [Google::Apis::IamV1::CounterOptions]
521
- attr_accessor :counter
522
-
523
- # Write a Data Access (Gin) log
524
- # Corresponds to the JSON property `dataAccess`
525
- # @return [Google::Apis::IamV1::DataAccessOptions]
526
- attr_accessor :data_access
527
-
528
- # Write a Cloud Audit log
529
- # Corresponds to the JSON property `cloudAudit`
530
- # @return [Google::Apis::IamV1::CloudAuditOptions]
531
- attr_accessor :cloud_audit
475
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
476
+ # Corresponds to the JSON property `permissions`
477
+ # @return [Array<String>]
478
+ attr_accessor :permissions
532
479
 
533
480
  def initialize(**args)
534
481
  update!(**args)
@@ -536,25 +483,21 @@ module Google
536
483
 
537
484
  # Update properties of this object
538
485
  def update!(**args)
539
- @counter = args[:counter] if args.key?(:counter)
540
- @data_access = args[:data_access] if args.key?(:data_access)
541
- @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
486
+ @permissions = args[:permissions] if args.key?(:permissions)
542
487
  end
543
488
  end
544
489
 
545
- # Options for counters
546
- class CounterOptions
490
+ # The grantable role query request.
491
+ class QueryGrantableRolesRequest
547
492
  include Google::Apis::Core::Hashable
548
493
 
549
- # The metric to update.
550
- # Corresponds to the JSON property `metric`
551
- # @return [String]
552
- attr_accessor :metric
553
-
554
- # The field value to attribute.
555
- # Corresponds to the JSON property `field`
494
+ # Required. The full resource name to query from the list of grantable roles.
495
+ # The name follows the Google Cloud Platform resource format. For example, a
496
+ # Cloud Platform project with id `my-project` will be named `//
497
+ # cloudresourcemanager.googleapis.com/projects/my-project`.
498
+ # Corresponds to the JSON property `fullResourceName`
556
499
  # @return [String]
557
- attr_accessor :field
500
+ attr_accessor :full_resource_name
558
501
 
559
502
  def initialize(**args)
560
503
  update!(**args)
@@ -562,54 +505,73 @@ module Google
562
505
 
563
506
  # Update properties of this object
564
507
  def update!(**args)
565
- @metric = args[:metric] if args.key?(:metric)
566
- @field = args[:field] if args.key?(:field)
508
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
567
509
  end
568
510
  end
569
511
 
570
- # Write a Data Access (Gin) log
571
- class DataAccessOptions
512
+ # The grantable role query response.
513
+ class QueryGrantableRolesResponse
572
514
  include Google::Apis::Core::Hashable
573
515
 
516
+ # The list of matching roles.
517
+ # Corresponds to the JSON property `roles`
518
+ # @return [Array<Google::Apis::IamV1::Role>]
519
+ attr_accessor :roles
520
+
574
521
  def initialize(**args)
575
522
  update!(**args)
576
523
  end
577
524
 
578
525
  # Update properties of this object
579
526
  def update!(**args)
527
+ @roles = args[:roles] if args.key?(:roles)
580
528
  end
581
529
  end
582
530
 
583
- # Write a Cloud Audit log
584
- class CloudAuditOptions
531
+ # A role in the Identity and Access Management API.
532
+ class Role
585
533
  include Google::Apis::Core::Hashable
586
534
 
535
+ # The name of the role. When Role is used in CreateRole, the role name must not
536
+ # be set. When Role is used in output and other input such as UpdateRole, the
537
+ # role name is the complete path, e.g., roles/logging.viewer for curated roles
538
+ # and organizations/`organization-id`/roles/logging.viewer for custom roles.
539
+ # Corresponds to the JSON property `name`
540
+ # @return [String]
541
+ attr_accessor :name
542
+
543
+ # Optional. A human-readable title for the role. Typically this is limited to
544
+ # 100 UTF-8 bytes.
545
+ # Corresponds to the JSON property `title`
546
+ # @return [String]
547
+ attr_accessor :title
548
+
549
+ # Optional. A human-readable description for the role.
550
+ # Corresponds to the JSON property `description`
551
+ # @return [String]
552
+ attr_accessor :description
553
+
587
554
  def initialize(**args)
588
555
  update!(**args)
589
556
  end
590
557
 
591
558
  # Update properties of this object
592
559
  def update!(**args)
560
+ @name = args[:name] if args.key?(:name)
561
+ @title = args[:title] if args.key?(:title)
562
+ @description = args[:description] if args.key?(:description)
593
563
  end
594
564
  end
595
565
 
596
- # Request message for `SetIamPolicy` method.
597
- class SetIamPolicyRequest
566
+ # Audit log information specific to Cloud IAM. This message is serialized as an `
567
+ # Any` type in the `ServiceData` message of an `AuditLog` message.
568
+ class AuditData
598
569
  include Google::Apis::Core::Hashable
599
570
 
600
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
601
- # access control policies for Cloud Platform resources. A `Policy` consists of a
602
- # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
603
- # the members can be user accounts, Google groups, Google domains, and service
604
- # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
605
- # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
606
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
607
- # appspot.gserviceaccount.com"] `, ` "role": "roles/viewer", "members": ["user:
608
- # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
609
- # IAM developer's guide](https://cloud.google.com/iam).
610
- # Corresponds to the JSON property `policy`
611
- # @return [Google::Apis::IamV1::Policy]
612
- attr_accessor :policy
571
+ # The difference delta between two policies.
572
+ # Corresponds to the JSON property `policyDelta`
573
+ # @return [Google::Apis::IamV1::PolicyDelta]
574
+ attr_accessor :policy_delta
613
575
 
614
576
  def initialize(**args)
615
577
  update!(**args)
@@ -617,20 +579,18 @@ module Google
617
579
 
618
580
  # Update properties of this object
619
581
  def update!(**args)
620
- @policy = args[:policy] if args.key?(:policy)
582
+ @policy_delta = args[:policy_delta] if args.key?(:policy_delta)
621
583
  end
622
584
  end
623
585
 
624
- # Request message for `TestIamPermissions` method.
625
- class TestIamPermissionsRequest
586
+ # The difference delta between two policies.
587
+ class PolicyDelta
626
588
  include Google::Apis::Core::Hashable
627
589
 
628
- # The set of permissions to check for the `resource`. Permissions with wildcards
629
- # (such as '*' or 'storage.*') are not allowed. For more information see IAM
630
- # Overview.
631
- # Corresponds to the JSON property `permissions`
632
- # @return [Array<String>]
633
- attr_accessor :permissions
590
+ # The delta for Bindings between two policies.
591
+ # Corresponds to the JSON property `bindingDeltas`
592
+ # @return [Array<Google::Apis::IamV1::BindingDelta>]
593
+ attr_accessor :binding_deltas
634
594
 
635
595
  def initialize(**args)
636
596
  update!(**args)
@@ -638,18 +598,31 @@ module Google
638
598
 
639
599
  # Update properties of this object
640
600
  def update!(**args)
641
- @permissions = args[:permissions] if args.key?(:permissions)
601
+ @binding_deltas = args[:binding_deltas] if args.key?(:binding_deltas)
642
602
  end
643
603
  end
644
604
 
645
- # Response message for `TestIamPermissions` method.
646
- class TestIamPermissionsResponse
605
+ # One delta entry for Binding. Each individual change (only one member in each
606
+ # entry) to a binding will be a separate entry.
607
+ class BindingDelta
647
608
  include Google::Apis::Core::Hashable
648
609
 
649
- # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
650
- # Corresponds to the JSON property `permissions`
651
- # @return [Array<String>]
652
- attr_accessor :permissions
610
+ # The action that was performed on a Binding. Required
611
+ # Corresponds to the JSON property `action`
612
+ # @return [String]
613
+ attr_accessor :action
614
+
615
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
616
+ # , or `roles/owner`. Required
617
+ # Corresponds to the JSON property `role`
618
+ # @return [String]
619
+ attr_accessor :role
620
+
621
+ # A single identity requesting access for a Cloud Platform resource. Follows the
622
+ # same format of Binding.members. Required
623
+ # Corresponds to the JSON property `member`
624
+ # @return [String]
625
+ attr_accessor :member
653
626
 
654
627
  def initialize(**args)
655
628
  update!(**args)
@@ -657,7 +630,9 @@ module Google
657
630
 
658
631
  # Update properties of this object
659
632
  def update!(**args)
660
- @permissions = args[:permissions] if args.key?(:permissions)
633
+ @action = args[:action] if args.key?(:action)
634
+ @role = args[:role] if args.key?(:role)
635
+ @member = args[:member] if args.key?(:member)
661
636
  end
662
637
  end
663
638
  end