google-api-client 0.11.1 → 0.11.2

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