google-api-client 0.11.1 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
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