google-api-client 0.9.26 → 0.9.28

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