google-api-client 0.9.26 → 0.9.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/api_names.yaml +36326 -36213
  5. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +155 -155
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +32 -32
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +104 -104
  9. data/generated/google/apis/adsense_v1_4.rb +1 -1
  10. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  11. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  12. data/generated/google/apis/appstate_v1.rb +1 -1
  13. data/generated/google/apis/calendar_v3.rb +1 -1
  14. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  15. data/generated/google/apis/cloudbuild_v1/classes.rb +260 -248
  16. data/generated/google/apis/cloudbuild_v1/representations.rb +47 -45
  17. data/generated/google/apis/cloudbuild_v1/service.rb +167 -167
  18. data/generated/google/apis/clouddebugger_v2.rb +3 -3
  19. data/generated/google/apis/clouddebugger_v2/classes.rb +569 -569
  20. data/generated/google/apis/clouddebugger_v2/representations.rb +146 -146
  21. data/generated/google/apis/clouddebugger_v2/service.rb +145 -145
  22. data/generated/google/apis/cloudkms_v1beta1.rb +4 -3
  23. data/generated/google/apis/cloudkms_v1beta1/classes.rb +428 -428
  24. data/generated/google/apis/cloudkms_v1beta1/representations.rb +115 -115
  25. data/generated/google/apis/cloudkms_v1beta1/service.rb +161 -160
  26. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  27. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  28. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +583 -583
  29. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +100 -100
  30. data/generated/google/apis/cloudresourcemanager_v1/service.rb +116 -116
  31. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  32. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +195 -195
  33. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +58 -58
  34. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +316 -316
  35. data/generated/google/apis/content_v2.rb +1 -1
  36. data/generated/google/apis/content_v2/classes.rb +12 -0
  37. data/generated/google/apis/content_v2/representations.rb +2 -0
  38. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  39. data/generated/google/apis/dataflow_v1b3/classes.rb +2833 -2694
  40. data/generated/google/apis/dataflow_v1b3/representations.rb +666 -666
  41. data/generated/google/apis/dataflow_v1b3/service.rb +351 -349
  42. data/generated/google/apis/datastore_v1.rb +1 -1
  43. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  44. data/generated/google/apis/deploymentmanager_v2/classes.rb +21 -12
  45. data/generated/google/apis/deploymentmanager_v2/representations.rb +1 -0
  46. data/generated/google/apis/deploymentmanager_v2/service.rb +5 -5
  47. data/generated/google/apis/dns_v1.rb +1 -1
  48. data/generated/google/apis/dns_v2beta1.rb +1 -1
  49. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  50. data/generated/google/apis/doubleclicksearch_v2/classes.rb +6 -4
  51. data/generated/google/apis/drive_v2.rb +1 -1
  52. data/generated/google/apis/drive_v2/classes.rb +26 -0
  53. data/generated/google/apis/drive_v2/representations.rb +14 -0
  54. data/generated/google/apis/drive_v2/service.rb +38 -2
  55. data/generated/google/apis/drive_v3.rb +1 -1
  56. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  57. data/generated/google/apis/games_management_v1management.rb +1 -1
  58. data/generated/google/apis/games_v1.rb +1 -1
  59. data/generated/google/apis/genomics_v1.rb +4 -4
  60. data/generated/google/apis/genomics_v1/classes.rb +2317 -2317
  61. data/generated/google/apis/genomics_v1/representations.rb +476 -476
  62. data/generated/google/apis/genomics_v1/service.rb +1038 -1038
  63. data/generated/google/apis/gmail_v1.rb +1 -1
  64. data/generated/google/apis/gmail_v1/classes.rb +82 -1
  65. data/generated/google/apis/gmail_v1/representations.rb +33 -0
  66. data/generated/google/apis/gmail_v1/service.rb +215 -5
  67. data/generated/google/apis/iam_v1.rb +1 -1
  68. data/generated/google/apis/iam_v1/classes.rb +446 -343
  69. data/generated/google/apis/iam_v1/representations.rb +112 -85
  70. data/generated/google/apis/iam_v1/service.rb +248 -192
  71. data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
  72. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  73. data/generated/google/apis/kgsearch_v1/service.rb +15 -15
  74. data/generated/google/apis/language_v1beta1.rb +1 -1
  75. data/generated/google/apis/language_v1beta1/classes.rb +396 -396
  76. data/generated/google/apis/language_v1beta1/representations.rb +97 -97
  77. data/generated/google/apis/language_v1beta1/service.rb +42 -42
  78. data/generated/google/apis/logging_v2beta1.rb +1 -1
  79. data/generated/google/apis/logging_v2beta1/classes.rb +855 -855
  80. data/generated/google/apis/logging_v2beta1/representations.rb +155 -155
  81. data/generated/google/apis/logging_v2beta1/service.rb +214 -214
  82. data/generated/google/apis/monitoring_v3.rb +4 -4
  83. data/generated/google/apis/monitoring_v3/classes.rb +551 -551
  84. data/generated/google/apis/monitoring_v3/representations.rb +123 -123
  85. data/generated/google/apis/monitoring_v3/service.rb +80 -80
  86. data/generated/google/apis/plus_domains_v1.rb +1 -1
  87. data/generated/google/apis/plus_v1.rb +1 -1
  88. data/generated/google/apis/pubsub_v1.rb +3 -3
  89. data/generated/google/apis/pubsub_v1/classes.rb +391 -391
  90. data/generated/google/apis/pubsub_v1/representations.rb +83 -83
  91. data/generated/google/apis/pubsub_v1/service.rb +257 -257
  92. data/generated/google/apis/sheets_v4.rb +1 -1
  93. data/generated/google/apis/sheets_v4/classes.rb +4334 -4334
  94. data/generated/google/apis/sheets_v4/representations.rb +861 -861
  95. data/generated/google/apis/sheets_v4/service.rb +191 -191
  96. data/generated/google/apis/slides_v1.rb +7 -7
  97. data/generated/google/apis/slides_v1/classes.rb +2726 -2555
  98. data/generated/google/apis/slides_v1/representations.rb +678 -607
  99. data/generated/google/apis/slides_v1/service.rb +16 -16
  100. data/generated/google/apis/speech_v1beta1.rb +1 -1
  101. data/generated/google/apis/speech_v1beta1/classes.rb +57 -59
  102. data/generated/google/apis/speech_v1beta1/representations.rb +9 -9
  103. data/generated/google/apis/speech_v1beta1/service.rb +63 -63
  104. data/generated/google/apis/storage_v1.rb +1 -1
  105. data/generated/google/apis/storage_v1/classes.rb +4 -3
  106. data/generated/google/apis/vision_v1/classes.rb +925 -925
  107. data/generated/google/apis/vision_v1/representations.rb +134 -134
  108. data/generated/google/apis/vision_v1/service.rb +4 -4
  109. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  110. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  111. data/generated/google/apis/youtube_v3.rb +1 -1
  112. data/generated/google/apis/youtube_v3/classes.rb +234 -1
  113. data/generated/google/apis/youtube_v3/representations.rb +83 -0
  114. data/generated/google/apis/youtube_v3/service.rb +55 -0
  115. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  116. data/generated/google/apis/youtubereporting_v1/classes.rb +105 -105
  117. data/generated/google/apis/youtubereporting_v1/representations.rb +31 -31
  118. data/generated/google/apis/youtubereporting_v1/service.rb +78 -78
  119. data/lib/google/apis/core/api_command.rb +11 -5
  120. data/lib/google/apis/core/base_service.rb +7 -5
  121. data/lib/google/apis/errors.rb +4 -0
  122. data/lib/google/apis/version.rb +1 -1
  123. metadata +28 -28
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/gmail/api/
26
26
  module GmailV1
27
27
  VERSION = 'V1'
28
- REVISION = '20170124'
28
+ REVISION = '20170131'
29
29
 
30
30
  # View and manage your mail
31
31
  AUTH_SCOPE = 'https://mail.google.com/'
@@ -725,6 +725,25 @@ module Google
725
725
  end
726
726
  end
727
727
 
728
+ #
729
+ class ListSmimeInfoResponse
730
+ include Google::Apis::Core::Hashable
731
+
732
+ # List of SmimeInfo.
733
+ # Corresponds to the JSON property `smimeInfo`
734
+ # @return [Array<Google::Apis::GmailV1::SmimeInfo>]
735
+ attr_accessor :smime_info
736
+
737
+ def initialize(**args)
738
+ update!(**args)
739
+ end
740
+
741
+ # Update properties of this object
742
+ def update!(**args)
743
+ @smime_info = args[:smime_info] if args.key?(:smime_info)
744
+ end
745
+ end
746
+
728
747
  #
729
748
  class ListThreadsResponse
730
749
  include Google::Apis::Core::Hashable
@@ -1153,6 +1172,68 @@ module Google
1153
1172
  end
1154
1173
  end
1155
1174
 
1175
+ # An S/MIME email config.
1176
+ class SmimeInfo
1177
+ include Google::Apis::Core::Hashable
1178
+
1179
+ # Encrypted key password, when key is encrypted.
1180
+ # Corresponds to the JSON property `encryptedKeyPassword`
1181
+ # @return [String]
1182
+ attr_accessor :encrypted_key_password
1183
+
1184
+ # When the certificate expires (in milliseconds since epoch).
1185
+ # Corresponds to the JSON property `expiration`
1186
+ # @return [String]
1187
+ attr_accessor :expiration
1188
+
1189
+ # The immutable ID for the SmimeInfo.
1190
+ # Corresponds to the JSON property `id`
1191
+ # @return [String]
1192
+ attr_accessor :id
1193
+
1194
+ # Whether this SmimeInfo is the default one for this user's send-as address.
1195
+ # Corresponds to the JSON property `isDefault`
1196
+ # @return [Boolean]
1197
+ attr_accessor :is_default
1198
+ alias_method :is_default?, :is_default
1199
+
1200
+ # The S/MIME certificate issuer's common name.
1201
+ # Corresponds to the JSON property `issuerCn`
1202
+ # @return [String]
1203
+ attr_accessor :issuer_cn
1204
+
1205
+ # PEM formatted X509 concatenated certificate string (standard base64 encoding).
1206
+ # Format used for returning key, which includes public key as well as
1207
+ # certificate chain (not private key).
1208
+ # Corresponds to the JSON property `pem`
1209
+ # @return [String]
1210
+ attr_accessor :pem
1211
+
1212
+ # PKCS#12 format containing a single private/public key pair and certificate
1213
+ # chain. This format is only accepted from client for creating a new SmimeInfo
1214
+ # and is never returned, because the private key is not intended to be exported.
1215
+ # PKCS#12 may be encrypted, in which case encryptedKeyPassword should be set
1216
+ # appropriately.
1217
+ # Corresponds to the JSON property `pkcs12`
1218
+ # @return [String]
1219
+ attr_accessor :pkcs12
1220
+
1221
+ def initialize(**args)
1222
+ update!(**args)
1223
+ end
1224
+
1225
+ # Update properties of this object
1226
+ def update!(**args)
1227
+ @encrypted_key_password = args[:encrypted_key_password] if args.key?(:encrypted_key_password)
1228
+ @expiration = args[:expiration] if args.key?(:expiration)
1229
+ @id = args[:id] if args.key?(:id)
1230
+ @is_default = args[:is_default] if args.key?(:is_default)
1231
+ @issuer_cn = args[:issuer_cn] if args.key?(:issuer_cn)
1232
+ @pem = args[:pem] if args.key?(:pem)
1233
+ @pkcs12 = args[:pkcs12] if args.key?(:pkcs12)
1234
+ end
1235
+ end
1236
+
1156
1237
  # Configuration for communication with an SMTP service.
1157
1238
  class SmtpMsa
1158
1239
  include Google::Apis::Core::Hashable
@@ -1282,7 +1363,7 @@ module Google
1282
1363
  alias_method :restrict_to_contacts?, :restrict_to_contacts
1283
1364
 
1284
1365
  # Flag that determines whether responses are sent to recipients who are outside
1285
- # of the user's domain. This feature is only available for Google Apps users.
1366
+ # of the user's domain. This feature is only available for G Suite users.
1286
1367
  # Corresponds to the JSON property `restrictToDomain`
1287
1368
  # @return [Boolean]
1288
1369
  attr_accessor :restrict_to_domain
@@ -154,6 +154,12 @@ module Google
154
154
  include Google::Apis::Core::JsonObjectSupport
155
155
  end
156
156
 
157
+ class ListSmimeInfoResponse
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
157
163
  class ListThreadsResponse
158
164
  class Representation < Google::Apis::Core::JsonRepresentation; end
159
165
 
@@ -214,6 +220,12 @@ module Google
214
220
  include Google::Apis::Core::JsonObjectSupport
215
221
  end
216
222
 
223
+ class SmimeInfo
224
+ class Representation < Google::Apis::Core::JsonRepresentation; end
225
+
226
+ include Google::Apis::Core::JsonObjectSupport
227
+ end
228
+
217
229
  class SmtpMsa
218
230
  class Representation < Google::Apis::Core::JsonRepresentation; end
219
231
 
@@ -459,6 +471,14 @@ module Google
459
471
  end
460
472
  end
461
473
 
474
+ class ListSmimeInfoResponse
475
+ # @private
476
+ class Representation < Google::Apis::Core::JsonRepresentation
477
+ collection :smime_info, as: 'smimeInfo', class: Google::Apis::GmailV1::SmimeInfo, decorator: Google::Apis::GmailV1::SmimeInfo::Representation
478
+
479
+ end
480
+ end
481
+
462
482
  class ListThreadsResponse
463
483
  # @private
464
484
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -567,6 +587,19 @@ module Google
567
587
  end
568
588
  end
569
589
 
590
+ class SmimeInfo
591
+ # @private
592
+ class Representation < Google::Apis::Core::JsonRepresentation
593
+ property :encrypted_key_password, as: 'encryptedKeyPassword'
594
+ property :expiration, as: 'expiration'
595
+ property :id, as: 'id'
596
+ property :is_default, as: 'isDefault'
597
+ property :issuer_cn, as: 'issuerCn'
598
+ property :pem, as: 'pem'
599
+ property :pkcs12, :base64 => true, as: 'pkcs12'
600
+ end
601
+ end
602
+
570
603
  class SmtpMsa
571
604
  # @private
572
605
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -447,6 +447,8 @@ module Google
447
447
  # @param [String] user_id
448
448
  # The user's email address. The special value me can be used to indicate the
449
449
  # authenticated user.
450
+ # @param [Array<String>, String] history_types
451
+ # History types to be returned by the function
450
452
  # @param [String] label_id
451
453
  # Only return messages with a label matching the ID.
452
454
  # @param [Fixnum] max_results
@@ -485,11 +487,12 @@ module Google
485
487
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
486
488
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
487
489
  # @raise [Google::Apis::AuthorizationError] Authorization is required
488
- def list_user_histories(user_id, label_id: nil, max_results: nil, page_token: nil, start_history_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
490
+ def list_user_histories(user_id, history_types: nil, label_id: nil, max_results: nil, page_token: nil, start_history_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
489
491
  command = make_simple_command(:get, '{userId}/history', options)
490
492
  command.response_representation = Google::Apis::GmailV1::ListHistoryResponse::Representation
491
493
  command.response_class = Google::Apis::GmailV1::ListHistoryResponse
492
494
  command.params['userId'] = user_id unless user_id.nil?
495
+ command.query['historyTypes'] = history_types unless history_types.nil?
493
496
  command.query['labelId'] = label_id unless label_id.nil?
494
497
  command.query['maxResults'] = max_results unless max_results.nil?
495
498
  command.query['pageToken'] = page_token unless page_token.nil?
@@ -903,8 +906,7 @@ module Google
903
906
  # @param [Google::Apis::GmailV1::Message] message_object
904
907
  # @param [Boolean] deleted
905
908
  # Mark the email as permanently deleted (not TRASH) and only visible in Google
906
- # Apps Vault to a Vault administrator. Only used for Google Apps for Work
907
- # accounts.
909
+ # Vault to a Vault administrator. Only used for G Suite accounts.
908
910
  # @param [String] internal_date_source
909
911
  # Source for Gmail's internal date of the message.
910
912
  # @param [Boolean] never_mark_spam
@@ -969,8 +971,7 @@ module Google
969
971
  # @param [Google::Apis::GmailV1::Message] message_object
970
972
  # @param [Boolean] deleted
971
973
  # Mark the email as permanently deleted (not TRASH) and only visible in Google
972
- # Apps Vault to a Vault administrator. Only used for Google Apps for Work
973
- # accounts.
974
+ # Vault to a Vault administrator. Only used for G Suite accounts.
974
975
  # @param [String] internal_date_source
975
976
  # Source for Gmail's internal date of the message.
976
977
  # @param [String] fields
@@ -2176,6 +2177,215 @@ module Google
2176
2177
  execute_or_queue_command(command, &block)
2177
2178
  end
2178
2179
 
2180
+ # Deletes the specified S/MIME config for the specified send-as alias.
2181
+ # @param [String] user_id
2182
+ # The user's email address. The special value me can be used to indicate the
2183
+ # authenticated user.
2184
+ # @param [String] send_as_email
2185
+ # The email address that appears in the "From:" header for mail sent using this
2186
+ # alias.
2187
+ # @param [String] id
2188
+ # The immutable ID for the SmimeInfo.
2189
+ # @param [String] fields
2190
+ # Selector specifying which fields to include in a partial response.
2191
+ # @param [String] quota_user
2192
+ # Available to use for quota purposes for server-side applications. Can be any
2193
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2194
+ # Overrides userIp if both are provided.
2195
+ # @param [String] user_ip
2196
+ # IP address of the site where the request originates. Use this if you want to
2197
+ # enforce per-user limits.
2198
+ # @param [Google::Apis::RequestOptions] options
2199
+ # Request-specific options
2200
+ #
2201
+ # @yield [result, err] Result & error if block supplied
2202
+ # @yieldparam result [NilClass] No result returned for this method
2203
+ # @yieldparam err [StandardError] error object if request failed
2204
+ #
2205
+ # @return [void]
2206
+ #
2207
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2208
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2209
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2210
+ def delete_user_setting_send_a_smime_info(user_id, send_as_email, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
2211
+ command = make_simple_command(:delete, '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}', options)
2212
+ command.params['userId'] = user_id unless user_id.nil?
2213
+ command.params['sendAsEmail'] = send_as_email unless send_as_email.nil?
2214
+ command.params['id'] = id unless id.nil?
2215
+ command.query['fields'] = fields unless fields.nil?
2216
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2217
+ command.query['userIp'] = user_ip unless user_ip.nil?
2218
+ execute_or_queue_command(command, &block)
2219
+ end
2220
+
2221
+ # Gets the specified S/MIME config for the specified send-as alias.
2222
+ # @param [String] user_id
2223
+ # The user's email address. The special value me can be used to indicate the
2224
+ # authenticated user.
2225
+ # @param [String] send_as_email
2226
+ # The email address that appears in the "From:" header for mail sent using this
2227
+ # alias.
2228
+ # @param [String] id
2229
+ # The immutable ID for the SmimeInfo.
2230
+ # @param [String] fields
2231
+ # Selector specifying which fields to include in a partial response.
2232
+ # @param [String] quota_user
2233
+ # Available to use for quota purposes for server-side applications. Can be any
2234
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2235
+ # Overrides userIp if both are provided.
2236
+ # @param [String] user_ip
2237
+ # IP address of the site where the request originates. Use this if you want to
2238
+ # enforce per-user limits.
2239
+ # @param [Google::Apis::RequestOptions] options
2240
+ # Request-specific options
2241
+ #
2242
+ # @yield [result, err] Result & error if block supplied
2243
+ # @yieldparam result [Google::Apis::GmailV1::SmimeInfo] parsed result object
2244
+ # @yieldparam err [StandardError] error object if request failed
2245
+ #
2246
+ # @return [Google::Apis::GmailV1::SmimeInfo]
2247
+ #
2248
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2249
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2250
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2251
+ def get_user_setting_send_a_smime_info(user_id, send_as_email, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
2252
+ command = make_simple_command(:get, '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}', options)
2253
+ command.response_representation = Google::Apis::GmailV1::SmimeInfo::Representation
2254
+ command.response_class = Google::Apis::GmailV1::SmimeInfo
2255
+ command.params['userId'] = user_id unless user_id.nil?
2256
+ command.params['sendAsEmail'] = send_as_email unless send_as_email.nil?
2257
+ command.params['id'] = id unless id.nil?
2258
+ command.query['fields'] = fields unless fields.nil?
2259
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2260
+ command.query['userIp'] = user_ip unless user_ip.nil?
2261
+ execute_or_queue_command(command, &block)
2262
+ end
2263
+
2264
+ # Insert (upload) the given S/MIME config for the specified send-as alias. Note
2265
+ # that pkcs12 format is required for the key.
2266
+ # @param [String] user_id
2267
+ # The user's email address. The special value me can be used to indicate the
2268
+ # authenticated user.
2269
+ # @param [String] send_as_email
2270
+ # The email address that appears in the "From:" header for mail sent using this
2271
+ # alias.
2272
+ # @param [Google::Apis::GmailV1::SmimeInfo] smime_info_object
2273
+ # @param [String] fields
2274
+ # Selector specifying which fields to include in a partial response.
2275
+ # @param [String] quota_user
2276
+ # Available to use for quota purposes for server-side applications. Can be any
2277
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2278
+ # Overrides userIp if both are provided.
2279
+ # @param [String] user_ip
2280
+ # IP address of the site where the request originates. Use this if you want to
2281
+ # enforce per-user limits.
2282
+ # @param [Google::Apis::RequestOptions] options
2283
+ # Request-specific options
2284
+ #
2285
+ # @yield [result, err] Result & error if block supplied
2286
+ # @yieldparam result [Google::Apis::GmailV1::SmimeInfo] parsed result object
2287
+ # @yieldparam err [StandardError] error object if request failed
2288
+ #
2289
+ # @return [Google::Apis::GmailV1::SmimeInfo]
2290
+ #
2291
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2292
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2293
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2294
+ def insert_user_setting_send_a_smime_info(user_id, send_as_email, smime_info_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
2295
+ command = make_simple_command(:post, '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo', options)
2296
+ command.request_representation = Google::Apis::GmailV1::SmimeInfo::Representation
2297
+ command.request_object = smime_info_object
2298
+ command.response_representation = Google::Apis::GmailV1::SmimeInfo::Representation
2299
+ command.response_class = Google::Apis::GmailV1::SmimeInfo
2300
+ command.params['userId'] = user_id unless user_id.nil?
2301
+ command.params['sendAsEmail'] = send_as_email unless send_as_email.nil?
2302
+ command.query['fields'] = fields unless fields.nil?
2303
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2304
+ command.query['userIp'] = user_ip unless user_ip.nil?
2305
+ execute_or_queue_command(command, &block)
2306
+ end
2307
+
2308
+ # Lists S/MIME configs for the specified send-as alias.
2309
+ # @param [String] user_id
2310
+ # The user's email address. The special value me can be used to indicate the
2311
+ # authenticated user.
2312
+ # @param [String] send_as_email
2313
+ # The email address that appears in the "From:" header for mail sent using this
2314
+ # alias.
2315
+ # @param [String] fields
2316
+ # Selector specifying which fields to include in a partial response.
2317
+ # @param [String] quota_user
2318
+ # Available to use for quota purposes for server-side applications. Can be any
2319
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2320
+ # Overrides userIp if both are provided.
2321
+ # @param [String] user_ip
2322
+ # IP address of the site where the request originates. Use this if you want to
2323
+ # enforce per-user limits.
2324
+ # @param [Google::Apis::RequestOptions] options
2325
+ # Request-specific options
2326
+ #
2327
+ # @yield [result, err] Result & error if block supplied
2328
+ # @yieldparam result [Google::Apis::GmailV1::ListSmimeInfoResponse] parsed result object
2329
+ # @yieldparam err [StandardError] error object if request failed
2330
+ #
2331
+ # @return [Google::Apis::GmailV1::ListSmimeInfoResponse]
2332
+ #
2333
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2334
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2335
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2336
+ def list_user_setting_send_a_smime_infos(user_id, send_as_email, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
2337
+ command = make_simple_command(:get, '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo', options)
2338
+ command.response_representation = Google::Apis::GmailV1::ListSmimeInfoResponse::Representation
2339
+ command.response_class = Google::Apis::GmailV1::ListSmimeInfoResponse
2340
+ command.params['userId'] = user_id unless user_id.nil?
2341
+ command.params['sendAsEmail'] = send_as_email unless send_as_email.nil?
2342
+ command.query['fields'] = fields unless fields.nil?
2343
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2344
+ command.query['userIp'] = user_ip unless user_ip.nil?
2345
+ execute_or_queue_command(command, &block)
2346
+ end
2347
+
2348
+ # Sets the default S/MIME config for the specified send-as alias.
2349
+ # @param [String] user_id
2350
+ # The user's email address. The special value me can be used to indicate the
2351
+ # authenticated user.
2352
+ # @param [String] send_as_email
2353
+ # The email address that appears in the "From:" header for mail sent using this
2354
+ # alias.
2355
+ # @param [String] id
2356
+ # The immutable ID for the SmimeInfo.
2357
+ # @param [String] fields
2358
+ # Selector specifying which fields to include in a partial response.
2359
+ # @param [String] quota_user
2360
+ # Available to use for quota purposes for server-side applications. Can be any
2361
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2362
+ # Overrides userIp if both are provided.
2363
+ # @param [String] user_ip
2364
+ # IP address of the site where the request originates. Use this if you want to
2365
+ # enforce per-user limits.
2366
+ # @param [Google::Apis::RequestOptions] options
2367
+ # Request-specific options
2368
+ #
2369
+ # @yield [result, err] Result & error if block supplied
2370
+ # @yieldparam result [NilClass] No result returned for this method
2371
+ # @yieldparam err [StandardError] error object if request failed
2372
+ #
2373
+ # @return [void]
2374
+ #
2375
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2376
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2377
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2378
+ def set_user_setting_send_a_smime_info_default(user_id, send_as_email, id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
2379
+ command = make_simple_command(:post, '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault', options)
2380
+ command.params['userId'] = user_id unless user_id.nil?
2381
+ command.params['sendAsEmail'] = send_as_email unless send_as_email.nil?
2382
+ command.params['id'] = id unless id.nil?
2383
+ command.query['fields'] = fields unless fields.nil?
2384
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2385
+ command.query['userIp'] = user_ip unless user_ip.nil?
2386
+ execute_or_queue_command(command, &block)
2387
+ end
2388
+
2179
2389
  # Immediately and permanently deletes the specified thread. This operation
2180
2390
  # cannot be undone. Prefer threads.trash instead.
2181
2391
  # @param [String] user_id
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/iam/
28
28
  module IamV1
29
29
  VERSION = 'V1'
30
- REVISION = '20160915'
30
+ REVISION = '20170126'
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'
@@ -22,20 +22,61 @@ module Google
22
22
  module Apis
23
23
  module IamV1
24
24
 
25
- # The service account list response.
26
- class ListServiceAccountsResponse
25
+ # Represents a service account key.
26
+ # A service account has two sets of key-pairs: user-managed, and
27
+ # system-managed.
28
+ # User-managed key-pairs can be created and deleted by users. Users are
29
+ # responsible for rotating these keys periodically to ensure security of
30
+ # their service accounts. Users retain the private key of these key-pairs,
31
+ # and Google retains ONLY the public key.
32
+ # System-managed key-pairs are managed automatically by Google, and rotated
33
+ # daily without user intervention. The private key never leaves Google's
34
+ # servers to maximize security.
35
+ # Public keys for all service accounts are also published at the OAuth2
36
+ # Service Account API.
37
+ class ServiceAccountKey
27
38
  include Google::Apis::Core::Hashable
28
39
 
29
- # The list of matching service accounts.
30
- # Corresponds to the JSON property `accounts`
31
- # @return [Array<Google::Apis::IamV1::ServiceAccount>]
32
- attr_accessor :accounts
40
+ # The key can be used after this timestamp.
41
+ # Corresponds to the JSON property `validAfterTime`
42
+ # @return [String]
43
+ attr_accessor :valid_after_time
33
44
 
34
- # To retrieve the next page of results, set ListServiceAccountsRequest.
35
- # page_token to this value.
36
- # Corresponds to the JSON property `nextPageToken`
45
+ # The output format for the private key.
46
+ # Only provided in `CreateServiceAccountKey` responses, not
47
+ # in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
48
+ # Google never exposes system-managed private keys, and never retains
49
+ # user-managed private keys.
50
+ # Corresponds to the JSON property `privateKeyType`
37
51
  # @return [String]
38
- attr_accessor :next_page_token
52
+ attr_accessor :private_key_type
53
+
54
+ # The private key data. Only provided in `CreateServiceAccountKey`
55
+ # responses.
56
+ # Corresponds to the JSON property `privateKeyData`
57
+ # @return [String]
58
+ attr_accessor :private_key_data
59
+
60
+ # The public key data. Only provided in `GetServiceAccountKey` responses.
61
+ # Corresponds to the JSON property `publicKeyData`
62
+ # @return [String]
63
+ attr_accessor :public_key_data
64
+
65
+ # The resource name of the service account key in the following format
66
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`/keys/`key``.
67
+ # Corresponds to the JSON property `name`
68
+ # @return [String]
69
+ attr_accessor :name
70
+
71
+ # The key can be used before this timestamp.
72
+ # Corresponds to the JSON property `validBeforeTime`
73
+ # @return [String]
74
+ attr_accessor :valid_before_time
75
+
76
+ # Specifies the algorithm (and possibly key size) for the key.
77
+ # Corresponds to the JSON property `keyAlgorithm`
78
+ # @return [String]
79
+ attr_accessor :key_algorithm
39
80
 
40
81
  def initialize(**args)
41
82
  update!(**args)
@@ -43,67 +84,57 @@ module Google
43
84
 
44
85
  # Update properties of this object
45
86
  def update!(**args)
46
- @accounts = args[:accounts] if args.key?(:accounts)
47
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
87
+ @valid_after_time = args[:valid_after_time] if args.key?(:valid_after_time)
88
+ @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
89
+ @private_key_data = args[:private_key_data] if args.key?(:private_key_data)
90
+ @public_key_data = args[:public_key_data] if args.key?(:public_key_data)
91
+ @name = args[:name] if args.key?(:name)
92
+ @valid_before_time = args[:valid_before_time] if args.key?(:valid_before_time)
93
+ @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
48
94
  end
49
95
  end
50
96
 
51
- # A service account in the Identity and Access Management API. To create a
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.
62
- class ServiceAccount
97
+ # The service account key create request.
98
+ class CreateServiceAccountKeyRequest
63
99
  include Google::Apis::Core::Hashable
64
100
 
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``.
71
- # Corresponds to the JSON property `name`
101
+ # The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the
102
+ # default output format.
103
+ # Corresponds to the JSON property `privateKeyType`
72
104
  # @return [String]
73
- attr_accessor :name
105
+ attr_accessor :private_key_type
74
106
 
75
- # @OutputOnly The id of the project that owns the service account.
76
- # Corresponds to the JSON property `projectId`
107
+ # Which type of key and algorithm to use for the key.
108
+ # The default is currently a 4K RSA key. However this may change in the
109
+ # future.
110
+ # Corresponds to the JSON property `keyAlgorithm`
77
111
  # @return [String]
78
- attr_accessor :project_id
112
+ attr_accessor :key_algorithm
79
113
 
80
- # @OutputOnly The unique and stable id of the service account.
81
- # Corresponds to the JSON property `uniqueId`
82
- # @return [String]
83
- attr_accessor :unique_id
114
+ def initialize(**args)
115
+ update!(**args)
116
+ end
84
117
 
85
- # @OutputOnly The email address of the service account.
86
- # Corresponds to the JSON property `email`
87
- # @return [String]
88
- attr_accessor :email
118
+ # Update properties of this object
119
+ def update!(**args)
120
+ @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
121
+ @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
122
+ end
123
+ end
89
124
 
90
- # Optional. A user-specified description of the service account. Must be fewer
91
- # than 100 UTF-8 bytes.
92
- # Corresponds to the JSON property `displayName`
93
- # @return [String]
94
- attr_accessor :display_name
125
+ # The service account sign JWT response.
126
+ class SignJwtResponse
127
+ include Google::Apis::Core::Hashable
95
128
 
96
- # Used to perform a consistent read-modify-write.
97
- # Corresponds to the JSON property `etag`
129
+ # The id of the key used to sign the JWT.
130
+ # Corresponds to the JSON property `keyId`
98
131
  # @return [String]
99
- attr_accessor :etag
132
+ attr_accessor :key_id
100
133
 
101
- # @OutputOnly. The OAuth2 client id for the service account. This is used in
102
- # conjunction with the OAuth2 clientconfig API to make three legged OAuth2 (3LO)
103
- # flows to access the data of Google users.
104
- # Corresponds to the JSON property `oauth2ClientId`
134
+ # The signed JWT.
135
+ # Corresponds to the JSON property `signedJwt`
105
136
  # @return [String]
106
- attr_accessor :oauth2_client_id
137
+ attr_accessor :signed_jwt
107
138
 
108
139
  def initialize(**args)
109
140
  update!(**args)
@@ -111,42 +142,24 @@ module Google
111
142
 
112
143
  # Update properties of this object
113
144
  def update!(**args)
114
- @name = args[:name] if args.key?(:name)
115
- @project_id = args[:project_id] if args.key?(:project_id)
116
- @unique_id = args[:unique_id] if args.key?(:unique_id)
117
- @email = args[:email] if args.key?(:email)
118
- @display_name = args[:display_name] if args.key?(:display_name)
119
- @etag = args[:etag] if args.key?(:etag)
120
- @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
145
+ @key_id = args[:key_id] if args.key?(:key_id)
146
+ @signed_jwt = args[:signed_jwt] if args.key?(:signed_jwt)
121
147
  end
122
148
  end
123
149
 
124
- # The service account create request.
125
- class CreateServiceAccountRequest
150
+ # The service account sign blob response.
151
+ class SignBlobResponse
126
152
  include Google::Apis::Core::Hashable
127
153
 
128
- # Required. The account id that is used to generate the service account email
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.
132
- # Corresponds to the JSON property `accountId`
154
+ # The signed blob.
155
+ # Corresponds to the JSON property `signature`
133
156
  # @return [String]
134
- attr_accessor :account_id
157
+ attr_accessor :signature
135
158
 
136
- # A service account in the Identity and Access Management API. To create a
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.
147
- # Corresponds to the JSON property `serviceAccount`
148
- # @return [Google::Apis::IamV1::ServiceAccount]
149
- attr_accessor :service_account
159
+ # The id of the key used to sign the blob.
160
+ # Corresponds to the JSON property `keyId`
161
+ # @return [String]
162
+ attr_accessor :key_id
150
163
 
151
164
  def initialize(**args)
152
165
  update!(**args)
@@ -154,36 +167,86 @@ module Google
154
167
 
155
168
  # Update properties of this object
156
169
  def update!(**args)
157
- @account_id = args[:account_id] if args.key?(:account_id)
158
- @service_account = args[:service_account] if args.key?(:service_account)
170
+ @signature = args[:signature] if args.key?(:signature)
171
+ @key_id = args[:key_id] if args.key?(:key_id)
159
172
  end
160
173
  end
161
174
 
162
- # A generic empty message that you can re-use to avoid defining duplicated empty
163
- # messages in your APIs. A typical example is to use it as the request or the
164
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
165
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
166
- # `Empty` is empty JSON object ````.
167
- class Empty
175
+ # Request message for `TestIamPermissions` method.
176
+ class TestIamPermissionsRequest
168
177
  include Google::Apis::Core::Hashable
169
178
 
179
+ # The set of permissions to check for the `resource`. Permissions with
180
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
181
+ # information see
182
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
183
+ # Corresponds to the JSON property `permissions`
184
+ # @return [Array<String>]
185
+ attr_accessor :permissions
186
+
170
187
  def initialize(**args)
171
188
  update!(**args)
172
189
  end
173
190
 
174
191
  # Update properties of this object
175
192
  def update!(**args)
193
+ @permissions = args[:permissions] if args.key?(:permissions)
176
194
  end
177
195
  end
178
196
 
179
- # The service account keys list response.
180
- class ListServiceAccountKeysResponse
197
+ # Defines an Identity and Access Management (IAM) policy. It is used to
198
+ # specify access control policies for Cloud Platform resources.
199
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
200
+ # `members` to a `role`, where the members can be user accounts, Google groups,
201
+ # Google domains, and service accounts. A `role` is a named list of permissions
202
+ # defined by IAM.
203
+ # **Example**
204
+ # `
205
+ # "bindings": [
206
+ # `
207
+ # "role": "roles/owner",
208
+ # "members": [
209
+ # "user:mike@example.com",
210
+ # "group:admins@example.com",
211
+ # "domain:google.com",
212
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
213
+ # ]
214
+ # `,
215
+ # `
216
+ # "role": "roles/viewer",
217
+ # "members": ["user:sean@example.com"]
218
+ # `
219
+ # ]
220
+ # `
221
+ # For a description of IAM and its features, see the
222
+ # [IAM developer's guide](https://cloud.google.com/iam).
223
+ class Policy
181
224
  include Google::Apis::Core::Hashable
182
225
 
183
- # The public keys for the service account.
184
- # Corresponds to the JSON property `keys`
185
- # @return [Array<Google::Apis::IamV1::ServiceAccountKey>]
186
- attr_accessor :keys
226
+ # `etag` is used for optimistic concurrency control as a way to help
227
+ # prevent simultaneous updates of a policy from overwriting each other.
228
+ # It is strongly suggested that systems make use of the `etag` in the
229
+ # read-modify-write cycle to perform policy updates in order to avoid race
230
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
231
+ # systems are expected to put that etag in the request to `setIamPolicy` to
232
+ # ensure that their change will be applied to the same version of the policy.
233
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
234
+ # policy is overwritten blindly.
235
+ # Corresponds to the JSON property `etag`
236
+ # @return [String]
237
+ attr_accessor :etag
238
+
239
+ # Version of the `Policy`. The default version is 0.
240
+ # Corresponds to the JSON property `version`
241
+ # @return [Fixnum]
242
+ attr_accessor :version
243
+
244
+ # Associates a list of `members` to a `role`.
245
+ # Multiple `bindings` must not be specified for the same `role`.
246
+ # `bindings` with no members will result in an error.
247
+ # Corresponds to the JSON property `bindings`
248
+ # @return [Array<Google::Apis::IamV1::Binding>]
249
+ attr_accessor :bindings
187
250
 
188
251
  def initialize(**args)
189
252
  update!(**args)
@@ -191,60 +254,76 @@ module Google
191
254
 
192
255
  # Update properties of this object
193
256
  def update!(**args)
194
- @keys = args[:keys] if args.key?(:keys)
257
+ @etag = args[:etag] if args.key?(:etag)
258
+ @version = args[:version] if args.key?(:version)
259
+ @bindings = args[:bindings] if args.key?(:bindings)
195
260
  end
196
261
  end
197
262
 
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.
207
- class ServiceAccountKey
263
+ # The service account sign JWT request.
264
+ class SignJwtRequest
208
265
  include Google::Apis::Core::Hashable
209
266
 
210
- # The resource name of the service account key in the following format `projects/
211
- # `project`/serviceAccounts/`account`/keys/`key``.
212
- # Corresponds to the JSON property `name`
267
+ # The JWT payload to sign, a JSON JWT Claim set.
268
+ # Corresponds to the JSON property `payload`
213
269
  # @return [String]
214
- attr_accessor :name
270
+ attr_accessor :payload
215
271
 
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.
220
- # Corresponds to the JSON property `privateKeyType`
221
- # @return [String]
222
- attr_accessor :private_key_type
272
+ def initialize(**args)
273
+ update!(**args)
274
+ end
223
275
 
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
276
+ # Update properties of this object
277
+ def update!(**args)
278
+ @payload = args[:payload] if args.key?(:payload)
279
+ end
280
+ end
228
281
 
229
- # The private key data. Only provided in `CreateServiceAccountKey` responses.
230
- # Corresponds to the JSON property `privateKeyData`
231
- # @return [String]
232
- attr_accessor :private_key_data
282
+ # Audit log information specific to Cloud IAM. This message is serialized
283
+ # as an `Any` type in the `ServiceData` message of an
284
+ # `AuditLog` message.
285
+ class AuditData
286
+ include Google::Apis::Core::Hashable
233
287
 
234
- # The public key data. Only provided in `GetServiceAccountKey` responses.
235
- # Corresponds to the JSON property `publicKeyData`
288
+ # The difference delta between two policies.
289
+ # Corresponds to the JSON property `policyDelta`
290
+ # @return [Google::Apis::IamV1::PolicyDelta]
291
+ attr_accessor :policy_delta
292
+
293
+ def initialize(**args)
294
+ update!(**args)
295
+ end
296
+
297
+ # Update properties of this object
298
+ def update!(**args)
299
+ @policy_delta = args[:policy_delta] if args.key?(:policy_delta)
300
+ end
301
+ end
302
+
303
+ # One delta entry for Binding. Each individual change (only one member in each
304
+ # entry) to a binding will be a separate entry.
305
+ class BindingDelta
306
+ include Google::Apis::Core::Hashable
307
+
308
+ # The action that was performed on a Binding.
309
+ # Required
310
+ # Corresponds to the JSON property `action`
236
311
  # @return [String]
237
- attr_accessor :public_key_data
312
+ attr_accessor :action
238
313
 
239
- # The key can be used after this timestamp.
240
- # Corresponds to the JSON property `validAfterTime`
314
+ # A single identity requesting access for a Cloud Platform resource.
315
+ # Follows the same format of Binding.members.
316
+ # Required
317
+ # Corresponds to the JSON property `member`
241
318
  # @return [String]
242
- attr_accessor :valid_after_time
319
+ attr_accessor :member
243
320
 
244
- # The key can be used before this timestamp.
245
- # Corresponds to the JSON property `validBeforeTime`
321
+ # Role that is assigned to `members`.
322
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
323
+ # Required
324
+ # Corresponds to the JSON property `role`
246
325
  # @return [String]
247
- attr_accessor :valid_before_time
326
+ attr_accessor :role
248
327
 
249
328
  def initialize(**args)
250
329
  update!(**args)
@@ -252,31 +331,20 @@ module Google
252
331
 
253
332
  # Update properties of this object
254
333
  def update!(**args)
255
- @name = args[:name] if args.key?(:name)
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)
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)
260
- @valid_after_time = args[:valid_after_time] if args.key?(:valid_after_time)
261
- @valid_before_time = args[:valid_before_time] if args.key?(:valid_before_time)
334
+ @action = args[:action] if args.key?(:action)
335
+ @member = args[:member] if args.key?(:member)
336
+ @role = args[:role] if args.key?(:role)
262
337
  end
263
338
  end
264
339
 
265
- # The service account key create request.
266
- class CreateServiceAccountKeyRequest
340
+ # The difference delta between two policies.
341
+ class PolicyDelta
267
342
  include Google::Apis::Core::Hashable
268
343
 
269
- # The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the default
270
- # output format.
271
- # Corresponds to the JSON property `privateKeyType`
272
- # @return [String]
273
- attr_accessor :private_key_type
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
344
+ # The delta for Bindings between two policies.
345
+ # Corresponds to the JSON property `bindingDeltas`
346
+ # @return [Array<Google::Apis::IamV1::BindingDelta>]
347
+ attr_accessor :binding_deltas
280
348
 
281
349
  def initialize(**args)
282
350
  update!(**args)
@@ -284,19 +352,25 @@ module Google
284
352
 
285
353
  # Update properties of this object
286
354
  def update!(**args)
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)
355
+ @binding_deltas = args[:binding_deltas] if args.key?(:binding_deltas)
289
356
  end
290
357
  end
291
358
 
292
- # The service account sign blob request.
293
- class SignBlobRequest
359
+ # The service account list response.
360
+ class ListServiceAccountsResponse
294
361
  include Google::Apis::Core::Hashable
295
362
 
296
- # The bytes to sign.
297
- # Corresponds to the JSON property `bytesToSign`
363
+ # To retrieve the next page of results, set
364
+ # ListServiceAccountsRequest.page_token
365
+ # to this value.
366
+ # Corresponds to the JSON property `nextPageToken`
298
367
  # @return [String]
299
- attr_accessor :bytes_to_sign
368
+ attr_accessor :next_page_token
369
+
370
+ # The list of matching service accounts.
371
+ # Corresponds to the JSON property `accounts`
372
+ # @return [Array<Google::Apis::IamV1::ServiceAccount>]
373
+ attr_accessor :accounts
300
374
 
301
375
  def initialize(**args)
302
376
  update!(**args)
@@ -304,23 +378,40 @@ module Google
304
378
 
305
379
  # Update properties of this object
306
380
  def update!(**args)
307
- @bytes_to_sign = args[:bytes_to_sign] if args.key?(:bytes_to_sign)
381
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
382
+ @accounts = args[:accounts] if args.key?(:accounts)
308
383
  end
309
384
  end
310
385
 
311
- # The service account sign blob response.
312
- class SignBlobResponse
386
+ # The service account create request.
387
+ class CreateServiceAccountRequest
313
388
  include Google::Apis::Core::Hashable
314
389
 
315
- # The id of the key used to sign the blob.
316
- # Corresponds to the JSON property `keyId`
317
- # @return [String]
318
- attr_accessor :key_id
390
+ # A service account in the Identity and Access Management API.
391
+ # To create a service account, specify the `project_id` and the `account_id`
392
+ # for the account. The `account_id` is unique within the project, and is used
393
+ # to generate the service account email address and a stable
394
+ # `unique_id`.
395
+ # If the account already exists, the account's resource name is returned
396
+ # in util::Status's ResourceInfo.resource_name in the format of
397
+ # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
398
+ # use the name in other methods to access the account.
399
+ # All other methods can identify the service account using the format
400
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
401
+ # Using `-` as a wildcard for the project will infer the project from
402
+ # the account. The `account` value can be the `email` address or the
403
+ # `unique_id` of the service account.
404
+ # Corresponds to the JSON property `serviceAccount`
405
+ # @return [Google::Apis::IamV1::ServiceAccount]
406
+ attr_accessor :service_account
319
407
 
320
- # The signed blob.
321
- # Corresponds to the JSON property `signature`
408
+ # Required. The account id that is used to generate the service account
409
+ # email address and a stable unique id. It is unique within a project,
410
+ # must be 6-30 characters long, and match the regular expression
411
+ # `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
412
+ # Corresponds to the JSON property `accountId`
322
413
  # @return [String]
323
- attr_accessor :signature
414
+ attr_accessor :account_id
324
415
 
325
416
  def initialize(**args)
326
417
  update!(**args)
@@ -328,47 +419,19 @@ module Google
328
419
 
329
420
  # Update properties of this object
330
421
  def update!(**args)
331
- @key_id = args[:key_id] if args.key?(:key_id)
332
- @signature = args[:signature] if args.key?(:signature)
422
+ @service_account = args[:service_account] if args.key?(:service_account)
423
+ @account_id = args[:account_id] if args.key?(:account_id)
333
424
  end
334
425
  end
335
426
 
336
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
337
- # access control policies for Cloud Platform resources. A `Policy` consists of a
338
- # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
339
- # the members can be user accounts, Google groups, Google domains, and service
340
- # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
341
- # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
342
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
343
- # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
344
- # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
345
- # IAM developer's guide](https://cloud.google.com/iam).
346
- class Policy
427
+ # The grantable role query response.
428
+ class QueryGrantableRolesResponse
347
429
  include Google::Apis::Core::Hashable
348
430
 
349
- # Version of the `Policy`. The default version is 0.
350
- # Corresponds to the JSON property `version`
351
- # @return [Fixnum]
352
- attr_accessor :version
353
-
354
- # Associates a list of `members` to a `role`. Multiple `bindings` must not be
355
- # specified for the same `role`. `bindings` with no members will result in an
356
- # error.
357
- # Corresponds to the JSON property `bindings`
358
- # @return [Array<Google::Apis::IamV1::Binding>]
359
- attr_accessor :bindings
360
-
361
- # `etag` is used for optimistic concurrency control as a way to help prevent
362
- # simultaneous updates of a policy from overwriting each other. It is strongly
363
- # suggested that systems make use of the `etag` in the read-modify-write cycle
364
- # to perform policy updates in order to avoid race conditions: An `etag` is
365
- # returned in the response to `getIamPolicy`, and systems are expected to put
366
- # that etag in the request to `setIamPolicy` to ensure that their change will be
367
- # applied to the same version of the policy. If no `etag` is provided in the
368
- # call to `setIamPolicy`, then the existing policy is overwritten blindly.
369
- # Corresponds to the JSON property `etag`
370
- # @return [String]
371
- attr_accessor :etag
431
+ # The list of matching roles.
432
+ # Corresponds to the JSON property `roles`
433
+ # @return [Array<Google::Apis::IamV1::Role>]
434
+ attr_accessor :roles
372
435
 
373
436
  def initialize(**args)
374
437
  update!(**args)
@@ -376,37 +439,18 @@ module Google
376
439
 
377
440
  # Update properties of this object
378
441
  def update!(**args)
379
- @version = args[:version] if args.key?(:version)
380
- @bindings = args[:bindings] if args.key?(:bindings)
381
- @etag = args[:etag] if args.key?(:etag)
442
+ @roles = args[:roles] if args.key?(:roles)
382
443
  end
383
444
  end
384
445
 
385
- # Associates `members` with a `role`.
386
- class Binding
446
+ # The service account sign blob request.
447
+ class SignBlobRequest
387
448
  include Google::Apis::Core::Hashable
388
449
 
389
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
390
- # , or `roles/owner`. Required
391
- # Corresponds to the JSON property `role`
450
+ # The bytes to sign.
451
+ # Corresponds to the JSON property `bytesToSign`
392
452
  # @return [String]
393
- attr_accessor :role
394
-
395
- # Specifies the identities requesting access for a Cloud Platform resource. `
396
- # members` can have the following values: * `allUsers`: A special identifier
397
- # that represents anyone who is on the internet; with or without a Google
398
- # account. * `allAuthenticatedUsers`: A special identifier that represents
399
- # anyone who is authenticated with a Google account or a service account. * `
400
- # user:`emailid``: An email address that represents a specific Google account.
401
- # For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:`
402
- # emailid``: An email address that represents a service account. For example, `
403
- # my-other-app@appspot.gserviceaccount.com`. * `group:`emailid``: An email
404
- # address that represents a Google group. For example, `admins@example.com`. * `
405
- # domain:`domain``: A Google Apps domain name that represents all the users of
406
- # that domain. For example, `google.com` or `example.com`.
407
- # Corresponds to the JSON property `members`
408
- # @return [Array<String>]
409
- attr_accessor :members
453
+ attr_accessor :bytes_to_sign
410
454
 
411
455
  def initialize(**args)
412
456
  update!(**args)
@@ -414,28 +458,33 @@ module Google
414
458
 
415
459
  # Update properties of this object
416
460
  def update!(**args)
417
- @role = args[:role] if args.key?(:role)
418
- @members = args[:members] if args.key?(:members)
461
+ @bytes_to_sign = args[:bytes_to_sign] if args.key?(:bytes_to_sign)
419
462
  end
420
463
  end
421
464
 
422
- # Request message for `SetIamPolicy` method.
423
- class SetIamPolicyRequest
465
+ # A role in the Identity and Access Management API.
466
+ class Role
424
467
  include Google::Apis::Core::Hashable
425
468
 
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
469
+ # The name of the role.
470
+ # When Role is used in CreateRole, the role name must not be set.
471
+ # When Role is used in output and other input such as UpdateRole, the role
472
+ # name is the complete path, e.g., roles/logging.viewer for curated roles
473
+ # and organizations/`ORGANIZATION_ID`/roles/logging.viewer for custom roles.
474
+ # Corresponds to the JSON property `name`
475
+ # @return [String]
476
+ attr_accessor :name
477
+
478
+ # Optional. A human-readable description for the role.
479
+ # Corresponds to the JSON property `description`
480
+ # @return [String]
481
+ attr_accessor :description
482
+
483
+ # Optional. A human-readable title for the role. Typically this
484
+ # is limited to 100 UTF-8 bytes.
485
+ # Corresponds to the JSON property `title`
486
+ # @return [String]
487
+ attr_accessor :title
439
488
 
440
489
  def initialize(**args)
441
490
  update!(**args)
@@ -443,20 +492,45 @@ module Google
443
492
 
444
493
  # Update properties of this object
445
494
  def update!(**args)
446
- @policy = args[:policy] if args.key?(:policy)
495
+ @name = args[:name] if args.key?(:name)
496
+ @description = args[:description] if args.key?(:description)
497
+ @title = args[:title] if args.key?(:title)
447
498
  end
448
499
  end
449
500
 
450
- # Request message for `TestIamPermissions` method.
451
- class TestIamPermissionsRequest
501
+ # Request message for `SetIamPolicy` method.
502
+ class SetIamPolicyRequest
452
503
  include Google::Apis::Core::Hashable
453
504
 
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`
458
- # @return [Array<String>]
459
- attr_accessor :permissions
505
+ # Defines an Identity and Access Management (IAM) policy. It is used to
506
+ # specify access control policies for Cloud Platform resources.
507
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
508
+ # `members` to a `role`, where the members can be user accounts, Google groups,
509
+ # Google domains, and service accounts. A `role` is a named list of permissions
510
+ # defined by IAM.
511
+ # **Example**
512
+ # `
513
+ # "bindings": [
514
+ # `
515
+ # "role": "roles/owner",
516
+ # "members": [
517
+ # "user:mike@example.com",
518
+ # "group:admins@example.com",
519
+ # "domain:google.com",
520
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
521
+ # ]
522
+ # `,
523
+ # `
524
+ # "role": "roles/viewer",
525
+ # "members": ["user:sean@example.com"]
526
+ # `
527
+ # ]
528
+ # `
529
+ # For a description of IAM and its features, see the
530
+ # [IAM developer's guide](https://cloud.google.com/iam).
531
+ # Corresponds to the JSON property `policy`
532
+ # @return [Google::Apis::IamV1::Policy]
533
+ attr_accessor :policy
460
534
 
461
535
  def initialize(**args)
462
536
  update!(**args)
@@ -464,18 +538,38 @@ module Google
464
538
 
465
539
  # Update properties of this object
466
540
  def update!(**args)
467
- @permissions = args[:permissions] if args.key?(:permissions)
541
+ @policy = args[:policy] if args.key?(:policy)
468
542
  end
469
543
  end
470
544
 
471
- # Response message for `TestIamPermissions` method.
472
- class TestIamPermissionsResponse
545
+ # Associates `members` with a `role`.
546
+ class Binding
473
547
  include Google::Apis::Core::Hashable
474
548
 
475
- # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
476
- # Corresponds to the JSON property `permissions`
549
+ # Specifies the identities requesting access for a Cloud Platform resource.
550
+ # `members` can have the following values:
551
+ # * `allUsers`: A special identifier that represents anyone who is
552
+ # on the internet; with or without a Google account.
553
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
554
+ # who is authenticated with a Google account or a service account.
555
+ # * `user:`emailid``: An email address that represents a specific Google
556
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
557
+ # * `serviceAccount:`emailid``: An email address that represents a service
558
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
559
+ # * `group:`emailid``: An email address that represents a Google group.
560
+ # For example, `admins@example.com`.
561
+ # * `domain:`domain``: A Google Apps domain name that represents all the
562
+ # users of that domain. For example, `google.com` or `example.com`.
563
+ # Corresponds to the JSON property `members`
477
564
  # @return [Array<String>]
478
- attr_accessor :permissions
565
+ attr_accessor :members
566
+
567
+ # Role that is assigned to `members`.
568
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
569
+ # Required
570
+ # Corresponds to the JSON property `role`
571
+ # @return [String]
572
+ attr_accessor :role
479
573
 
480
574
  def initialize(**args)
481
575
  update!(**args)
@@ -483,7 +577,8 @@ module Google
483
577
 
484
578
  # Update properties of this object
485
579
  def update!(**args)
486
- @permissions = args[:permissions] if args.key?(:permissions)
580
+ @members = args[:members] if args.key?(:members)
581
+ @role = args[:role] if args.key?(:role)
487
582
  end
488
583
  end
489
584
 
@@ -492,9 +587,9 @@ module Google
492
587
  include Google::Apis::Core::Hashable
493
588
 
494
589
  # 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`.
590
+ # The name follows the Google Cloud Platform resource format.
591
+ # For example, a Cloud Platform project with id `my-project` will be named
592
+ # `//cloudresourcemanager.googleapis.com/projects/my-project`.
498
593
  # Corresponds to the JSON property `fullResourceName`
499
594
  # @return [String]
500
595
  attr_accessor :full_resource_name
@@ -509,69 +604,85 @@ module Google
509
604
  end
510
605
  end
511
606
 
512
- # The grantable role query response.
513
- class QueryGrantableRolesResponse
607
+ # A generic empty message that you can re-use to avoid defining duplicated
608
+ # empty messages in your APIs. A typical example is to use it as the request
609
+ # or the response type of an API method. For instance:
610
+ # service Foo `
611
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
612
+ # `
613
+ # The JSON representation for `Empty` is empty JSON object ````.
614
+ class Empty
514
615
  include Google::Apis::Core::Hashable
515
616
 
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
-
521
617
  def initialize(**args)
522
618
  update!(**args)
523
619
  end
524
620
 
525
621
  # Update properties of this object
526
622
  def update!(**args)
527
- @roles = args[:roles] if args.key?(:roles)
528
623
  end
529
624
  end
530
625
 
531
- # A role in the Identity and Access Management API.
532
- class Role
626
+ # A service account in the Identity and Access Management API.
627
+ # To create a service account, specify the `project_id` and the `account_id`
628
+ # for the account. The `account_id` is unique within the project, and is used
629
+ # to generate the service account email address and a stable
630
+ # `unique_id`.
631
+ # If the account already exists, the account's resource name is returned
632
+ # in util::Status's ResourceInfo.resource_name in the format of
633
+ # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
634
+ # use the name in other methods to access the account.
635
+ # All other methods can identify the service account using the format
636
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
637
+ # Using `-` as a wildcard for the project will infer the project from
638
+ # the account. The `account` value can be the `email` address or the
639
+ # `unique_id` of the service account.
640
+ class ServiceAccount
533
641
  include Google::Apis::Core::Hashable
534
642
 
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`
643
+ # Optional. A user-specified description of the service account. Must be
644
+ # fewer than 100 UTF-8 bytes.
645
+ # Corresponds to the JSON property `displayName`
540
646
  # @return [String]
541
- attr_accessor :name
647
+ attr_accessor :display_name
542
648
 
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`
649
+ # Used to perform a consistent read-modify-write.
650
+ # Corresponds to the JSON property `etag`
546
651
  # @return [String]
547
- attr_accessor :title
652
+ attr_accessor :etag
548
653
 
549
- # Optional. A human-readable description for the role.
550
- # Corresponds to the JSON property `description`
654
+ # @OutputOnly The email address of the service account.
655
+ # Corresponds to the JSON property `email`
551
656
  # @return [String]
552
- attr_accessor :description
657
+ attr_accessor :email
553
658
 
554
- def initialize(**args)
555
- update!(**args)
556
- end
659
+ # The resource name of the service account in the following format:
660
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
661
+ # Requests using `-` as a wildcard for the project will infer the project
662
+ # from the `account` and the `account` value can be the `email` address or
663
+ # the `unique_id` of the service account.
664
+ # In responses the resource name will always be in the format
665
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
666
+ # Corresponds to the JSON property `name`
667
+ # @return [String]
668
+ attr_accessor :name
557
669
 
558
- # Update properties of this object
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)
563
- end
564
- end
670
+ # @OutputOnly The id of the project that owns the service account.
671
+ # Corresponds to the JSON property `projectId`
672
+ # @return [String]
673
+ attr_accessor :project_id
565
674
 
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
569
- include Google::Apis::Core::Hashable
675
+ # @OutputOnly The unique and stable id of the service account.
676
+ # Corresponds to the JSON property `uniqueId`
677
+ # @return [String]
678
+ attr_accessor :unique_id
570
679
 
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
680
+ # @OutputOnly. The OAuth2 client id for the service account.
681
+ # This is used in conjunction with the OAuth2 clientconfig API to make
682
+ # three legged OAuth2 (3LO) flows to access the data of Google users.
683
+ # Corresponds to the JSON property `oauth2ClientId`
684
+ # @return [String]
685
+ attr_accessor :oauth2_client_id
575
686
 
576
687
  def initialize(**args)
577
688
  update!(**args)
@@ -579,18 +690,25 @@ module Google
579
690
 
580
691
  # Update properties of this object
581
692
  def update!(**args)
582
- @policy_delta = args[:policy_delta] if args.key?(:policy_delta)
693
+ @display_name = args[:display_name] if args.key?(:display_name)
694
+ @etag = args[:etag] if args.key?(:etag)
695
+ @email = args[:email] if args.key?(:email)
696
+ @name = args[:name] if args.key?(:name)
697
+ @project_id = args[:project_id] if args.key?(:project_id)
698
+ @unique_id = args[:unique_id] if args.key?(:unique_id)
699
+ @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
583
700
  end
584
701
  end
585
702
 
586
- # The difference delta between two policies.
587
- class PolicyDelta
703
+ # Response message for `TestIamPermissions` method.
704
+ class TestIamPermissionsResponse
588
705
  include Google::Apis::Core::Hashable
589
706
 
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
707
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
708
+ # allowed.
709
+ # Corresponds to the JSON property `permissions`
710
+ # @return [Array<String>]
711
+ attr_accessor :permissions
594
712
 
595
713
  def initialize(**args)
596
714
  update!(**args)
@@ -598,31 +716,18 @@ module Google
598
716
 
599
717
  # Update properties of this object
600
718
  def update!(**args)
601
- @binding_deltas = args[:binding_deltas] if args.key?(:binding_deltas)
719
+ @permissions = args[:permissions] if args.key?(:permissions)
602
720
  end
603
721
  end
604
722
 
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
723
+ # The service account keys list response.
724
+ class ListServiceAccountKeysResponse
608
725
  include Google::Apis::Core::Hashable
609
726
 
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
727
+ # The public keys for the service account.
728
+ # Corresponds to the JSON property `keys`
729
+ # @return [Array<Google::Apis::IamV1::ServiceAccountKey>]
730
+ attr_accessor :keys
626
731
 
627
732
  def initialize(**args)
628
733
  update!(**args)
@@ -630,9 +735,7 @@ module Google
630
735
 
631
736
  # Update properties of this object
632
737
  def update!(**args)
633
- @action = args[:action] if args.key?(:action)
634
- @role = args[:role] if args.key?(:role)
635
- @member = args[:member] if args.key?(:member)
738
+ @keys = args[:keys] if args.key?(:keys)
636
739
  end
637
740
  end
638
741
  end