OLD | NEW |
(Empty) | |
| 1 { |
| 2 "auth": { |
| 3 "oauth2": { |
| 4 "scopes": { |
| 5 "https://www.googleapis.com/auth/cloud-platform": { |
| 6 "description": "View and manage your data across Google Clou
d Platform services" |
| 7 } |
| 8 } |
| 9 } |
| 10 }, |
| 11 "basePath": "", |
| 12 "baseUrl": "https://cloudresourcemanager.googleapis.com/", |
| 13 "batchPath": "batch", |
| 14 "description": "The Google Cloud Resource Manager API provides methods for c
reating, reading, and updating of project metadata.", |
| 15 "discoveryVersion": "v1", |
| 16 "documentationLink": "https://cloud.google.com/resource-manager", |
| 17 "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/lCz97T1iS4SZ8XB3GsF9uUgpaQY\"", |
| 18 "icons": { |
| 19 "x16": "http://www.google.com/images/icons/product/search-16.gif", |
| 20 "x32": "http://www.google.com/images/icons/product/search-32.gif" |
| 21 }, |
| 22 "id": "cloudresourcemanager:v1beta1", |
| 23 "kind": "discovery#restDescription", |
| 24 "name": "cloudresourcemanager", |
| 25 "ownerDomain": "google.com", |
| 26 "ownerName": "Google", |
| 27 "parameters": { |
| 28 "access_token": { |
| 29 "description": "OAuth access token.", |
| 30 "location": "query", |
| 31 "type": "string" |
| 32 }, |
| 33 "alt": { |
| 34 "default": "json", |
| 35 "description": "Data format for response.", |
| 36 "enumDescriptions": [ |
| 37 "Responses with Content-Type of application/json", |
| 38 "Media download with context-dependent Content-Type", |
| 39 "Responses with Content-Type of application/x-protobuf" |
| 40 ], |
| 41 "location": "query", |
| 42 "type": "string" |
| 43 }, |
| 44 "bearer_token": { |
| 45 "description": "OAuth bearer token.", |
| 46 "location": "query", |
| 47 "type": "string" |
| 48 }, |
| 49 "callback": { |
| 50 "description": "JSONP", |
| 51 "location": "query", |
| 52 "type": "string" |
| 53 }, |
| 54 "fields": { |
| 55 "description": "Selector specifying which fields to include in a par
tial response.", |
| 56 "location": "query", |
| 57 "type": "string" |
| 58 }, |
| 59 "key": { |
| 60 "description": "API key. Your API key identifies your project and pr
ovides you with API access, quota, and reports. Required unless you provide an O
Auth 2.0 token.", |
| 61 "location": "query", |
| 62 "type": "string" |
| 63 }, |
| 64 "oauth_token": { |
| 65 "description": "OAuth 2.0 token for the current user.", |
| 66 "location": "query", |
| 67 "type": "string" |
| 68 }, |
| 69 "pp": { |
| 70 "default": "true", |
| 71 "description": "Pretty-print response.", |
| 72 "location": "query", |
| 73 "type": "boolean" |
| 74 }, |
| 75 "prettyPrint": { |
| 76 "default": "true", |
| 77 "description": "Returns response with indentations and line breaks."
, |
| 78 "location": "query", |
| 79 "type": "boolean" |
| 80 }, |
| 81 "quotaUser": { |
| 82 "description": "Available to use for quota purposes for server-side
applications. Can be any arbitrary string assigned to a user, but should not exc
eed 40 characters.", |
| 83 "location": "query", |
| 84 "type": "string" |
| 85 }, |
| 86 "upload_protocol": { |
| 87 "description": "Upload protocol for media (e.g. \"raw\", \"multipart
\").", |
| 88 "location": "query", |
| 89 "type": "string" |
| 90 }, |
| 91 "uploadType": { |
| 92 "description": "Legacy upload protocol for media (e.g. \"media\", \"
multipart\").", |
| 93 "location": "query", |
| 94 "type": "string" |
| 95 }, |
| 96 "$.xgafv": { |
| 97 "description": "V1 error format.", |
| 98 "enumDescriptions": [ |
| 99 "v1 error format", |
| 100 "v2 error format" |
| 101 ], |
| 102 "location": "query", |
| 103 "type": "string" |
| 104 } |
| 105 }, |
| 106 "protocol": "rest", |
| 107 "resources": { |
| 108 "projects": { |
| 109 "methods": { |
| 110 "create": { |
| 111 "description": "Creates a project resource. Initially, the p
roject resource is owned by its creator exclusively. The creator can later grant
permission to others to read or update the project. Several APIs are activated
automatically for the project, including Google Cloud Storage.", |
| 112 "httpMethod": "POST", |
| 113 "id": "cloudresourcemanager.projects.create", |
| 114 "path": "v1beta1/projects", |
| 115 "request": { |
| 116 "$ref": "Project" |
| 117 }, |
| 118 "response": { |
| 119 "$ref": "Project" |
| 120 }, |
| 121 "scopes": [ |
| 122 "https://www.googleapis.com/auth/cloud-platform" |
| 123 ] |
| 124 }, |
| 125 "list": { |
| 126 "description": "Lists projects that are visible to the user
and satisfy the specified filter. This method returns projects in an unspecified
order. New projects do not necessarily appear at the end of the list.", |
| 127 "httpMethod": "GET", |
| 128 "id": "cloudresourcemanager.projects.list", |
| 129 "parameters": { |
| 130 "pageToken": { |
| 131 "description": "A pagination token returned from a p
revious call to ListProject that indicates from where listing should continue. N
ote: pagination is not yet supported; the server ignores this field. Optional.", |
| 132 "location": "query", |
| 133 "type": "string" |
| 134 }, |
| 135 "pageSize": { |
| 136 "description": "The maximum number of Projects to re
turn in the response. The server can return fewer projects than requested. If un
specified, server picks an appropriate default. Note: pagination is not yet supp
orted; the server ignores this field. Optional.", |
| 137 "format": "int32", |
| 138 "location": "query", |
| 139 "type": "integer" |
| 140 }, |
| 141 "filter": { |
| 142 "description": "An expression for filtering the resu
lts of the request. Filter rules are case insensitive. The fields eligible for f
iltering are: + `name` + `id` + labels.key where *key* is the name of a label So
me examples of using labels as filters: |Filter|Description| |------|-----------
| |name:*|The project has a name.| |name:Howl|The project's name is `Howl` or `h
owl`.| |name:HOWL|Equivalent to above.| |NAME:howl|Equivalent to above.| |labels
.color:*|The project has the label `color`.| |labels.color:red|The project's lab
el `color` has the value `red`.| |labels.color:red label.size:big|The project's
label `color` has the value `red` and its label `size` has the value `big`. Opti
onal.", |
| 143 "location": "query", |
| 144 "type": "string" |
| 145 } |
| 146 }, |
| 147 "path": "v1beta1/projects", |
| 148 "response": { |
| 149 "$ref": "ListProjectsResponse" |
| 150 }, |
| 151 "scopes": [ |
| 152 "https://www.googleapis.com/auth/cloud-platform" |
| 153 ] |
| 154 }, |
| 155 "get": { |
| 156 "description": "Retrieves the project identified by the spec
ified `project_id` (for example, `my-project-123`). The caller must have read pe
rmissions for this project.", |
| 157 "httpMethod": "GET", |
| 158 "id": "cloudresourcemanager.projects.get", |
| 159 "parameterOrder": [ |
| 160 "projectId" |
| 161 ], |
| 162 "parameters": { |
| 163 "projectId": { |
| 164 "description": "The project ID (for example, `my-pro
ject-123`). Required.", |
| 165 "location": "path", |
| 166 "required": true, |
| 167 "type": "string" |
| 168 } |
| 169 }, |
| 170 "path": "v1beta1/projects/{projectId}", |
| 171 "response": { |
| 172 "$ref": "Project" |
| 173 }, |
| 174 "scopes": [ |
| 175 "https://www.googleapis.com/auth/cloud-platform" |
| 176 ] |
| 177 }, |
| 178 "update": { |
| 179 "description": "Updates the attributes of the project identi
fied by the specified `project_id` (for example, `my-project-123`). The caller m
ust have modify permissions for this project.", |
| 180 "httpMethod": "PUT", |
| 181 "id": "cloudresourcemanager.projects.update", |
| 182 "parameterOrder": [ |
| 183 "projectId" |
| 184 ], |
| 185 "parameters": { |
| 186 "projectId": { |
| 187 "description": "The project ID (for example, `my-pro
ject-123`). Required.", |
| 188 "location": "path", |
| 189 "required": true, |
| 190 "type": "string" |
| 191 } |
| 192 }, |
| 193 "path": "v1beta1/projects/{projectId}", |
| 194 "request": { |
| 195 "$ref": "Project" |
| 196 }, |
| 197 "response": { |
| 198 "$ref": "Project" |
| 199 }, |
| 200 "scopes": [ |
| 201 "https://www.googleapis.com/auth/cloud-platform" |
| 202 ] |
| 203 }, |
| 204 "delete": { |
| 205 "description": "Marks the project identified by the specifie
d `project_id` (for example, `my-project-123`) for deletion. This method will on
ly affect the project if the following criteria are met: + The project does not
have a billing account associated with it. + The project has a lifecycle state o
f [ACTIVE][google.cloudresourcemanager.projects.v1beta1.LifecycleState.ACTIVE].
This method changes the project's lifecycle state from [ACTIVE][google.cloudreso
urcemanager.projects.v1beta1.LifecycleState.ACTIVE] to [DELETE_REQUESTED] [googl
e.cloudresourcemanager.projects.v1beta1.LifecycleState.DELETE_REQUESTED]. The de
letion starts at an unspecified time, at which point the lifecycle state changes
to [DELETE_IN_PROGRESS] [google.cloudresourcemanager.projects.v1beta1.Lifecycle
State.DELETE_IN_PROGRESS]. Until the deletion completes, you can check the lifec
ycle state checked by retrieving the project with [GetProject] [google.cloudreso
urcemanager.projects.v1beta1.DeveloperProjects.GetProject], and the project rema
ins visible to [ListProjects] [google.cloudresourcemanager.projects.v1beta1.Deve
loperProjects.ListProjects]. However, you cannot update the project. After the d
eletion completes, the project is not retrievable by the [GetProject] [google.cl
oudresourcemanager.projects.v1beta1.DeveloperProjects.GetProject] and [ListProje
cts] [google.cloudresourcemanager.projects.v1beta1.DeveloperProjects.ListProject
s] methods. The caller must have modify permissions for this project.", |
| 206 "httpMethod": "DELETE", |
| 207 "id": "cloudresourcemanager.projects.delete", |
| 208 "parameterOrder": [ |
| 209 "projectId" |
| 210 ], |
| 211 "parameters": { |
| 212 "projectId": { |
| 213 "description": "The project ID (for example, `foo-ba
r-123`). Required.", |
| 214 "location": "path", |
| 215 "required": true, |
| 216 "type": "string" |
| 217 } |
| 218 }, |
| 219 "path": "v1beta1/projects/{projectId}", |
| 220 "response": { |
| 221 "$ref": "Empty" |
| 222 }, |
| 223 "scopes": [ |
| 224 "https://www.googleapis.com/auth/cloud-platform" |
| 225 ] |
| 226 }, |
| 227 "undelete": { |
| 228 "description": "Restores the project identified by the speci
fied `project_id` (for example, `my-project-123`). You can only use this method
for a project that has a lifecycle state of [DELETE_REQUESTED] [google.cloudreso
urcemanager.projects.v1beta1.LifecycleState.DELETE_REQUESTED]. After deletion st
arts, as indicated by a lifecycle state of [DELETE_IN_PROGRESS] [google.cloudres
ourcemanager.projects.v1beta1.LifecycleState.DELETE_IN_PROGRESS], the project ca
nnot be restored. The caller must have modify permissions for this project.", |
| 229 "httpMethod": "POST", |
| 230 "id": "cloudresourcemanager.projects.undelete", |
| 231 "parameterOrder": [ |
| 232 "projectId" |
| 233 ], |
| 234 "parameters": { |
| 235 "projectId": { |
| 236 "description": "The project ID (for example, `foo-ba
r-123`). Required.", |
| 237 "location": "path", |
| 238 "required": true, |
| 239 "type": "string" |
| 240 } |
| 241 }, |
| 242 "path": "v1beta1/projects/{projectId}:undelete", |
| 243 "response": { |
| 244 "$ref": "Empty" |
| 245 }, |
| 246 "scopes": [ |
| 247 "https://www.googleapis.com/auth/cloud-platform" |
| 248 ] |
| 249 }, |
| 250 "getIamPolicy": { |
| 251 "description": "Returns the IAM access control policy for sp
ecified project.", |
| 252 "httpMethod": "POST", |
| 253 "id": "cloudresourcemanager.projects.getIamPolicy", |
| 254 "parameterOrder": [ |
| 255 "resource" |
| 256 ], |
| 257 "parameters": { |
| 258 "resource": { |
| 259 "description": "REQUIRED: The resource for which pol
icy is being requested. Resource is usually specified as a path, such as, projec
ts/{project}.", |
| 260 "location": "path", |
| 261 "required": true, |
| 262 "type": "string" |
| 263 } |
| 264 }, |
| 265 "path": "v1beta1/projects/{resource}:getIamPolicy", |
| 266 "request": { |
| 267 "$ref": "GetIamPolicyRequest" |
| 268 }, |
| 269 "response": { |
| 270 "$ref": "Policy" |
| 271 }, |
| 272 "scopes": [ |
| 273 "https://www.googleapis.com/auth/cloud-platform" |
| 274 ] |
| 275 }, |
| 276 "setIamPolicy": { |
| 277 "description": "Sets the IAM access control policy for the s
pecified project. We do not currently support 'domain:' prefixed members in a Bi
nding of a Policy. Calling this method requires enabling the App Engine Admin AP
I.", |
| 278 "httpMethod": "POST", |
| 279 "id": "cloudresourcemanager.projects.setIamPolicy", |
| 280 "parameterOrder": [ |
| 281 "resource" |
| 282 ], |
| 283 "parameters": { |
| 284 "resource": { |
| 285 "description": "REQUIRED: The resource for which pol
icy is being specified. Resource is usually specified as a path, such as, projec
ts/{project}/zones/{zone}/disks/{disk}.", |
| 286 "location": "path", |
| 287 "required": true, |
| 288 "type": "string" |
| 289 } |
| 290 }, |
| 291 "path": "v1beta1/projects/{resource}:setIamPolicy", |
| 292 "request": { |
| 293 "$ref": "SetIamPolicyRequest" |
| 294 }, |
| 295 "response": { |
| 296 "$ref": "Policy" |
| 297 }, |
| 298 "scopes": [ |
| 299 "https://www.googleapis.com/auth/cloud-platform" |
| 300 ] |
| 301 }, |
| 302 "testIamPermissions": { |
| 303 "description": "Tests the specified permissions against the
IAM access control policy for the specified project.", |
| 304 "httpMethod": "POST", |
| 305 "id": "cloudresourcemanager.projects.testIamPermissions", |
| 306 "parameterOrder": [ |
| 307 "resource" |
| 308 ], |
| 309 "parameters": { |
| 310 "resource": { |
| 311 "description": "REQUIRED: The resource for which pol
icy detail is being requested. Resource is usually specified as a path, such as,
projects/{project}.", |
| 312 "location": "path", |
| 313 "required": true, |
| 314 "type": "string" |
| 315 } |
| 316 }, |
| 317 "path": "v1beta1/projects/{resource}:testIamPermissions", |
| 318 "request": { |
| 319 "$ref": "TestIamPermissionsRequest" |
| 320 }, |
| 321 "response": { |
| 322 "$ref": "TestIamPermissionsResponse" |
| 323 }, |
| 324 "scopes": [ |
| 325 "https://www.googleapis.com/auth/cloud-platform" |
| 326 ] |
| 327 } |
| 328 } |
| 329 } |
| 330 }, |
| 331 "revision": "20150729", |
| 332 "rootUrl": "https://cloudresourcemanager.googleapis.com/", |
| 333 "schemas": { |
| 334 "Project": { |
| 335 "description": "A Project is a high-level Google Cloud Platform enti
ty. It is a container for ACLs, APIs, AppEngine Apps, VMs, and other Google Clou
d Platform resources.", |
| 336 "id": "Project", |
| 337 "properties": { |
| 338 "projectNumber": { |
| 339 "description": "The number uniquely identifying the project.
Example: 415104041262 Read-only.", |
| 340 "format": "int64", |
| 341 "type": "string" |
| 342 }, |
| 343 "projectId": { |
| 344 "description": "The unique, user-assigned ID of the project.
It must be 6 to 30 lowercase letters, digits, or hyphens. It must start with a
letter. Trailing hyphens are prohibited. Example: tokyo-rain-123 Read-only after
creation.", |
| 345 "type": "string" |
| 346 }, |
| 347 "lifecycleState": { |
| 348 "description": "The project lifecycle state. Read-only.", |
| 349 "enum": [ |
| 350 "LIFECYCLE_STATE_UNSPECIFIED", |
| 351 "ACTIVE", |
| 352 "DELETE_REQUESTED", |
| 353 "DELETE_IN_PROGRESS" |
| 354 ], |
| 355 "type": "string" |
| 356 }, |
| 357 "name": { |
| 358 "description": "The user-assigned name of the project. This
field is optional and can remain unset. Allowed characters are: lowercase and up
percase letters, numbers, hyphen, single-quote, double-quote, space, and exclama
tion point. Example: My Project Read-write.", |
| 359 "type": "string" |
| 360 }, |
| 361 "createTime": { |
| 362 "description": "Creation time. Read-only.", |
| 363 "type": "string" |
| 364 }, |
| 365 "labels": { |
| 366 "additionalProperties": { |
| 367 "type": "string" |
| 368 }, |
| 369 "description": "The labels associated with this project. Lab
el keys must be between 1 and 63 characters long and must conform to the followi
ng regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?. Label values must
be between 0 and 63 characters long and must conform to the regular expression
(\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?. No more than 256 labels can be associ
ated with a given resource. Clients should store labels in a representation such
as JSON that does not depend on specific characters being disallowed. Example:
\"environment\" : \"dev\" Read-write.", |
| 370 "type": "object" |
| 371 } |
| 372 }, |
| 373 "type": "object" |
| 374 }, |
| 375 "ListProjectsResponse": { |
| 376 "description": "A page of the response received from the [ListProjec
ts][google.cloudresourcemanager.projects.v1beta1.DeveloperProjects.ListProjects]
method. A paginated response where more pages are available has `next_page_toke
n` set. This token can be used in a subsequent request to retrieve the next requ
est page.", |
| 377 "id": "ListProjectsResponse", |
| 378 "properties": { |
| 379 "projects": { |
| 380 "description": "The list of projects that matched the list f
ilter. This list can be paginated.", |
| 381 "items": { |
| 382 "$ref": "Project" |
| 383 }, |
| 384 "type": "array" |
| 385 }, |
| 386 "nextPageToken": { |
| 387 "description": "Pagination token. If the result set is too l
arge to fit in a single response, this token is returned. It encodes the positio
n of the current result cursor. Feeding this value into a new list request with
the `page_token` parameter gives the next page of the results. When `next_page_t
oken` is not filled in, there is no next page and the list returned is the last
page in the result set. Pagination tokens have a limited lifetime. Note: paginat
ion is not yet supported; the server will not set this field.", |
| 388 "type": "string" |
| 389 } |
| 390 }, |
| 391 "type": "object" |
| 392 }, |
| 393 "Empty": { |
| 394 "description": "A generic empty message that you can re-use to avoid
defining duplicated empty messages in your APIs. A typical example is to use it
as the request or the response type of an API method. For instance: service Foo
{ rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON re
presentation for `Empty` is empty JSON object `{}`.", |
| 395 "id": "Empty", |
| 396 "type": "object" |
| 397 }, |
| 398 "GetIamPolicyRequest": { |
| 399 "description": "Request message for `GetIamPolicy` method.", |
| 400 "id": "GetIamPolicyRequest", |
| 401 "type": "object" |
| 402 }, |
| 403 "Policy": { |
| 404 "description": "# Overview The `Policy` defines an access control po
licy language. It is used to define policies that are attached to resources like
files, folders, VMs, etc. # Policy structure A `Policy` consists of a list of b
indings. A `Binding` binds a set of members to a role, where the members include
user accounts, user groups, user domains, and service accounts. A 'role' is a n
amed set of permissions, defined by IAM. The definition of a role is outside the
policy. A permission check first determines the roles that include the specifie
d permission, and then determines if the principal specified is a member of a bi
nding to at least one of these roles. The membership check is recursive when a g
roup is bound to a role. Policy examples: ``` { \"bindings\": [ { \"role\": \"ro
les/owner\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.co
m\", \"domain:google.com\", \"serviceAccount:frontend@example.iam.gserviceaccoun
ts.com\"] }, { \"role\": \"roles/viewer\", \"members\": [\"user:sean@example.com
\"] } ] } ```", |
| 405 "id": "Policy", |
| 406 "properties": { |
| 407 "version": { |
| 408 "description": "The policy language version. The version of
the policy is represented by the etag. The default version is 0.", |
| 409 "format": "int32", |
| 410 "type": "integer" |
| 411 }, |
| 412 "bindings": { |
| 413 "description": "It is an error to specify multiple bindings
for the same role. It is an error to specify a binding with no members.", |
| 414 "items": { |
| 415 "$ref": "Binding" |
| 416 }, |
| 417 "type": "array" |
| 418 }, |
| 419 "rules": { |
| 420 "items": { |
| 421 "$ref": "Rule" |
| 422 }, |
| 423 "type": "array" |
| 424 }, |
| 425 "etag": { |
| 426 "description": "Can be used to perform a read-modify-write."
, |
| 427 "format": "byte", |
| 428 "type": "string" |
| 429 } |
| 430 }, |
| 431 "type": "object" |
| 432 }, |
| 433 "Binding": { |
| 434 "description": "Associates members with roles. See below for allowed
formats of members.", |
| 435 "id": "Binding", |
| 436 "properties": { |
| 437 "role": { |
| 438 "description": "The name of the role to which the members sh
ould be bound. Examples: \"roles/viewer\", \"roles/editor\", \"roles/owner\". Re
quired", |
| 439 "type": "string" |
| 440 }, |
| 441 "members": { |
| 442 "description": "Format of member entries: 1. allUsers Matche
s any requesting principal (users, service accounts or anonymous). 2. allAuthent
icatedUsers Matches any requesting authenticated principal (users or service acc
ounts). 3. user:{emailid} A google user account using an email address. For exam
ple alice@gmail.com, joe@example.com 4. serviceAccount:{emailid} An service acco
unt email. 5. group:{emailid} A google group with an email address. For example
auth-ti-cloud@google.com 6. domain:{domain} A Google Apps domain name. For examp
le google.com, example.com", |
| 443 "items": { |
| 444 "type": "string" |
| 445 }, |
| 446 "type": "array" |
| 447 } |
| 448 }, |
| 449 "type": "object" |
| 450 }, |
| 451 "Rule": { |
| 452 "description": "A rule to be applied in a Policy.", |
| 453 "id": "Rule", |
| 454 "properties": { |
| 455 "description": { |
| 456 "description": "Human-readable description of the rule.", |
| 457 "type": "string" |
| 458 }, |
| 459 "permissions": { |
| 460 "description": "A permission is a string of form '..' (e.g.,
'storage.buckets.list'). A value of '*' matches all permissions, and a verb par
t of '*' (e.g., 'storage.buckets.*') matches all verbs.", |
| 461 "items": { |
| 462 "type": "string" |
| 463 }, |
| 464 "type": "array" |
| 465 }, |
| 466 "action": { |
| 467 "description": "Required", |
| 468 "enum": [ |
| 469 "NO_ACTION", |
| 470 "ALLOW", |
| 471 "ALLOW_WITH_LOG", |
| 472 "DENY", |
| 473 "DENY_WITH_LOG", |
| 474 "LOG" |
| 475 ], |
| 476 "type": "string" |
| 477 }, |
| 478 "in": { |
| 479 "description": "The rule matches if the PRINCIPAL/AUTHORITY_
SELECTOR is in this set of entries.", |
| 480 "items": { |
| 481 "type": "string" |
| 482 }, |
| 483 "type": "array" |
| 484 }, |
| 485 "notIn": { |
| 486 "description": "The rule matches if the PRINCIPAL/AUTHORITY_
SELECTOR is not in this set of entries. The formation for in and not_in entries
is the same as members in a Binding above.", |
| 487 "items": { |
| 488 "type": "string" |
| 489 }, |
| 490 "type": "array" |
| 491 }, |
| 492 "conditions": { |
| 493 "description": "Additional restrictions that must be met", |
| 494 "items": { |
| 495 "$ref": "Condition" |
| 496 }, |
| 497 "type": "array" |
| 498 }, |
| 499 "logConfig": { |
| 500 "description": "The config returned to callers of tech.iam.I
AM.CheckPolicy for any entries that match the LOG action.", |
| 501 "items": { |
| 502 "$ref": "LogConfig" |
| 503 }, |
| 504 "type": "array" |
| 505 } |
| 506 }, |
| 507 "type": "object" |
| 508 }, |
| 509 "Condition": { |
| 510 "description": "A condition to be met.", |
| 511 "id": "Condition", |
| 512 "properties": { |
| 513 "iam": { |
| 514 "description": "Trusted attributes supplied by the IAM syste
m.", |
| 515 "enum": [ |
| 516 "NO_ATTR", |
| 517 "AUTHORITY", |
| 518 "ATTRIBUTION" |
| 519 ], |
| 520 "type": "string" |
| 521 }, |
| 522 "sys": { |
| 523 "description": "Trusted attributes supplied by any service t
hat owns resources and uses the IAM system for access control.", |
| 524 "enum": [ |
| 525 "NO_ATTR", |
| 526 "REGION", |
| 527 "SERVICE", |
| 528 "NAME", |
| 529 "IP" |
| 530 ], |
| 531 "type": "string" |
| 532 }, |
| 533 "svc": { |
| 534 "description": "Trusted attributes discharged by the service
.", |
| 535 "type": "string" |
| 536 }, |
| 537 "op": { |
| 538 "description": "An operator to apply the subject with.", |
| 539 "enum": [ |
| 540 "NO_OP", |
| 541 "EQUALS", |
| 542 "NOT_EQUALS", |
| 543 "IN", |
| 544 "NOT_IN", |
| 545 "DISCHARGED" |
| 546 ], |
| 547 "type": "string" |
| 548 }, |
| 549 "value": { |
| 550 "description": "The object of the condition. Exactly one of
these must be set.", |
| 551 "type": "string" |
| 552 }, |
| 553 "values": { |
| 554 "description": "The objects of the condition. This is mutual
ly exclusive with 'value'.", |
| 555 "items": { |
| 556 "type": "string" |
| 557 }, |
| 558 "type": "array" |
| 559 } |
| 560 }, |
| 561 "type": "object" |
| 562 }, |
| 563 "LogConfig": { |
| 564 "description": "Specifies what kind of log the caller must write Inc
rement a streamz counter with the specified metric and field names. Metric names
should start with a '/', generally be lowercase-only, and end in \"_count\". Fi
eld names should not contain an initial slash. The actual exported metric names
will have \"/iam/policy\" prepended. Field names correspond to IAM request param
eters and field values are their respective values. At present only \"iam_princi
pal\", corresponding to IAMContext.principal, is supported. Examples: counter {
metric: \"/debug_access_count\" field: \"iam_principal\" } ==> increment counter
/iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.prin
cipal]} At this time we do not support: * multiple field names (though this may
be supported in the future) * decrementing the counter * incrementing it by anyt
hing other than 1", |
| 565 "id": "LogConfig", |
| 566 "properties": { |
| 567 "counter": { |
| 568 "$ref": "CounterOptions", |
| 569 "description": "Counter options." |
| 570 }, |
| 571 "dataAccess": { |
| 572 "$ref": "DataAccessOptions", |
| 573 "description": "Data access options." |
| 574 }, |
| 575 "cloudAudit": { |
| 576 "$ref": "CloudAuditOptions", |
| 577 "description": "Cloud audit options." |
| 578 } |
| 579 }, |
| 580 "type": "object" |
| 581 }, |
| 582 "CounterOptions": { |
| 583 "description": "Options for counters", |
| 584 "id": "CounterOptions", |
| 585 "properties": { |
| 586 "metric": { |
| 587 "description": "The metric to update.", |
| 588 "type": "string" |
| 589 }, |
| 590 "field": { |
| 591 "description": "The field value to attribute.", |
| 592 "type": "string" |
| 593 } |
| 594 }, |
| 595 "type": "object" |
| 596 }, |
| 597 "DataAccessOptions": { |
| 598 "description": "Write a Data Access (Gin) log", |
| 599 "id": "DataAccessOptions", |
| 600 "type": "object" |
| 601 }, |
| 602 "CloudAuditOptions": { |
| 603 "description": "Write a Cloud Audit log", |
| 604 "id": "CloudAuditOptions", |
| 605 "type": "object" |
| 606 }, |
| 607 "SetIamPolicyRequest": { |
| 608 "description": "Request message for `SetIamPolicy` method.", |
| 609 "id": "SetIamPolicyRequest", |
| 610 "properties": { |
| 611 "policy": { |
| 612 "$ref": "Policy", |
| 613 "description": "REQUIRED: The complete policy to be applied
to the 'resource'. The size of the policy is limited to a few 10s of KB. An empt
y policy is in general a valid policy but certain services (like Projects) might
reject them." |
| 614 } |
| 615 }, |
| 616 "type": "object" |
| 617 }, |
| 618 "TestIamPermissionsRequest": { |
| 619 "description": "Request message for `TestIamPermissions` method.", |
| 620 "id": "TestIamPermissionsRequest", |
| 621 "properties": { |
| 622 "permissions": { |
| 623 "description": "The set of permissions to check for the 'res
ource'. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.
", |
| 624 "items": { |
| 625 "type": "string" |
| 626 }, |
| 627 "type": "array" |
| 628 } |
| 629 }, |
| 630 "type": "object" |
| 631 }, |
| 632 "TestIamPermissionsResponse": { |
| 633 "description": "Response message for `TestIamPermissions` method.", |
| 634 "id": "TestIamPermissionsResponse", |
| 635 "properties": { |
| 636 "permissions": { |
| 637 "description": "A subset of `TestPermissionsRequest.permissi
ons` that the caller is allowed.", |
| 638 "items": { |
| 639 "type": "string" |
| 640 }, |
| 641 "type": "array" |
| 642 } |
| 643 }, |
| 644 "type": "object" |
| 645 } |
| 646 }, |
| 647 "servicePath": "", |
| 648 "title": "Google Cloud Resource Manager API", |
| 649 "version": "v1beta1" |
| 650 } |
OLD | NEW |