1<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="pubsub_v1beta2.html">Cloud Pub/Sub API</a> . <a href="pubsub_v1beta2.projects.html">projects</a> . <a href="pubsub_v1beta2.projects.topics.html">topics</a></h1> 76<h2>Instance Methods</h2> 77<p class="toc_element"> 78 <code><a href="pubsub_v1beta2.projects.topics.subscriptions.html">subscriptions()</a></code> 79</p> 80<p class="firstline">Returns the subscriptions Resource.</p> 81 82<p class="toc_element"> 83 <code><a href="#create">create(name, body, x__xgafv=None)</a></code></p> 84<p class="firstline">Creates the given topic with the given name.</p> 85<p class="toc_element"> 86 <code><a href="#delete">delete(topic, x__xgafv=None)</a></code></p> 87<p class="firstline">Deletes the topic with the given name. Returns `NOT_FOUND` if the topic</p> 88<p class="toc_element"> 89 <code><a href="#get">get(topic, x__xgafv=None)</a></code></p> 90<p class="firstline">Gets the configuration of a topic.</p> 91<p class="toc_element"> 92 <code><a href="#getIamPolicy">getIamPolicy(resource, x__xgafv=None)</a></code></p> 93<p class="firstline">Gets the access control policy for a resource.</p> 94<p class="toc_element"> 95 <code><a href="#list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p> 96<p class="firstline">Lists matching topics.</p> 97<p class="toc_element"> 98 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p> 99<p class="firstline">Retrieves the next page of results.</p> 100<p class="toc_element"> 101 <code><a href="#publish">publish(topic, body, x__xgafv=None)</a></code></p> 102<p class="firstline">Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic</p> 103<p class="toc_element"> 104 <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p> 105<p class="firstline">Sets the access control policy on the specified resource. Replaces any</p> 106<p class="toc_element"> 107 <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p> 108<p class="firstline">Returns permissions that a caller has on the specified resource.</p> 109<h3>Method Details</h3> 110<div class="method"> 111 <code class="details" id="create">create(name, body, x__xgafv=None)</code> 112 <pre>Creates the given topic with the given name. 113 114Args: 115 name: string, The name of the topic. It must have the format 116`"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, 117and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), 118underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent 119signs (`%`). It must be between 3 and 255 characters in length, and it 120must not start with `"goog"`. (required) 121 body: object, The request body. (required) 122 The object takes the form of: 123 124{ # A topic resource. 125 "name": "A String", # The name of the topic. It must have the format 126 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, 127 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), 128 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent 129 # signs (`%`). It must be between 3 and 255 characters in length, and it 130 # must not start with `"goog"`. 131} 132 133 x__xgafv: string, V1 error format. 134 Allowed values 135 1 - v1 error format 136 2 - v2 error format 137 138Returns: 139 An object of the form: 140 141 { # A topic resource. 142 "name": "A String", # The name of the topic. It must have the format 143 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, 144 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), 145 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent 146 # signs (`%`). It must be between 3 and 255 characters in length, and it 147 # must not start with `"goog"`. 148 }</pre> 149</div> 150 151<div class="method"> 152 <code class="details" id="delete">delete(topic, x__xgafv=None)</code> 153 <pre>Deletes the topic with the given name. Returns `NOT_FOUND` if the topic 154does not exist. After a topic is deleted, a new topic may be created with 155the same name; this is an entirely new topic with none of the old 156configuration or subscriptions. Existing subscriptions to this topic are 157not deleted, but their `topic` field is set to `_deleted-topic_`. 158 159Args: 160 topic: string, Name of the topic to delete. (required) 161 x__xgafv: string, V1 error format. 162 Allowed values 163 1 - v1 error format 164 2 - v2 error format 165 166Returns: 167 An object of the form: 168 169 { # A generic empty message that you can re-use to avoid defining duplicated 170 # empty messages in your APIs. A typical example is to use it as the request 171 # or the response type of an API method. For instance: 172 # 173 # service Foo { 174 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); 175 # } 176 # 177 # The JSON representation for `Empty` is empty JSON object `{}`. 178 }</pre> 179</div> 180 181<div class="method"> 182 <code class="details" id="get">get(topic, x__xgafv=None)</code> 183 <pre>Gets the configuration of a topic. 184 185Args: 186 topic: string, The name of the topic to get. (required) 187 x__xgafv: string, V1 error format. 188 Allowed values 189 1 - v1 error format 190 2 - v2 error format 191 192Returns: 193 An object of the form: 194 195 { # A topic resource. 196 "name": "A String", # The name of the topic. It must have the format 197 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, 198 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), 199 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent 200 # signs (`%`). It must be between 3 and 255 characters in length, and it 201 # must not start with `"goog"`. 202 }</pre> 203</div> 204 205<div class="method"> 206 <code class="details" id="getIamPolicy">getIamPolicy(resource, x__xgafv=None)</code> 207 <pre>Gets the access control policy for a resource. 208Returns an empty policy if the resource exists and does not have a policy 209set. 210 211Args: 212 resource: string, REQUIRED: The resource for which the policy is being requested. 213See the operation documentation for the appropriate value for this field. (required) 214 x__xgafv: string, V1 error format. 215 Allowed values 216 1 - v1 error format 217 2 - v2 error format 218 219Returns: 220 An object of the form: 221 222 { # Defines an Identity and Access Management (IAM) policy. It is used to 223 # specify access control policies for Cloud Platform resources. 224 # 225 # 226 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of 227 # `members` to a `role`, where the members can be user accounts, Google groups, 228 # Google domains, and service accounts. A `role` is a named list of permissions 229 # defined by IAM. 230 # 231 # **JSON Example** 232 # 233 # { 234 # "bindings": [ 235 # { 236 # "role": "roles/owner", 237 # "members": [ 238 # "user:mike@example.com", 239 # "group:admins@example.com", 240 # "domain:google.com", 241 # "serviceAccount:my-other-app@appspot.gserviceaccount.com" 242 # ] 243 # }, 244 # { 245 # "role": "roles/viewer", 246 # "members": ["user:sean@example.com"] 247 # } 248 # ] 249 # } 250 # 251 # **YAML Example** 252 # 253 # bindings: 254 # - members: 255 # - user:mike@example.com 256 # - group:admins@example.com 257 # - domain:google.com 258 # - serviceAccount:my-other-app@appspot.gserviceaccount.com 259 # role: roles/owner 260 # - members: 261 # - user:sean@example.com 262 # role: roles/viewer 263 # 264 # 265 # For a description of IAM and its features, see the 266 # [IAM developer's guide](https://cloud.google.com/iam/docs). 267 "bindings": [ # Associates a list of `members` to a `role`. 268 # `bindings` with no members will result in an error. 269 { # Associates `members` with a `role`. 270 "role": "A String", # Role that is assigned to `members`. 271 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. 272 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding. 273 # NOTE: An unsatisfied condition will not allow user access via current 274 # binding. Different bindings, including their conditions, are examined 275 # independently. 276 # 277 # title: "User account presence" 278 # description: "Determines whether the request has a user account" 279 # expression: "size(request.user) > 0" 280 "description": "A String", # An optional description of the expression. This is a longer text which 281 # describes the expression, e.g. when hovered over it in a UI. 282 "expression": "A String", # Textual representation of an expression in 283 # Common Expression Language syntax. 284 # 285 # The application context of the containing message determines which 286 # well-known feature set of CEL is supported. 287 "location": "A String", # An optional string indicating the location of the expression for error 288 # reporting, e.g. a file name and a position in the file. 289 "title": "A String", # An optional title for the expression, i.e. a short string describing 290 # its purpose. This can be used e.g. in UIs which allow to enter the 291 # expression. 292 }, 293 "members": [ # Specifies the identities requesting access for a Cloud Platform resource. 294 # `members` can have the following values: 295 # 296 # * `allUsers`: A special identifier that represents anyone who is 297 # on the internet; with or without a Google account. 298 # 299 # * `allAuthenticatedUsers`: A special identifier that represents anyone 300 # who is authenticated with a Google account or a service account. 301 # 302 # * `user:{emailid}`: An email address that represents a specific Google 303 # account. For example, `alice@gmail.com` . 304 # 305 # 306 # * `serviceAccount:{emailid}`: An email address that represents a service 307 # account. For example, `my-other-app@appspot.gserviceaccount.com`. 308 # 309 # * `group:{emailid}`: An email address that represents a Google group. 310 # For example, `admins@example.com`. 311 # 312 # 313 # * `domain:{domain}`: The G Suite domain (primary) that represents all the 314 # users of that domain. For example, `google.com` or `example.com`. 315 # 316 "A String", 317 ], 318 }, 319 ], 320 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 321 # prevent simultaneous updates of a policy from overwriting each other. 322 # It is strongly suggested that systems make use of the `etag` in the 323 # read-modify-write cycle to perform policy updates in order to avoid race 324 # conditions: An `etag` is returned in the response to `getIamPolicy`, and 325 # systems are expected to put that etag in the request to `setIamPolicy` to 326 # ensure that their change will be applied to the same version of the policy. 327 # 328 # If no `etag` is provided in the call to `setIamPolicy`, then the existing 329 # policy is overwritten blindly. 330 "version": 42, # Deprecated. 331 }</pre> 332</div> 333 334<div class="method"> 335 <code class="details" id="list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</code> 336 <pre>Lists matching topics. 337 338Args: 339 project: string, The name of the cloud project that topics belong to. (required) 340 pageSize: integer, Maximum number of topics to return. 341 pageToken: string, The value returned by the last `ListTopicsResponse`; indicates that this is 342a continuation of a prior `ListTopics` call, and that the system should 343return the next page of data. 344 x__xgafv: string, V1 error format. 345 Allowed values 346 1 - v1 error format 347 2 - v2 error format 348 349Returns: 350 An object of the form: 351 352 { # Response for the `ListTopics` method. 353 "nextPageToken": "A String", # If not empty, indicates that there may be more topics that match the 354 # request; this value should be passed in a new `ListTopicsRequest`. 355 "topics": [ # The resulting topics. 356 { # A topic resource. 357 "name": "A String", # The name of the topic. It must have the format 358 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, 359 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), 360 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent 361 # signs (`%`). It must be between 3 and 255 characters in length, and it 362 # must not start with `"goog"`. 363 }, 364 ], 365 }</pre> 366</div> 367 368<div class="method"> 369 <code class="details" id="list_next">list_next(previous_request, previous_response)</code> 370 <pre>Retrieves the next page of results. 371 372Args: 373 previous_request: The request for the previous page. (required) 374 previous_response: The response from the request for the previous page. (required) 375 376Returns: 377 A request object that you can call 'execute()' on to request the next 378 page. Returns None if there are no more items in the collection. 379 </pre> 380</div> 381 382<div class="method"> 383 <code class="details" id="publish">publish(topic, body, x__xgafv=None)</code> 384 <pre>Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic 385does not exist. The message payload must not be empty; it must contain 386 either a non-empty data field, or at least one attribute. 387 388Args: 389 topic: string, The messages in the request will be published on this topic. (required) 390 body: object, The request body. (required) 391 The object takes the form of: 392 393{ # Request for the Publish method. 394 "messages": [ # The messages to publish. 395 { # A message data and its attributes. The message payload must not be empty; 396 # it must contain either a non-empty data field, or at least one attribute. 397 "attributes": { # Optional attributes for this message. 398 "a_key": "A String", 399 }, 400 "data": "A String", # The message payload. For JSON requests, the value of this field must be 401 # [base64-encoded](https://tools.ietf.org/html/rfc4648). 402 "publishTime": "A String", # The time at which the message was published, populated by the server when 403 # it receives the `Publish` call. It must not be populated by the 404 # publisher in a `Publish` call. 405 "messageId": "A String", # ID of this message, assigned by the server when the message is published. 406 # Guaranteed to be unique within the topic. This value may be read by a 407 # subscriber that receives a `PubsubMessage` via a `Pull` call or a push 408 # delivery. It must not be populated by the publisher in a `Publish` call. 409 }, 410 ], 411 } 412 413 x__xgafv: string, V1 error format. 414 Allowed values 415 1 - v1 error format 416 2 - v2 error format 417 418Returns: 419 An object of the form: 420 421 { # Response for the `Publish` method. 422 "messageIds": [ # The server-assigned ID of each published message, in the same order as 423 # the messages in the request. IDs are guaranteed to be unique within 424 # the topic. 425 "A String", 426 ], 427 }</pre> 428</div> 429 430<div class="method"> 431 <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code> 432 <pre>Sets the access control policy on the specified resource. Replaces any 433existing policy. 434 435Args: 436 resource: string, REQUIRED: The resource for which the policy is being specified. 437See the operation documentation for the appropriate value for this field. (required) 438 body: object, The request body. (required) 439 The object takes the form of: 440 441{ # Request message for `SetIamPolicy` method. 442 "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of 443 # the policy is limited to a few 10s of KB. An empty policy is a 444 # valid policy but certain Cloud Platform services (such as Projects) 445 # might reject them. 446 # specify access control policies for Cloud Platform resources. 447 # 448 # 449 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of 450 # `members` to a `role`, where the members can be user accounts, Google groups, 451 # Google domains, and service accounts. A `role` is a named list of permissions 452 # defined by IAM. 453 # 454 # **JSON Example** 455 # 456 # { 457 # "bindings": [ 458 # { 459 # "role": "roles/owner", 460 # "members": [ 461 # "user:mike@example.com", 462 # "group:admins@example.com", 463 # "domain:google.com", 464 # "serviceAccount:my-other-app@appspot.gserviceaccount.com" 465 # ] 466 # }, 467 # { 468 # "role": "roles/viewer", 469 # "members": ["user:sean@example.com"] 470 # } 471 # ] 472 # } 473 # 474 # **YAML Example** 475 # 476 # bindings: 477 # - members: 478 # - user:mike@example.com 479 # - group:admins@example.com 480 # - domain:google.com 481 # - serviceAccount:my-other-app@appspot.gserviceaccount.com 482 # role: roles/owner 483 # - members: 484 # - user:sean@example.com 485 # role: roles/viewer 486 # 487 # 488 # For a description of IAM and its features, see the 489 # [IAM developer's guide](https://cloud.google.com/iam/docs). 490 "bindings": [ # Associates a list of `members` to a `role`. 491 # `bindings` with no members will result in an error. 492 { # Associates `members` with a `role`. 493 "role": "A String", # Role that is assigned to `members`. 494 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. 495 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding. 496 # NOTE: An unsatisfied condition will not allow user access via current 497 # binding. Different bindings, including their conditions, are examined 498 # independently. 499 # 500 # title: "User account presence" 501 # description: "Determines whether the request has a user account" 502 # expression: "size(request.user) > 0" 503 "description": "A String", # An optional description of the expression. This is a longer text which 504 # describes the expression, e.g. when hovered over it in a UI. 505 "expression": "A String", # Textual representation of an expression in 506 # Common Expression Language syntax. 507 # 508 # The application context of the containing message determines which 509 # well-known feature set of CEL is supported. 510 "location": "A String", # An optional string indicating the location of the expression for error 511 # reporting, e.g. a file name and a position in the file. 512 "title": "A String", # An optional title for the expression, i.e. a short string describing 513 # its purpose. This can be used e.g. in UIs which allow to enter the 514 # expression. 515 }, 516 "members": [ # Specifies the identities requesting access for a Cloud Platform resource. 517 # `members` can have the following values: 518 # 519 # * `allUsers`: A special identifier that represents anyone who is 520 # on the internet; with or without a Google account. 521 # 522 # * `allAuthenticatedUsers`: A special identifier that represents anyone 523 # who is authenticated with a Google account or a service account. 524 # 525 # * `user:{emailid}`: An email address that represents a specific Google 526 # account. For example, `alice@gmail.com` . 527 # 528 # 529 # * `serviceAccount:{emailid}`: An email address that represents a service 530 # account. For example, `my-other-app@appspot.gserviceaccount.com`. 531 # 532 # * `group:{emailid}`: An email address that represents a Google group. 533 # For example, `admins@example.com`. 534 # 535 # 536 # * `domain:{domain}`: The G Suite domain (primary) that represents all the 537 # users of that domain. For example, `google.com` or `example.com`. 538 # 539 "A String", 540 ], 541 }, 542 ], 543 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 544 # prevent simultaneous updates of a policy from overwriting each other. 545 # It is strongly suggested that systems make use of the `etag` in the 546 # read-modify-write cycle to perform policy updates in order to avoid race 547 # conditions: An `etag` is returned in the response to `getIamPolicy`, and 548 # systems are expected to put that etag in the request to `setIamPolicy` to 549 # ensure that their change will be applied to the same version of the policy. 550 # 551 # If no `etag` is provided in the call to `setIamPolicy`, then the existing 552 # policy is overwritten blindly. 553 "version": 42, # Deprecated. 554 }, 555 } 556 557 x__xgafv: string, V1 error format. 558 Allowed values 559 1 - v1 error format 560 2 - v2 error format 561 562Returns: 563 An object of the form: 564 565 { # Defines an Identity and Access Management (IAM) policy. It is used to 566 # specify access control policies for Cloud Platform resources. 567 # 568 # 569 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of 570 # `members` to a `role`, where the members can be user accounts, Google groups, 571 # Google domains, and service accounts. A `role` is a named list of permissions 572 # defined by IAM. 573 # 574 # **JSON Example** 575 # 576 # { 577 # "bindings": [ 578 # { 579 # "role": "roles/owner", 580 # "members": [ 581 # "user:mike@example.com", 582 # "group:admins@example.com", 583 # "domain:google.com", 584 # "serviceAccount:my-other-app@appspot.gserviceaccount.com" 585 # ] 586 # }, 587 # { 588 # "role": "roles/viewer", 589 # "members": ["user:sean@example.com"] 590 # } 591 # ] 592 # } 593 # 594 # **YAML Example** 595 # 596 # bindings: 597 # - members: 598 # - user:mike@example.com 599 # - group:admins@example.com 600 # - domain:google.com 601 # - serviceAccount:my-other-app@appspot.gserviceaccount.com 602 # role: roles/owner 603 # - members: 604 # - user:sean@example.com 605 # role: roles/viewer 606 # 607 # 608 # For a description of IAM and its features, see the 609 # [IAM developer's guide](https://cloud.google.com/iam/docs). 610 "bindings": [ # Associates a list of `members` to a `role`. 611 # `bindings` with no members will result in an error. 612 { # Associates `members` with a `role`. 613 "role": "A String", # Role that is assigned to `members`. 614 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. 615 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding. 616 # NOTE: An unsatisfied condition will not allow user access via current 617 # binding. Different bindings, including their conditions, are examined 618 # independently. 619 # 620 # title: "User account presence" 621 # description: "Determines whether the request has a user account" 622 # expression: "size(request.user) > 0" 623 "description": "A String", # An optional description of the expression. This is a longer text which 624 # describes the expression, e.g. when hovered over it in a UI. 625 "expression": "A String", # Textual representation of an expression in 626 # Common Expression Language syntax. 627 # 628 # The application context of the containing message determines which 629 # well-known feature set of CEL is supported. 630 "location": "A String", # An optional string indicating the location of the expression for error 631 # reporting, e.g. a file name and a position in the file. 632 "title": "A String", # An optional title for the expression, i.e. a short string describing 633 # its purpose. This can be used e.g. in UIs which allow to enter the 634 # expression. 635 }, 636 "members": [ # Specifies the identities requesting access for a Cloud Platform resource. 637 # `members` can have the following values: 638 # 639 # * `allUsers`: A special identifier that represents anyone who is 640 # on the internet; with or without a Google account. 641 # 642 # * `allAuthenticatedUsers`: A special identifier that represents anyone 643 # who is authenticated with a Google account or a service account. 644 # 645 # * `user:{emailid}`: An email address that represents a specific Google 646 # account. For example, `alice@gmail.com` . 647 # 648 # 649 # * `serviceAccount:{emailid}`: An email address that represents a service 650 # account. For example, `my-other-app@appspot.gserviceaccount.com`. 651 # 652 # * `group:{emailid}`: An email address that represents a Google group. 653 # For example, `admins@example.com`. 654 # 655 # 656 # * `domain:{domain}`: The G Suite domain (primary) that represents all the 657 # users of that domain. For example, `google.com` or `example.com`. 658 # 659 "A String", 660 ], 661 }, 662 ], 663 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help 664 # prevent simultaneous updates of a policy from overwriting each other. 665 # It is strongly suggested that systems make use of the `etag` in the 666 # read-modify-write cycle to perform policy updates in order to avoid race 667 # conditions: An `etag` is returned in the response to `getIamPolicy`, and 668 # systems are expected to put that etag in the request to `setIamPolicy` to 669 # ensure that their change will be applied to the same version of the policy. 670 # 671 # If no `etag` is provided in the call to `setIamPolicy`, then the existing 672 # policy is overwritten blindly. 673 "version": 42, # Deprecated. 674 }</pre> 675</div> 676 677<div class="method"> 678 <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code> 679 <pre>Returns permissions that a caller has on the specified resource. 680If the resource does not exist, this will return an empty set of 681permissions, not a NOT_FOUND error. 682 683Note: This operation is designed to be used for building permission-aware 684UIs and command-line tools, not for authorization checking. This operation 685may "fail open" without warning. 686 687Args: 688 resource: string, REQUIRED: The resource for which the policy detail is being requested. 689See the operation documentation for the appropriate value for this field. (required) 690 body: object, The request body. (required) 691 The object takes the form of: 692 693{ # Request message for `TestIamPermissions` method. 694 "permissions": [ # The set of permissions to check for the `resource`. Permissions with 695 # wildcards (such as '*' or 'storage.*') are not allowed. For more 696 # information see 697 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). 698 "A String", 699 ], 700 } 701 702 x__xgafv: string, V1 error format. 703 Allowed values 704 1 - v1 error format 705 2 - v2 error format 706 707Returns: 708 An object of the form: 709 710 { # Response message for `TestIamPermissions` method. 711 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is 712 # allowed. 713 "A String", 714 ], 715 }</pre> 716</div> 717 718</body></html>