google-api-client 0.9.15 → 0.9.18

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