1{ 2 "kind": "discovery#restDescription", 3 "discoveryVersion": "v1", 4 "id": "cloudasset:v1p2beta1", 5 "name": "cloudasset", 6 "canonicalName": "Cloud Asset", 7 "version": "v1p2beta1", 8 "revision": "0", 9 "title": "Cloud Asset API", 10 "description": "The cloud asset API manages the history and inventory of cloud resources.", 11 "ownerDomain": "google.com", 12 "ownerName": "Google", 13 "icons": { 14 "x16": "http://www.google.com/images/icons/product/search-16.gif", 15 "x32": "http://www.google.com/images/icons/product/search-32.gif" 16 }, 17 "documentationLink": "https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/quickstart-cloud-asset-inventory", 18 "protocol": "rest", 19 "rootUrl": "https://cloudasset.googleapis.com/", 20 "servicePath": "", 21 "baseUrl": "https://cloudasset.googleapis.com/", 22 "batchPath": "batch", 23 "version_module": true, 24 "fullyEncodeReservedExpansion": true, 25 "parameters": { 26 "access_token": { 27 "type": "string", 28 "description": "OAuth access token.", 29 "location": "query" 30 }, 31 "alt": { 32 "type": "string", 33 "description": "Data format for response.", 34 "default": "json", 35 "enum": [ 36 "json", 37 "media", 38 "proto" 39 ], 40 "enumDescriptions": [ 41 "Responses with Content-Type of application/json", 42 "Media download with context-dependent Content-Type", 43 "Responses with Content-Type of application/x-protobuf" 44 ], 45 "location": "query" 46 }, 47 "callback": { 48 "type": "string", 49 "description": "JSONP", 50 "location": "query" 51 }, 52 "fields": { 53 "type": "string", 54 "description": "Selector specifying which fields to include in a partial response.", 55 "location": "query" 56 }, 57 "key": { 58 "type": "string", 59 "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", 60 "location": "query" 61 }, 62 "oauth_token": { 63 "type": "string", 64 "description": "OAuth 2.0 token for the current user.", 65 "location": "query" 66 }, 67 "prettyPrint": { 68 "type": "boolean", 69 "description": "Returns response with indentations and line breaks.", 70 "default": "true", 71 "location": "query" 72 }, 73 "quotaUser": { 74 "type": "string", 75 "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", 76 "location": "query" 77 }, 78 "upload_protocol": { 79 "type": "string", 80 "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", 81 "location": "query" 82 }, 83 "uploadType": { 84 "type": "string", 85 "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", 86 "location": "query" 87 }, 88 "$.xgafv": { 89 "type": "string", 90 "description": "V1 error format.", 91 "enum": [ 92 "1", 93 "2" 94 ], 95 "enumDescriptions": [ 96 "v1 error format", 97 "v2 error format" 98 ], 99 "location": "query" 100 } 101 }, 102 "auth": { 103 "oauth2": { 104 "scopes": { 105 "https://www.googleapis.com/auth/cloud-platform": { 106 "description": "View and manage your data across Google Cloud Platform services" 107 } 108 } 109 } 110 }, 111 "schemas": { 112 "ExportAssetsRequest": { 113 "id": "ExportAssetsRequest", 114 "description": "Export asset request.", 115 "type": "object", 116 "properties": { 117 "readTime": { 118 "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp\nbetween 2018-10-02 UTC (inclusive) and the current time. If not specified,\nthe current time will be used. Due to delays in resource data collection\nand indexing, there is a volatile window during which running the same\nquery may get different results.", 119 "type": "string", 120 "format": "google-datetime" 121 }, 122 "assetTypes": { 123 "description": "A list of asset types of which to take a snapshot for. For example:\n\"compute.googleapis.com\/Disk\". If specified, only matching assets will be\nreturned. See [Introduction to Cloud Asset\nInventory](https:\/\/cloud.google.com\/resource-manager\/docs\/cloud-asset-inventory\/overview)\nfor all supported asset types.", 124 "type": "array", 125 "items": { 126 "type": "string" 127 } 128 }, 129 "contentType": { 130 "description": "Asset content type. If not specified, no content but the asset name will be\nreturned.", 131 "enumDescriptions": [ 132 "Unspecified content type.", 133 "Resource metadata.", 134 "The actual IAM policy set on a resource." 135 ], 136 "type": "string", 137 "enum": [ 138 "CONTENT_TYPE_UNSPECIFIED", 139 "RESOURCE", 140 "IAM_POLICY" 141 ] 142 }, 143 "outputConfig": { 144 "description": "Required. Output configuration indicating where the results will be output\nto. All results will be in newline delimited JSON format.", 145 "$ref": "OutputConfig" 146 } 147 } 148 }, 149 "OutputConfig": { 150 "id": "OutputConfig", 151 "description": "Output configuration for export assets destination.", 152 "type": "object", 153 "properties": { 154 "gcsDestination": { 155 "description": "Destination on Cloud Storage.", 156 "$ref": "GcsDestination" 157 } 158 } 159 }, 160 "GcsDestination": { 161 "id": "GcsDestination", 162 "description": "A Cloud Storage location.", 163 "type": "object", 164 "properties": { 165 "uri": { 166 "description": "The uri of the Cloud Storage object. It's the same uri that is used by\ngsutil. For example: \"gs:\/\/bucket_name\/object_name\". See [Viewing and\nEditing Object\nMetadata](https:\/\/cloud.google.com\/storage\/docs\/viewing-editing-metadata)\nfor more information.", 167 "type": "string" 168 } 169 } 170 }, 171 "Operation": { 172 "id": "Operation", 173 "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", 174 "type": "object", 175 "properties": { 176 "name": { 177 "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations\/{unique_id}`.", 178 "type": "string" 179 }, 180 "metadata": { 181 "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", 182 "type": "object", 183 "additionalProperties": { 184 "type": "any", 185 "description": "Properties of the object. Contains field @type with type URL." 186 } 187 }, 188 "done": { 189 "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", 190 "type": "boolean" 191 }, 192 "error": { 193 "description": "The error result of the operation in case of failure or cancellation.", 194 "$ref": "Status" 195 }, 196 "response": { 197 "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`\/`Create`\/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", 198 "type": "object", 199 "additionalProperties": { 200 "type": "any", 201 "description": "Properties of the object. Contains field @type with type URL." 202 } 203 } 204 } 205 }, 206 "Status": { 207 "id": "Status", 208 "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https:\/\/github.com\/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https:\/\/cloud.google.com\/apis\/design\/errors).", 209 "type": "object", 210 "properties": { 211 "code": { 212 "description": "The status code, which should be an enum value of google.rpc.Code.", 213 "type": "integer", 214 "format": "int32" 215 }, 216 "message": { 217 "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", 218 "type": "string" 219 }, 220 "details": { 221 "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", 222 "type": "array", 223 "items": { 224 "type": "object", 225 "additionalProperties": { 226 "type": "any", 227 "description": "Properties of the object. Contains field @type with type URL." 228 } 229 } 230 } 231 } 232 }, 233 "BatchGetAssetsHistoryResponse": { 234 "id": "BatchGetAssetsHistoryResponse", 235 "description": "Batch get assets history response.", 236 "type": "object", 237 "properties": { 238 "assets": { 239 "description": "A list of assets with valid time windows.", 240 "type": "array", 241 "items": { 242 "$ref": "TemporalAsset" 243 } 244 } 245 } 246 }, 247 "TemporalAsset": { 248 "id": "TemporalAsset", 249 "description": "Temporal asset. In addition to the asset, the temporal asset includes the\nstatus of the asset and valid from and to time of it.", 250 "type": "object", 251 "properties": { 252 "window": { 253 "description": "The time window when the asset data and state was observed.", 254 "$ref": "TimeWindow" 255 }, 256 "deleted": { 257 "description": "If the asset is deleted or not.", 258 "type": "boolean" 259 }, 260 "asset": { 261 "description": "Asset.", 262 "$ref": "Asset" 263 } 264 } 265 }, 266 "TimeWindow": { 267 "id": "TimeWindow", 268 "description": "A time window of (start_time, end_time].", 269 "type": "object", 270 "properties": { 271 "startTime": { 272 "description": "Start time of the time window (exclusive).", 273 "type": "string", 274 "format": "google-datetime" 275 }, 276 "endTime": { 277 "description": "End time of the time window (inclusive).\nCurrent timestamp if not specified.", 278 "type": "string", 279 "format": "google-datetime" 280 } 281 } 282 }, 283 "Asset": { 284 "id": "Asset", 285 "description": "Cloud asset. This includes all Google Cloud Platform resources,\nCloud IAM policies, and other non-GCP assets.", 286 "type": "object", 287 "properties": { 288 "name": { 289 "description": "The full name of the asset. For example:\n`\/\/compute.googleapis.com\/projects\/my_project_123\/zones\/zone1\/instances\/instance1`.\nSee [Resource\nNames](https:\/\/cloud.google.com\/apis\/design\/resource_names#full_resource_name)\nfor more information.", 290 "type": "string" 291 }, 292 "assetType": { 293 "description": "Type of the asset. Example: \"compute.googleapis.com\/Disk\".", 294 "type": "string" 295 }, 296 "resource": { 297 "description": "Representation of the resource.", 298 "$ref": "Resource" 299 }, 300 "iamPolicy": { 301 "description": "Representation of the actual Cloud IAM policy set on a cloud resource. For\neach resource, there must be at most one Cloud IAM policy set on it.", 302 "$ref": "Policy" 303 }, 304 "ancestors": { 305 "description": "Asset's ancestry path in Cloud Resource Manager (CRM) hierarchy,\nrepresented as a list of relative resource names. Ancestry path starts with\nthe closest CRM ancestor and ending at a visible root. If the asset is a\nCRM project\/ folder\/organization, this starts from the asset itself.\n\nExample: [\"projects\/123456789\", \"folders\/5432\", \"organizations\/1234\"]", 306 "type": "array", 307 "items": { 308 "type": "string" 309 } 310 } 311 } 312 }, 313 "Resource": { 314 "id": "Resource", 315 "description": "Representation of a cloud resource.", 316 "type": "object", 317 "properties": { 318 "version": { 319 "description": "The API version. Example: \"v1\".", 320 "type": "string" 321 }, 322 "discoveryDocumentUri": { 323 "description": "The URL of the discovery document containing the resource's JSON schema.\nFor example:\n`\"https:\/\/www.googleapis.com\/discovery\/v1\/apis\/compute\/v1\/rest\"`.\nIt will be left unspecified for resources without a discovery-based API,\nsuch as Cloud Bigtable.", 324 "type": "string" 325 }, 326 "discoveryName": { 327 "description": "The JSON schema name listed in the discovery document.\nExample: \"Project\". It will be left unspecified for resources (such as\nCloud Bigtable) without a discovery-based API.", 328 "type": "string" 329 }, 330 "resourceUrl": { 331 "description": "The REST URL for accessing the resource. An HTTP GET operation using this\nURL returns the resource itself.\nExample:\n`https:\/\/cloudresourcemanager.googleapis.com\/v1\/projects\/my-project-123`.\nIt will be left unspecified for resources without a REST API.", 332 "type": "string" 333 }, 334 "parent": { 335 "description": "The full name of the immediate parent of this resource. See\n[Resource\nNames](https:\/\/cloud.google.com\/apis\/design\/resource_names#full_resource_name)\nfor more information.\n\nFor GCP assets, it is the parent resource defined in the [Cloud IAM policy\nhierarchy](https:\/\/cloud.google.com\/iam\/docs\/overview#policy_hierarchy).\nFor example:\n`\"\/\/cloudresourcemanager.googleapis.com\/projects\/my_project_123\"`.\n\nFor third-party assets, it is up to the users to define.", 336 "type": "string" 337 }, 338 "data": { 339 "description": "The content of the resource, in which some sensitive fields are scrubbed\naway and may not be present.", 340 "type": "object", 341 "additionalProperties": { 342 "type": "any", 343 "description": "Properties of the object." 344 } 345 } 346 } 347 }, 348 "Policy": { 349 "id": "Policy", 350 "description": "Defines an Identity and Access Management (IAM) policy. It is used to\nspecify access control policies for Cloud Platform resources.\n\n\nA `Policy` consists of a list of `bindings`. A `binding` binds a list of\n`members` to a `role`, where the members can be user accounts, Google groups,\nGoogle domains, and service accounts. A `role` is a named list of permissions\ndefined by IAM.\n\n**JSON Example**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles\/owner\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles\/viewer\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n }\n\n**YAML Example**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-other-app@appspot.gserviceaccount.com\n role: roles\/owner\n - members:\n - user:sean@example.com\n role: roles\/viewer\n\n\nFor a description of IAM and its features, see the\n[IAM developer's guide](https:\/\/cloud.google.com\/iam\/docs).", 351 "type": "object", 352 "properties": { 353 "version": { 354 "description": "Deprecated.", 355 "type": "integer", 356 "format": "int32" 357 }, 358 "bindings": { 359 "description": "Associates a list of `members` to a `role`.\n`bindings` with no members will result in an error.", 360 "type": "array", 361 "items": { 362 "$ref": "Binding" 363 } 364 }, 365 "auditConfigs": { 366 "description": "Specifies cloud audit logging configuration for this policy.", 367 "type": "array", 368 "items": { 369 "$ref": "AuditConfig" 370 } 371 }, 372 "etag": { 373 "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\nIf no `etag` is provided in the call to `setIamPolicy`, then the existing\npolicy is overwritten.", 374 "type": "string", 375 "format": "byte" 376 } 377 } 378 }, 379 "Binding": { 380 "id": "Binding", 381 "description": "Associates `members` with a `role`.", 382 "type": "object", 383 "properties": { 384 "role": { 385 "description": "Role that is assigned to `members`.\nFor example, `roles\/viewer`, `roles\/editor`, or `roles\/owner`.", 386 "type": "string" 387 }, 388 "members": { 389 "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", 390 "type": "array", 391 "items": { 392 "type": "string" 393 } 394 }, 395 "condition": { 396 "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently.", 397 "$ref": "Expr" 398 } 399 } 400 }, 401 "Expr": { 402 "id": "Expr", 403 "description": "Represents an expression text. Example:\n\n title: \"User account presence\"\n description: \"Determines whether the request has a user account\"\n expression: \"size(request.user) > 0\"", 404 "type": "object", 405 "properties": { 406 "expression": { 407 "description": "Textual representation of an expression in\nCommon Expression Language syntax.\n\nThe application context of the containing message determines which\nwell-known feature set of CEL is supported.", 408 "type": "string" 409 }, 410 "title": { 411 "description": "An optional title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", 412 "type": "string" 413 }, 414 "description": { 415 "description": "An optional description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", 416 "type": "string" 417 }, 418 "location": { 419 "description": "An optional string indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", 420 "type": "string" 421 } 422 } 423 }, 424 "AuditConfig": { 425 "id": "AuditConfig", 426 "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", 427 "type": "object", 428 "properties": { 429 "service": { 430 "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", 431 "type": "string" 432 }, 433 "auditLogConfigs": { 434 "description": "The configuration for logging of each type of permission.", 435 "type": "array", 436 "items": { 437 "$ref": "AuditLogConfig" 438 } 439 } 440 } 441 }, 442 "AuditLogConfig": { 443 "id": "AuditLogConfig", 444 "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", 445 "type": "object", 446 "properties": { 447 "logType": { 448 "description": "The log type that this config enables.", 449 "enumDescriptions": [ 450 "Default case. Should never be this.", 451 "Admin reads. Example: CloudIAM getIamPolicy", 452 "Data writes. Example: CloudSQL Users create", 453 "Data reads. Example: CloudSQL Users list" 454 ], 455 "type": "string", 456 "enum": [ 457 "LOG_TYPE_UNSPECIFIED", 458 "ADMIN_READ", 459 "DATA_WRITE", 460 "DATA_READ" 461 ] 462 }, 463 "exemptedMembers": { 464 "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", 465 "type": "array", 466 "items": { 467 "type": "string" 468 } 469 }, 470 "ignoreChildExemptions": { 471 "description": "Specifies whether principals can be exempted for the same LogType in\nlower-level resource policies. If true, any lower-level exemptions will\nbe ignored.", 472 "type": "boolean" 473 } 474 } 475 }, 476 "CreateFeedRequest": { 477 "id": "CreateFeedRequest", 478 "description": "Create asset feed request.", 479 "type": "object", 480 "properties": { 481 "feedId": { 482 "description": "Required. This is the client-assigned asset feed identifier and it needs to\nbe unique under a specific parent project\/folder\/organization.", 483 "type": "string" 484 }, 485 "feed": { 486 "description": "The feed details. The field `name` must be empty and it will be generated\nin the format of:\nprojects\/project_number\/feeds\/feed_id\nfolders\/folder_number\/feeds\/feed_id\norganizations\/organization_number\/feeds\/feed_id", 487 "$ref": "Feed" 488 } 489 } 490 }, 491 "Feed": { 492 "id": "Feed", 493 "description": "An asset feed used to export asset updates to a destinations.\nAn asset feed filter controls what updates are exported.\nThe asset feed must be created within a project, organization, or\nfolder. Supported destinations are:\nCloud Pub\/Sub topics.", 494 "type": "object", 495 "properties": { 496 "name": { 497 "description": "Required. The format will be\nprojects\/{project_number}\/feeds\/{client-assigned_feed_identifier} or\nfolders\/{folder_number}\/feeds\/{client-assigned_feed_identifier} or\norganizations\/{organization_number}\/feeds\/{client-assigned_feed_identifier}\n\nThe client-assigned feed identifier must be unique within the parent\nproject\/folder\/organization.", 498 "type": "string" 499 }, 500 "assetNames": { 501 "description": "A list of the full names of the assets to receive updates. You must specify\neither or both of asset_names and asset_types. Only asset updates matching\nspecified asset_names and asset_types are exported to the feed. For\nexample:\n`\/\/compute.googleapis.com\/projects\/my_project_123\/zones\/zone1\/instances\/instance1`.\nSee [Resource\nNames](https:\/\/cloud.google.com\/apis\/design\/resource_names#full_resource_name)\nfor more info.", 502 "type": "array", 503 "items": { 504 "type": "string" 505 } 506 }, 507 "assetTypes": { 508 "description": "A list of types of the assets to receive updates. You must specify either\nor both of asset_names and asset_types. Only asset updates matching\nspecified asset_names and asset_types are exported to the feed.\nFor example:\n\"compute.googleapis.com\/Disk\" See [Introduction to Cloud Asset\nInventory](https:\/\/cloud.google.com\/resource-manager\/docs\/cloud-asset-inventory\/overview)\nfor all supported asset types.", 509 "type": "array", 510 "items": { 511 "type": "string" 512 } 513 }, 514 "contentType": { 515 "description": "Asset content type. If not specified, no content but the asset name and\ntype will be returned.", 516 "enumDescriptions": [ 517 "Unspecified content type.", 518 "Resource metadata.", 519 "The actual IAM policy set on a resource." 520 ], 521 "type": "string", 522 "enum": [ 523 "CONTENT_TYPE_UNSPECIFIED", 524 "RESOURCE", 525 "IAM_POLICY" 526 ] 527 }, 528 "feedOutputConfig": { 529 "description": "Required. Feed output configuration defining where the asset updates are\npublished to.", 530 "$ref": "FeedOutputConfig" 531 } 532 } 533 }, 534 "FeedOutputConfig": { 535 "id": "FeedOutputConfig", 536 "description": "Output configuration for asset feed destination.", 537 "type": "object", 538 "properties": { 539 "pubsubDestination": { 540 "description": "Destination on Cloud Pubsub.", 541 "$ref": "PubsubDestination" 542 } 543 } 544 }, 545 "PubsubDestination": { 546 "id": "PubsubDestination", 547 "description": "A Cloud Pubsub destination.", 548 "type": "object", 549 "properties": { 550 "topic": { 551 "description": "The name of the Cloud Pub\/Sub topic to publish to.\nFor example: `projects\/PROJECT_ID\/topics\/TOPIC_ID`.", 552 "type": "string" 553 } 554 } 555 }, 556 "ListFeedsResponse": { 557 "id": "ListFeedsResponse", 558 "type": "object", 559 "properties": { 560 "feeds": { 561 "description": "A list of feeds.", 562 "type": "array", 563 "items": { 564 "$ref": "Feed" 565 } 566 } 567 } 568 }, 569 "UpdateFeedRequest": { 570 "id": "UpdateFeedRequest", 571 "description": "Update asset feed request.", 572 "type": "object", 573 "properties": { 574 "feed": { 575 "description": "The new values of feed details. It must match an existing feed and the\nfield `name` must be in the format of:\nprojects\/project_number\/feeds\/feed_id or\nfolders\/folder_number\/feeds\/feed_id or\norganizations\/organization_number\/feeds\/feed_id.", 576 "$ref": "Feed" 577 }, 578 "updateMask": { 579 "description": "Only updates the `feed` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.", 580 "type": "string", 581 "format": "google-fieldmask" 582 } 583 } 584 }, 585 "Empty": { 586 "id": "Empty", 587 "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", 588 "type": "object", 589 "properties": { 590 } 591 } 592 }, 593 "resources": { 594 "v1p2beta1": { 595 "methods": { 596 "exportAssets": { 597 "id": "cloudasset.exportAssets", 598 "path": "v1p2beta1/{+parent}:exportAssets", 599 "flatPath": "v1p2beta1/{v1p2beta1Id}/{v1p2beta1Id1}:exportAssets", 600 "httpMethod": "POST", 601 "parameters": { 602 "parent": { 603 "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations\/123\"), a project ID (such as\n\"projects\/my-project-id\"), or a project number (such as \"projects\/12345\").", 604 "location": "path", 605 "required": true, 606 "pattern": "^[^\/]+\/[^\/]+$", 607 "type": "string" 608 } 609 }, 610 "parameterOrder": [ 611 "parent" 612 ], 613 "request": { 614 "$ref": "ExportAssetsRequest" 615 }, 616 "response": { 617 "$ref": "Operation" 618 }, 619 "scopes": [ 620 "https://www.googleapis.com/auth/cloud-platform" 621 ], 622 "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export." 623 }, 624 "batchGetAssetsHistory": { 625 "id": "cloudasset.batchGetAssetsHistory", 626 "path": "v1p2beta1/{+parent}:batchGetAssetsHistory", 627 "flatPath": "v1p2beta1/{v1p2beta1Id}/{v1p2beta1Id1}:batchGetAssetsHistory", 628 "httpMethod": "GET", 629 "parameters": { 630 "parent": { 631 "description": "Required. The relative name of the root asset. It can only be an\norganization number (such as \"organizations\/123\"), a project ID (such as\n\"projects\/my-project-id\")\", or a project number (such as \"projects\/12345\").", 632 "location": "path", 633 "required": true, 634 "pattern": "^[^\/]+\/[^\/]+$", 635 "type": "string" 636 }, 637 "assetNames": { 638 "description": "A list of the full names of the assets. For example:\n`\/\/compute.googleapis.com\/projects\/my_project_123\/zones\/zone1\/instances\/instance1`.\nSee [Resource\nNames](https:\/\/cloud.google.com\/apis\/design\/resource_names#full_resource_name)\nand [Resource Name\nFormat](https:\/\/cloud.google.com\/resource-manager\/docs\/cloud-asset-inventory\/resource-name-format)\nfor more info.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.", 639 "location": "query", 640 "repeated": true, 641 "type": "string" 642 }, 643 "contentType": { 644 "description": "Required. The content type.", 645 "location": "query", 646 "type": "string", 647 "enum": [ 648 "CONTENT_TYPE_UNSPECIFIED", 649 "RESOURCE", 650 "IAM_POLICY" 651 ] 652 }, 653 "readTimeWindow.startTime": { 654 "description": "Start time of the time window (exclusive).", 655 "location": "query", 656 "type": "string", 657 "format": "google-datetime" 658 }, 659 "readTimeWindow.endTime": { 660 "description": "End time of the time window (inclusive).\nCurrent timestamp if not specified.", 661 "location": "query", 662 "type": "string", 663 "format": "google-datetime" 664 } 665 }, 666 "parameterOrder": [ 667 "parent" 668 ], 669 "response": { 670 "$ref": "BatchGetAssetsHistoryResponse" 671 }, 672 "scopes": [ 673 "https://www.googleapis.com/auth/cloud-platform" 674 ], 675 "description": "Batch gets the update history of assets that overlap a time window.\nFor RESOURCE content, this API outputs history with asset in both\nnon-delete or deleted status.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history." 676 } 677 } 678 }, 679 "feeds": { 680 "methods": { 681 "create": { 682 "id": "cloudasset.feeds.create", 683 "path": "v1p2beta1/{+parent}/feeds", 684 "flatPath": "v1p2beta1/{v1p2beta1Id}/{v1p2beta1Id1}/feeds", 685 "httpMethod": "POST", 686 "parameters": { 687 "parent": { 688 "description": "Required. The name of the project\/folder\/organization where this feed\nshould be created in. It can only be an organization number (such as\n\"organizations\/123\"), a folder number (such as \"folders\/123\"), a project ID\n(such as \"projects\/my-project-id\")\", or a project number (such as\n\"projects\/12345\").", 689 "location": "path", 690 "required": true, 691 "pattern": "^[^\/]+\/[^\/]+$", 692 "type": "string" 693 } 694 }, 695 "parameterOrder": [ 696 "parent" 697 ], 698 "request": { 699 "$ref": "CreateFeedRequest" 700 }, 701 "response": { 702 "$ref": "Feed" 703 }, 704 "scopes": [ 705 "https://www.googleapis.com/auth/cloud-platform" 706 ], 707 "description": "Creates a feed in a parent project\/folder\/organization to listen to its\nasset updates." 708 }, 709 "get": { 710 "id": "cloudasset.feeds.get", 711 "path": "v1p2beta1/{+name}", 712 "flatPath": "v1p2beta1/{v1p2beta1Id}/{v1p2beta1Id1}/feeds/{feedsId}", 713 "httpMethod": "GET", 714 "parameters": { 715 "name": { 716 "description": "The name of the Feed and it must be in the format of:\nprojects\/project_number\/feeds\/feed_id\nfolders\/folder_number\/feeds\/feed_id\norganizations\/organization_number\/feeds\/feed_id", 717 "location": "path", 718 "required": true, 719 "pattern": "^[^\/]+\/[^\/]+\/feeds\/[^\/]+$", 720 "type": "string" 721 } 722 }, 723 "parameterOrder": [ 724 "name" 725 ], 726 "response": { 727 "$ref": "Feed" 728 }, 729 "scopes": [ 730 "https://www.googleapis.com/auth/cloud-platform" 731 ], 732 "description": "Gets details about an asset feed." 733 }, 734 "list": { 735 "id": "cloudasset.feeds.list", 736 "path": "v1p2beta1/{+parent}/feeds", 737 "flatPath": "v1p2beta1/{v1p2beta1Id}/{v1p2beta1Id1}/feeds", 738 "httpMethod": "GET", 739 "parameters": { 740 "parent": { 741 "description": "Required. The parent project\/folder\/organization whose feeds are to be\nlisted. It can only be using project\/folder\/organization number (such as\n\"folders\/12345\")\", or a project ID (such as \"projects\/my-project-id\").", 742 "location": "path", 743 "required": true, 744 "pattern": "^[^\/]+\/[^\/]+$", 745 "type": "string" 746 } 747 }, 748 "parameterOrder": [ 749 "parent" 750 ], 751 "response": { 752 "$ref": "ListFeedsResponse" 753 }, 754 "scopes": [ 755 "https://www.googleapis.com/auth/cloud-platform" 756 ], 757 "description": "Lists all asset feeds in a parent project\/folder\/organization." 758 }, 759 "patch": { 760 "id": "cloudasset.feeds.patch", 761 "path": "v1p2beta1/{+name}", 762 "flatPath": "v1p2beta1/{v1p2beta1Id}/{v1p2beta1Id1}/feeds/{feedsId}", 763 "httpMethod": "PATCH", 764 "parameters": { 765 "name": { 766 "description": "Required. The format will be\nprojects\/{project_number}\/feeds\/{client-assigned_feed_identifier} or\nfolders\/{folder_number}\/feeds\/{client-assigned_feed_identifier} or\norganizations\/{organization_number}\/feeds\/{client-assigned_feed_identifier}\n\nThe client-assigned feed identifier must be unique within the parent\nproject\/folder\/organization.", 767 "location": "path", 768 "required": true, 769 "pattern": "^[^\/]+\/[^\/]+\/feeds\/[^\/]+$", 770 "type": "string" 771 } 772 }, 773 "parameterOrder": [ 774 "name" 775 ], 776 "request": { 777 "$ref": "UpdateFeedRequest" 778 }, 779 "response": { 780 "$ref": "Feed" 781 }, 782 "scopes": [ 783 "https://www.googleapis.com/auth/cloud-platform" 784 ], 785 "description": "Updates an asset feed configuration." 786 }, 787 "delete": { 788 "id": "cloudasset.feeds.delete", 789 "path": "v1p2beta1/{+name}", 790 "flatPath": "v1p2beta1/{v1p2beta1Id}/{v1p2beta1Id1}/feeds/{feedsId}", 791 "httpMethod": "DELETE", 792 "parameters": { 793 "name": { 794 "description": "The name of the feed and it must be in the format of:\nprojects\/project_number\/feeds\/feed_id\nfolders\/folder_number\/feeds\/feed_id\norganizations\/organization_number\/feeds\/feed_id", 795 "location": "path", 796 "required": true, 797 "pattern": "^[^\/]+\/[^\/]+\/feeds\/[^\/]+$", 798 "type": "string" 799 } 800 }, 801 "parameterOrder": [ 802 "name" 803 ], 804 "response": { 805 "$ref": "Empty" 806 }, 807 "scopes": [ 808 "https://www.googleapis.com/auth/cloud-platform" 809 ], 810 "description": "Deletes an asset feed." 811 } 812 } 813 } 814 }, 815 "basePath": "" 816}