google-api-client 0.9.28 → 0.10.0

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