google-api-client 0.10.0 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/api_names.yaml +37747 -36512
  5. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1016 -114
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +426 -22
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +481 -95
  9. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  10. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +27 -10
  11. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  12. data/generated/google/apis/admin_reports_v1.rb +2 -2
  13. data/generated/google/apis/adsense_v1_4.rb +1 -1
  14. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  15. data/generated/google/apis/analytics_v3.rb +1 -1
  16. data/generated/google/apis/analyticsreporting_v4.rb +4 -4
  17. data/generated/google/apis/analyticsreporting_v4/classes.rb +428 -428
  18. data/generated/google/apis/analyticsreporting_v4/representations.rb +108 -108
  19. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  20. data/generated/google/apis/androidenterprise_v1/classes.rb +60 -66
  21. data/generated/google/apis/androidenterprise_v1/service.rb +12 -11
  22. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v2/classes.rb +7 -0
  24. data/generated/google/apis/androidpublisher_v2/representations.rb +1 -0
  25. data/generated/google/apis/androidpublisher_v2/service.rb +1 -1
  26. data/generated/google/apis/appsactivity_v1.rb +3 -3
  27. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  28. data/generated/google/apis/appstate_v1.rb +1 -1
  29. data/generated/google/apis/bigquery_v2.rb +1 -1
  30. data/generated/google/apis/bigquery_v2/classes.rb +34 -8
  31. data/generated/google/apis/bigquery_v2/representations.rb +15 -0
  32. data/generated/google/apis/calendar_v3.rb +1 -1
  33. data/generated/google/apis/calendar_v3/classes.rb +3 -5
  34. data/generated/google/apis/classroom_v1.rb +25 -22
  35. data/generated/google/apis/classroom_v1/classes.rb +910 -1001
  36. data/generated/google/apis/classroom_v1/representations.rb +240 -240
  37. data/generated/google/apis/classroom_v1/service.rb +1064 -1272
  38. data/generated/google/apis/cloudbilling_v1.rb +3 -3
  39. data/generated/google/apis/cloudbilling_v1/classes.rb +76 -75
  40. data/generated/google/apis/cloudbilling_v1/representations.rb +17 -17
  41. data/generated/google/apis/cloudbilling_v1/service.rb +117 -110
  42. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  43. data/generated/google/apis/cloudbuild_v1/classes.rb +238 -238
  44. data/generated/google/apis/cloudbuild_v1/representations.rb +48 -48
  45. data/generated/google/apis/cloudbuild_v1/service.rb +176 -176
  46. data/generated/google/apis/clouddebugger_v2.rb +4 -4
  47. data/generated/google/apis/clouddebugger_v2/classes.rb +315 -315
  48. data/generated/google/apis/clouddebugger_v2/representations.rb +90 -90
  49. data/generated/google/apis/clouddebugger_v2/service.rb +152 -152
  50. data/generated/google/apis/cloudkms_v1.rb +35 -0
  51. data/generated/google/apis/cloudkms_v1/classes.rb +1039 -0
  52. data/generated/google/apis/cloudkms_v1/representations.rb +448 -0
  53. data/generated/google/apis/cloudkms_v1/service.rb +933 -0
  54. data/generated/google/apis/cloudkms_v1beta1.rb +1 -1
  55. data/generated/google/apis/cloudkms_v1beta1/classes.rb +645 -605
  56. data/generated/google/apis/cloudkms_v1beta1/representations.rb +136 -136
  57. data/generated/google/apis/cloudkms_v1beta1/service.rb +258 -264
  58. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  59. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  60. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +677 -456
  61. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +154 -89
  62. data/generated/google/apis/cloudresourcemanager_v1/service.rb +380 -279
  63. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +4 -4
  64. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +247 -114
  65. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +72 -40
  66. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +202 -208
  67. data/generated/google/apis/cloudtrace_v1.rb +4 -4
  68. data/generated/google/apis/cloudtrace_v1/classes.rb +39 -39
  69. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  70. data/generated/google/apis/cloudtrace_v1/service.rb +18 -18
  71. data/generated/google/apis/compute_beta.rb +1 -1
  72. data/generated/google/apis/compute_beta/classes.rb +813 -82
  73. data/generated/google/apis/compute_beta/representations.rb +305 -0
  74. data/generated/google/apis/compute_beta/service.rb +971 -180
  75. data/generated/google/apis/compute_v1.rb +1 -1
  76. data/generated/google/apis/compute_v1/classes.rb +147 -21
  77. data/generated/google/apis/compute_v1/representations.rb +38 -0
  78. data/generated/google/apis/compute_v1/service.rb +347 -65
  79. data/generated/google/apis/content_v2.rb +1 -1
  80. data/generated/google/apis/content_v2/classes.rb +2 -1
  81. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  82. data/generated/google/apis/dataflow_v1b3/classes.rb +3352 -3110
  83. data/generated/google/apis/dataflow_v1b3/representations.rb +812 -730
  84. data/generated/google/apis/dataflow_v1b3/service.rb +264 -183
  85. data/generated/google/apis/dataproc_v1.rb +1 -1
  86. data/generated/google/apis/dataproc_v1/classes.rb +1200 -1164
  87. data/generated/google/apis/dataproc_v1/representations.rb +220 -204
  88. data/generated/google/apis/dataproc_v1/service.rb +299 -299
  89. data/generated/google/apis/datastore_v1.rb +4 -4
  90. data/generated/google/apis/datastore_v1/classes.rb +688 -688
  91. data/generated/google/apis/datastore_v1/representations.rb +167 -167
  92. data/generated/google/apis/datastore_v1/service.rb +68 -68
  93. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  94. data/generated/google/apis/deploymentmanager_v2/classes.rb +13 -3
  95. data/generated/google/apis/dns_v1.rb +1 -1
  96. data/generated/google/apis/dns_v2beta1.rb +1 -1
  97. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  98. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  99. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  100. data/generated/google/apis/drive_v2.rb +1 -1
  101. data/generated/google/apis/drive_v2/classes.rb +487 -15
  102. data/generated/google/apis/drive_v2/representations.rb +120 -0
  103. data/generated/google/apis/drive_v2/service.rb +355 -38
  104. data/generated/google/apis/drive_v3.rb +1 -1
  105. data/generated/google/apis/drive_v3/classes.rb +416 -14
  106. data/generated/google/apis/drive_v3/representations.rb +99 -0
  107. data/generated/google/apis/drive_v3/service.rb +315 -28
  108. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  109. data/generated/google/apis/games_management_v1management.rb +1 -1
  110. data/generated/google/apis/games_v1.rb +1 -1
  111. data/generated/google/apis/genomics_v1.rb +7 -7
  112. data/generated/google/apis/genomics_v1/classes.rb +2301 -2301
  113. data/generated/google/apis/genomics_v1/representations.rb +239 -239
  114. data/generated/google/apis/genomics_v1/service.rb +599 -599
  115. data/generated/google/apis/gmail_v1.rb +2 -2
  116. data/generated/google/apis/gmail_v1/service.rb +18 -1
  117. data/generated/google/apis/groupssettings_v1.rb +1 -1
  118. data/generated/google/apis/iam_v1.rb +1 -1
  119. data/generated/google/apis/iam_v1/classes.rb +440 -440
  120. data/generated/google/apis/iam_v1/representations.rb +96 -96
  121. data/generated/google/apis/iam_v1/service.rb +150 -150
  122. data/generated/google/apis/kgsearch_v1/service.rb +13 -13
  123. data/generated/google/apis/language_v1beta1.rb +1 -1
  124. data/generated/google/apis/language_v1beta1/classes.rb +235 -235
  125. data/generated/google/apis/language_v1beta1/representations.rb +73 -73
  126. data/generated/google/apis/language_v1beta1/service.rb +49 -49
  127. data/generated/google/apis/licensing_v1.rb +1 -1
  128. data/generated/google/apis/logging_v2beta1.rb +1 -1
  129. data/generated/google/apis/logging_v2beta1/classes.rb +888 -879
  130. data/generated/google/apis/logging_v2beta1/representations.rb +129 -129
  131. data/generated/google/apis/logging_v2beta1/service.rb +315 -316
  132. data/generated/google/apis/manufacturers_v1/classes.rb +139 -139
  133. data/generated/google/apis/manufacturers_v1/representations.rb +30 -30
  134. data/generated/google/apis/manufacturers_v1/service.rb +32 -32
  135. data/generated/google/apis/monitoring_v3.rb +4 -4
  136. data/generated/google/apis/monitoring_v3/classes.rb +229 -229
  137. data/generated/google/apis/monitoring_v3/representations.rb +45 -45
  138. data/generated/google/apis/monitoring_v3/service.rb +141 -141
  139. data/generated/google/apis/partners_v2.rb +3 -3
  140. data/generated/google/apis/partners_v2/classes.rb +1837 -483
  141. data/generated/google/apis/partners_v2/representations.rb +614 -157
  142. data/generated/google/apis/partners_v2/service.rb +881 -150
  143. data/generated/google/apis/people_v1.rb +1 -1
  144. data/generated/google/apis/people_v1/classes.rb +517 -465
  145. data/generated/google/apis/people_v1/representations.rb +138 -107
  146. data/generated/google/apis/people_v1/service.rb +56 -49
  147. data/generated/google/apis/plus_domains_v1.rb +1 -1
  148. data/generated/google/apis/plus_v1.rb +1 -1
  149. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  150. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +529 -458
  151. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +98 -97
  152. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +494 -370
  153. data/generated/google/apis/pubsub_v1.rb +4 -4
  154. data/generated/google/apis/pubsub_v1/classes.rb +203 -203
  155. data/generated/google/apis/pubsub_v1/representations.rb +65 -65
  156. data/generated/google/apis/pubsub_v1/service.rb +226 -217
  157. data/generated/google/apis/reseller_v1.rb +1 -1
  158. data/generated/google/apis/reseller_v1/classes.rb +213 -61
  159. data/generated/google/apis/reseller_v1/representations.rb +27 -0
  160. data/generated/google/apis/reseller_v1/service.rb +240 -47
  161. data/generated/google/apis/script_v1.rb +14 -14
  162. data/generated/google/apis/script_v1/classes.rb +95 -95
  163. data/generated/google/apis/script_v1/representations.rb +25 -25
  164. data/generated/google/apis/sheets_v4.rb +1 -1
  165. data/generated/google/apis/sheets_v4/classes.rb +4346 -4300
  166. data/generated/google/apis/sheets_v4/representations.rb +853 -837
  167. data/generated/google/apis/sheets_v4/service.rb +32 -32
  168. data/generated/google/apis/slides_v1.rb +1 -1
  169. data/generated/google/apis/slides_v1/classes.rb +804 -748
  170. data/generated/google/apis/slides_v1/representations.rb +204 -187
  171. data/generated/google/apis/slides_v1/service.rb +16 -16
  172. data/generated/google/apis/speech_v1beta1.rb +1 -1
  173. data/generated/google/apis/speech_v1beta1/classes.rb +57 -57
  174. data/generated/google/apis/speech_v1beta1/representations.rb +19 -19
  175. data/generated/google/apis/speech_v1beta1/service.rb +66 -66
  176. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  177. data/generated/google/apis/sqladmin_v1beta4/classes.rb +32 -7
  178. data/generated/google/apis/sqladmin_v1beta4/representations.rb +16 -0
  179. data/generated/google/apis/sqladmin_v1beta4/service.rb +9 -2
  180. data/generated/google/apis/storage_v1.rb +1 -1
  181. data/generated/google/apis/storage_v1/service.rb +10 -7
  182. data/generated/google/apis/vision_v1.rb +1 -1
  183. data/generated/google/apis/vision_v1/classes.rb +1393 -865
  184. data/generated/google/apis/vision_v1/representations.rb +367 -102
  185. data/generated/google/apis/vision_v1/service.rb +4 -4
  186. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  187. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  188. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  189. data/generated/google/apis/youtubereporting_v1/classes.rb +93 -93
  190. data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
  191. data/generated/google/apis/youtubereporting_v1/service.rb +108 -108
  192. data/lib/google/apis/version.rb +1 -1
  193. metadata +34 -30
@@ -25,9 +25,9 @@ module Google
25
25
  # @see https://developers.google.com/gmail/api/
26
26
  module GmailV1
27
27
  VERSION = 'V1'
28
- REVISION = '20170206'
28
+ REVISION = '20170222'
29
29
 
30
- # View and manage your mail
30
+ # Read, send, delete, and manage your email
31
31
  AUTH_SCOPE = 'https://mail.google.com/'
32
32
 
33
33
  # Manage drafts and send emails
@@ -1431,6 +1431,8 @@ module Google
1431
1431
 
1432
1432
  # Updates the auto-forwarding setting for the specified account. A verified
1433
1433
  # forwarding address must be specified when auto-forwarding is enabled.
1434
+ # This method is only available to service account clients that have been
1435
+ # delegated domain-wide authority.
1434
1436
  # @param [String] user_id
1435
1437
  # User's email address. The special value "me" can be used to indicate the
1436
1438
  # authenticated user.
@@ -1741,6 +1743,8 @@ module Google
1741
1743
  # will be sent to the recipient and the resource's verification status will be
1742
1744
  # set to pending; otherwise, the resource will be created with verification
1743
1745
  # status set to accepted.
1746
+ # This method is only available to service account clients that have been
1747
+ # delegated domain-wide authority.
1744
1748
  # @param [String] user_id
1745
1749
  # User's email address. The special value "me" can be used to indicate the
1746
1750
  # authenticated user.
@@ -1781,6 +1785,8 @@ module Google
1781
1785
 
1782
1786
  # Deletes the specified forwarding address and revokes any verification that may
1783
1787
  # have been required.
1788
+ # This method is only available to service account clients that have been
1789
+ # delegated domain-wide authority.
1784
1790
  # @param [String] user_id
1785
1791
  # User's email address. The special value "me" can be used to indicate the
1786
1792
  # authenticated user.
@@ -1899,6 +1905,8 @@ module Google
1899
1905
  # status will be set to pending; otherwise, the resource will be created with
1900
1906
  # verification status set to accepted. If a signature is provided, Gmail will
1901
1907
  # sanitize the HTML before saving it with the alias.
1908
+ # This method is only available to service account clients that have been
1909
+ # delegated domain-wide authority.
1902
1910
  # @param [String] user_id
1903
1911
  # User's email address. The special value "me" can be used to indicate the
1904
1912
  # authenticated user.
@@ -1939,6 +1947,8 @@ module Google
1939
1947
 
1940
1948
  # Deletes the specified send-as alias. Revokes any verification that may have
1941
1949
  # been required for using it.
1950
+ # This method is only available to service account clients that have been
1951
+ # delegated domain-wide authority.
1942
1952
  # @param [String] user_id
1943
1953
  # User's email address. The special value "me" can be used to indicate the
1944
1954
  # authenticated user.
@@ -2054,7 +2064,10 @@ module Google
2054
2064
  end
2055
2065
 
2056
2066
  # Updates a send-as alias. If a signature is provided, Gmail will sanitize the
2057
- # HTML before saving it with the alias. This method supports patch semantics.
2067
+ # HTML before saving it with the alias.
2068
+ # Addresses other than the primary address for the account can only be updated
2069
+ # by service account clients that have been delegated domain-wide authority.
2070
+ # This method supports patch semantics.
2058
2071
  # @param [String] user_id
2059
2072
  # User's email address. The special value "me" can be used to indicate the
2060
2073
  # authenticated user.
@@ -2098,6 +2111,8 @@ module Google
2098
2111
 
2099
2112
  # Updates a send-as alias. If a signature is provided, Gmail will sanitize the
2100
2113
  # HTML before saving it with the alias.
2114
+ # Addresses other than the primary address for the account can only be updated
2115
+ # by service account clients that have been delegated domain-wide authority.
2101
2116
  # @param [String] user_id
2102
2117
  # User's email address. The special value "me" can be used to indicate the
2103
2118
  # authenticated user.
@@ -2141,6 +2156,8 @@ module Google
2141
2156
 
2142
2157
  # Sends a verification email to the specified send-as alias address. The
2143
2158
  # verification status must be pending.
2159
+ # This method is only available to service account clients that have been
2160
+ # delegated domain-wide authority.
2144
2161
  # @param [String] user_id
2145
2162
  # User's email address. The special value "me" can be used to indicate the
2146
2163
  # authenticated user.
@@ -27,7 +27,7 @@ module Google
27
27
  VERSION = 'V1'
28
28
  REVISION = '20160525'
29
29
 
30
- # View and manage the settings of a Google Apps Group
30
+ # View and manage the settings of a G Suite group
31
31
  AUTH_APPS_GROUPS_SETTINGS = 'https://www.googleapis.com/auth/apps.groups.settings'
32
32
  end
33
33
  end
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/iam/
28
28
  module IamV1
29
29
  VERSION = 'V1'
30
- REVISION = '20170126'
30
+ REVISION = '20170217'
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,35 +22,15 @@ module Google
22
22
  module Apis
23
23
  module IamV1
24
24
 
25
- # The service account create request.
26
- class CreateServiceAccountRequest
25
+ # Response message for `TestIamPermissions` method.
26
+ class TestIamPermissionsResponse
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # A service account in the Identity and Access Management API.
30
- # To create a service account, specify the `project_id` and the `account_id`
31
- # for the account. The `account_id` is unique within the project, and is used
32
- # to generate the service account email address and a stable
33
- # `unique_id`.
34
- # If the account already exists, the account's resource name is returned
35
- # in util::Status's ResourceInfo.resource_name in the format of
36
- # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
37
- # use the name in other methods to access the account.
38
- # All other methods can identify the service account using the format
39
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
40
- # Using `-` as a wildcard for the project will infer the project from
41
- # the account. The `account` value can be the `email` address or the
42
- # `unique_id` of the service account.
43
- # Corresponds to the JSON property `serviceAccount`
44
- # @return [Google::Apis::IamV1::ServiceAccount]
45
- attr_accessor :service_account
46
-
47
- # Required. The account id that is used to generate the service account
48
- # email address and a stable unique id. It is unique within a project,
49
- # must be 6-30 characters long, and match the regular expression
50
- # `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
51
- # Corresponds to the JSON property `accountId`
52
- # @return [String]
53
- attr_accessor :account_id
29
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
30
+ # allowed.
31
+ # Corresponds to the JSON property `permissions`
32
+ # @return [Array<String>]
33
+ attr_accessor :permissions
54
34
 
55
35
  def initialize(**args)
56
36
  update!(**args)
@@ -58,26 +38,18 @@ module Google
58
38
 
59
39
  # Update properties of this object
60
40
  def update!(**args)
61
- @service_account = args[:service_account] if args.key?(:service_account)
62
- @account_id = args[:account_id] if args.key?(:account_id)
41
+ @permissions = args[:permissions] if args.key?(:permissions)
63
42
  end
64
43
  end
65
44
 
66
- # The service account list response.
67
- class ListServiceAccountsResponse
45
+ # The service account keys list response.
46
+ class ListServiceAccountKeysResponse
68
47
  include Google::Apis::Core::Hashable
69
48
 
70
- # The list of matching service accounts.
71
- # Corresponds to the JSON property `accounts`
72
- # @return [Array<Google::Apis::IamV1::ServiceAccount>]
73
- attr_accessor :accounts
74
-
75
- # To retrieve the next page of results, set
76
- # ListServiceAccountsRequest.page_token
77
- # to this value.
78
- # Corresponds to the JSON property `nextPageToken`
79
- # @return [String]
80
- attr_accessor :next_page_token
49
+ # The public keys for the service account.
50
+ # Corresponds to the JSON property `keys`
51
+ # @return [Array<Google::Apis::IamV1::ServiceAccountKey>]
52
+ attr_accessor :keys
81
53
 
82
54
  def initialize(**args)
83
55
  update!(**args)
@@ -85,38 +57,65 @@ module Google
85
57
 
86
58
  # Update properties of this object
87
59
  def update!(**args)
88
- @accounts = args[:accounts] if args.key?(:accounts)
89
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
60
+ @keys = args[:keys] if args.key?(:keys)
90
61
  end
91
62
  end
92
63
 
93
- # The grantable role query response.
94
- class QueryGrantableRolesResponse
64
+ # Represents a service account key.
65
+ # A service account has two sets of key-pairs: user-managed, and
66
+ # system-managed.
67
+ # User-managed key-pairs can be created and deleted by users. Users are
68
+ # responsible for rotating these keys periodically to ensure security of
69
+ # their service accounts. Users retain the private key of these key-pairs,
70
+ # and Google retains ONLY the public key.
71
+ # System-managed key-pairs are managed automatically by Google, and rotated
72
+ # daily without user intervention. The private key never leaves Google's
73
+ # servers to maximize security.
74
+ # Public keys for all service accounts are also published at the OAuth2
75
+ # Service Account API.
76
+ class ServiceAccountKey
95
77
  include Google::Apis::Core::Hashable
96
78
 
97
- # The list of matching roles.
98
- # Corresponds to the JSON property `roles`
99
- # @return [Array<Google::Apis::IamV1::Role>]
100
- attr_accessor :roles
79
+ # The private key data. Only provided in `CreateServiceAccountKey`
80
+ # responses.
81
+ # Corresponds to the JSON property `privateKeyData`
82
+ # @return [String]
83
+ attr_accessor :private_key_data
101
84
 
102
- def initialize(**args)
103
- update!(**args)
104
- end
85
+ # The public key data. Only provided in `GetServiceAccountKey` responses.
86
+ # Corresponds to the JSON property `publicKeyData`
87
+ # @return [String]
88
+ attr_accessor :public_key_data
105
89
 
106
- # Update properties of this object
107
- def update!(**args)
108
- @roles = args[:roles] if args.key?(:roles)
109
- end
110
- end
90
+ # The resource name of the service account key in the following format
91
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`/keys/`key``.
92
+ # Corresponds to the JSON property `name`
93
+ # @return [String]
94
+ attr_accessor :name
111
95
 
112
- # The service account sign blob request.
113
- class SignBlobRequest
114
- include Google::Apis::Core::Hashable
96
+ # The key can be used before this timestamp.
97
+ # Corresponds to the JSON property `validBeforeTime`
98
+ # @return [String]
99
+ attr_accessor :valid_before_time
115
100
 
116
- # The bytes to sign.
117
- # Corresponds to the JSON property `bytesToSign`
101
+ # Specifies the algorithm (and possibly key size) for the key.
102
+ # Corresponds to the JSON property `keyAlgorithm`
118
103
  # @return [String]
119
- attr_accessor :bytes_to_sign
104
+ attr_accessor :key_algorithm
105
+
106
+ # The output format for the private key.
107
+ # Only provided in `CreateServiceAccountKey` responses, not
108
+ # in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
109
+ # Google never exposes system-managed private keys, and never retains
110
+ # user-managed private keys.
111
+ # Corresponds to the JSON property `privateKeyType`
112
+ # @return [String]
113
+ attr_accessor :private_key_type
114
+
115
+ # The key can be used after this timestamp.
116
+ # Corresponds to the JSON property `validAfterTime`
117
+ # @return [String]
118
+ attr_accessor :valid_after_time
120
119
 
121
120
  def initialize(**args)
122
121
  update!(**args)
@@ -124,33 +123,32 @@ module Google
124
123
 
125
124
  # Update properties of this object
126
125
  def update!(**args)
127
- @bytes_to_sign = args[:bytes_to_sign] if args.key?(:bytes_to_sign)
126
+ @private_key_data = args[:private_key_data] if args.key?(:private_key_data)
127
+ @public_key_data = args[:public_key_data] if args.key?(:public_key_data)
128
+ @name = args[:name] if args.key?(:name)
129
+ @valid_before_time = args[:valid_before_time] if args.key?(:valid_before_time)
130
+ @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
131
+ @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
132
+ @valid_after_time = args[:valid_after_time] if args.key?(:valid_after_time)
128
133
  end
129
134
  end
130
135
 
131
- # A role in the Identity and Access Management API.
132
- class Role
136
+ # The service account key create request.
137
+ class CreateServiceAccountKeyRequest
133
138
  include Google::Apis::Core::Hashable
134
139
 
135
- # Optional. A human-readable title for the role. Typically this
136
- # is limited to 100 UTF-8 bytes.
137
- # Corresponds to the JSON property `title`
138
- # @return [String]
139
- attr_accessor :title
140
-
141
- # The name of the role.
142
- # When Role is used in CreateRole, the role name must not be set.
143
- # When Role is used in output and other input such as UpdateRole, the role
144
- # name is the complete path, e.g., roles/logging.viewer for curated roles
145
- # and organizations/`ORGANIZATION_ID`/roles/logging.viewer for custom roles.
146
- # Corresponds to the JSON property `name`
140
+ # Which type of key and algorithm to use for the key.
141
+ # The default is currently a 2K RSA key. However this may change in the
142
+ # future.
143
+ # Corresponds to the JSON property `keyAlgorithm`
147
144
  # @return [String]
148
- attr_accessor :name
145
+ attr_accessor :key_algorithm
149
146
 
150
- # Optional. A human-readable description for the role.
151
- # Corresponds to the JSON property `description`
147
+ # The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the
148
+ # default output format.
149
+ # Corresponds to the JSON property `privateKeyType`
152
150
  # @return [String]
153
- attr_accessor :description
151
+ attr_accessor :private_key_type
154
152
 
155
153
  def initialize(**args)
156
154
  update!(**args)
@@ -158,45 +156,22 @@ module Google
158
156
 
159
157
  # Update properties of this object
160
158
  def update!(**args)
161
- @title = args[:title] if args.key?(:title)
162
- @name = args[:name] if args.key?(:name)
163
- @description = args[:description] if args.key?(:description)
159
+ @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
160
+ @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
164
161
  end
165
162
  end
166
163
 
167
- # Request message for `SetIamPolicy` method.
168
- class SetIamPolicyRequest
164
+ # Request message for `TestIamPermissions` method.
165
+ class TestIamPermissionsRequest
169
166
  include Google::Apis::Core::Hashable
170
167
 
171
- # Defines an Identity and Access Management (IAM) policy. It is used to
172
- # specify access control policies for Cloud Platform resources.
173
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
174
- # `members` to a `role`, where the members can be user accounts, Google groups,
175
- # Google domains, and service accounts. A `role` is a named list of permissions
176
- # defined by IAM.
177
- # **Example**
178
- # `
179
- # "bindings": [
180
- # `
181
- # "role": "roles/owner",
182
- # "members": [
183
- # "user:mike@example.com",
184
- # "group:admins@example.com",
185
- # "domain:google.com",
186
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
187
- # ]
188
- # `,
189
- # `
190
- # "role": "roles/viewer",
191
- # "members": ["user:sean@example.com"]
192
- # `
193
- # ]
194
- # `
195
- # For a description of IAM and its features, see the
196
- # [IAM developer's guide](https://cloud.google.com/iam).
197
- # Corresponds to the JSON property `policy`
198
- # @return [Google::Apis::IamV1::Policy]
199
- attr_accessor :policy
168
+ # The set of permissions to check for the `resource`. Permissions with
169
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
170
+ # information see
171
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
172
+ # Corresponds to the JSON property `permissions`
173
+ # @return [Array<String>]
174
+ attr_accessor :permissions
200
175
 
201
176
  def initialize(**args)
202
177
  update!(**args)
@@ -204,38 +179,23 @@ module Google
204
179
 
205
180
  # Update properties of this object
206
181
  def update!(**args)
207
- @policy = args[:policy] if args.key?(:policy)
182
+ @permissions = args[:permissions] if args.key?(:permissions)
208
183
  end
209
184
  end
210
185
 
211
- # Associates `members` with a `role`.
212
- class Binding
186
+ # The service account sign blob response.
187
+ class SignBlobResponse
213
188
  include Google::Apis::Core::Hashable
214
189
 
215
- # Specifies the identities requesting access for a Cloud Platform resource.
216
- # `members` can have the following values:
217
- # * `allUsers`: A special identifier that represents anyone who is
218
- # on the internet; with or without a Google account.
219
- # * `allAuthenticatedUsers`: A special identifier that represents anyone
220
- # who is authenticated with a Google account or a service account.
221
- # * `user:`emailid``: An email address that represents a specific Google
222
- # account. For example, `alice@gmail.com` or `joe@example.com`.
223
- # * `serviceAccount:`emailid``: An email address that represents a service
224
- # account. For example, `my-other-app@appspot.gserviceaccount.com`.
225
- # * `group:`emailid``: An email address that represents a Google group.
226
- # For example, `admins@example.com`.
227
- # * `domain:`domain``: A Google Apps domain name that represents all the
228
- # users of that domain. For example, `google.com` or `example.com`.
229
- # Corresponds to the JSON property `members`
230
- # @return [Array<String>]
231
- attr_accessor :members
190
+ # The id of the key used to sign the blob.
191
+ # Corresponds to the JSON property `keyId`
192
+ # @return [String]
193
+ attr_accessor :key_id
232
194
 
233
- # Role that is assigned to `members`.
234
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
235
- # Required
236
- # Corresponds to the JSON property `role`
195
+ # The signed blob.
196
+ # Corresponds to the JSON property `signature`
237
197
  # @return [String]
238
- attr_accessor :role
198
+ attr_accessor :signature
239
199
 
240
200
  def initialize(**args)
241
201
  update!(**args)
@@ -243,22 +203,24 @@ module Google
243
203
 
244
204
  # Update properties of this object
245
205
  def update!(**args)
246
- @members = args[:members] if args.key?(:members)
247
- @role = args[:role] if args.key?(:role)
206
+ @key_id = args[:key_id] if args.key?(:key_id)
207
+ @signature = args[:signature] if args.key?(:signature)
248
208
  end
249
209
  end
250
210
 
251
- # The grantable role query request.
252
- class QueryGrantableRolesRequest
211
+ # The service account sign JWT response.
212
+ class SignJwtResponse
253
213
  include Google::Apis::Core::Hashable
254
214
 
255
- # Required. The full resource name to query from the list of grantable roles.
256
- # The name follows the Google Cloud Platform resource format.
257
- # For example, a Cloud Platform project with id `my-project` will be named
258
- # `//cloudresourcemanager.googleapis.com/projects/my-project`.
259
- # Corresponds to the JSON property `fullResourceName`
215
+ # The id of the key used to sign the JWT.
216
+ # Corresponds to the JSON property `keyId`
260
217
  # @return [String]
261
- attr_accessor :full_resource_name
218
+ attr_accessor :key_id
219
+
220
+ # The signed JWT.
221
+ # Corresponds to the JSON property `signedJwt`
222
+ # @return [String]
223
+ attr_accessor :signed_jwt
262
224
 
263
225
  def initialize(**args)
264
226
  update!(**args)
@@ -266,89 +228,83 @@ module Google
266
228
 
267
229
  # Update properties of this object
268
230
  def update!(**args)
269
- @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
231
+ @key_id = args[:key_id] if args.key?(:key_id)
232
+ @signed_jwt = args[:signed_jwt] if args.key?(:signed_jwt)
270
233
  end
271
234
  end
272
235
 
273
- # A generic empty message that you can re-use to avoid defining duplicated
274
- # empty messages in your APIs. A typical example is to use it as the request
275
- # or the response type of an API method. For instance:
276
- # service Foo `
277
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
278
- # `
279
- # The JSON representation for `Empty` is empty JSON object ````.
280
- class Empty
236
+ # The service account sign JWT request.
237
+ class SignJwtRequest
281
238
  include Google::Apis::Core::Hashable
282
239
 
240
+ # The JWT payload to sign, a JSON JWT Claim set.
241
+ # Corresponds to the JSON property `payload`
242
+ # @return [String]
243
+ attr_accessor :payload
244
+
283
245
  def initialize(**args)
284
246
  update!(**args)
285
247
  end
286
248
 
287
249
  # Update properties of this object
288
250
  def update!(**args)
251
+ @payload = args[:payload] if args.key?(:payload)
289
252
  end
290
253
  end
291
254
 
292
- # A service account in the Identity and Access Management API.
293
- # To create a service account, specify the `project_id` and the `account_id`
294
- # for the account. The `account_id` is unique within the project, and is used
295
- # to generate the service account email address and a stable
296
- # `unique_id`.
297
- # If the account already exists, the account's resource name is returned
298
- # in util::Status's ResourceInfo.resource_name in the format of
299
- # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
300
- # use the name in other methods to access the account.
301
- # All other methods can identify the service account using the format
302
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
303
- # Using `-` as a wildcard for the project will infer the project from
304
- # the account. The `account` value can be the `email` address or the
305
- # `unique_id` of the service account.
306
- class ServiceAccount
255
+ # Defines an Identity and Access Management (IAM) policy. It is used to
256
+ # specify access control policies for Cloud Platform resources.
257
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
258
+ # `members` to a `role`, where the members can be user accounts, Google groups,
259
+ # Google domains, and service accounts. A `role` is a named list of permissions
260
+ # defined by IAM.
261
+ # **Example**
262
+ # `
263
+ # "bindings": [
264
+ # `
265
+ # "role": "roles/owner",
266
+ # "members": [
267
+ # "user:mike@example.com",
268
+ # "group:admins@example.com",
269
+ # "domain:google.com",
270
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
271
+ # ]
272
+ # `,
273
+ # `
274
+ # "role": "roles/viewer",
275
+ # "members": ["user:sean@example.com"]
276
+ # `
277
+ # ]
278
+ # `
279
+ # For a description of IAM and its features, see the
280
+ # [IAM developer's guide](https://cloud.google.com/iam).
281
+ class Policy
307
282
  include Google::Apis::Core::Hashable
308
283
 
309
- # @OutputOnly The unique and stable id of the service account.
310
- # Corresponds to the JSON property `uniqueId`
311
- # @return [String]
312
- attr_accessor :unique_id
313
-
314
- # @OutputOnly. The OAuth2 client id for the service account.
315
- # This is used in conjunction with the OAuth2 clientconfig API to make
316
- # three legged OAuth2 (3LO) flows to access the data of Google users.
317
- # Corresponds to the JSON property `oauth2ClientId`
318
- # @return [String]
319
- attr_accessor :oauth2_client_id
320
-
321
- # Optional. A user-specified description of the service account. Must be
322
- # fewer than 100 UTF-8 bytes.
323
- # Corresponds to the JSON property `displayName`
324
- # @return [String]
325
- attr_accessor :display_name
326
-
327
- # Used to perform a consistent read-modify-write.
284
+ # `etag` is used for optimistic concurrency control as a way to help
285
+ # prevent simultaneous updates of a policy from overwriting each other.
286
+ # It is strongly suggested that systems make use of the `etag` in the
287
+ # read-modify-write cycle to perform policy updates in order to avoid race
288
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
289
+ # systems are expected to put that etag in the request to `setIamPolicy` to
290
+ # ensure that their change will be applied to the same version of the policy.
291
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
292
+ # policy is overwritten blindly.
328
293
  # Corresponds to the JSON property `etag`
329
294
  # @return [String]
330
295
  attr_accessor :etag
331
296
 
332
- # The resource name of the service account in the following format:
333
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
334
- # Requests using `-` as a wildcard for the project will infer the project
335
- # from the `account` and the `account` value can be the `email` address or
336
- # the `unique_id` of the service account.
337
- # In responses the resource name will always be in the format
338
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
339
- # Corresponds to the JSON property `name`
340
- # @return [String]
341
- attr_accessor :name
342
-
343
- # @OutputOnly The email address of the service account.
344
- # Corresponds to the JSON property `email`
345
- # @return [String]
346
- attr_accessor :email
297
+ # Version of the `Policy`. The default version is 0.
298
+ # Corresponds to the JSON property `version`
299
+ # @return [Fixnum]
300
+ attr_accessor :version
347
301
 
348
- # @OutputOnly The id of the project that owns the service account.
349
- # Corresponds to the JSON property `projectId`
350
- # @return [String]
351
- attr_accessor :project_id
302
+ # Associates a list of `members` to a `role`.
303
+ # Multiple `bindings` must not be specified for the same `role`.
304
+ # `bindings` with no members will result in an error.
305
+ # Corresponds to the JSON property `bindings`
306
+ # @return [Array<Google::Apis::IamV1::Binding>]
307
+ attr_accessor :bindings
352
308
 
353
309
  def initialize(**args)
354
310
  update!(**args)
@@ -356,24 +312,22 @@ module Google
356
312
 
357
313
  # Update properties of this object
358
314
  def update!(**args)
359
- @unique_id = args[:unique_id] if args.key?(:unique_id)
360
- @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
361
- @display_name = args[:display_name] if args.key?(:display_name)
362
315
  @etag = args[:etag] if args.key?(:etag)
363
- @name = args[:name] if args.key?(:name)
364
- @email = args[:email] if args.key?(:email)
365
- @project_id = args[:project_id] if args.key?(:project_id)
316
+ @version = args[:version] if args.key?(:version)
317
+ @bindings = args[:bindings] if args.key?(:bindings)
366
318
  end
367
319
  end
368
320
 
369
- # The service account keys list response.
370
- class ListServiceAccountKeysResponse
321
+ # Audit log information specific to Cloud IAM. This message is serialized
322
+ # as an `Any` type in the `ServiceData` message of an
323
+ # `AuditLog` message.
324
+ class AuditData
371
325
  include Google::Apis::Core::Hashable
372
326
 
373
- # The public keys for the service account.
374
- # Corresponds to the JSON property `keys`
375
- # @return [Array<Google::Apis::IamV1::ServiceAccountKey>]
376
- attr_accessor :keys
327
+ # The difference delta between two policies.
328
+ # Corresponds to the JSON property `policyDelta`
329
+ # @return [Google::Apis::IamV1::PolicyDelta]
330
+ attr_accessor :policy_delta
377
331
 
378
332
  def initialize(**args)
379
333
  update!(**args)
@@ -381,19 +335,34 @@ module Google
381
335
 
382
336
  # Update properties of this object
383
337
  def update!(**args)
384
- @keys = args[:keys] if args.key?(:keys)
338
+ @policy_delta = args[:policy_delta] if args.key?(:policy_delta)
385
339
  end
386
340
  end
387
341
 
388
- # Response message for `TestIamPermissions` method.
389
- class TestIamPermissionsResponse
342
+ # One delta entry for Binding. Each individual change (only one member in each
343
+ # entry) to a binding will be a separate entry.
344
+ class BindingDelta
390
345
  include Google::Apis::Core::Hashable
391
346
 
392
- # A subset of `TestPermissionsRequest.permissions` that the caller is
393
- # allowed.
394
- # Corresponds to the JSON property `permissions`
395
- # @return [Array<String>]
396
- attr_accessor :permissions
347
+ # Role that is assigned to `members`.
348
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
349
+ # Required
350
+ # Corresponds to the JSON property `role`
351
+ # @return [String]
352
+ attr_accessor :role
353
+
354
+ # The action that was performed on a Binding.
355
+ # Required
356
+ # Corresponds to the JSON property `action`
357
+ # @return [String]
358
+ attr_accessor :action
359
+
360
+ # A single identity requesting access for a Cloud Platform resource.
361
+ # Follows the same format of Binding.members.
362
+ # Required
363
+ # Corresponds to the JSON property `member`
364
+ # @return [String]
365
+ attr_accessor :member
397
366
 
398
367
  def initialize(**args)
399
368
  update!(**args)
@@ -401,65 +370,20 @@ module Google
401
370
 
402
371
  # Update properties of this object
403
372
  def update!(**args)
404
- @permissions = args[:permissions] if args.key?(:permissions)
373
+ @role = args[:role] if args.key?(:role)
374
+ @action = args[:action] if args.key?(:action)
375
+ @member = args[:member] if args.key?(:member)
405
376
  end
406
377
  end
407
378
 
408
- # Represents a service account key.
409
- # A service account has two sets of key-pairs: user-managed, and
410
- # system-managed.
411
- # User-managed key-pairs can be created and deleted by users. Users are
412
- # responsible for rotating these keys periodically to ensure security of
413
- # their service accounts. Users retain the private key of these key-pairs,
414
- # and Google retains ONLY the public key.
415
- # System-managed key-pairs are managed automatically by Google, and rotated
416
- # daily without user intervention. The private key never leaves Google's
417
- # servers to maximize security.
418
- # Public keys for all service accounts are also published at the OAuth2
419
- # Service Account API.
420
- class ServiceAccountKey
379
+ # The difference delta between two policies.
380
+ class PolicyDelta
421
381
  include Google::Apis::Core::Hashable
422
382
 
423
- # The resource name of the service account key in the following format
424
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`/keys/`key``.
425
- # Corresponds to the JSON property `name`
426
- # @return [String]
427
- attr_accessor :name
428
-
429
- # The key can be used before this timestamp.
430
- # Corresponds to the JSON property `validBeforeTime`
431
- # @return [String]
432
- attr_accessor :valid_before_time
433
-
434
- # Specifies the algorithm (and possibly key size) for the key.
435
- # Corresponds to the JSON property `keyAlgorithm`
436
- # @return [String]
437
- attr_accessor :key_algorithm
438
-
439
- # The key can be used after this timestamp.
440
- # Corresponds to the JSON property `validAfterTime`
441
- # @return [String]
442
- attr_accessor :valid_after_time
443
-
444
- # The output format for the private key.
445
- # Only provided in `CreateServiceAccountKey` responses, not
446
- # in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
447
- # Google never exposes system-managed private keys, and never retains
448
- # user-managed private keys.
449
- # Corresponds to the JSON property `privateKeyType`
450
- # @return [String]
451
- attr_accessor :private_key_type
452
-
453
- # The private key data. Only provided in `CreateServiceAccountKey`
454
- # responses.
455
- # Corresponds to the JSON property `privateKeyData`
456
- # @return [String]
457
- attr_accessor :private_key_data
458
-
459
- # The public key data. Only provided in `GetServiceAccountKey` responses.
460
- # Corresponds to the JSON property `publicKeyData`
461
- # @return [String]
462
- attr_accessor :public_key_data
383
+ # The delta for Bindings between two policies.
384
+ # Corresponds to the JSON property `bindingDeltas`
385
+ # @return [Array<Google::Apis::IamV1::BindingDelta>]
386
+ attr_accessor :binding_deltas
463
387
 
464
388
  def initialize(**args)
465
389
  update!(**args)
@@ -467,32 +391,25 @@ module Google
467
391
 
468
392
  # Update properties of this object
469
393
  def update!(**args)
470
- @name = args[:name] if args.key?(:name)
471
- @valid_before_time = args[:valid_before_time] if args.key?(:valid_before_time)
472
- @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
473
- @valid_after_time = args[:valid_after_time] if args.key?(:valid_after_time)
474
- @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
475
- @private_key_data = args[:private_key_data] if args.key?(:private_key_data)
476
- @public_key_data = args[:public_key_data] if args.key?(:public_key_data)
394
+ @binding_deltas = args[:binding_deltas] if args.key?(:binding_deltas)
477
395
  end
478
396
  end
479
397
 
480
- # The service account key create request.
481
- class CreateServiceAccountKeyRequest
398
+ # The service account list response.
399
+ class ListServiceAccountsResponse
482
400
  include Google::Apis::Core::Hashable
483
401
 
484
- # Which type of key and algorithm to use for the key.
485
- # The default is currently a 4K RSA key. However this may change in the
486
- # future.
487
- # Corresponds to the JSON property `keyAlgorithm`
402
+ # To retrieve the next page of results, set
403
+ # ListServiceAccountsRequest.page_token
404
+ # to this value.
405
+ # Corresponds to the JSON property `nextPageToken`
488
406
  # @return [String]
489
- attr_accessor :key_algorithm
407
+ attr_accessor :next_page_token
490
408
 
491
- # The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the
492
- # default output format.
493
- # Corresponds to the JSON property `privateKeyType`
494
- # @return [String]
495
- attr_accessor :private_key_type
409
+ # The list of matching service accounts.
410
+ # Corresponds to the JSON property `accounts`
411
+ # @return [Array<Google::Apis::IamV1::ServiceAccount>]
412
+ attr_accessor :accounts
496
413
 
497
414
  def initialize(**args)
498
415
  update!(**args)
@@ -500,22 +417,40 @@ module Google
500
417
 
501
418
  # Update properties of this object
502
419
  def update!(**args)
503
- @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
504
- @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
420
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
421
+ @accounts = args[:accounts] if args.key?(:accounts)
505
422
  end
506
423
  end
507
424
 
508
- # Request message for `TestIamPermissions` method.
509
- class TestIamPermissionsRequest
425
+ # The service account create request.
426
+ class CreateServiceAccountRequest
510
427
  include Google::Apis::Core::Hashable
511
428
 
512
- # The set of permissions to check for the `resource`. Permissions with
513
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
514
- # information see
515
- # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
516
- # Corresponds to the JSON property `permissions`
517
- # @return [Array<String>]
518
- attr_accessor :permissions
429
+ # A service account in the Identity and Access Management API.
430
+ # To create a service account, specify the `project_id` and the `account_id`
431
+ # for the account. The `account_id` is unique within the project, and is used
432
+ # to generate the service account email address and a stable
433
+ # `unique_id`.
434
+ # If the account already exists, the account's resource name is returned
435
+ # in util::Status's ResourceInfo.resource_name in the format of
436
+ # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
437
+ # use the name in other methods to access the account.
438
+ # All other methods can identify the service account using the format
439
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
440
+ # Using `-` as a wildcard for the project will infer the project from
441
+ # the account. The `account` value can be the `email` address or the
442
+ # `unique_id` of the service account.
443
+ # Corresponds to the JSON property `serviceAccount`
444
+ # @return [Google::Apis::IamV1::ServiceAccount]
445
+ attr_accessor :service_account
446
+
447
+ # Required. The account id that is used to generate the service account
448
+ # email address and a stable unique id. It is unique within a project,
449
+ # must be 6-30 characters long, and match the regular expression
450
+ # `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
451
+ # Corresponds to the JSON property `accountId`
452
+ # @return [String]
453
+ attr_accessor :account_id
519
454
 
520
455
  def initialize(**args)
521
456
  update!(**args)
@@ -523,23 +458,19 @@ module Google
523
458
 
524
459
  # Update properties of this object
525
460
  def update!(**args)
526
- @permissions = args[:permissions] if args.key?(:permissions)
461
+ @service_account = args[:service_account] if args.key?(:service_account)
462
+ @account_id = args[:account_id] if args.key?(:account_id)
527
463
  end
528
464
  end
529
465
 
530
- # The service account sign blob response.
531
- class SignBlobResponse
466
+ # The grantable role query response.
467
+ class QueryGrantableRolesResponse
532
468
  include Google::Apis::Core::Hashable
533
469
 
534
- # The id of the key used to sign the blob.
535
- # Corresponds to the JSON property `keyId`
536
- # @return [String]
537
- attr_accessor :key_id
538
-
539
- # The signed blob.
540
- # Corresponds to the JSON property `signature`
541
- # @return [String]
542
- attr_accessor :signature
470
+ # The list of matching roles.
471
+ # Corresponds to the JSON property `roles`
472
+ # @return [Array<Google::Apis::IamV1::Role>]
473
+ attr_accessor :roles
543
474
 
544
475
  def initialize(**args)
545
476
  update!(**args)
@@ -547,24 +478,18 @@ module Google
547
478
 
548
479
  # Update properties of this object
549
480
  def update!(**args)
550
- @key_id = args[:key_id] if args.key?(:key_id)
551
- @signature = args[:signature] if args.key?(:signature)
481
+ @roles = args[:roles] if args.key?(:roles)
552
482
  end
553
483
  end
554
484
 
555
- # The service account sign JWT response.
556
- class SignJwtResponse
485
+ # The service account sign blob request.
486
+ class SignBlobRequest
557
487
  include Google::Apis::Core::Hashable
558
488
 
559
- # The id of the key used to sign the JWT.
560
- # Corresponds to the JSON property `keyId`
561
- # @return [String]
562
- attr_accessor :key_id
563
-
564
- # The signed JWT.
565
- # Corresponds to the JSON property `signedJwt`
489
+ # The bytes to sign.
490
+ # Corresponds to the JSON property `bytesToSign`
566
491
  # @return [String]
567
- attr_accessor :signed_jwt
492
+ attr_accessor :bytes_to_sign
568
493
 
569
494
  def initialize(**args)
570
495
  update!(**args)
@@ -572,19 +497,33 @@ module Google
572
497
 
573
498
  # Update properties of this object
574
499
  def update!(**args)
575
- @key_id = args[:key_id] if args.key?(:key_id)
576
- @signed_jwt = args[:signed_jwt] if args.key?(:signed_jwt)
500
+ @bytes_to_sign = args[:bytes_to_sign] if args.key?(:bytes_to_sign)
577
501
  end
578
502
  end
579
503
 
580
- # The service account sign JWT request.
581
- class SignJwtRequest
504
+ # A role in the Identity and Access Management API.
505
+ class Role
582
506
  include Google::Apis::Core::Hashable
583
507
 
584
- # The JWT payload to sign, a JSON JWT Claim set.
585
- # Corresponds to the JSON property `payload`
508
+ # Optional. A human-readable title for the role. Typically this
509
+ # is limited to 100 UTF-8 bytes.
510
+ # Corresponds to the JSON property `title`
586
511
  # @return [String]
587
- attr_accessor :payload
512
+ attr_accessor :title
513
+
514
+ # The name of the role.
515
+ # When Role is used in CreateRole, the role name must not be set.
516
+ # When Role is used in output and other input such as UpdateRole, the role
517
+ # name is the complete path, e.g., roles/logging.viewer for curated roles
518
+ # and organizations/`ORGANIZATION_ID`/roles/logging.viewer for custom roles.
519
+ # Corresponds to the JSON property `name`
520
+ # @return [String]
521
+ attr_accessor :name
522
+
523
+ # Optional. A human-readable description for the role.
524
+ # Corresponds to the JSON property `description`
525
+ # @return [String]
526
+ attr_accessor :description
588
527
 
589
528
  def initialize(**args)
590
529
  update!(**args)
@@ -592,63 +531,45 @@ module Google
592
531
 
593
532
  # Update properties of this object
594
533
  def update!(**args)
595
- @payload = args[:payload] if args.key?(:payload)
534
+ @title = args[:title] if args.key?(:title)
535
+ @name = args[:name] if args.key?(:name)
536
+ @description = args[:description] if args.key?(:description)
596
537
  end
597
538
  end
598
539
 
599
- # Defines an Identity and Access Management (IAM) policy. It is used to
600
- # specify access control policies for Cloud Platform resources.
601
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
602
- # `members` to a `role`, where the members can be user accounts, Google groups,
603
- # Google domains, and service accounts. A `role` is a named list of permissions
604
- # defined by IAM.
605
- # **Example**
606
- # `
607
- # "bindings": [
608
- # `
609
- # "role": "roles/owner",
610
- # "members": [
611
- # "user:mike@example.com",
612
- # "group:admins@example.com",
613
- # "domain:google.com",
614
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
615
- # ]
616
- # `,
617
- # `
618
- # "role": "roles/viewer",
619
- # "members": ["user:sean@example.com"]
620
- # `
621
- # ]
622
- # `
623
- # For a description of IAM and its features, see the
624
- # [IAM developer's guide](https://cloud.google.com/iam).
625
- class Policy
540
+ # Request message for `SetIamPolicy` method.
541
+ class SetIamPolicyRequest
626
542
  include Google::Apis::Core::Hashable
627
543
 
628
- # Version of the `Policy`. The default version is 0.
629
- # Corresponds to the JSON property `version`
630
- # @return [Fixnum]
631
- attr_accessor :version
632
-
633
- # Associates a list of `members` to a `role`.
634
- # Multiple `bindings` must not be specified for the same `role`.
635
- # `bindings` with no members will result in an error.
636
- # Corresponds to the JSON property `bindings`
637
- # @return [Array<Google::Apis::IamV1::Binding>]
638
- attr_accessor :bindings
639
-
640
- # `etag` is used for optimistic concurrency control as a way to help
641
- # prevent simultaneous updates of a policy from overwriting each other.
642
- # It is strongly suggested that systems make use of the `etag` in the
643
- # read-modify-write cycle to perform policy updates in order to avoid race
644
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
645
- # systems are expected to put that etag in the request to `setIamPolicy` to
646
- # ensure that their change will be applied to the same version of the policy.
647
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
648
- # policy is overwritten blindly.
649
- # Corresponds to the JSON property `etag`
650
- # @return [String]
651
- attr_accessor :etag
544
+ # Defines an Identity and Access Management (IAM) policy. It is used to
545
+ # specify access control policies for Cloud Platform resources.
546
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
547
+ # `members` to a `role`, where the members can be user accounts, Google groups,
548
+ # Google domains, and service accounts. A `role` is a named list of permissions
549
+ # defined by IAM.
550
+ # **Example**
551
+ # `
552
+ # "bindings": [
553
+ # `
554
+ # "role": "roles/owner",
555
+ # "members": [
556
+ # "user:mike@example.com",
557
+ # "group:admins@example.com",
558
+ # "domain:google.com",
559
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
560
+ # ]
561
+ # `,
562
+ # `
563
+ # "role": "roles/viewer",
564
+ # "members": ["user:sean@example.com"]
565
+ # `
566
+ # ]
567
+ # `
568
+ # For a description of IAM and its features, see the
569
+ # [IAM developer's guide](https://cloud.google.com/iam).
570
+ # Corresponds to the JSON property `policy`
571
+ # @return [Google::Apis::IamV1::Policy]
572
+ attr_accessor :policy
652
573
 
653
574
  def initialize(**args)
654
575
  update!(**args)
@@ -656,22 +577,38 @@ module Google
656
577
 
657
578
  # Update properties of this object
658
579
  def update!(**args)
659
- @version = args[:version] if args.key?(:version)
660
- @bindings = args[:bindings] if args.key?(:bindings)
661
- @etag = args[:etag] if args.key?(:etag)
580
+ @policy = args[:policy] if args.key?(:policy)
662
581
  end
663
582
  end
664
583
 
665
- # Audit log information specific to Cloud IAM. This message is serialized
666
- # as an `Any` type in the `ServiceData` message of an
667
- # `AuditLog` message.
668
- class AuditData
584
+ # Associates `members` with a `role`.
585
+ class Binding
669
586
  include Google::Apis::Core::Hashable
670
587
 
671
- # The difference delta between two policies.
672
- # Corresponds to the JSON property `policyDelta`
673
- # @return [Google::Apis::IamV1::PolicyDelta]
674
- attr_accessor :policy_delta
588
+ # Role that is assigned to `members`.
589
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
590
+ # Required
591
+ # Corresponds to the JSON property `role`
592
+ # @return [String]
593
+ attr_accessor :role
594
+
595
+ # Specifies the identities requesting access for a Cloud Platform resource.
596
+ # `members` can have the following values:
597
+ # * `allUsers`: A special identifier that represents anyone who is
598
+ # on the internet; with or without a Google account.
599
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
600
+ # who is authenticated with a Google account or a service account.
601
+ # * `user:`emailid``: An email address that represents a specific Google
602
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
603
+ # * `serviceAccount:`emailid``: An email address that represents a service
604
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
605
+ # * `group:`emailid``: An email address that represents a Google group.
606
+ # For example, `admins@example.com`.
607
+ # * `domain:`domain``: A Google Apps domain name that represents all the
608
+ # users of that domain. For example, `google.com` or `example.com`.
609
+ # Corresponds to the JSON property `members`
610
+ # @return [Array<String>]
611
+ attr_accessor :members
675
612
 
676
613
  def initialize(**args)
677
614
  update!(**args)
@@ -679,34 +616,71 @@ module Google
679
616
 
680
617
  # Update properties of this object
681
618
  def update!(**args)
682
- @policy_delta = args[:policy_delta] if args.key?(:policy_delta)
619
+ @role = args[:role] if args.key?(:role)
620
+ @members = args[:members] if args.key?(:members)
683
621
  end
684
622
  end
685
623
 
686
- # One delta entry for Binding. Each individual change (only one member in each
687
- # entry) to a binding will be a separate entry.
688
- class BindingDelta
624
+ # A service account in the Identity and Access Management API.
625
+ # To create a service account, specify the `project_id` and the `account_id`
626
+ # for the account. The `account_id` is unique within the project, and is used
627
+ # to generate the service account email address and a stable
628
+ # `unique_id`.
629
+ # If the account already exists, the account's resource name is returned
630
+ # in util::Status's ResourceInfo.resource_name in the format of
631
+ # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
632
+ # use the name in other methods to access the account.
633
+ # All other methods can identify the service account using the format
634
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
635
+ # Using `-` as a wildcard for the project will infer the project from
636
+ # the account. The `account` value can be the `email` address or the
637
+ # `unique_id` of the service account.
638
+ class ServiceAccount
689
639
  include Google::Apis::Core::Hashable
690
640
 
691
- # The action that was performed on a Binding.
692
- # Required
693
- # Corresponds to the JSON property `action`
641
+ # @OutputOnly The id of the project that owns the service account.
642
+ # Corresponds to the JSON property `projectId`
694
643
  # @return [String]
695
- attr_accessor :action
644
+ attr_accessor :project_id
696
645
 
697
- # A single identity requesting access for a Cloud Platform resource.
698
- # Follows the same format of Binding.members.
699
- # Required
700
- # Corresponds to the JSON property `member`
646
+ # @OutputOnly The unique and stable id of the service account.
647
+ # Corresponds to the JSON property `uniqueId`
701
648
  # @return [String]
702
- attr_accessor :member
649
+ attr_accessor :unique_id
703
650
 
704
- # Role that is assigned to `members`.
705
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
706
- # Required
707
- # Corresponds to the JSON property `role`
651
+ # @OutputOnly. The OAuth2 client id for the service account.
652
+ # This is used in conjunction with the OAuth2 clientconfig API to make
653
+ # three legged OAuth2 (3LO) flows to access the data of Google users.
654
+ # Corresponds to the JSON property `oauth2ClientId`
708
655
  # @return [String]
709
- attr_accessor :role
656
+ attr_accessor :oauth2_client_id
657
+
658
+ # Optional. A user-specified description of the service account. Must be
659
+ # fewer than 100 UTF-8 bytes.
660
+ # Corresponds to the JSON property `displayName`
661
+ # @return [String]
662
+ attr_accessor :display_name
663
+
664
+ # Used to perform a consistent read-modify-write.
665
+ # Corresponds to the JSON property `etag`
666
+ # @return [String]
667
+ attr_accessor :etag
668
+
669
+ # @OutputOnly The email address of the service account.
670
+ # Corresponds to the JSON property `email`
671
+ # @return [String]
672
+ attr_accessor :email
673
+
674
+ # The resource name of the service account in the following format:
675
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
676
+ # Requests using `-` as a wildcard for the project will infer the project
677
+ # from the `account` and the `account` value can be the `email` address or
678
+ # the `unique_id` of the service account.
679
+ # In responses the resource name will always be in the format
680
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
681
+ # Corresponds to the JSON property `name`
682
+ # @return [String]
683
+ attr_accessor :name
710
684
 
711
685
  def initialize(**args)
712
686
  update!(**args)
@@ -714,20 +688,46 @@ module Google
714
688
 
715
689
  # Update properties of this object
716
690
  def update!(**args)
717
- @action = args[:action] if args.key?(:action)
718
- @member = args[:member] if args.key?(:member)
719
- @role = args[:role] if args.key?(:role)
691
+ @project_id = args[:project_id] if args.key?(:project_id)
692
+ @unique_id = args[:unique_id] if args.key?(:unique_id)
693
+ @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
694
+ @display_name = args[:display_name] if args.key?(:display_name)
695
+ @etag = args[:etag] if args.key?(:etag)
696
+ @email = args[:email] if args.key?(:email)
697
+ @name = args[:name] if args.key?(:name)
720
698
  end
721
699
  end
722
700
 
723
- # The difference delta between two policies.
724
- class PolicyDelta
701
+ # A generic empty message that you can re-use to avoid defining duplicated
702
+ # empty messages in your APIs. A typical example is to use it as the request
703
+ # or the response type of an API method. For instance:
704
+ # service Foo `
705
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
706
+ # `
707
+ # The JSON representation for `Empty` is empty JSON object ````.
708
+ class Empty
725
709
  include Google::Apis::Core::Hashable
726
710
 
727
- # The delta for Bindings between two policies.
728
- # Corresponds to the JSON property `bindingDeltas`
729
- # @return [Array<Google::Apis::IamV1::BindingDelta>]
730
- attr_accessor :binding_deltas
711
+ def initialize(**args)
712
+ update!(**args)
713
+ end
714
+
715
+ # Update properties of this object
716
+ def update!(**args)
717
+ end
718
+ end
719
+
720
+ # The grantable role query request.
721
+ class QueryGrantableRolesRequest
722
+ include Google::Apis::Core::Hashable
723
+
724
+ # Required. The full resource name to query from the list of grantable roles.
725
+ # The name follows the Google Cloud Platform resource format.
726
+ # For example, a Cloud Platform project with id `my-project` will be named
727
+ # `//cloudresourcemanager.googleapis.com/projects/my-project`.
728
+ # Corresponds to the JSON property `fullResourceName`
729
+ # @return [String]
730
+ attr_accessor :full_resource_name
731
731
 
732
732
  def initialize(**args)
733
733
  update!(**args)
@@ -735,7 +735,7 @@ module Google
735
735
 
736
736
  # Update properties of this object
737
737
  def update!(**args)
738
- @binding_deltas = args[:binding_deltas] if args.key?(:binding_deltas)
738
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
739
739
  end
740
740
  end
741
741
  end