blob: 60b13fd2595f09a111987a2e59e7210f55b7edf4 [file] [log] [blame]
Bu Sun Kimd059ad82020-07-22 17:02:09 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="gameservices_v1.html">Game Services API</a> . <a href="gameservices_v1.projects.html">projects</a> . <a href="gameservices_v1.projects.locations.html">locations</a> . <a href="gameservices_v1.projects.locations.gameServerDeployments.html">gameServerDeployments</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="gameservices_v1.projects.locations.gameServerDeployments.configs.html">configs()</a></code>
79</p>
80<p class="firstline">Returns the configs Resource.</p>
81
82<p class="toc_element">
83 <code><a href="#create">create(parent, body=None, deploymentId=None, x__xgafv=None)</a></code></p>
84<p class="firstline">Creates a new game server deployment in a given project and location.</p>
85<p class="toc_element">
86 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
87<p class="firstline">Deletes a single game server deployment.</p>
88<p class="toc_element">
89 <code><a href="#fetchDeploymentState">fetchDeploymentState(name, body=None, x__xgafv=None)</a></code></p>
90<p class="firstline">Retrieves information about the current state of the game server</p>
91<p class="toc_element">
92 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
93<p class="firstline">Gets details of a single game server deployment.</p>
94<p class="toc_element">
95 <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
96<p class="firstline">Gets the access control policy for a resource.</p>
97<p class="toc_element">
98 <code><a href="#getRollout">getRollout(name, x__xgafv=None)</a></code></p>
99<p class="firstline">Gets details a single game server deployment rollout.</p>
100<p class="toc_element">
101 <code><a href="#list">list(parent, filter=None, orderBy=None, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
102<p class="firstline">Lists game server deployments in a given project and location.</p>
103<p class="toc_element">
104 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
105<p class="firstline">Retrieves the next page of results.</p>
106<p class="toc_element">
107 <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
108<p class="firstline">Patches a game server deployment.</p>
109<p class="toc_element">
110 <code><a href="#previewRollout">previewRollout(name, body=None, updateMask=None, previewTime=None, x__xgafv=None)</a></code></p>
111<p class="firstline">Previews the game server deployment rollout. This API does not mutate the</p>
112<p class="toc_element">
113 <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
114<p class="firstline">Sets the access control policy on the specified resource. Replaces any</p>
115<p class="toc_element">
116 <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
117<p class="firstline">Returns permissions that a caller has on the specified resource.</p>
118<p class="toc_element">
119 <code><a href="#updateRollout">updateRollout(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
120<p class="firstline">Patches a single game server deployment rollout.</p>
121<h3>Method Details</h3>
122<div class="method">
123 <code class="details" id="create">create(parent, body=None, deploymentId=None, x__xgafv=None)</code>
124 <pre>Creates a new game server deployment in a given project and location.
125
126Args:
127 parent: string, Required. The parent resource name. Uses the form:
128`projects/{project}/locations/{location}`. (required)
129 body: object, The request body.
130 The object takes the form of:
131
132{ # A game server deployment resource.
133 &quot;description&quot;: &quot;A String&quot;, # Human readable description of the game server delpoyment.
134 &quot;name&quot;: &quot;A String&quot;, # The resource name of the game server deployment. Uses the form:
135 #
136 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.
137 # For example,
138 #
139 # `projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.
140 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
141 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last-modified time.
142 &quot;etag&quot;: &quot;A String&quot;, # ETag of the resource.
143 &quot;labels&quot;: { # The labels associated with this game server deployment. Each label is a
144 # key-value pair.
145 &quot;a_key&quot;: &quot;A String&quot;,
146 },
147}
148
149 deploymentId: string, Required. The ID of the game server delpoyment resource to be created.
150 x__xgafv: string, V1 error format.
151 Allowed values
152 1 - v1 error format
153 2 - v2 error format
154
155Returns:
156 An object of the form:
157
158 { # This resource represents a long-running operation that is the result of a
159 # network API call.
160 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
161 # originally returns it. If you use the default HTTP mapping, the
162 # `name` should be a resource name ending with `operations/{unique_id}`.
163 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
164 # contains progress information and common metadata such as create time.
165 # Some services might not provide such metadata. Any method that returns a
166 # long-running operation should document the metadata type, if any.
167 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
168 },
169 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
170 # different programming environments, including REST APIs and RPC APIs. It is
171 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
172 # three pieces of data: error code, error message, and error details.
173 #
174 # You can find out more about this error model and how to work with it in the
175 # [API Design Guide](https://cloud.google.com/apis/design/errors).
176 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
177 # user-facing error message should be localized and sent in the
178 # google.rpc.Status.details field, or localized by the client.
179 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
180 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
181 # message types for APIs to use.
182 {
183 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
184 },
185 ],
186 },
187 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
188 # If `true`, the operation is completed, and either `error` or `response` is
189 # available.
190 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
191 # method returns no data on success, such as `Delete`, the response is
192 # `google.protobuf.Empty`. If the original method is standard
193 # `Get`/`Create`/`Update`, the response should be the resource. For other
194 # methods, the response should have the type `XxxResponse`, where `Xxx`
195 # is the original method name. For example, if the original method name
196 # is `TakeSnapshot()`, the inferred response type is
197 # `TakeSnapshotResponse`.
198 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
199 },
200 }</pre>
201</div>
202
203<div class="method">
204 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
205 <pre>Deletes a single game server deployment.
206
207Args:
208 name: string, Required. The name of the game server delpoyment to delete. Uses the form:
209
210`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`. (required)
211 x__xgafv: string, V1 error format.
212 Allowed values
213 1 - v1 error format
214 2 - v2 error format
215
216Returns:
217 An object of the form:
218
219 { # This resource represents a long-running operation that is the result of a
220 # network API call.
221 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
222 # originally returns it. If you use the default HTTP mapping, the
223 # `name` should be a resource name ending with `operations/{unique_id}`.
224 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
225 # contains progress information and common metadata such as create time.
226 # Some services might not provide such metadata. Any method that returns a
227 # long-running operation should document the metadata type, if any.
228 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
229 },
230 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
231 # different programming environments, including REST APIs and RPC APIs. It is
232 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
233 # three pieces of data: error code, error message, and error details.
234 #
235 # You can find out more about this error model and how to work with it in the
236 # [API Design Guide](https://cloud.google.com/apis/design/errors).
237 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
238 # user-facing error message should be localized and sent in the
239 # google.rpc.Status.details field, or localized by the client.
240 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
241 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
242 # message types for APIs to use.
243 {
244 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
245 },
246 ],
247 },
248 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
249 # If `true`, the operation is completed, and either `error` or `response` is
250 # available.
251 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
252 # method returns no data on success, such as `Delete`, the response is
253 # `google.protobuf.Empty`. If the original method is standard
254 # `Get`/`Create`/`Update`, the response should be the resource. For other
255 # methods, the response should have the type `XxxResponse`, where `Xxx`
256 # is the original method name. For example, if the original method name
257 # is `TakeSnapshot()`, the inferred response type is
258 # `TakeSnapshotResponse`.
259 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
260 },
261 }</pre>
262</div>
263
264<div class="method">
265 <code class="details" id="fetchDeploymentState">fetchDeploymentState(name, body=None, x__xgafv=None)</code>
266 <pre>Retrieves information about the current state of the game server
267deployment. Gathers all the Agones fleets and Agones autoscalers,
268including fleets running an older version of the game server deployment.
269
270Args:
271 name: string, Required. The name of the game server delpoyment. Uses the form:
272
273`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`. (required)
274 body: object, The request body.
275 The object takes the form of:
276
277{ # Request message for GameServerDeploymentsService.FetchDeploymentState.
278 }
279
280 x__xgafv: string, V1 error format.
281 Allowed values
282 1 - v1 error format
283 2 - v2 error format
284
285Returns:
286 An object of the form:
287
288 { # Response message for GameServerDeploymentsService.FetchDeploymentState.
289 &quot;unavailable&quot;: [ # List of locations that could not be reached.
290 &quot;A String&quot;,
291 ],
292 &quot;clusterState&quot;: [ # The state of the game server deployment in each game server cluster.
293 { # The game server cluster changes made by the game server deployment.
294 &quot;cluster&quot;: &quot;A String&quot;, # The name of the cluster.
295 &quot;fleetDetails&quot;: [ # The details about the Agones fleets and autoscalers created in the
296 # game server cluster.
297 { # Details of the deployed Agones fleet.
298 &quot;deployedFleet&quot;: { # Agones fleet specification and details. # Information about the Agones fleet.
299 &quot;fleet&quot;: &quot;A String&quot;, # The name of the Agones fleet.
300 &quot;specSource&quot;: { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # The source spec that is used to create the Agones fleet.
301 # The GameServerConfig resource may no longer exist in the system.
302 &quot;gameServerConfigName&quot;: &quot;A String&quot;, # The game server config resource. Uses the form:
303 #
304 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.
305 &quot;name&quot;: &quot;A String&quot;, # The name of the Agones leet config or Agones scaling config used to derive
306 # the Agones fleet or Agones autoscaler spec.
307 },
308 &quot;fleetSpec&quot;: &quot;A String&quot;, # The fleet spec retrieved from the Agones fleet.
309 &quot;status&quot;: { # DeployedFleetStatus has details about the Agones fleets such as how many # The current status of the Agones fleet.
310 # Includes count of game servers in various states.
311 # are running, how many allocated, and so on.
312 &quot;readyReplicas&quot;: &quot;A String&quot;, # The number of GameServer replicas in the READY state in this fleet.
313 &quot;reservedReplicas&quot;: &quot;A String&quot;, # The number of GameServer replicas in the RESERVED state in this fleet.
314 # Reserved instances won&#x27;t be deleted on scale down, but won&#x27;t cause
315 # an autoscaler to scale up.
316 &quot;replicas&quot;: &quot;A String&quot;, # The total number of current GameServer replicas in this fleet.
317 &quot;allocatedReplicas&quot;: &quot;A String&quot;, # The number of GameServer replicas in the ALLOCATED state in this fleet.
318 },
319 },
320 &quot;deployedAutoscaler&quot;: { # Details about the Agones autoscaler. # Information about the Agones autoscaler for that fleet.
321 &quot;autoscaler&quot;: &quot;A String&quot;, # The name of the Agones autoscaler.
322 &quot;specSource&quot;: { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # The source spec that is used to create the autoscaler.
323 # The GameServerConfig resource may no longer exist in the system.
324 &quot;gameServerConfigName&quot;: &quot;A String&quot;, # The game server config resource. Uses the form:
325 #
326 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.
327 &quot;name&quot;: &quot;A String&quot;, # The name of the Agones leet config or Agones scaling config used to derive
328 # the Agones fleet or Agones autoscaler spec.
329 },
330 &quot;fleetAutoscalerSpec&quot;: &quot;A String&quot;, # The autoscaler spec retrieved from Agones.
331 },
332 },
333 ],
334 },
335 ],
336 }</pre>
337</div>
338
339<div class="method">
340 <code class="details" id="get">get(name, x__xgafv=None)</code>
341 <pre>Gets details of a single game server deployment.
342
343Args:
344 name: string, Required. The name of the game server delpoyment to retrieve. Uses the form:
345
346`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`. (required)
347 x__xgafv: string, V1 error format.
348 Allowed values
349 1 - v1 error format
350 2 - v2 error format
351
352Returns:
353 An object of the form:
354
355 { # A game server deployment resource.
356 &quot;description&quot;: &quot;A String&quot;, # Human readable description of the game server delpoyment.
357 &quot;name&quot;: &quot;A String&quot;, # The resource name of the game server deployment. Uses the form:
358 #
359 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.
360 # For example,
361 #
362 # `projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.
363 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
364 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last-modified time.
365 &quot;etag&quot;: &quot;A String&quot;, # ETag of the resource.
366 &quot;labels&quot;: { # The labels associated with this game server deployment. Each label is a
367 # key-value pair.
368 &quot;a_key&quot;: &quot;A String&quot;,
369 },
370 }</pre>
371</div>
372
373<div class="method">
374 <code class="details" id="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
375 <pre>Gets the access control policy for a resource.
376Returns an empty policy if the resource exists and does not have a policy
377set.
378
379Args:
380 resource: string, REQUIRED: The resource for which the policy is being requested.
381See the operation documentation for the appropriate value for this field. (required)
382 options_requestedPolicyVersion: integer, Optional. The policy format version to be returned.
383
384Valid values are 0, 1, and 3. Requests specifying an invalid value will be
385rejected.
386
387Requests for policies with any conditional bindings must specify version 3.
388Policies without any conditional bindings may specify any valid value or
389leave the field unset.
390
391To learn which resources support conditions in their IAM policies, see the
392[IAM
393documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
394 x__xgafv: string, V1 error format.
395 Allowed values
396 1 - v1 error format
397 2 - v2 error format
398
399Returns:
400 An object of the form:
401
402 { # An Identity and Access Management (IAM) policy, which specifies access
403 # controls for Google Cloud resources.
404 #
405 #
406 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
407 # `members` to a single `role`. Members can be user accounts, service accounts,
408 # Google groups, and domains (such as G Suite). A `role` is a named list of
409 # permissions; each `role` can be an IAM predefined role or a user-created
410 # custom role.
411 #
412 # For some types of Google Cloud resources, a `binding` can also specify a
413 # `condition`, which is a logical expression that allows access to a resource
414 # only if the expression evaluates to `true`. A condition can add constraints
415 # based on attributes of the request, the resource, or both. To learn which
416 # resources support conditions in their IAM policies, see the
417 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
418 #
419 # **JSON example:**
420 #
421 # {
422 # &quot;bindings&quot;: [
423 # {
424 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
425 # &quot;members&quot;: [
426 # &quot;user:mike@example.com&quot;,
427 # &quot;group:admins@example.com&quot;,
428 # &quot;domain:google.com&quot;,
429 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
430 # ]
431 # },
432 # {
433 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
434 # &quot;members&quot;: [
435 # &quot;user:eve@example.com&quot;
436 # ],
437 # &quot;condition&quot;: {
438 # &quot;title&quot;: &quot;expirable access&quot;,
439 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
440 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
441 # }
442 # }
443 # ],
444 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
445 # &quot;version&quot;: 3
446 # }
447 #
448 # **YAML example:**
449 #
450 # bindings:
451 # - members:
452 # - user:mike@example.com
453 # - group:admins@example.com
454 # - domain:google.com
455 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
456 # role: roles/resourcemanager.organizationAdmin
457 # - members:
458 # - user:eve@example.com
459 # role: roles/resourcemanager.organizationViewer
460 # condition:
461 # title: expirable access
462 # description: Does not grant access after Sep 2020
463 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
464 # - etag: BwWWja0YfJA=
465 # - version: 3
466 #
467 # For a description of IAM and its features, see the
468 # [IAM documentation](https://cloud.google.com/iam/docs/).
469 &quot;rules&quot;: [ # If more than one rule is specified, the rules are applied in the following
470 # manner:
471 # - All matching LOG rules are always applied.
472 # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
473 # Logging will be applied if one or more matching rule requires logging.
474 # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
475 # granted.
476 # Logging will be applied if one or more matching rule requires logging.
477 # - Otherwise, if no rule applies, permission is denied.
478 { # A rule to be applied in a Policy.
479 &quot;permissions&quot;: [ # A permission is a string of form &#x27;&lt;service&gt;.&lt;resource type&gt;.&lt;verb&gt;&#x27;
480 # (e.g., &#x27;storage.buckets.list&#x27;). A value of &#x27;*&#x27; matches all permissions,
481 # and a verb part of &#x27;*&#x27; (e.g., &#x27;storage.buckets.*&#x27;) matches all verbs.
482 &quot;A String&quot;,
483 ],
484 &quot;notIn&quot;: [ # If one or more &#x27;not_in&#x27; clauses are specified, the rule matches
485 # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
486 # The format for in and not_in entries can be found at in the Local IAM
487 # documentation (see go/local-iam#features).
488 &quot;A String&quot;,
489 ],
490 &quot;in&quot;: [ # If one or more &#x27;in&#x27; clauses are specified, the rule matches if
491 # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
492 &quot;A String&quot;,
493 ],
494 &quot;conditions&quot;: [ # Additional restrictions that must be met. All conditions must pass for the
495 # rule to match.
496 { # A condition to be met.
497 &quot;iam&quot;: &quot;A String&quot;, # Trusted attributes supplied by the IAM system.
498 &quot;svc&quot;: &quot;A String&quot;, # Trusted attributes discharged by the service.
499 &quot;sys&quot;: &quot;A String&quot;, # Trusted attributes supplied by any service that owns resources and uses
500 # the IAM system for access control.
501 &quot;values&quot;: [ # The objects of the condition.
502 &quot;A String&quot;,
503 ],
504 &quot;op&quot;: &quot;A String&quot;, # An operator to apply the subject with.
505 },
506 ],
507 &quot;action&quot;: &quot;A String&quot;, # Required
508 &quot;logConfig&quot;: [ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
509 # that match the LOG action.
510 { # Specifies what kind of log the caller must write
511 &quot;dataAccess&quot;: { # Write a Data Access (Gin) log # Data access options.
512 &quot;logMode&quot;: &quot;A String&quot;,
513 },
514 &quot;counter&quot;: { # Increment a streamz counter with the specified metric and field names. # Counter options.
515 #
516 # Metric names should start with a &#x27;/&#x27;, generally be lowercase-only,
517 # and end in &quot;_count&quot;. Field names should not contain an initial slash.
518 # The actual exported metric names will have &quot;/iam/policy&quot; prepended.
519 #
520 # Field names correspond to IAM request parameters and field values are
521 # their respective values.
522 #
523 # Supported field names:
524 # - &quot;authority&quot;, which is &quot;[token]&quot; if IAMContext.token is present,
525 # otherwise the value of IAMContext.authority_selector if present, and
526 # otherwise a representation of IAMContext.principal; or
527 # - &quot;iam_principal&quot;, a representation of IAMContext.principal even if a
528 # token or authority selector is present; or
529 # - &quot;&quot; (empty string), resulting in a counter with no fields.
530 #
531 # Examples:
532 # counter { metric: &quot;/debug_access_count&quot; field: &quot;iam_principal&quot; }
533 # ==&gt; increment counter /iam/policy/debug_access_count
534 # {iam_principal=[value of IAMContext.principal]}
535 &quot;customFields&quot;: [ # Custom fields.
536 { # Custom fields.
537 # These can be used to create a counter with arbitrary field/value
538 # pairs.
539 # See: go/rpcsp-custom-fields.
540 &quot;name&quot;: &quot;A String&quot;, # Name is the field name.
541 &quot;value&quot;: &quot;A String&quot;, # Value is the field value. It is important that in contrast to the
542 # CounterOptions.field, the value here is a constant that is not
543 # derived from the IAMContext.
544 },
545 ],
546 &quot;metric&quot;: &quot;A String&quot;, # The metric to update.
547 &quot;field&quot;: &quot;A String&quot;, # The field value to attribute.
548 },
549 &quot;cloudAudit&quot;: { # Write a Cloud Audit log # Cloud audit options.
550 &quot;authorizationLoggingOptions&quot;: { # Authorization-related information used by Cloud Audit Logging. # Information used by the Cloud Audit Logging pipeline.
551 &quot;permissionType&quot;: &quot;A String&quot;, # The type of the permission that was checked.
552 },
553 &quot;logName&quot;: &quot;A String&quot;, # The log_name to populate in the Cloud Audit Record.
554 },
555 },
556 ],
557 &quot;description&quot;: &quot;A String&quot;, # Human-readable description of the rule.
558 },
559 ],
560 &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
561 { # Specifies the audit configuration for a service.
562 # The configuration determines which permission types are logged, and what
563 # identities, if any, are exempted from logging.
564 # An AuditConfig must have one or more AuditLogConfigs.
565 #
566 # If there are AuditConfigs for both `allServices` and a specific service,
567 # the union of the two AuditConfigs is used for that service: the log_types
568 # specified in each AuditConfig are enabled, and the exempted_members in each
569 # AuditLogConfig are exempted.
570 #
571 # Example Policy with multiple AuditConfigs:
572 #
573 # {
574 # &quot;audit_configs&quot;: [
575 # {
576 # &quot;service&quot;: &quot;allServices&quot;,
577 # &quot;audit_log_configs&quot;: [
578 # {
579 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
580 # &quot;exempted_members&quot;: [
581 # &quot;user:jose@example.com&quot;
582 # ]
583 # },
584 # {
585 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;
586 # },
587 # {
588 # &quot;log_type&quot;: &quot;ADMIN_READ&quot;
589 # }
590 # ]
591 # },
592 # {
593 # &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;,
594 # &quot;audit_log_configs&quot;: [
595 # {
596 # &quot;log_type&quot;: &quot;DATA_READ&quot;
597 # },
598 # {
599 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
600 # &quot;exempted_members&quot;: [
601 # &quot;user:aliya@example.com&quot;
602 # ]
603 # }
604 # ]
605 # }
606 # ]
607 # }
608 #
609 # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
610 # logging. It also exempts jose@example.com from DATA_READ logging, and
611 # aliya@example.com from DATA_WRITE logging.
612 &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
613 { # Provides the configuration for logging a type of permissions.
614 # Example:
615 #
616 # {
617 # &quot;audit_log_configs&quot;: [
618 # {
619 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
620 # &quot;exempted_members&quot;: [
621 # &quot;user:jose@example.com&quot;
622 # ]
623 # },
624 # {
625 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;
626 # }
627 # ]
628 # }
629 #
630 # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
631 # jose@example.com from DATA_READ logging.
632 &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
633 # permission.
634 # Follows the same format of Binding.members.
635 &quot;A String&quot;,
636 ],
637 &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
638 &quot;ignoreChildExemptions&quot;: True or False,
639 },
640 ],
641 &quot;exemptedMembers&quot;: [
642 &quot;A String&quot;,
643 ],
644 &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
645 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
646 # `allServices` is a special value that covers all services.
647 },
648 ],
649 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
650 # `condition` that determines how and when the `bindings` are applied. Each
651 # of the `bindings` must contain at least one member.
652 { # Associates `members` with a `role`.
653 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
654 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
655 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
656 # `members` can have the following values:
657 #
658 # * `allUsers`: A special identifier that represents anyone who is
659 # on the internet; with or without a Google account.
660 #
661 # * `allAuthenticatedUsers`: A special identifier that represents anyone
662 # who is authenticated with a Google account or a service account.
663 #
664 # * `user:{emailid}`: An email address that represents a specific Google
665 # account. For example, `alice@example.com` .
666 #
667 #
668 # * `serviceAccount:{emailid}`: An email address that represents a service
669 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
670 #
671 # * `group:{emailid}`: An email address that represents a Google group.
672 # For example, `admins@example.com`.
673 #
674 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
675 # identifier) representing a user that has been recently deleted. For
676 # example, `alice@example.com?uid=123456789012345678901`. If the user is
677 # recovered, this value reverts to `user:{emailid}` and the recovered user
678 # retains the role in the binding.
679 #
680 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
681 # unique identifier) representing a service account that has been recently
682 # deleted. For example,
683 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
684 # If the service account is undeleted, this value reverts to
685 # `serviceAccount:{emailid}` and the undeleted service account retains the
686 # role in the binding.
687 #
688 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
689 # identifier) representing a Google group that has been recently
690 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
691 # the group is recovered, this value reverts to `group:{emailid}` and the
692 # recovered group retains the role in the binding.
693 #
694 #
695 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
696 # users of that domain. For example, `google.com` or `example.com`.
697 #
698 &quot;A String&quot;,
699 ],
700 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
701 #
702 # If the condition evaluates to `true`, then this binding applies to the
703 # current request.
704 #
705 # If the condition evaluates to `false`, then this binding does not apply to
706 # the current request. However, a different role binding might grant the same
707 # role to one or more of the members in this binding.
708 #
709 # To learn which resources support conditions in their IAM policies, see the
710 # [IAM
711 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
712 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
713 # are documented at https://github.com/google/cel-spec.
714 #
715 # Example (Comparison):
716 #
717 # title: &quot;Summary size limit&quot;
718 # description: &quot;Determines if a summary is less than 100 chars&quot;
719 # expression: &quot;document.summary.size() &lt; 100&quot;
720 #
721 # Example (Equality):
722 #
723 # title: &quot;Requestor is owner&quot;
724 # description: &quot;Determines if requestor is the document owner&quot;
725 # expression: &quot;document.owner == request.auth.claims.email&quot;
726 #
727 # Example (Logic):
728 #
729 # title: &quot;Public documents&quot;
730 # description: &quot;Determine whether the document should be publicly visible&quot;
731 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
732 #
733 # Example (Data Manipulation):
734 #
735 # title: &quot;Notification string&quot;
736 # description: &quot;Create a notification string with a timestamp.&quot;
737 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
738 #
739 # The exact variables and functions that may be referenced within an expression
740 # are determined by the service that evaluates it. See the service
741 # documentation for additional information.
742 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
743 # its purpose. This can be used e.g. in UIs which allow to enter the
744 # expression.
745 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
746 # reporting, e.g. a file name and a position in the file.
747 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
748 # describes the expression, e.g. when hovered over it in a UI.
749 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
750 # syntax.
751 },
752 },
753 ],
754 &quot;iamOwned&quot;: True or False,
755 &quot;version&quot;: 42, # Specifies the format of the policy.
756 #
757 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
758 # are rejected.
759 #
760 # Any operation that affects conditional role bindings must specify version
761 # `3`. This requirement applies to the following operations:
762 #
763 # * Getting a policy that includes a conditional role binding
764 # * Adding a conditional role binding to a policy
765 # * Changing a conditional role binding in a policy
766 # * Removing any role binding, with or without a condition, from a policy
767 # that includes conditions
768 #
769 # **Important:** If you use IAM Conditions, you must include the `etag` field
770 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
771 # you to overwrite a version `3` policy with a version `1` policy, and all of
772 # the conditions in the version `3` policy are lost.
773 #
774 # If a policy does not include any conditions, operations on that policy may
775 # specify any valid version or leave the field unset.
776 #
777 # To learn which resources support conditions in their IAM policies, see the
778 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
779 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
780 # prevent simultaneous updates of a policy from overwriting each other.
781 # It is strongly suggested that systems make use of the `etag` in the
782 # read-modify-write cycle to perform policy updates in order to avoid race
783 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
784 # systems are expected to put that etag in the request to `setIamPolicy` to
785 # ensure that their change will be applied to the same version of the policy.
786 #
787 # **Important:** If you use IAM Conditions, you must include the `etag` field
788 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
789 # you to overwrite a version `3` policy with a version `1` policy, and all of
790 # the conditions in the version `3` policy are lost.
791 }</pre>
792</div>
793
794<div class="method">
795 <code class="details" id="getRollout">getRollout(name, x__xgafv=None)</code>
796 <pre>Gets details a single game server deployment rollout.
797
798Args:
799 name: string, Required. The name of the game server delpoyment to retrieve. Uses the form:
800
801`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`. (required)
802 x__xgafv: string, V1 error format.
803 Allowed values
804 1 - v1 error format
805 2 - v2 error format
806
807Returns:
808 An object of the form:
809
810 { # The game server deployment rollout which represents the desired rollout
811 # state.
812 &quot;defaultGameServerConfig&quot;: &quot;A String&quot;, # The default game server config is applied to all realms unless overridden
813 # in the rollout. For example,
814 #
815 # `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
816 &quot;name&quot;: &quot;A String&quot;, # The resource name of the game server deployment rollout. Uses the form:
817 #
818 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.
819 # For example,
820 #
821 # `projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.
822 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last-modified time.
823 &quot;gameServerConfigOverrides&quot;: [ # Contains the game server config rollout overrides. Overrides are processed
824 # in the order they are listed. Once a match is found for a realm, the rest
825 # of the list is not processed.
826 { # A game server config override.
827 &quot;realmsSelector&quot;: { # The realm selector, used to match realm resources. # Selector for choosing applicable realms.
828 &quot;realms&quot;: [ # List of realms to match.
829 &quot;A String&quot;,
830 ],
831 },
832 &quot;configVersion&quot;: &quot;A String&quot;, # The game server config for this override.
833 },
834 ],
835 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
836 &quot;etag&quot;: &quot;A String&quot;, # ETag of the resource.
837 }</pre>
838</div>
839
840<div class="method">
841 <code class="details" id="list">list(parent, filter=None, orderBy=None, pageToken=None, pageSize=None, x__xgafv=None)</code>
842 <pre>Lists game server deployments in a given project and location.
843
844Args:
845 parent: string, Required. The parent resource name. Uses the form:
846`projects/{project}/locations/{location}`. (required)
847 filter: string, Optional. The filter to apply to list results.
848 orderBy: string, Optional. Specifies the ordering of results following syntax at
849https://cloud.google.com/apis/design/design_patterns#sorting_order.
850 pageToken: string, Optional. The next_page_token value returned from a previous List request,
851if any.
852 pageSize: integer, Optional. The maximum number of items to return. If unspecified, the server
853will pick an appropriate default. The server may return fewer items than
854requested. A caller should only rely on response&#x27;s
855next_page_token to
856determine if there are more GameServerDeployments left to be queried.
857 x__xgafv: string, V1 error format.
858 Allowed values
859 1 - v1 error format
860 2 - v2 error format
861
862Returns:
863 An object of the form:
864
865 { # Response message for GameServerDeploymentsService.ListGameServerDeployments.
866 &quot;unreachable&quot;: [ # List of locations that could not be reached.
867 &quot;A String&quot;,
868 ],
869 &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more
870 # results in the list.
871 &quot;gameServerDeployments&quot;: [ # The list of game server deployments.
872 { # A game server deployment resource.
873 &quot;description&quot;: &quot;A String&quot;, # Human readable description of the game server delpoyment.
874 &quot;name&quot;: &quot;A String&quot;, # The resource name of the game server deployment. Uses the form:
875 #
876 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.
877 # For example,
878 #
879 # `projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.
880 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
881 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last-modified time.
882 &quot;etag&quot;: &quot;A String&quot;, # ETag of the resource.
883 &quot;labels&quot;: { # The labels associated with this game server deployment. Each label is a
884 # key-value pair.
885 &quot;a_key&quot;: &quot;A String&quot;,
886 },
887 },
888 ],
889 }</pre>
890</div>
891
892<div class="method">
893 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
894 <pre>Retrieves the next page of results.
895
896Args:
897 previous_request: The request for the previous page. (required)
898 previous_response: The response from the request for the previous page. (required)
899
900Returns:
901 A request object that you can call &#x27;execute()&#x27; on to request the next
902 page. Returns None if there are no more items in the collection.
903 </pre>
904</div>
905
906<div class="method">
907 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
908 <pre>Patches a game server deployment.
909
910Args:
911 name: string, The resource name of the game server deployment. Uses the form:
912
913`projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.
914For example,
915
916`projects/my-project/locations/{location}/gameServerDeployments/my-deployment`. (required)
917 body: object, The request body.
918 The object takes the form of:
919
920{ # A game server deployment resource.
921 &quot;description&quot;: &quot;A String&quot;, # Human readable description of the game server delpoyment.
922 &quot;name&quot;: &quot;A String&quot;, # The resource name of the game server deployment. Uses the form:
923 #
924 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}`.
925 # For example,
926 #
927 # `projects/my-project/locations/{location}/gameServerDeployments/my-deployment`.
928 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
929 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last-modified time.
930 &quot;etag&quot;: &quot;A String&quot;, # ETag of the resource.
931 &quot;labels&quot;: { # The labels associated with this game server deployment. Each label is a
932 # key-value pair.
933 &quot;a_key&quot;: &quot;A String&quot;,
934 },
935}
936
937 updateMask: string, Required. Mask of fields to update. At least one path must be supplied in
938this field. For the `FieldMask` definition, see
939
940https:
941//developers.google.com/protocol-buffers
942// /docs/reference/google.protobuf#fieldmask
943 x__xgafv: string, V1 error format.
944 Allowed values
945 1 - v1 error format
946 2 - v2 error format
947
948Returns:
949 An object of the form:
950
951 { # This resource represents a long-running operation that is the result of a
952 # network API call.
953 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
954 # originally returns it. If you use the default HTTP mapping, the
955 # `name` should be a resource name ending with `operations/{unique_id}`.
956 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
957 # contains progress information and common metadata such as create time.
958 # Some services might not provide such metadata. Any method that returns a
959 # long-running operation should document the metadata type, if any.
960 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
961 },
962 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
963 # different programming environments, including REST APIs and RPC APIs. It is
964 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
965 # three pieces of data: error code, error message, and error details.
966 #
967 # You can find out more about this error model and how to work with it in the
968 # [API Design Guide](https://cloud.google.com/apis/design/errors).
969 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
970 # user-facing error message should be localized and sent in the
971 # google.rpc.Status.details field, or localized by the client.
972 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
973 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
974 # message types for APIs to use.
975 {
976 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
977 },
978 ],
979 },
980 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
981 # If `true`, the operation is completed, and either `error` or `response` is
982 # available.
983 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
984 # method returns no data on success, such as `Delete`, the response is
985 # `google.protobuf.Empty`. If the original method is standard
986 # `Get`/`Create`/`Update`, the response should be the resource. For other
987 # methods, the response should have the type `XxxResponse`, where `Xxx`
988 # is the original method name. For example, if the original method name
989 # is `TakeSnapshot()`, the inferred response type is
990 # `TakeSnapshotResponse`.
991 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
992 },
993 }</pre>
994</div>
995
996<div class="method">
997 <code class="details" id="previewRollout">previewRollout(name, body=None, updateMask=None, previewTime=None, x__xgafv=None)</code>
998 <pre>Previews the game server deployment rollout. This API does not mutate the
999rollout resource.
1000
1001Args:
1002 name: string, The resource name of the game server deployment rollout. Uses the form:
1003
1004`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.
1005For example,
1006
1007`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`. (required)
1008 body: object, The request body.
1009 The object takes the form of:
1010
1011{ # The game server deployment rollout which represents the desired rollout
1012 # state.
1013 &quot;defaultGameServerConfig&quot;: &quot;A String&quot;, # The default game server config is applied to all realms unless overridden
1014 # in the rollout. For example,
1015 #
1016 # `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
1017 &quot;name&quot;: &quot;A String&quot;, # The resource name of the game server deployment rollout. Uses the form:
1018 #
1019 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.
1020 # For example,
1021 #
1022 # `projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.
1023 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last-modified time.
1024 &quot;gameServerConfigOverrides&quot;: [ # Contains the game server config rollout overrides. Overrides are processed
1025 # in the order they are listed. Once a match is found for a realm, the rest
1026 # of the list is not processed.
1027 { # A game server config override.
1028 &quot;realmsSelector&quot;: { # The realm selector, used to match realm resources. # Selector for choosing applicable realms.
1029 &quot;realms&quot;: [ # List of realms to match.
1030 &quot;A String&quot;,
1031 ],
1032 },
1033 &quot;configVersion&quot;: &quot;A String&quot;, # The game server config for this override.
1034 },
1035 ],
1036 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
1037 &quot;etag&quot;: &quot;A String&quot;, # ETag of the resource.
1038 }
1039
1040 updateMask: string, Optional. Mask of fields to update. At least one path must be supplied in
1041this field. For the `FieldMask` definition, see
1042
1043https:
1044//developers.google.com/protocol-buffers
1045// /docs/reference/google.protobuf#fieldmask
1046 previewTime: string, Optional. The target timestamp to compute the preview. Defaults to the immediately
1047after the proposed rollout completes.
1048 x__xgafv: string, V1 error format.
1049 Allowed values
1050 1 - v1 error format
1051 2 - v2 error format
1052
1053Returns:
1054 An object of the form:
1055
1056 { # Response message for PreviewGameServerDeploymentRollout.
1057 # This has details about the Agones fleet and autoscaler to be actuated.
1058 &quot;targetState&quot;: { # Encapsulates the Target state. # The target state.
1059 &quot;details&quot;: [ # Details about Agones fleets.
1060 { # Details about the Agones resources.
1061 &quot;gameServerDeploymentName&quot;: &quot;A String&quot;, # The game server deployment name. Uses the form:
1062 #
1063 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}`.
1064 &quot;gameServerClusterName&quot;: &quot;A String&quot;, # The game server cluster name. Uses the form:
1065 #
1066 # `projects/{project}/locations/{location}/realms/{realm}/gameServerClusters/{cluster}`.
1067 &quot;fleetDetails&quot;: [ # Agones fleet details for game server clusters and game server deployments.
1068 { # Details of the target Agones fleet.
1069 &quot;autoscaler&quot;: { # Target Agones autoscaler policy reference. # Reference to target Agones fleet autoscaling policy.
1070 &quot;specSource&quot;: { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # Encapsulates the source of the Agones fleet spec.
1071 # Details about the Agones autoscaler spec.
1072 &quot;gameServerConfigName&quot;: &quot;A String&quot;, # The game server config resource. Uses the form:
1073 #
1074 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.
1075 &quot;name&quot;: &quot;A String&quot;, # The name of the Agones leet config or Agones scaling config used to derive
1076 # the Agones fleet or Agones autoscaler spec.
1077 },
1078 &quot;name&quot;: &quot;A String&quot;, # The name of the Agones autoscaler.
1079 },
1080 &quot;fleet&quot;: { # Target Agones fleet specification. # Reference to target Agones fleet.
1081 &quot;name&quot;: &quot;A String&quot;, # The name of the Agones fleet.
1082 &quot;specSource&quot;: { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # Encapsulates the source of the Agones fleet spec.
1083 # The Agones fleet spec source.
1084 &quot;gameServerConfigName&quot;: &quot;A String&quot;, # The game server config resource. Uses the form:
1085 #
1086 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment_id}/configs/{config_id}`.
1087 &quot;name&quot;: &quot;A String&quot;, # The name of the Agones leet config or Agones scaling config used to derive
1088 # the Agones fleet or Agones autoscaler spec.
1089 },
1090 },
1091 },
1092 ],
1093 },
1094 ],
1095 },
1096 &quot;unavailable&quot;: [ # Locations that could not be reached on this request.
1097 &quot;A String&quot;,
1098 ],
1099 &quot;etag&quot;: &quot;A String&quot;, # ETag of the game server deployment.
1100 }</pre>
1101</div>
1102
1103<div class="method">
1104 <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
1105 <pre>Sets the access control policy on the specified resource. Replaces any
1106existing policy.
1107
1108Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
1109
1110Args:
1111 resource: string, REQUIRED: The resource for which the policy is being specified.
1112See the operation documentation for the appropriate value for this field. (required)
1113 body: object, The request body.
1114 The object takes the form of:
1115
1116{ # Request message for `SetIamPolicy` method.
1117 &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
1118 # the policy is limited to a few 10s of KB. An empty policy is a
1119 # valid policy but certain Cloud Platform services (such as Projects)
1120 # might reject them.
1121 # controls for Google Cloud resources.
1122 #
1123 #
1124 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1125 # `members` to a single `role`. Members can be user accounts, service accounts,
1126 # Google groups, and domains (such as G Suite). A `role` is a named list of
1127 # permissions; each `role` can be an IAM predefined role or a user-created
1128 # custom role.
1129 #
1130 # For some types of Google Cloud resources, a `binding` can also specify a
1131 # `condition`, which is a logical expression that allows access to a resource
1132 # only if the expression evaluates to `true`. A condition can add constraints
1133 # based on attributes of the request, the resource, or both. To learn which
1134 # resources support conditions in their IAM policies, see the
1135 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1136 #
1137 # **JSON example:**
1138 #
1139 # {
1140 # &quot;bindings&quot;: [
1141 # {
1142 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
1143 # &quot;members&quot;: [
1144 # &quot;user:mike@example.com&quot;,
1145 # &quot;group:admins@example.com&quot;,
1146 # &quot;domain:google.com&quot;,
1147 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
1148 # ]
1149 # },
1150 # {
1151 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
1152 # &quot;members&quot;: [
1153 # &quot;user:eve@example.com&quot;
1154 # ],
1155 # &quot;condition&quot;: {
1156 # &quot;title&quot;: &quot;expirable access&quot;,
1157 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
1158 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
1159 # }
1160 # }
1161 # ],
1162 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
1163 # &quot;version&quot;: 3
1164 # }
1165 #
1166 # **YAML example:**
1167 #
1168 # bindings:
1169 # - members:
1170 # - user:mike@example.com
1171 # - group:admins@example.com
1172 # - domain:google.com
1173 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1174 # role: roles/resourcemanager.organizationAdmin
1175 # - members:
1176 # - user:eve@example.com
1177 # role: roles/resourcemanager.organizationViewer
1178 # condition:
1179 # title: expirable access
1180 # description: Does not grant access after Sep 2020
1181 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
1182 # - etag: BwWWja0YfJA=
1183 # - version: 3
1184 #
1185 # For a description of IAM and its features, see the
1186 # [IAM documentation](https://cloud.google.com/iam/docs/).
1187 &quot;rules&quot;: [ # If more than one rule is specified, the rules are applied in the following
1188 # manner:
1189 # - All matching LOG rules are always applied.
1190 # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
1191 # Logging will be applied if one or more matching rule requires logging.
1192 # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
1193 # granted.
1194 # Logging will be applied if one or more matching rule requires logging.
1195 # - Otherwise, if no rule applies, permission is denied.
1196 { # A rule to be applied in a Policy.
1197 &quot;permissions&quot;: [ # A permission is a string of form &#x27;&lt;service&gt;.&lt;resource type&gt;.&lt;verb&gt;&#x27;
1198 # (e.g., &#x27;storage.buckets.list&#x27;). A value of &#x27;*&#x27; matches all permissions,
1199 # and a verb part of &#x27;*&#x27; (e.g., &#x27;storage.buckets.*&#x27;) matches all verbs.
1200 &quot;A String&quot;,
1201 ],
1202 &quot;notIn&quot;: [ # If one or more &#x27;not_in&#x27; clauses are specified, the rule matches
1203 # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
1204 # The format for in and not_in entries can be found at in the Local IAM
1205 # documentation (see go/local-iam#features).
1206 &quot;A String&quot;,
1207 ],
1208 &quot;in&quot;: [ # If one or more &#x27;in&#x27; clauses are specified, the rule matches if
1209 # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
1210 &quot;A String&quot;,
1211 ],
1212 &quot;conditions&quot;: [ # Additional restrictions that must be met. All conditions must pass for the
1213 # rule to match.
1214 { # A condition to be met.
1215 &quot;iam&quot;: &quot;A String&quot;, # Trusted attributes supplied by the IAM system.
1216 &quot;svc&quot;: &quot;A String&quot;, # Trusted attributes discharged by the service.
1217 &quot;sys&quot;: &quot;A String&quot;, # Trusted attributes supplied by any service that owns resources and uses
1218 # the IAM system for access control.
1219 &quot;values&quot;: [ # The objects of the condition.
1220 &quot;A String&quot;,
1221 ],
1222 &quot;op&quot;: &quot;A String&quot;, # An operator to apply the subject with.
1223 },
1224 ],
1225 &quot;action&quot;: &quot;A String&quot;, # Required
1226 &quot;logConfig&quot;: [ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
1227 # that match the LOG action.
1228 { # Specifies what kind of log the caller must write
1229 &quot;dataAccess&quot;: { # Write a Data Access (Gin) log # Data access options.
1230 &quot;logMode&quot;: &quot;A String&quot;,
1231 },
1232 &quot;counter&quot;: { # Increment a streamz counter with the specified metric and field names. # Counter options.
1233 #
1234 # Metric names should start with a &#x27;/&#x27;, generally be lowercase-only,
1235 # and end in &quot;_count&quot;. Field names should not contain an initial slash.
1236 # The actual exported metric names will have &quot;/iam/policy&quot; prepended.
1237 #
1238 # Field names correspond to IAM request parameters and field values are
1239 # their respective values.
1240 #
1241 # Supported field names:
1242 # - &quot;authority&quot;, which is &quot;[token]&quot; if IAMContext.token is present,
1243 # otherwise the value of IAMContext.authority_selector if present, and
1244 # otherwise a representation of IAMContext.principal; or
1245 # - &quot;iam_principal&quot;, a representation of IAMContext.principal even if a
1246 # token or authority selector is present; or
1247 # - &quot;&quot; (empty string), resulting in a counter with no fields.
1248 #
1249 # Examples:
1250 # counter { metric: &quot;/debug_access_count&quot; field: &quot;iam_principal&quot; }
1251 # ==&gt; increment counter /iam/policy/debug_access_count
1252 # {iam_principal=[value of IAMContext.principal]}
1253 &quot;customFields&quot;: [ # Custom fields.
1254 { # Custom fields.
1255 # These can be used to create a counter with arbitrary field/value
1256 # pairs.
1257 # See: go/rpcsp-custom-fields.
1258 &quot;name&quot;: &quot;A String&quot;, # Name is the field name.
1259 &quot;value&quot;: &quot;A String&quot;, # Value is the field value. It is important that in contrast to the
1260 # CounterOptions.field, the value here is a constant that is not
1261 # derived from the IAMContext.
1262 },
1263 ],
1264 &quot;metric&quot;: &quot;A String&quot;, # The metric to update.
1265 &quot;field&quot;: &quot;A String&quot;, # The field value to attribute.
1266 },
1267 &quot;cloudAudit&quot;: { # Write a Cloud Audit log # Cloud audit options.
1268 &quot;authorizationLoggingOptions&quot;: { # Authorization-related information used by Cloud Audit Logging. # Information used by the Cloud Audit Logging pipeline.
1269 &quot;permissionType&quot;: &quot;A String&quot;, # The type of the permission that was checked.
1270 },
1271 &quot;logName&quot;: &quot;A String&quot;, # The log_name to populate in the Cloud Audit Record.
1272 },
1273 },
1274 ],
1275 &quot;description&quot;: &quot;A String&quot;, # Human-readable description of the rule.
1276 },
1277 ],
1278 &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
1279 { # Specifies the audit configuration for a service.
1280 # The configuration determines which permission types are logged, and what
1281 # identities, if any, are exempted from logging.
1282 # An AuditConfig must have one or more AuditLogConfigs.
1283 #
1284 # If there are AuditConfigs for both `allServices` and a specific service,
1285 # the union of the two AuditConfigs is used for that service: the log_types
1286 # specified in each AuditConfig are enabled, and the exempted_members in each
1287 # AuditLogConfig are exempted.
1288 #
1289 # Example Policy with multiple AuditConfigs:
1290 #
1291 # {
1292 # &quot;audit_configs&quot;: [
1293 # {
1294 # &quot;service&quot;: &quot;allServices&quot;,
1295 # &quot;audit_log_configs&quot;: [
1296 # {
1297 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1298 # &quot;exempted_members&quot;: [
1299 # &quot;user:jose@example.com&quot;
1300 # ]
1301 # },
1302 # {
1303 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;
1304 # },
1305 # {
1306 # &quot;log_type&quot;: &quot;ADMIN_READ&quot;
1307 # }
1308 # ]
1309 # },
1310 # {
1311 # &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;,
1312 # &quot;audit_log_configs&quot;: [
1313 # {
1314 # &quot;log_type&quot;: &quot;DATA_READ&quot;
1315 # },
1316 # {
1317 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
1318 # &quot;exempted_members&quot;: [
1319 # &quot;user:aliya@example.com&quot;
1320 # ]
1321 # }
1322 # ]
1323 # }
1324 # ]
1325 # }
1326 #
1327 # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1328 # logging. It also exempts jose@example.com from DATA_READ logging, and
1329 # aliya@example.com from DATA_WRITE logging.
1330 &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
1331 { # Provides the configuration for logging a type of permissions.
1332 # Example:
1333 #
1334 # {
1335 # &quot;audit_log_configs&quot;: [
1336 # {
1337 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1338 # &quot;exempted_members&quot;: [
1339 # &quot;user:jose@example.com&quot;
1340 # ]
1341 # },
1342 # {
1343 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;
1344 # }
1345 # ]
1346 # }
1347 #
1348 # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
1349 # jose@example.com from DATA_READ logging.
1350 &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
1351 # permission.
1352 # Follows the same format of Binding.members.
1353 &quot;A String&quot;,
1354 ],
1355 &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
1356 &quot;ignoreChildExemptions&quot;: True or False,
1357 },
1358 ],
1359 &quot;exemptedMembers&quot;: [
1360 &quot;A String&quot;,
1361 ],
1362 &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
1363 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
1364 # `allServices` is a special value that covers all services.
1365 },
1366 ],
1367 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
1368 # `condition` that determines how and when the `bindings` are applied. Each
1369 # of the `bindings` must contain at least one member.
1370 { # Associates `members` with a `role`.
1371 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
1372 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1373 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
1374 # `members` can have the following values:
1375 #
1376 # * `allUsers`: A special identifier that represents anyone who is
1377 # on the internet; with or without a Google account.
1378 #
1379 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1380 # who is authenticated with a Google account or a service account.
1381 #
1382 # * `user:{emailid}`: An email address that represents a specific Google
1383 # account. For example, `alice@example.com` .
1384 #
1385 #
1386 # * `serviceAccount:{emailid}`: An email address that represents a service
1387 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1388 #
1389 # * `group:{emailid}`: An email address that represents a Google group.
1390 # For example, `admins@example.com`.
1391 #
1392 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
1393 # identifier) representing a user that has been recently deleted. For
1394 # example, `alice@example.com?uid=123456789012345678901`. If the user is
1395 # recovered, this value reverts to `user:{emailid}` and the recovered user
1396 # retains the role in the binding.
1397 #
1398 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
1399 # unique identifier) representing a service account that has been recently
1400 # deleted. For example,
1401 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1402 # If the service account is undeleted, this value reverts to
1403 # `serviceAccount:{emailid}` and the undeleted service account retains the
1404 # role in the binding.
1405 #
1406 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
1407 # identifier) representing a Google group that has been recently
1408 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
1409 # the group is recovered, this value reverts to `group:{emailid}` and the
1410 # recovered group retains the role in the binding.
1411 #
1412 #
1413 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1414 # users of that domain. For example, `google.com` or `example.com`.
1415 #
1416 &quot;A String&quot;,
1417 ],
1418 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
1419 #
1420 # If the condition evaluates to `true`, then this binding applies to the
1421 # current request.
1422 #
1423 # If the condition evaluates to `false`, then this binding does not apply to
1424 # the current request. However, a different role binding might grant the same
1425 # role to one or more of the members in this binding.
1426 #
1427 # To learn which resources support conditions in their IAM policies, see the
1428 # [IAM
1429 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1430 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1431 # are documented at https://github.com/google/cel-spec.
1432 #
1433 # Example (Comparison):
1434 #
1435 # title: &quot;Summary size limit&quot;
1436 # description: &quot;Determines if a summary is less than 100 chars&quot;
1437 # expression: &quot;document.summary.size() &lt; 100&quot;
1438 #
1439 # Example (Equality):
1440 #
1441 # title: &quot;Requestor is owner&quot;
1442 # description: &quot;Determines if requestor is the document owner&quot;
1443 # expression: &quot;document.owner == request.auth.claims.email&quot;
1444 #
1445 # Example (Logic):
1446 #
1447 # title: &quot;Public documents&quot;
1448 # description: &quot;Determine whether the document should be publicly visible&quot;
1449 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
1450 #
1451 # Example (Data Manipulation):
1452 #
1453 # title: &quot;Notification string&quot;
1454 # description: &quot;Create a notification string with a timestamp.&quot;
1455 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
1456 #
1457 # The exact variables and functions that may be referenced within an expression
1458 # are determined by the service that evaluates it. See the service
1459 # documentation for additional information.
1460 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
1461 # its purpose. This can be used e.g. in UIs which allow to enter the
1462 # expression.
1463 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1464 # reporting, e.g. a file name and a position in the file.
1465 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
1466 # describes the expression, e.g. when hovered over it in a UI.
1467 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
1468 # syntax.
1469 },
1470 },
1471 ],
1472 &quot;iamOwned&quot;: True or False,
1473 &quot;version&quot;: 42, # Specifies the format of the policy.
1474 #
1475 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1476 # are rejected.
1477 #
1478 # Any operation that affects conditional role bindings must specify version
1479 # `3`. This requirement applies to the following operations:
1480 #
1481 # * Getting a policy that includes a conditional role binding
1482 # * Adding a conditional role binding to a policy
1483 # * Changing a conditional role binding in a policy
1484 # * Removing any role binding, with or without a condition, from a policy
1485 # that includes conditions
1486 #
1487 # **Important:** If you use IAM Conditions, you must include the `etag` field
1488 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1489 # you to overwrite a version `3` policy with a version `1` policy, and all of
1490 # the conditions in the version `3` policy are lost.
1491 #
1492 # If a policy does not include any conditions, operations on that policy may
1493 # specify any valid version or leave the field unset.
1494 #
1495 # To learn which resources support conditions in their IAM policies, see the
1496 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1497 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
1498 # prevent simultaneous updates of a policy from overwriting each other.
1499 # It is strongly suggested that systems make use of the `etag` in the
1500 # read-modify-write cycle to perform policy updates in order to avoid race
1501 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1502 # systems are expected to put that etag in the request to `setIamPolicy` to
1503 # ensure that their change will be applied to the same version of the policy.
1504 #
1505 # **Important:** If you use IAM Conditions, you must include the `etag` field
1506 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1507 # you to overwrite a version `3` policy with a version `1` policy, and all of
1508 # the conditions in the version `3` policy are lost.
1509 },
1510 &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1511 # the fields in the mask will be modified. If no mask is provided, the
1512 # following default mask is used:
1513 #
1514 # `paths: &quot;bindings, etag&quot;`
1515 }
1516
1517 x__xgafv: string, V1 error format.
1518 Allowed values
1519 1 - v1 error format
1520 2 - v2 error format
1521
1522Returns:
1523 An object of the form:
1524
1525 { # An Identity and Access Management (IAM) policy, which specifies access
1526 # controls for Google Cloud resources.
1527 #
1528 #
1529 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1530 # `members` to a single `role`. Members can be user accounts, service accounts,
1531 # Google groups, and domains (such as G Suite). A `role` is a named list of
1532 # permissions; each `role` can be an IAM predefined role or a user-created
1533 # custom role.
1534 #
1535 # For some types of Google Cloud resources, a `binding` can also specify a
1536 # `condition`, which is a logical expression that allows access to a resource
1537 # only if the expression evaluates to `true`. A condition can add constraints
1538 # based on attributes of the request, the resource, or both. To learn which
1539 # resources support conditions in their IAM policies, see the
1540 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1541 #
1542 # **JSON example:**
1543 #
1544 # {
1545 # &quot;bindings&quot;: [
1546 # {
1547 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
1548 # &quot;members&quot;: [
1549 # &quot;user:mike@example.com&quot;,
1550 # &quot;group:admins@example.com&quot;,
1551 # &quot;domain:google.com&quot;,
1552 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
1553 # ]
1554 # },
1555 # {
1556 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
1557 # &quot;members&quot;: [
1558 # &quot;user:eve@example.com&quot;
1559 # ],
1560 # &quot;condition&quot;: {
1561 # &quot;title&quot;: &quot;expirable access&quot;,
1562 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
1563 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
1564 # }
1565 # }
1566 # ],
1567 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
1568 # &quot;version&quot;: 3
1569 # }
1570 #
1571 # **YAML example:**
1572 #
1573 # bindings:
1574 # - members:
1575 # - user:mike@example.com
1576 # - group:admins@example.com
1577 # - domain:google.com
1578 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1579 # role: roles/resourcemanager.organizationAdmin
1580 # - members:
1581 # - user:eve@example.com
1582 # role: roles/resourcemanager.organizationViewer
1583 # condition:
1584 # title: expirable access
1585 # description: Does not grant access after Sep 2020
1586 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
1587 # - etag: BwWWja0YfJA=
1588 # - version: 3
1589 #
1590 # For a description of IAM and its features, see the
1591 # [IAM documentation](https://cloud.google.com/iam/docs/).
1592 &quot;rules&quot;: [ # If more than one rule is specified, the rules are applied in the following
1593 # manner:
1594 # - All matching LOG rules are always applied.
1595 # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
1596 # Logging will be applied if one or more matching rule requires logging.
1597 # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
1598 # granted.
1599 # Logging will be applied if one or more matching rule requires logging.
1600 # - Otherwise, if no rule applies, permission is denied.
1601 { # A rule to be applied in a Policy.
1602 &quot;permissions&quot;: [ # A permission is a string of form &#x27;&lt;service&gt;.&lt;resource type&gt;.&lt;verb&gt;&#x27;
1603 # (e.g., &#x27;storage.buckets.list&#x27;). A value of &#x27;*&#x27; matches all permissions,
1604 # and a verb part of &#x27;*&#x27; (e.g., &#x27;storage.buckets.*&#x27;) matches all verbs.
1605 &quot;A String&quot;,
1606 ],
1607 &quot;notIn&quot;: [ # If one or more &#x27;not_in&#x27; clauses are specified, the rule matches
1608 # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
1609 # The format for in and not_in entries can be found at in the Local IAM
1610 # documentation (see go/local-iam#features).
1611 &quot;A String&quot;,
1612 ],
1613 &quot;in&quot;: [ # If one or more &#x27;in&#x27; clauses are specified, the rule matches if
1614 # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
1615 &quot;A String&quot;,
1616 ],
1617 &quot;conditions&quot;: [ # Additional restrictions that must be met. All conditions must pass for the
1618 # rule to match.
1619 { # A condition to be met.
1620 &quot;iam&quot;: &quot;A String&quot;, # Trusted attributes supplied by the IAM system.
1621 &quot;svc&quot;: &quot;A String&quot;, # Trusted attributes discharged by the service.
1622 &quot;sys&quot;: &quot;A String&quot;, # Trusted attributes supplied by any service that owns resources and uses
1623 # the IAM system for access control.
1624 &quot;values&quot;: [ # The objects of the condition.
1625 &quot;A String&quot;,
1626 ],
1627 &quot;op&quot;: &quot;A String&quot;, # An operator to apply the subject with.
1628 },
1629 ],
1630 &quot;action&quot;: &quot;A String&quot;, # Required
1631 &quot;logConfig&quot;: [ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
1632 # that match the LOG action.
1633 { # Specifies what kind of log the caller must write
1634 &quot;dataAccess&quot;: { # Write a Data Access (Gin) log # Data access options.
1635 &quot;logMode&quot;: &quot;A String&quot;,
1636 },
1637 &quot;counter&quot;: { # Increment a streamz counter with the specified metric and field names. # Counter options.
1638 #
1639 # Metric names should start with a &#x27;/&#x27;, generally be lowercase-only,
1640 # and end in &quot;_count&quot;. Field names should not contain an initial slash.
1641 # The actual exported metric names will have &quot;/iam/policy&quot; prepended.
1642 #
1643 # Field names correspond to IAM request parameters and field values are
1644 # their respective values.
1645 #
1646 # Supported field names:
1647 # - &quot;authority&quot;, which is &quot;[token]&quot; if IAMContext.token is present,
1648 # otherwise the value of IAMContext.authority_selector if present, and
1649 # otherwise a representation of IAMContext.principal; or
1650 # - &quot;iam_principal&quot;, a representation of IAMContext.principal even if a
1651 # token or authority selector is present; or
1652 # - &quot;&quot; (empty string), resulting in a counter with no fields.
1653 #
1654 # Examples:
1655 # counter { metric: &quot;/debug_access_count&quot; field: &quot;iam_principal&quot; }
1656 # ==&gt; increment counter /iam/policy/debug_access_count
1657 # {iam_principal=[value of IAMContext.principal]}
1658 &quot;customFields&quot;: [ # Custom fields.
1659 { # Custom fields.
1660 # These can be used to create a counter with arbitrary field/value
1661 # pairs.
1662 # See: go/rpcsp-custom-fields.
1663 &quot;name&quot;: &quot;A String&quot;, # Name is the field name.
1664 &quot;value&quot;: &quot;A String&quot;, # Value is the field value. It is important that in contrast to the
1665 # CounterOptions.field, the value here is a constant that is not
1666 # derived from the IAMContext.
1667 },
1668 ],
1669 &quot;metric&quot;: &quot;A String&quot;, # The metric to update.
1670 &quot;field&quot;: &quot;A String&quot;, # The field value to attribute.
1671 },
1672 &quot;cloudAudit&quot;: { # Write a Cloud Audit log # Cloud audit options.
1673 &quot;authorizationLoggingOptions&quot;: { # Authorization-related information used by Cloud Audit Logging. # Information used by the Cloud Audit Logging pipeline.
1674 &quot;permissionType&quot;: &quot;A String&quot;, # The type of the permission that was checked.
1675 },
1676 &quot;logName&quot;: &quot;A String&quot;, # The log_name to populate in the Cloud Audit Record.
1677 },
1678 },
1679 ],
1680 &quot;description&quot;: &quot;A String&quot;, # Human-readable description of the rule.
1681 },
1682 ],
1683 &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
1684 { # Specifies the audit configuration for a service.
1685 # The configuration determines which permission types are logged, and what
1686 # identities, if any, are exempted from logging.
1687 # An AuditConfig must have one or more AuditLogConfigs.
1688 #
1689 # If there are AuditConfigs for both `allServices` and a specific service,
1690 # the union of the two AuditConfigs is used for that service: the log_types
1691 # specified in each AuditConfig are enabled, and the exempted_members in each
1692 # AuditLogConfig are exempted.
1693 #
1694 # Example Policy with multiple AuditConfigs:
1695 #
1696 # {
1697 # &quot;audit_configs&quot;: [
1698 # {
1699 # &quot;service&quot;: &quot;allServices&quot;,
1700 # &quot;audit_log_configs&quot;: [
1701 # {
1702 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1703 # &quot;exempted_members&quot;: [
1704 # &quot;user:jose@example.com&quot;
1705 # ]
1706 # },
1707 # {
1708 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;
1709 # },
1710 # {
1711 # &quot;log_type&quot;: &quot;ADMIN_READ&quot;
1712 # }
1713 # ]
1714 # },
1715 # {
1716 # &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;,
1717 # &quot;audit_log_configs&quot;: [
1718 # {
1719 # &quot;log_type&quot;: &quot;DATA_READ&quot;
1720 # },
1721 # {
1722 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
1723 # &quot;exempted_members&quot;: [
1724 # &quot;user:aliya@example.com&quot;
1725 # ]
1726 # }
1727 # ]
1728 # }
1729 # ]
1730 # }
1731 #
1732 # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1733 # logging. It also exempts jose@example.com from DATA_READ logging, and
1734 # aliya@example.com from DATA_WRITE logging.
1735 &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
1736 { # Provides the configuration for logging a type of permissions.
1737 # Example:
1738 #
1739 # {
1740 # &quot;audit_log_configs&quot;: [
1741 # {
1742 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1743 # &quot;exempted_members&quot;: [
1744 # &quot;user:jose@example.com&quot;
1745 # ]
1746 # },
1747 # {
1748 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;
1749 # }
1750 # ]
1751 # }
1752 #
1753 # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
1754 # jose@example.com from DATA_READ logging.
1755 &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
1756 # permission.
1757 # Follows the same format of Binding.members.
1758 &quot;A String&quot;,
1759 ],
1760 &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
1761 &quot;ignoreChildExemptions&quot;: True or False,
1762 },
1763 ],
1764 &quot;exemptedMembers&quot;: [
1765 &quot;A String&quot;,
1766 ],
1767 &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
1768 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
1769 # `allServices` is a special value that covers all services.
1770 },
1771 ],
1772 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
1773 # `condition` that determines how and when the `bindings` are applied. Each
1774 # of the `bindings` must contain at least one member.
1775 { # Associates `members` with a `role`.
1776 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
1777 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1778 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
1779 # `members` can have the following values:
1780 #
1781 # * `allUsers`: A special identifier that represents anyone who is
1782 # on the internet; with or without a Google account.
1783 #
1784 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1785 # who is authenticated with a Google account or a service account.
1786 #
1787 # * `user:{emailid}`: An email address that represents a specific Google
1788 # account. For example, `alice@example.com` .
1789 #
1790 #
1791 # * `serviceAccount:{emailid}`: An email address that represents a service
1792 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1793 #
1794 # * `group:{emailid}`: An email address that represents a Google group.
1795 # For example, `admins@example.com`.
1796 #
1797 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
1798 # identifier) representing a user that has been recently deleted. For
1799 # example, `alice@example.com?uid=123456789012345678901`. If the user is
1800 # recovered, this value reverts to `user:{emailid}` and the recovered user
1801 # retains the role in the binding.
1802 #
1803 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
1804 # unique identifier) representing a service account that has been recently
1805 # deleted. For example,
1806 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1807 # If the service account is undeleted, this value reverts to
1808 # `serviceAccount:{emailid}` and the undeleted service account retains the
1809 # role in the binding.
1810 #
1811 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
1812 # identifier) representing a Google group that has been recently
1813 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
1814 # the group is recovered, this value reverts to `group:{emailid}` and the
1815 # recovered group retains the role in the binding.
1816 #
1817 #
1818 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1819 # users of that domain. For example, `google.com` or `example.com`.
1820 #
1821 &quot;A String&quot;,
1822 ],
1823 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
1824 #
1825 # If the condition evaluates to `true`, then this binding applies to the
1826 # current request.
1827 #
1828 # If the condition evaluates to `false`, then this binding does not apply to
1829 # the current request. However, a different role binding might grant the same
1830 # role to one or more of the members in this binding.
1831 #
1832 # To learn which resources support conditions in their IAM policies, see the
1833 # [IAM
1834 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1835 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1836 # are documented at https://github.com/google/cel-spec.
1837 #
1838 # Example (Comparison):
1839 #
1840 # title: &quot;Summary size limit&quot;
1841 # description: &quot;Determines if a summary is less than 100 chars&quot;
1842 # expression: &quot;document.summary.size() &lt; 100&quot;
1843 #
1844 # Example (Equality):
1845 #
1846 # title: &quot;Requestor is owner&quot;
1847 # description: &quot;Determines if requestor is the document owner&quot;
1848 # expression: &quot;document.owner == request.auth.claims.email&quot;
1849 #
1850 # Example (Logic):
1851 #
1852 # title: &quot;Public documents&quot;
1853 # description: &quot;Determine whether the document should be publicly visible&quot;
1854 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
1855 #
1856 # Example (Data Manipulation):
1857 #
1858 # title: &quot;Notification string&quot;
1859 # description: &quot;Create a notification string with a timestamp.&quot;
1860 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
1861 #
1862 # The exact variables and functions that may be referenced within an expression
1863 # are determined by the service that evaluates it. See the service
1864 # documentation for additional information.
1865 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
1866 # its purpose. This can be used e.g. in UIs which allow to enter the
1867 # expression.
1868 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1869 # reporting, e.g. a file name and a position in the file.
1870 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
1871 # describes the expression, e.g. when hovered over it in a UI.
1872 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
1873 # syntax.
1874 },
1875 },
1876 ],
1877 &quot;iamOwned&quot;: True or False,
1878 &quot;version&quot;: 42, # Specifies the format of the policy.
1879 #
1880 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1881 # are rejected.
1882 #
1883 # Any operation that affects conditional role bindings must specify version
1884 # `3`. This requirement applies to the following operations:
1885 #
1886 # * Getting a policy that includes a conditional role binding
1887 # * Adding a conditional role binding to a policy
1888 # * Changing a conditional role binding in a policy
1889 # * Removing any role binding, with or without a condition, from a policy
1890 # that includes conditions
1891 #
1892 # **Important:** If you use IAM Conditions, you must include the `etag` field
1893 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1894 # you to overwrite a version `3` policy with a version `1` policy, and all of
1895 # the conditions in the version `3` policy are lost.
1896 #
1897 # If a policy does not include any conditions, operations on that policy may
1898 # specify any valid version or leave the field unset.
1899 #
1900 # To learn which resources support conditions in their IAM policies, see the
1901 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1902 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
1903 # prevent simultaneous updates of a policy from overwriting each other.
1904 # It is strongly suggested that systems make use of the `etag` in the
1905 # read-modify-write cycle to perform policy updates in order to avoid race
1906 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1907 # systems are expected to put that etag in the request to `setIamPolicy` to
1908 # ensure that their change will be applied to the same version of the policy.
1909 #
1910 # **Important:** If you use IAM Conditions, you must include the `etag` field
1911 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1912 # you to overwrite a version `3` policy with a version `1` policy, and all of
1913 # the conditions in the version `3` policy are lost.
1914 }</pre>
1915</div>
1916
1917<div class="method">
1918 <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
1919 <pre>Returns permissions that a caller has on the specified resource.
1920If the resource does not exist, this will return an empty set of
1921permissions, not a `NOT_FOUND` error.
1922
1923Note: This operation is designed to be used for building permission-aware
1924UIs and command-line tools, not for authorization checking. This operation
1925may &quot;fail open&quot; without warning.
1926
1927Args:
1928 resource: string, REQUIRED: The resource for which the policy detail is being requested.
1929See the operation documentation for the appropriate value for this field. (required)
1930 body: object, The request body.
1931 The object takes the form of:
1932
1933{ # Request message for `TestIamPermissions` method.
1934 &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with
1935 # wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more
1936 # information see
1937 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1938 &quot;A String&quot;,
1939 ],
1940 }
1941
1942 x__xgafv: string, V1 error format.
1943 Allowed values
1944 1 - v1 error format
1945 2 - v2 error format
1946
1947Returns:
1948 An object of the form:
1949
1950 { # Response message for `TestIamPermissions` method.
1951 &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is
1952 # allowed.
1953 &quot;A String&quot;,
1954 ],
1955 }</pre>
1956</div>
1957
1958<div class="method">
1959 <code class="details" id="updateRollout">updateRollout(name, body=None, updateMask=None, x__xgafv=None)</code>
1960 <pre>Patches a single game server deployment rollout.
1961The method will not return an error if the update does not affect any
1962existing realms. For example - if the default_game_server_config is changed
1963but all existing realms use the override, that is valid. Similarly, if a
1964non existing realm is explicitly called out in game_server_config_overrides
1965field, that will also not result in an error.
1966
1967Args:
1968 name: string, The resource name of the game server deployment rollout. Uses the form:
1969
1970`projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.
1971For example,
1972
1973`projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`. (required)
1974 body: object, The request body.
1975 The object takes the form of:
1976
1977{ # The game server deployment rollout which represents the desired rollout
1978 # state.
1979 &quot;defaultGameServerConfig&quot;: &quot;A String&quot;, # The default game server config is applied to all realms unless overridden
1980 # in the rollout. For example,
1981 #
1982 # `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
1983 &quot;name&quot;: &quot;A String&quot;, # The resource name of the game server deployment rollout. Uses the form:
1984 #
1985 # `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/rollout`.
1986 # For example,
1987 #
1988 # `projects/my-project/locations/{location}/gameServerDeployments/my-deployment/rollout`.
1989 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last-modified time.
1990 &quot;gameServerConfigOverrides&quot;: [ # Contains the game server config rollout overrides. Overrides are processed
1991 # in the order they are listed. Once a match is found for a realm, the rest
1992 # of the list is not processed.
1993 { # A game server config override.
1994 &quot;realmsSelector&quot;: { # The realm selector, used to match realm resources. # Selector for choosing applicable realms.
1995 &quot;realms&quot;: [ # List of realms to match.
1996 &quot;A String&quot;,
1997 ],
1998 },
1999 &quot;configVersion&quot;: &quot;A String&quot;, # The game server config for this override.
2000 },
2001 ],
2002 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation time.
2003 &quot;etag&quot;: &quot;A String&quot;, # ETag of the resource.
2004 }
2005
2006 updateMask: string, Required. Mask of fields to update. At least one path must be supplied in
2007this field. For the `FieldMask` definition, see
2008
2009https:
2010//developers.google.com/protocol-buffers
2011// /docs/reference/google.protobuf#fieldmask
2012 x__xgafv: string, V1 error format.
2013 Allowed values
2014 1 - v1 error format
2015 2 - v2 error format
2016
2017Returns:
2018 An object of the form:
2019
2020 { # This resource represents a long-running operation that is the result of a
2021 # network API call.
2022 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that
2023 # originally returns it. If you use the default HTTP mapping, the
2024 # `name` should be a resource name ending with `operations/{unique_id}`.
2025 &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically
2026 # contains progress information and common metadata such as create time.
2027 # Some services might not provide such metadata. Any method that returns a
2028 # long-running operation should document the metadata type, if any.
2029 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2030 },
2031 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
2032 # different programming environments, including REST APIs and RPC APIs. It is
2033 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
2034 # three pieces of data: error code, error message, and error details.
2035 #
2036 # You can find out more about this error model and how to work with it in the
2037 # [API Design Guide](https://cloud.google.com/apis/design/errors).
2038 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
2039 # user-facing error message should be localized and sent in the
2040 # google.rpc.Status.details field, or localized by the client.
2041 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
2042 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
2043 # message types for APIs to use.
2044 {
2045 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2046 },
2047 ],
2048 },
2049 &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress.
2050 # If `true`, the operation is completed, and either `error` or `response` is
2051 # available.
2052 &quot;response&quot;: { # The normal response of the operation in case of success. If the original
2053 # method returns no data on success, such as `Delete`, the response is
2054 # `google.protobuf.Empty`. If the original method is standard
2055 # `Get`/`Create`/`Update`, the response should be the resource. For other
2056 # methods, the response should have the type `XxxResponse`, where `Xxx`
2057 # is the original method name. For example, if the original method name
2058 # is `TakeSnapshot()`, the inferred response type is
2059 # `TakeSnapshotResponse`.
2060 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2061 },
2062 }</pre>
2063</div>
2064
2065</body></html>