google-api-client 0.10.0 → 0.10.1

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