google-api-client 0.9.3 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +28 -3
  4. data/api_names.yaml +1 -0
  5. data/api_names_out.yaml +418 -0
  6. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  7. data/generated/google/apis/adsense_v1_4.rb +2 -3
  8. data/generated/google/apis/adsense_v1_4/service.rb +1 -2
  9. data/generated/google/apis/adsensehost_v4_1.rb +3 -3
  10. data/generated/google/apis/adsensehost_v4_1/service.rb +2 -2
  11. data/generated/google/apis/analytics_v3.rb +2 -2
  12. data/generated/google/apis/analytics_v3/classes.rb +42 -0
  13. data/generated/google/apis/analytics_v3/representations.rb +6 -0
  14. data/generated/google/apis/analytics_v3/service.rb +3 -3
  15. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  16. data/generated/google/apis/appsactivity_v1.rb +1 -1
  17. data/generated/google/apis/appsactivity_v1/classes.rb +16 -0
  18. data/generated/google/apis/appsactivity_v1/representations.rb +2 -0
  19. data/generated/google/apis/appstate_v1.rb +1 -1
  20. data/generated/google/apis/bigquery_v2.rb +1 -1
  21. data/generated/google/apis/bigquery_v2/classes.rb +200 -13
  22. data/generated/google/apis/bigquery_v2/representations.rb +54 -0
  23. data/generated/google/apis/books_v1.rb +1 -1
  24. data/generated/google/apis/books_v1/classes.rb +6 -0
  25. data/generated/google/apis/books_v1/representations.rb +1 -0
  26. data/generated/google/apis/books_v1/service.rb +4 -1
  27. data/generated/google/apis/calendar_v3.rb +1 -1
  28. data/generated/google/apis/cloudbuild_v1.rb +2 -3
  29. data/generated/google/apis/cloudbuild_v1/classes.rb +7 -0
  30. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  31. data/generated/google/apis/cloudbuild_v1/service.rb +1 -2
  32. data/generated/google/apis/clouddebugger_v2.rb +2 -2
  33. data/generated/google/apis/clouddebugger_v2/classes.rb +8 -1
  34. data/generated/google/apis/clouddebugger_v2/representations.rb +1 -0
  35. data/generated/google/apis/clouddebugger_v2/service.rb +26 -6
  36. data/generated/google/apis/cloudlatencytest_v2.rb +2 -2
  37. data/generated/google/apis/cloudlatencytest_v2/service.rb +1 -1
  38. data/generated/google/apis/cloudmonitoring_v2beta2.rb +2 -2
  39. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +1 -1
  40. data/generated/google/apis/cloudresourcemanager_v1.rb +38 -0
  41. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +355 -0
  42. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +181 -0
  43. data/generated/google/apis/cloudresourcemanager_v1/service.rb +373 -0
  44. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  45. data/generated/google/apis/clouduseraccounts_beta.rb +3 -2
  46. data/generated/google/apis/clouduseraccounts_beta/classes.rb +52 -30
  47. data/generated/google/apis/clouduseraccounts_beta/representations.rb +1 -0
  48. data/generated/google/apis/clouduseraccounts_beta/service.rb +110 -57
  49. data/generated/google/apis/compute_beta.rb +1 -1
  50. data/generated/google/apis/compute_beta/classes.rb +324 -101
  51. data/generated/google/apis/compute_beta/representations.rb +78 -0
  52. data/generated/google/apis/compute_beta/service.rb +1599 -208
  53. data/generated/google/apis/compute_v1.rb +1 -1
  54. data/generated/google/apis/compute_v1/classes.rb +96 -79
  55. data/generated/google/apis/compute_v1/service.rb +199 -169
  56. data/generated/google/apis/content_v2.rb +2 -2
  57. data/generated/google/apis/content_v2/classes.rb +6 -0
  58. data/generated/google/apis/content_v2/representations.rb +1 -0
  59. data/generated/google/apis/content_v2/service.rb +1 -1
  60. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  61. data/generated/google/apis/deploymentmanager_v2/classes.rb +6 -6
  62. data/generated/google/apis/deploymentmanager_v2/service.rb +10 -10
  63. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  64. data/generated/google/apis/doubleclicksearch_v2.rb +2 -2
  65. data/generated/google/apis/doubleclicksearch_v2/service.rb +1 -1
  66. data/generated/google/apis/drive_v2.rb +1 -1
  67. data/generated/google/apis/drive_v3.rb +1 -1
  68. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  69. data/generated/google/apis/games_management_v1management.rb +1 -1
  70. data/generated/google/apis/games_v1.rb +1 -1
  71. data/generated/google/apis/games_v1/classes.rb +9 -2
  72. data/generated/google/apis/games_v1/representations.rb +1 -0
  73. data/generated/google/apis/genomics_v1.rb +4 -5
  74. data/generated/google/apis/genomics_v1/classes.rb +51 -0
  75. data/generated/google/apis/genomics_v1/representations.rb +17 -0
  76. data/generated/google/apis/genomics_v1/service.rb +44 -8
  77. data/generated/google/apis/gmail_v1.rb +2 -2
  78. data/generated/google/apis/gmail_v1/classes.rb +19 -0
  79. data/generated/google/apis/gmail_v1/representations.rb +13 -0
  80. data/generated/google/apis/gmail_v1/service.rb +43 -2
  81. data/generated/google/apis/iam_v1.rb +36 -0
  82. data/generated/google/apis/iam_v1/classes.rb +665 -0
  83. data/generated/google/apis/iam_v1/representations.rb +325 -0
  84. data/generated/google/apis/iam_v1/service.rb +520 -0
  85. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  86. data/generated/google/apis/identitytoolkit_v3/classes.rb +306 -0
  87. data/generated/google/apis/identitytoolkit_v3/representations.rb +85 -0
  88. data/generated/google/apis/identitytoolkit_v3/service.rb +42 -1
  89. data/generated/google/apis/pagespeedonline_v2.rb +2 -2
  90. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -1
  91. data/generated/google/apis/plus_domains_v1.rb +1 -1
  92. data/generated/google/apis/plus_v1.rb +1 -1
  93. data/generated/google/apis/prediction_v1_6.rb +1 -1
  94. data/generated/google/apis/prediction_v1_6/classes.rb +1 -1
  95. data/generated/google/apis/qpx_express_v1.rb +2 -2
  96. data/generated/google/apis/qpx_express_v1/service.rb +1 -1
  97. data/generated/google/apis/replicapoolupdater_v1beta1.rb +2 -3
  98. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +1 -2
  99. data/generated/google/apis/reseller_v1.rb +2 -2
  100. data/generated/google/apis/reseller_v1/service.rb +1 -1
  101. data/generated/google/apis/site_verification_v1.rb +2 -2
  102. data/generated/google/apis/site_verification_v1/service.rb +1 -1
  103. data/generated/google/apis/storage_v1.rb +2 -2
  104. data/generated/google/apis/storage_v1/service.rb +1 -1
  105. data/generated/google/apis/tagmanager_v1.rb +2 -2
  106. data/generated/google/apis/tagmanager_v1/service.rb +1 -1
  107. data/generated/google/apis/vision_v1.rb +1 -1
  108. data/generated/google/apis/vision_v1/classes.rb +2 -2
  109. data/generated/google/apis/youtube_analytics_v1.rb +2 -2
  110. data/generated/google/apis/youtube_analytics_v1/service.rb +1 -1
  111. data/generated/google/apis/youtube_v3.rb +1 -1
  112. data/generated/google/apis/youtube_v3/classes.rb +8 -0
  113. data/generated/google/apis/youtube_v3/representations.rb +1 -0
  114. data/generated/google/apis/youtubereporting_v1.rb +3 -3
  115. data/generated/google/apis/youtubereporting_v1/classes.rb +1 -2
  116. data/generated/google/apis/youtubereporting_v1/service.rb +4 -4
  117. data/lib/google/apis/core/base_service.rb +84 -6
  118. data/lib/google/apis/version.rb +1 -1
  119. data/script/generate +2 -0
  120. data/spec/google/apis/core/service_spec.rb +66 -0
  121. metadata +10 -2
@@ -22,10 +22,9 @@ module Google
22
22
  module GenomicsV1
23
23
  # Genomics API
24
24
  #
25
- # An API to store, process, explore, and share genomic data. It supports
26
- # reference-based alignments, genetic variants, and reference genomes. This API
27
- # provides an implementation of the Global Alliance for Genomics and Health (
28
- # GA4GH) v0.5.1 API as well as several extensions.
25
+ # Stores, processes, explores and shares genomic data. This API implements the
26
+ # Global Alliance for Genomics and Health (GA4GH) v0.5.1 API as well as several
27
+ # extensions.
29
28
  #
30
29
  # @example
31
30
  # require 'google/apis/genomics_v1'
@@ -1254,6 +1253,43 @@ module Google
1254
1253
  execute_or_queue_command(command, &block)
1255
1254
  end
1256
1255
 
1256
+ # Merges the given variants with existing variants. For the definitions of
1257
+ # variants and other genomics resources, see [Fundamentals of Google Genomics](
1258
+ # https://cloud.google.com/genomics/fundamentals-of-google-genomics) Each
1259
+ # variant will be merged with an existing variant that matches its reference
1260
+ # sequence, start, end, reference bases, and alternative bases. If no such
1261
+ # variant exists, a new one will be created. When variants are merged, the call
1262
+ # information from the new variant is added to the existing variant, and other
1263
+ # fields (such as key/value pairs) are discarded.
1264
+ # @param [Google::Apis::GenomicsV1::MergeVariantsRequest] merge_variants_request_object
1265
+ # @param [String] fields
1266
+ # Selector specifying which fields to include in a partial response.
1267
+ # @param [String] quota_user
1268
+ # Available to use for quota purposes for server-side applications. Can be any
1269
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1270
+ # @param [Google::Apis::RequestOptions] options
1271
+ # Request-specific options
1272
+ #
1273
+ # @yield [result, err] Result & error if block supplied
1274
+ # @yieldparam result [Google::Apis::GenomicsV1::Empty] parsed result object
1275
+ # @yieldparam err [StandardError] error object if request failed
1276
+ #
1277
+ # @return [Google::Apis::GenomicsV1::Empty]
1278
+ #
1279
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1280
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1281
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1282
+ def merge_variants(merge_variants_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1283
+ command = make_simple_command(:post, 'v1/variants:merge', options)
1284
+ command.request_representation = Google::Apis::GenomicsV1::MergeVariantsRequest::Representation
1285
+ command.request_object = merge_variants_request_object
1286
+ command.response_representation = Google::Apis::GenomicsV1::Empty::Representation
1287
+ command.response_class = Google::Apis::GenomicsV1::Empty
1288
+ command.query['fields'] = fields unless fields.nil?
1289
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1290
+ execute_or_queue_command(command, &block)
1291
+ end
1292
+
1257
1293
  # Returns a stream of all the variants matching the search request, ordered by
1258
1294
  # reference name, position, and ID.
1259
1295
  # @param [Google::Apis::GenomicsV1::StreamVariantsRequest] stream_variants_request_object
@@ -1421,10 +1457,10 @@ module Google
1421
1457
  execute_or_queue_command(command, &block)
1422
1458
  end
1423
1459
 
1424
- # Deletes the contents of a variant set. The variant set object is not deleted.
1425
- # For the definitions of variant sets and other genomics resources, see [
1426
- # Fundamentals of Google Genomics](https://cloud.google.com/genomics/
1427
- # fundamentals-of-google-genomics)
1460
+ # Deletes a variant set including all variants, call sets, and calls within.
1461
+ # This is not reversible. For the definitions of variant sets and other genomics
1462
+ # resources, see [Fundamentals of Google Genomics](https://cloud.google.com/
1463
+ # genomics/fundamentals-of-google-genomics)
1428
1464
  # @param [String] variant_set_id
1429
1465
  # The ID of the variant set to be deleted.
1430
1466
  # @param [String] fields
@@ -20,12 +20,12 @@ module Google
20
20
  module Apis
21
21
  # Gmail API
22
22
  #
23
- # The Gmail REST API.
23
+ # Access Gmail mailboxes including sending user email.
24
24
  #
25
25
  # @see https://developers.google.com/gmail/api/
26
26
  module GmailV1
27
27
  VERSION = 'V1'
28
- REVISION = '20151214'
28
+ REVISION = '20160301'
29
29
 
30
30
  # View and manage your mail
31
31
  AUTH_SCOPE = 'https://mail.google.com/'
@@ -22,6 +22,25 @@ module Google
22
22
  module Apis
23
23
  module GmailV1
24
24
 
25
+ #
26
+ class BatchDeleteMessagesRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The IDs of the messages to delete.
30
+ # Corresponds to the JSON property `ids`
31
+ # @return [Array<String>]
32
+ attr_accessor :ids
33
+
34
+ def initialize(**args)
35
+ update!(**args)
36
+ end
37
+
38
+ # Update properties of this object
39
+ def update!(**args)
40
+ @ids = args[:ids] if args.key?(:ids)
41
+ end
42
+ end
43
+
25
44
  # A draft email in the user's mailbox.
26
45
  class Draft
27
46
  include Google::Apis::Core::Hashable
@@ -22,6 +22,12 @@ module Google
22
22
  module Apis
23
23
  module GmailV1
24
24
 
25
+ class BatchDeleteMessagesRequest
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
25
31
  class Draft
26
32
  class Representation < Google::Apis::Core::JsonRepresentation; end
27
33
 
@@ -154,6 +160,13 @@ module Google
154
160
  include Google::Apis::Core::JsonObjectSupport
155
161
  end
156
162
 
163
+ class BatchDeleteMessagesRequest
164
+ # @private
165
+ class Representation < Google::Apis::Core::JsonRepresentation
166
+ collection :ids, as: 'ids'
167
+ end
168
+ end
169
+
157
170
  class Draft
158
171
  # @private
159
172
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -22,7 +22,7 @@ module Google
22
22
  module GmailV1
23
23
  # Gmail API
24
24
  #
25
- # The Gmail REST API.
25
+ # Access Gmail mailboxes including sending user email.
26
26
  #
27
27
  # @example
28
28
  # require 'google/apis/gmail_v1'
@@ -294,6 +294,8 @@ module Google
294
294
  # @param [String] user_id
295
295
  # The user's email address. The special value me can be used to indicate the
296
296
  # authenticated user.
297
+ # @param [Boolean] include_spam_trash
298
+ # Include drafts from SPAM and TRASH in the results.
297
299
  # @param [Fixnum] max_results
298
300
  # Maximum number of drafts to return.
299
301
  # @param [String] page_token
@@ -319,11 +321,12 @@ module Google
319
321
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
320
322
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
321
323
  # @raise [Google::Apis::AuthorizationError] Authorization is required
322
- def list_user_drafts(user_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
324
+ def list_user_drafts(user_id, include_spam_trash: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
323
325
  command = make_simple_command(:get, '{userId}/drafts', options)
324
326
  command.response_representation = Google::Apis::GmailV1::ListDraftsResponse::Representation
325
327
  command.response_class = Google::Apis::GmailV1::ListDraftsResponse
326
328
  command.params['userId'] = user_id unless user_id.nil?
329
+ command.query['includeSpamTrash'] = include_spam_trash unless include_spam_trash.nil?
327
330
  command.query['maxResults'] = max_results unless max_results.nil?
328
331
  command.query['pageToken'] = page_token unless page_token.nil?
329
332
  command.query['fields'] = fields unless fields.nil?
@@ -728,6 +731,44 @@ module Google
728
731
  execute_or_queue_command(command, &block)
729
732
  end
730
733
 
734
+ # Deletes many messages by message ID. Provides no guarantees that messages were
735
+ # not already deleted or even existed at all.
736
+ # @param [String] user_id
737
+ # The user's email address. The special value me can be used to indicate the
738
+ # authenticated user.
739
+ # @param [Google::Apis::GmailV1::BatchDeleteMessagesRequest] batch_delete_messages_request_object
740
+ # @param [String] fields
741
+ # Selector specifying which fields to include in a partial response.
742
+ # @param [String] quota_user
743
+ # Available to use for quota purposes for server-side applications. Can be any
744
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
745
+ # Overrides userIp if both are provided.
746
+ # @param [String] user_ip
747
+ # IP address of the site where the request originates. Use this if you want to
748
+ # enforce per-user limits.
749
+ # @param [Google::Apis::RequestOptions] options
750
+ # Request-specific options
751
+ #
752
+ # @yield [result, err] Result & error if block supplied
753
+ # @yieldparam result [NilClass] No result returned for this method
754
+ # @yieldparam err [StandardError] error object if request failed
755
+ #
756
+ # @return [void]
757
+ #
758
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
759
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
760
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
761
+ def batch_delete_messages(user_id, batch_delete_messages_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
762
+ command = make_simple_command(:post, '{userId}/messages/batchDelete', options)
763
+ command.request_representation = Google::Apis::GmailV1::BatchDeleteMessagesRequest::Representation
764
+ command.request_object = batch_delete_messages_request_object
765
+ command.params['userId'] = user_id unless user_id.nil?
766
+ command.query['fields'] = fields unless fields.nil?
767
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
768
+ command.query['userIp'] = user_ip unless user_ip.nil?
769
+ execute_or_queue_command(command, &block)
770
+ end
771
+
731
772
  # Immediately and permanently deletes the specified message. This operation
732
773
  # cannot be undone. Prefer messages.trash instead.
733
774
  # @param [String] user_id
@@ -0,0 +1,36 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/iam_v1/service.rb'
16
+ require 'google/apis/iam_v1/classes.rb'
17
+ require 'google/apis/iam_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Identity and Access Management API
22
+ #
23
+ # Manages identity and access control for Google Cloud Platform resources,
24
+ # including the creation of service accounts, which you can use to authenticate
25
+ # to Google and make API calls.
26
+ #
27
+ # @see https://cloud.google.com/iam/
28
+ module IamV1
29
+ VERSION = 'V1'
30
+ REVISION = '20160129'
31
+
32
+ # View and manage your data across Google Cloud Platform services
33
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,665 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module IamV1
24
+
25
+ # The service account list response.
26
+ class ListServiceAccountsResponse
27
+ include Google::Apis::Core::Hashable
28
+
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
33
+
34
+ # To retrieve the next page of results, set [ListServiceAccountsRequest.
35
+ # page_token] to this value.
36
+ # Corresponds to the JSON property `nextPageToken`
37
+ # @return [String]
38
+ attr_accessor :next_page_token
39
+
40
+ def initialize(**args)
41
+ update!(**args)
42
+ end
43
+
44
+ # Update properties of this object
45
+ 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)
48
+ end
49
+ end
50
+
51
+ # A service account in the Identity and Access Management API. To create a
52
+ # service account, you specify the project_id and account_id for the account.
53
+ # The account_id is unique within the project, and used to generate the service
54
+ # account email address and a stable unique id. All other methods can identify
55
+ # accounts using the format "projects/`project`/serviceAccounts/`account`".
56
+ # Using '-' as a wildcard for the project, will infer the project from the
57
+ # account. The account value can be the email address or the unique_id of the
58
+ # service account.
59
+ class ServiceAccount
60
+ include Google::Apis::Core::Hashable
61
+
62
+ # The resource name of the service account in the format "projects/`project`/
63
+ # serviceAccounts/`account`". In requests using '-' as a wildcard for the
64
+ # project, will infer the project from the account and the account value can be
65
+ # the email address or the unique_id of the service account. In responses the
66
+ # resource name will always be in the format "projects/`project`/serviceAccounts/
67
+ # `email`".
68
+ # Corresponds to the JSON property `name`
69
+ # @return [String]
70
+ attr_accessor :name
71
+
72
+ # @OutputOnly The id of the project that owns the service account.
73
+ # Corresponds to the JSON property `projectId`
74
+ # @return [String]
75
+ attr_accessor :project_id
76
+
77
+ # @OutputOnly unique and stable id of the service account.
78
+ # Corresponds to the JSON property `uniqueId`
79
+ # @return [String]
80
+ attr_accessor :unique_id
81
+
82
+ # @OutputOnly Email address of the service account.
83
+ # Corresponds to the JSON property `email`
84
+ # @return [String]
85
+ attr_accessor :email
86
+
87
+ # Optional. A user-specified description of the service account. Must be fewer
88
+ # than 100 UTF-8 bytes.
89
+ # Corresponds to the JSON property `displayName`
90
+ # @return [String]
91
+ attr_accessor :display_name
92
+
93
+ # Used to perform a consistent read-modify-write.
94
+ # Corresponds to the JSON property `etag`
95
+ # @return [String]
96
+ attr_accessor :etag
97
+
98
+ # @OutputOnly. The OAuth2 client id for the service account. This is used in
99
+ # conjunction with the OAuth2 clientconfig API to make three legged OAuth2 (3LO)
100
+ # flows to access the data of Google users.
101
+ # Corresponds to the JSON property `oauth2ClientId`
102
+ # @return [String]
103
+ attr_accessor :oauth2_client_id
104
+
105
+ def initialize(**args)
106
+ update!(**args)
107
+ end
108
+
109
+ # Update properties of this object
110
+ def update!(**args)
111
+ @name = args[:name] if args.key?(:name)
112
+ @project_id = args[:project_id] if args.key?(:project_id)
113
+ @unique_id = args[:unique_id] if args.key?(:unique_id)
114
+ @email = args[:email] if args.key?(:email)
115
+ @display_name = args[:display_name] if args.key?(:display_name)
116
+ @etag = args[:etag] if args.key?(:etag)
117
+ @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
118
+ end
119
+ end
120
+
121
+ # The service account create request.
122
+ class CreateServiceAccountRequest
123
+ include Google::Apis::Core::Hashable
124
+
125
+ # Required. The account id that is used to generate the service account email
126
+ # address and a stable unique id. It is unique within a project, must be 1-63
127
+ # characters long, and match the regular expression [a-z]([-a-z0-9]*[a-z0-9]) to
128
+ # comply with RFC1035.
129
+ # Corresponds to the JSON property `accountId`
130
+ # @return [String]
131
+ attr_accessor :account_id
132
+
133
+ # A service account in the Identity and Access Management API. To create a
134
+ # service account, you specify the project_id and account_id for the account.
135
+ # The account_id is unique within the project, and used to generate the service
136
+ # account email address and a stable unique id. All other methods can identify
137
+ # accounts using the format "projects/`project`/serviceAccounts/`account`".
138
+ # Using '-' as a wildcard for the project, will infer the project from the
139
+ # account. The account value can be the email address or the unique_id of the
140
+ # service account.
141
+ # Corresponds to the JSON property `serviceAccount`
142
+ # @return [Google::Apis::IamV1::ServiceAccount]
143
+ attr_accessor :service_account
144
+
145
+ def initialize(**args)
146
+ update!(**args)
147
+ end
148
+
149
+ # Update properties of this object
150
+ def update!(**args)
151
+ @account_id = args[:account_id] if args.key?(:account_id)
152
+ @service_account = args[:service_account] if args.key?(:service_account)
153
+ end
154
+ end
155
+
156
+ # A generic empty message that you can re-use to avoid defining duplicated empty
157
+ # messages in your APIs. A typical example is to use it as the request or the
158
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
159
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
160
+ # `Empty` is empty JSON object ````.
161
+ class Empty
162
+ include Google::Apis::Core::Hashable
163
+
164
+ def initialize(**args)
165
+ update!(**args)
166
+ end
167
+
168
+ # Update properties of this object
169
+ def update!(**args)
170
+ end
171
+ end
172
+
173
+ # The service account keys list response.
174
+ class ListServiceAccountKeysResponse
175
+ include Google::Apis::Core::Hashable
176
+
177
+ # The public keys for the service account.
178
+ # Corresponds to the JSON property `keys`
179
+ # @return [Array<Google::Apis::IamV1::ServiceAccountKey>]
180
+ attr_accessor :keys
181
+
182
+ def initialize(**args)
183
+ update!(**args)
184
+ end
185
+
186
+ # Update properties of this object
187
+ def update!(**args)
188
+ @keys = args[:keys] if args.key?(:keys)
189
+ end
190
+ end
191
+
192
+ # Represents a service account key. A service account can have 0 or more key
193
+ # pairs. The private keys for these are not stored by Google. ServiceAccountKeys
194
+ # are immutable.
195
+ class ServiceAccountKey
196
+ include Google::Apis::Core::Hashable
197
+
198
+ # The resource name of the service account key in the format "projects/`project`/
199
+ # serviceAccounts/`email`/keys/`key`".
200
+ # Corresponds to the JSON property `name`
201
+ # @return [String]
202
+ attr_accessor :name
203
+
204
+ # The type of the private key.
205
+ # Corresponds to the JSON property `privateKeyType`
206
+ # @return [String]
207
+ attr_accessor :private_key_type
208
+
209
+ # The key data.
210
+ # Corresponds to the JSON property `privateKeyData`
211
+ # @return [String]
212
+ attr_accessor :private_key_data
213
+
214
+ # The key can be used after this timestamp.
215
+ # Corresponds to the JSON property `validAfterTime`
216
+ # @return [String]
217
+ attr_accessor :valid_after_time
218
+
219
+ # The key can be used before this timestamp.
220
+ # Corresponds to the JSON property `validBeforeTime`
221
+ # @return [String]
222
+ attr_accessor :valid_before_time
223
+
224
+ def initialize(**args)
225
+ update!(**args)
226
+ end
227
+
228
+ # Update properties of this object
229
+ def update!(**args)
230
+ @name = args[:name] if args.key?(:name)
231
+ @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
232
+ @private_key_data = args[:private_key_data] if args.key?(:private_key_data)
233
+ @valid_after_time = args[:valid_after_time] if args.key?(:valid_after_time)
234
+ @valid_before_time = args[:valid_before_time] if args.key?(:valid_before_time)
235
+ end
236
+ end
237
+
238
+ # The service account key create request.
239
+ class CreateServiceAccountKeyRequest
240
+ include Google::Apis::Core::Hashable
241
+
242
+ # The type of the key requested. GOOGLE_CREDENTIALS is the default key type.
243
+ # Corresponds to the JSON property `privateKeyType`
244
+ # @return [String]
245
+ attr_accessor :private_key_type
246
+
247
+ def initialize(**args)
248
+ update!(**args)
249
+ end
250
+
251
+ # Update properties of this object
252
+ def update!(**args)
253
+ @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
254
+ end
255
+ end
256
+
257
+ # The service account sign blob request.
258
+ class SignBlobRequest
259
+ include Google::Apis::Core::Hashable
260
+
261
+ # The bytes to sign
262
+ # Corresponds to the JSON property `bytesToSign`
263
+ # @return [String]
264
+ attr_accessor :bytes_to_sign
265
+
266
+ def initialize(**args)
267
+ update!(**args)
268
+ end
269
+
270
+ # Update properties of this object
271
+ def update!(**args)
272
+ @bytes_to_sign = args[:bytes_to_sign] if args.key?(:bytes_to_sign)
273
+ end
274
+ end
275
+
276
+ # The service account sign blob response.
277
+ class SignBlobResponse
278
+ include Google::Apis::Core::Hashable
279
+
280
+ # The id of the key used to sign the blob.
281
+ # Corresponds to the JSON property `keyId`
282
+ # @return [String]
283
+ attr_accessor :key_id
284
+
285
+ # The signed blob.
286
+ # Corresponds to the JSON property `signature`
287
+ # @return [String]
288
+ attr_accessor :signature
289
+
290
+ def initialize(**args)
291
+ update!(**args)
292
+ end
293
+
294
+ # Update properties of this object
295
+ def update!(**args)
296
+ @key_id = args[:key_id] if args.key?(:key_id)
297
+ @signature = args[:signature] if args.key?(:signature)
298
+ end
299
+ end
300
+
301
+ # Defines an Identity and Access Management (IAM) policy. It is used to specify
302
+ # access control policies for Cloud Platform resources. A `Policy` consists of a
303
+ # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
304
+ # the members can be user accounts, Google groups, Google domains, and service
305
+ # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
306
+ # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
307
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
308
+ # appspot.gserviceaccount.com"] `, ` "role": "roles/viewer", "members": ["user:
309
+ # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
310
+ # IAM developer's guide](https://cloud.google.com/iam).
311
+ class Policy
312
+ include Google::Apis::Core::Hashable
313
+
314
+ # Version of the `Policy`. The default version is 0.
315
+ # Corresponds to the JSON property `version`
316
+ # @return [Fixnum]
317
+ attr_accessor :version
318
+
319
+ # Associates a list of `members` to a `role`. Multiple `bindings` must not be
320
+ # specified for the same `role`. `bindings` with no members will result in an
321
+ # error.
322
+ # Corresponds to the JSON property `bindings`
323
+ # @return [Array<Google::Apis::IamV1::Binding>]
324
+ attr_accessor :bindings
325
+
326
+ #
327
+ # Corresponds to the JSON property `rules`
328
+ # @return [Array<Google::Apis::IamV1::Rule>]
329
+ attr_accessor :rules
330
+
331
+ # `etag` is used for optimistic concurrency control as a way to help prevent
332
+ # simultaneous updates of a policy from overwriting each other. It is strongly
333
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
334
+ # to perform policy updates in order to avoid race conditions: An `etag` is
335
+ # returned in the response to `getIamPolicy`, and systems are expected to put
336
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
337
+ # applied to the same version of the policy. If no `etag` is provided in the
338
+ # call to `setIamPolicy`, then the existing policy is overwritten blindly.
339
+ # Corresponds to the JSON property `etag`
340
+ # @return [String]
341
+ attr_accessor :etag
342
+
343
+ def initialize(**args)
344
+ update!(**args)
345
+ end
346
+
347
+ # Update properties of this object
348
+ def update!(**args)
349
+ @version = args[:version] if args.key?(:version)
350
+ @bindings = args[:bindings] if args.key?(:bindings)
351
+ @rules = args[:rules] if args.key?(:rules)
352
+ @etag = args[:etag] if args.key?(:etag)
353
+ end
354
+ end
355
+
356
+ # Associates `members` with a `role`.
357
+ class Binding
358
+ include Google::Apis::Core::Hashable
359
+
360
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
361
+ # , or `roles/owner`. Required
362
+ # Corresponds to the JSON property `role`
363
+ # @return [String]
364
+ attr_accessor :role
365
+
366
+ # Specifies the identities requesting access for a Cloud Platform resource. `
367
+ # members` can have the following values: * `allUsers`: A special identifier
368
+ # that represents anyone who is on the internet; with or without a Google
369
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
370
+ # anyone who is authenticated with a Google account or a service account. * `
371
+ # user:`emailid``: An email address that represents a specific Google account.
372
+ # For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:`
373
+ # emailid``: An email address that represents a service account. For example, `
374
+ # my-other-app@appspot.gserviceaccount.com`. * `group:`emailid``: An email
375
+ # address that represents a Google group. For example, `admins@example.com`. * `
376
+ # domain:`domain``: A Google Apps domain name that represents all the users of
377
+ # that domain. For example, `google.com` or `example.com`.
378
+ # Corresponds to the JSON property `members`
379
+ # @return [Array<String>]
380
+ attr_accessor :members
381
+
382
+ def initialize(**args)
383
+ update!(**args)
384
+ end
385
+
386
+ # Update properties of this object
387
+ def update!(**args)
388
+ @role = args[:role] if args.key?(:role)
389
+ @members = args[:members] if args.key?(:members)
390
+ end
391
+ end
392
+
393
+ # A rule to be applied in a Policy.
394
+ class Rule
395
+ include Google::Apis::Core::Hashable
396
+
397
+ # Human-readable description of the rule.
398
+ # Corresponds to the JSON property `description`
399
+ # @return [String]
400
+ attr_accessor :description
401
+
402
+ # A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value
403
+ # of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.
404
+ # *') matches all verbs.
405
+ # Corresponds to the JSON property `permissions`
406
+ # @return [Array<String>]
407
+ attr_accessor :permissions
408
+
409
+ # Required
410
+ # Corresponds to the JSON property `action`
411
+ # @return [String]
412
+ attr_accessor :action
413
+
414
+ # The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this set of entries.
415
+ # Corresponds to the JSON property `in`
416
+ # @return [Array<String>]
417
+ attr_accessor :in
418
+
419
+ # The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in this set of
420
+ # entries. The format for in and not_in entries is the same as for members in a
421
+ # Binding (see google/iam/v1/policy.proto).
422
+ # Corresponds to the JSON property `notIn`
423
+ # @return [Array<String>]
424
+ attr_accessor :not_in
425
+
426
+ # Additional restrictions that must be met
427
+ # Corresponds to the JSON property `conditions`
428
+ # @return [Array<Google::Apis::IamV1::Condition>]
429
+ attr_accessor :conditions
430
+
431
+ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
432
+ # that match the LOG action.
433
+ # Corresponds to the JSON property `logConfig`
434
+ # @return [Array<Google::Apis::IamV1::LogConfig>]
435
+ attr_accessor :log_config
436
+
437
+ def initialize(**args)
438
+ update!(**args)
439
+ end
440
+
441
+ # Update properties of this object
442
+ def update!(**args)
443
+ @description = args[:description] if args.key?(:description)
444
+ @permissions = args[:permissions] if args.key?(:permissions)
445
+ @action = args[:action] if args.key?(:action)
446
+ @in = args[:in] if args.key?(:in)
447
+ @not_in = args[:not_in] if args.key?(:not_in)
448
+ @conditions = args[:conditions] if args.key?(:conditions)
449
+ @log_config = args[:log_config] if args.key?(:log_config)
450
+ end
451
+ end
452
+
453
+ # A condition to be met.
454
+ class Condition
455
+ include Google::Apis::Core::Hashable
456
+
457
+ # Trusted attributes supplied by the IAM system.
458
+ # Corresponds to the JSON property `iam`
459
+ # @return [String]
460
+ attr_accessor :iam
461
+
462
+ # Trusted attributes supplied by any service that owns resources and uses the
463
+ # IAM system for access control.
464
+ # Corresponds to the JSON property `sys`
465
+ # @return [String]
466
+ attr_accessor :sys
467
+
468
+ # Trusted attributes discharged by the service.
469
+ # Corresponds to the JSON property `svc`
470
+ # @return [String]
471
+ attr_accessor :svc
472
+
473
+ # An operator to apply the subject with.
474
+ # Corresponds to the JSON property `op`
475
+ # @return [String]
476
+ attr_accessor :op
477
+
478
+ # The object of the condition. Exactly one of these must be set.
479
+ # Corresponds to the JSON property `value`
480
+ # @return [String]
481
+ attr_accessor :value
482
+
483
+ # The objects of the condition. This is mutually exclusive with 'value'.
484
+ # Corresponds to the JSON property `values`
485
+ # @return [Array<String>]
486
+ attr_accessor :values
487
+
488
+ def initialize(**args)
489
+ update!(**args)
490
+ end
491
+
492
+ # Update properties of this object
493
+ def update!(**args)
494
+ @iam = args[:iam] if args.key?(:iam)
495
+ @sys = args[:sys] if args.key?(:sys)
496
+ @svc = args[:svc] if args.key?(:svc)
497
+ @op = args[:op] if args.key?(:op)
498
+ @value = args[:value] if args.key?(:value)
499
+ @values = args[:values] if args.key?(:values)
500
+ end
501
+ end
502
+
503
+ # Specifies what kind of log the caller must write Increment a streamz counter
504
+ # with the specified metric and field names. Metric names should start with a '/'
505
+ # , generally be lowercase-only, and end in "_count". Field names should not
506
+ # contain an initial slash. The actual exported metric names will have "/iam/
507
+ # policy" prepended. Field names correspond to IAM request parameters and field
508
+ # values are their respective values. At present only "iam_principal",
509
+ # corresponding to IAMContext.principal, is supported. Examples: counter `
510
+ # metric: "/debug_access_count" field: "iam_principal" ` ==> increment counter /
511
+ # iam/policy/backend_debug_access_count `iam_principal=[value of IAMContext.
512
+ # principal]` At this time we do not support: * multiple field names (though
513
+ # this may be supported in the future) * decrementing the counter * incrementing
514
+ # it by anything other than 1
515
+ class LogConfig
516
+ include Google::Apis::Core::Hashable
517
+
518
+ # Options for counters
519
+ # Corresponds to the JSON property `counter`
520
+ # @return [Google::Apis::IamV1::CounterOptions]
521
+ attr_accessor :counter
522
+
523
+ # Write a Data Access (Gin) log
524
+ # Corresponds to the JSON property `dataAccess`
525
+ # @return [Google::Apis::IamV1::DataAccessOptions]
526
+ attr_accessor :data_access
527
+
528
+ # Write a Cloud Audit log
529
+ # Corresponds to the JSON property `cloudAudit`
530
+ # @return [Google::Apis::IamV1::CloudAuditOptions]
531
+ attr_accessor :cloud_audit
532
+
533
+ def initialize(**args)
534
+ update!(**args)
535
+ end
536
+
537
+ # Update properties of this object
538
+ def update!(**args)
539
+ @counter = args[:counter] if args.key?(:counter)
540
+ @data_access = args[:data_access] if args.key?(:data_access)
541
+ @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
542
+ end
543
+ end
544
+
545
+ # Options for counters
546
+ class CounterOptions
547
+ include Google::Apis::Core::Hashable
548
+
549
+ # The metric to update.
550
+ # Corresponds to the JSON property `metric`
551
+ # @return [String]
552
+ attr_accessor :metric
553
+
554
+ # The field value to attribute.
555
+ # Corresponds to the JSON property `field`
556
+ # @return [String]
557
+ attr_accessor :field
558
+
559
+ def initialize(**args)
560
+ update!(**args)
561
+ end
562
+
563
+ # Update properties of this object
564
+ def update!(**args)
565
+ @metric = args[:metric] if args.key?(:metric)
566
+ @field = args[:field] if args.key?(:field)
567
+ end
568
+ end
569
+
570
+ # Write a Data Access (Gin) log
571
+ class DataAccessOptions
572
+ include Google::Apis::Core::Hashable
573
+
574
+ def initialize(**args)
575
+ update!(**args)
576
+ end
577
+
578
+ # Update properties of this object
579
+ def update!(**args)
580
+ end
581
+ end
582
+
583
+ # Write a Cloud Audit log
584
+ class CloudAuditOptions
585
+ include Google::Apis::Core::Hashable
586
+
587
+ def initialize(**args)
588
+ update!(**args)
589
+ end
590
+
591
+ # Update properties of this object
592
+ def update!(**args)
593
+ end
594
+ end
595
+
596
+ # Request message for `SetIamPolicy` method.
597
+ class SetIamPolicyRequest
598
+ include Google::Apis::Core::Hashable
599
+
600
+ # Defines an Identity and Access Management (IAM) policy. It is used to specify
601
+ # access control policies for Cloud Platform resources. A `Policy` consists of a
602
+ # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
603
+ # the members can be user accounts, Google groups, Google domains, and service
604
+ # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
605
+ # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
606
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
607
+ # appspot.gserviceaccount.com"] `, ` "role": "roles/viewer", "members": ["user:
608
+ # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
609
+ # IAM developer's guide](https://cloud.google.com/iam).
610
+ # Corresponds to the JSON property `policy`
611
+ # @return [Google::Apis::IamV1::Policy]
612
+ attr_accessor :policy
613
+
614
+ def initialize(**args)
615
+ update!(**args)
616
+ end
617
+
618
+ # Update properties of this object
619
+ def update!(**args)
620
+ @policy = args[:policy] if args.key?(:policy)
621
+ end
622
+ end
623
+
624
+ # Request message for `TestIamPermissions` method.
625
+ class TestIamPermissionsRequest
626
+ include Google::Apis::Core::Hashable
627
+
628
+ # The set of permissions to check for the `resource`. Permissions with wildcards
629
+ # (such as '*' or 'storage.*') are not allowed. For more information see IAM
630
+ # Overview.
631
+ # Corresponds to the JSON property `permissions`
632
+ # @return [Array<String>]
633
+ attr_accessor :permissions
634
+
635
+ def initialize(**args)
636
+ update!(**args)
637
+ end
638
+
639
+ # Update properties of this object
640
+ def update!(**args)
641
+ @permissions = args[:permissions] if args.key?(:permissions)
642
+ end
643
+ end
644
+
645
+ # Response message for `TestIamPermissions` method.
646
+ class TestIamPermissionsResponse
647
+ include Google::Apis::Core::Hashable
648
+
649
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
650
+ # Corresponds to the JSON property `permissions`
651
+ # @return [Array<String>]
652
+ attr_accessor :permissions
653
+
654
+ def initialize(**args)
655
+ update!(**args)
656
+ end
657
+
658
+ # Update properties of this object
659
+ def update!(**args)
660
+ @permissions = args[:permissions] if args.key?(:permissions)
661
+ end
662
+ end
663
+ end
664
+ end
665
+ end