google-api-client 0.9.3 → 0.9.4

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